@zintrust/core 0.1.48 → 0.1.50
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 -1
- package/package.json +1 -9
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +2 -0
- package/src/cli/commands/AddCommand.js +2 -2
- package/src/cli/commands/BulletproofKeyGenerateCommand.d.ts +10 -0
- package/src/cli/commands/BulletproofKeyGenerateCommand.d.ts.map +1 -0
- package/src/cli/commands/BulletproofKeyGenerateCommand.js +139 -0
- package/src/cli/commands/JwtDevCommand.d.ts.map +1 -1
- package/src/cli/commands/JwtDevCommand.js +51 -32
- package/src/cli/scaffolding/ControllerGenerator.d.ts +1 -1
- package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ControllerGenerator.js +8 -79
- package/src/config/SecretsManager.d.ts +0 -1
- package/src/config/SecretsManager.d.ts.map +1 -1
- package/src/config/SecretsManager.js +0 -1
- package/src/config/index.d.ts +1 -1
- package/src/config/index.d.ts.map +1 -1
- package/src/config/index.js +30 -10
- package/src/config/middleware.d.ts +1 -0
- package/src/config/middleware.d.ts.map +1 -1
- package/src/config/middleware.js +3 -0
- package/src/http/error-pages/ErrorPageRenderer.js +7 -1
- package/src/index.d.ts +1 -2
- package/src/index.d.ts.map +1 -1
- package/src/index.js +4 -5
- package/src/middleware/BulletproofAuthMiddleware.d.ts +92 -0
- package/src/middleware/BulletproofAuthMiddleware.d.ts.map +1 -0
- package/src/middleware/BulletproofAuthMiddleware.js +421 -0
- package/src/middleware/CsrfMiddleware.d.ts +0 -1
- package/src/middleware/CsrfMiddleware.d.ts.map +1 -1
- package/src/middleware/CsrfMiddleware.js +8 -1
- package/src/middleware/JwtAuthMiddleware.d.ts.map +1 -1
- package/src/middleware/JwtAuthMiddleware.js +11 -5
- package/src/orm/Database.d.ts.map +1 -1
- package/src/orm/Database.js +48 -39
- package/src/orm/adapters/MySQLProxyAdapter.d.ts.map +1 -1
- package/src/orm/adapters/MySQLProxyAdapter.js +54 -35
- package/src/orm/adapters/PostgreSQLProxyAdapter.d.ts.map +1 -1
- package/src/orm/adapters/PostgreSQLProxyAdapter.js +126 -103
- package/src/orm/adapters/SqlProxyHttpAdapterShared.d.ts +30 -0
- package/src/orm/adapters/SqlProxyHttpAdapterShared.d.ts.map +1 -0
- package/src/orm/adapters/SqlProxyHttpAdapterShared.js +64 -0
- package/src/orm/adapters/SqlServerProxyAdapter.d.ts.map +1 -1
- package/src/orm/adapters/SqlServerProxyAdapter.js +54 -37
- package/src/orm/migrations/MigrationStore.d.ts.map +1 -1
- package/src/orm/migrations/MigrationStore.js +22 -1
- package/src/proxy/d1/ZintrustD1Proxy.d.ts +2 -2
- package/src/proxy/d1/ZintrustD1Proxy.d.ts.map +1 -1
- package/src/proxy/d1/ZintrustD1Proxy.js +39 -2
- package/src/proxy/kv/ZintrustKvProxy.d.ts +2 -2
- package/src/proxy/kv/ZintrustKvProxy.d.ts.map +1 -1
- package/src/proxy/kv/ZintrustKvProxy.js +38 -2
- package/src/routes/doc.js +1 -1
- package/src/routes/errorPages.d.ts.map +1 -1
- package/src/routes/errorPages.js +9 -2
- package/src/security/CsrfTokenManager.d.ts.map +1 -1
- package/src/security/CsrfTokenManager.js +57 -23
- package/src/security/JwtManager.d.ts +4 -1
- package/src/security/JwtManager.d.ts.map +1 -1
- package/src/security/JwtManager.js +25 -11
- package/src/security/JwtSessions.d.ts +12 -0
- package/src/security/JwtSessions.d.ts.map +1 -0
- package/src/security/JwtSessions.js +556 -0
- package/src/security/NonceReplay.d.ts +24 -0
- package/src/security/NonceReplay.d.ts.map +1 -0
- package/src/security/NonceReplay.js +42 -0
- package/src/security/TokenRevocation.d.ts.map +1 -1
- package/src/security/TokenRevocation.js +1 -0
- package/src/tools/http/Http.d.ts +5 -0
- package/src/tools/http/Http.d.ts.map +1 -1
- package/src/tools/http/Http.js +25 -9
- package/src/tools/queue/QueueReliabilityOrchestrator.d.ts.map +1 -1
- package/src/tools/queue/QueueReliabilityOrchestrator.js +18 -6
- package/src/validation/Validator.d.ts.map +1 -1
- package/src/validation/Validator.js +4 -2
- package/src/zintrust.comon.d.ts +9 -0
- package/src/zintrust.comon.d.ts.map +1 -0
- package/src/zintrust.comon.js +15 -0
- package/src/zintrust.plugins.d.ts +9 -3
- package/src/zintrust.plugins.d.ts.map +1 -1
- package/src/zintrust.plugins.js +10 -3
- package/src/zintrust.plugins.wg.d.ts +1 -0
- package/src/zintrust.plugins.wg.d.ts.map +1 -1
- package/src/zintrust.plugins.wg.js +1 -0
- package/app/Controllers/AuthController.d.ts +0 -10
- package/app/Controllers/AuthController.d.ts.map +0 -1
- package/app/Controllers/AuthController.js +0 -201
- package/app/Controllers/UserController.d.ts +0 -9
- package/app/Controllers/UserController.d.ts.map +0 -1
- package/app/Controllers/UserController.js +0 -8
- package/app/Controllers/UserQueryBuilderController.d.ts +0 -16
- package/app/Controllers/UserQueryBuilderController.d.ts.map +0 -1
- package/app/Controllers/UserQueryBuilderController.js +0 -404
- package/app/Middleware/ProfilerMiddleware.d.ts +0 -12
- package/app/Middleware/ProfilerMiddleware.d.ts.map +0 -1
- package/app/Middleware/ProfilerMiddleware.js +0 -47
- package/app/Middleware/index.d.ts +0 -59
- package/app/Middleware/index.d.ts.map +0 -1
- package/app/Middleware/index.js +0 -215
- package/app/Models/Post.d.ts +0 -14
- package/app/Models/Post.d.ts.map +0 -1
- package/app/Models/Post.js +0 -27
- package/app/Models/User.d.ts +0 -14
- package/app/Models/User.d.ts.map +0 -1
- package/app/Models/User.js +0 -44
- package/app/Schedules/JobTracking.d.ts +0 -3
- package/app/Schedules/JobTracking.d.ts.map +0 -1
- package/app/Schedules/JobTracking.js +0 -13
- package/app/Schedules/index.d.ts +0 -2
- package/app/Schedules/index.d.ts.map +0 -1
- package/app/Schedules/index.js +0 -1
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts +0 -6
- package/app/Toolkit/Broadcast/sendBroadcast.d.ts.map +0 -1
- package/app/Toolkit/Broadcast/sendBroadcast.js +0 -5
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts +0 -6
- package/app/Toolkit/Mail/sendWelcomeEmail.d.ts.map +0 -1
- package/app/Toolkit/Mail/sendWelcomeEmail.js +0 -20
- package/app/Toolkit/Notification/sendSlackNotification.d.ts +0 -8
- package/app/Toolkit/Notification/sendSlackNotification.d.ts.map +0 -1
- package/app/Toolkit/Notification/sendSlackNotification.js +0 -5
- package/app/Toolkit/Notification/sendSms.d.ts +0 -6
- package/app/Toolkit/Notification/sendSms.d.ts.map +0 -1
- package/app/Toolkit/Notification/sendSms.js +0 -5
- package/app/Types/controller.d.ts +0 -42
- package/app/Types/controller.d.ts.map +0 -1
- package/app/Types/controller.js +0 -1
- package/config/broadcast.d.ts +0 -38
- package/config/broadcast.d.ts.map +0 -1
- package/config/broadcast.js +0 -37
- package/config/cache.d.ts +0 -40
- package/config/cache.d.ts.map +0 -1
- package/config/cache.js +0 -39
- package/config/database.d.ts +0 -58
- package/config/database.d.ts.map +0 -1
- package/config/database.js +0 -65
- package/config/mail.d.ts +0 -51
- package/config/mail.d.ts.map +0 -1
- package/config/mail.js +0 -69
- package/config/middleware.d.ts +0 -11
- package/config/middleware.d.ts.map +0 -1
- package/config/middleware.js +0 -30
- package/config/notification.d.ts +0 -33
- package/config/notification.d.ts.map +0 -1
- package/config/notification.js +0 -33
- package/config/queue.d.ts +0 -55
- package/config/queue.d.ts.map +0 -1
- package/config/queue.js +0 -87
- package/config/storage.d.ts +0 -59
- package/config/storage.d.ts.map +0 -1
- package/config/storage.js +0 -59
- package/config/workers.d.ts +0 -54
- package/config/workers.d.ts.map +0 -1
- package/config/workers.js +0 -83
- package/packages/cloudflare-d1-proxy/src/index.d.ts +0 -48
- package/packages/cloudflare-d1-proxy/src/index.d.ts.map +0 -1
- package/packages/cloudflare-d1-proxy/src/index.js +0 -387
- package/packages/cloudflare-kv-proxy/src/index.d.ts +0 -44
- package/packages/cloudflare-kv-proxy/src/index.d.ts.map +0 -1
- package/packages/cloudflare-kv-proxy/src/index.js +0 -325
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts +0 -35
- package/packages/queue-monitor/src/QueueMonitoringService.d.ts.map +0 -1
- package/packages/queue-monitor/src/QueueMonitoringService.js +0 -194
- package/packages/queue-monitor/src/connection.d.ts +0 -3
- package/packages/queue-monitor/src/connection.d.ts.map +0 -1
- package/packages/queue-monitor/src/connection.js +0 -1
- package/packages/queue-monitor/src/dashboard-ui.d.ts +0 -7
- package/packages/queue-monitor/src/dashboard-ui.d.ts.map +0 -1
- package/packages/queue-monitor/src/dashboard-ui.js +0 -997
- package/packages/queue-monitor/src/driver.d.ts +0 -15
- package/packages/queue-monitor/src/driver.d.ts.map +0 -1
- package/packages/queue-monitor/src/driver.js +0 -115
- package/packages/queue-monitor/src/index.d.ts +0 -71
- package/packages/queue-monitor/src/index.d.ts.map +0 -1
- package/packages/queue-monitor/src/index.js +0 -296
- package/packages/queue-monitor/src/metrics.d.ts +0 -27
- package/packages/queue-monitor/src/metrics.d.ts.map +0 -1
- package/packages/queue-monitor/src/metrics.js +0 -92
- package/packages/queue-monitor/src/worker.d.ts +0 -8
- package/packages/queue-monitor/src/worker.d.ts.map +0 -1
- package/packages/queue-monitor/src/worker.js +0 -35
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts +0 -26
- package/packages/queue-redis/src/BullMQRedisQueue.d.ts.map +0 -1
- package/packages/queue-redis/src/BullMQRedisQueue.js +0 -463
- package/packages/queue-redis/src/HttpQueueDriver.d.ts +0 -18
- package/packages/queue-redis/src/HttpQueueDriver.d.ts.map +0 -1
- package/packages/queue-redis/src/HttpQueueDriver.js +0 -249
- package/packages/queue-redis/src/QueueHttpGateway.d.ts +0 -16
- package/packages/queue-redis/src/QueueHttpGateway.d.ts.map +0 -1
- package/packages/queue-redis/src/QueueHttpGateway.js +0 -217
- package/packages/queue-redis/src/RedisPublishClient.d.ts +0 -14
- package/packages/queue-redis/src/RedisPublishClient.d.ts.map +0 -1
- package/packages/queue-redis/src/RedisPublishClient.js +0 -251
- package/packages/queue-redis/src/index.d.ts +0 -12
- package/packages/queue-redis/src/index.d.ts.map +0 -1
- package/packages/queue-redis/src/index.js +0 -10
- package/packages/queue-redis/src/register.d.ts +0 -6
- package/packages/queue-redis/src/register.d.ts.map +0 -1
- package/packages/queue-redis/src/register.js +0 -21
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts +0 -11
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.d.ts.map +0 -1
- package/packages/workers/migrations/20260119100000_create_zintrust_workers_table.js +0 -32
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts +0 -11
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.d.ts.map +0 -1
- package/packages/workers/migrations/20260123180000_create_queue_jobs_table.js +0 -46
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts +0 -7
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.d.ts.map +0 -1
- package/packages/workers/migrations/20260213142000_create_zintrust_job_tracking_tables.js +0 -44
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts +0 -7
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.d.ts.map +0 -1
- package/packages/workers/migrations/20260213183000_expand_zintrust_job_tracking_reliability_tables.js +0 -104
- package/packages/workers/src/AnomalyDetection.d.ts +0 -107
- package/packages/workers/src/AnomalyDetection.d.ts.map +0 -1
- package/packages/workers/src/AnomalyDetection.js +0 -329
- package/packages/workers/src/AutoScaler.d.ts +0 -128
- package/packages/workers/src/AutoScaler.d.ts.map +0 -1
- package/packages/workers/src/AutoScaler.js +0 -425
- package/packages/workers/src/BroadcastWorker.d.ts +0 -24
- package/packages/workers/src/BroadcastWorker.d.ts.map +0 -1
- package/packages/workers/src/BroadcastWorker.js +0 -24
- package/packages/workers/src/CanaryController.d.ts +0 -104
- package/packages/workers/src/CanaryController.d.ts.map +0 -1
- package/packages/workers/src/CanaryController.js +0 -424
- package/packages/workers/src/ChaosEngineering.d.ts +0 -80
- package/packages/workers/src/ChaosEngineering.d.ts.map +0 -1
- package/packages/workers/src/ChaosEngineering.js +0 -229
- package/packages/workers/src/CircuitBreaker.d.ts +0 -107
- package/packages/workers/src/CircuitBreaker.d.ts.map +0 -1
- package/packages/workers/src/CircuitBreaker.js +0 -374
- package/packages/workers/src/ClusterLock.d.ts +0 -91
- package/packages/workers/src/ClusterLock.d.ts.map +0 -1
- package/packages/workers/src/ClusterLock.js +0 -397
- package/packages/workers/src/ComplianceManager.d.ts +0 -178
- package/packages/workers/src/ComplianceManager.d.ts.map +0 -1
- package/packages/workers/src/ComplianceManager.js +0 -556
- package/packages/workers/src/DatacenterOrchestrator.d.ts +0 -134
- package/packages/workers/src/DatacenterOrchestrator.d.ts.map +0 -1
- package/packages/workers/src/DatacenterOrchestrator.js +0 -404
- package/packages/workers/src/DeadLetterQueue.d.ts +0 -123
- package/packages/workers/src/DeadLetterQueue.d.ts.map +0 -1
- package/packages/workers/src/DeadLetterQueue.js +0 -544
- package/packages/workers/src/HealthMonitor.d.ts +0 -43
- package/packages/workers/src/HealthMonitor.d.ts.map +0 -1
- package/packages/workers/src/HealthMonitor.js +0 -312
- package/packages/workers/src/MultiQueueWorker.d.ts +0 -90
- package/packages/workers/src/MultiQueueWorker.d.ts.map +0 -1
- package/packages/workers/src/MultiQueueWorker.js +0 -282
- package/packages/workers/src/NotificationWorker.d.ts +0 -24
- package/packages/workers/src/NotificationWorker.d.ts.map +0 -1
- package/packages/workers/src/NotificationWorker.js +0 -23
- package/packages/workers/src/Observability.d.ts +0 -154
- package/packages/workers/src/Observability.d.ts.map +0 -1
- package/packages/workers/src/Observability.js +0 -538
- package/packages/workers/src/PluginManager.d.ts +0 -124
- package/packages/workers/src/PluginManager.d.ts.map +0 -1
- package/packages/workers/src/PluginManager.js +0 -392
- package/packages/workers/src/PriorityQueue.d.ts +0 -118
- package/packages/workers/src/PriorityQueue.d.ts.map +0 -1
- package/packages/workers/src/PriorityQueue.js +0 -276
- package/packages/workers/src/ResourceMonitor.d.ts +0 -165
- package/packages/workers/src/ResourceMonitor.d.ts.map +0 -1
- package/packages/workers/src/ResourceMonitor.js +0 -632
- package/packages/workers/src/SLAMonitor.d.ts +0 -111
- package/packages/workers/src/SLAMonitor.d.ts.map +0 -1
- package/packages/workers/src/SLAMonitor.js +0 -274
- package/packages/workers/src/WorkerFactory.d.ts +0 -218
- package/packages/workers/src/WorkerFactory.d.ts.map +0 -1
- package/packages/workers/src/WorkerFactory.js +0 -2253
- package/packages/workers/src/WorkerInit.d.ts +0 -86
- package/packages/workers/src/WorkerInit.d.ts.map +0 -1
- package/packages/workers/src/WorkerInit.js +0 -307
- package/packages/workers/src/WorkerMetrics.d.ts +0 -116
- package/packages/workers/src/WorkerMetrics.d.ts.map +0 -1
- package/packages/workers/src/WorkerMetrics.js +0 -570
- package/packages/workers/src/WorkerRegistry.d.ts +0 -152
- package/packages/workers/src/WorkerRegistry.d.ts.map +0 -1
- package/packages/workers/src/WorkerRegistry.js +0 -396
- package/packages/workers/src/WorkerShutdown.d.ts +0 -70
- package/packages/workers/src/WorkerShutdown.d.ts.map +0 -1
- package/packages/workers/src/WorkerShutdown.js +0 -185
- package/packages/workers/src/WorkerVersioning.d.ts +0 -108
- package/packages/workers/src/WorkerVersioning.d.ts.map +0 -1
- package/packages/workers/src/WorkerVersioning.js +0 -300
- package/packages/workers/src/config/workerConfig.d.ts +0 -5
- package/packages/workers/src/config/workerConfig.d.ts.map +0 -1
- package/packages/workers/src/config/workerConfig.js +0 -25
- package/packages/workers/src/createQueueWorker.d.ts +0 -26
- package/packages/workers/src/createQueueWorker.d.ts.map +0 -1
- package/packages/workers/src/createQueueWorker.js +0 -367
- package/packages/workers/src/dashboard/index.d.ts +0 -2
- package/packages/workers/src/dashboard/index.d.ts.map +0 -1
- package/packages/workers/src/dashboard/index.js +0 -1
- package/packages/workers/src/dashboard/types.d.ts +0 -123
- package/packages/workers/src/dashboard/types.d.ts.map +0 -1
- package/packages/workers/src/dashboard/types.js +0 -1
- package/packages/workers/src/dashboard/workers-api.d.ts +0 -5
- package/packages/workers/src/dashboard/workers-api.d.ts.map +0 -1
- package/packages/workers/src/dashboard/workers-api.js +0 -738
- package/packages/workers/src/helper/index.d.ts +0 -6
- package/packages/workers/src/helper/index.d.ts.map +0 -1
- package/packages/workers/src/helper/index.js +0 -10
- package/packages/workers/src/http/WorkerApiController.d.ts +0 -39
- package/packages/workers/src/http/WorkerApiController.d.ts.map +0 -1
- package/packages/workers/src/http/WorkerApiController.js +0 -313
- package/packages/workers/src/http/WorkerController.d.ts +0 -375
- package/packages/workers/src/http/WorkerController.d.ts.map +0 -1
- package/packages/workers/src/http/WorkerController.js +0 -1454
- package/packages/workers/src/http/WorkerMonitoringService.d.ts +0 -12
- package/packages/workers/src/http/WorkerMonitoringService.d.ts.map +0 -1
- package/packages/workers/src/http/WorkerMonitoringService.js +0 -89
- package/packages/workers/src/http/middleware/CustomValidation.d.ts +0 -93
- package/packages/workers/src/http/middleware/CustomValidation.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/CustomValidation.js +0 -270
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts +0 -4
- package/packages/workers/src/http/middleware/DatacenterValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/DatacenterValidator.js +0 -94
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts +0 -8
- package/packages/workers/src/http/middleware/EditWorkerValidation.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/EditWorkerValidation.js +0 -56
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts +0 -4
- package/packages/workers/src/http/middleware/FeaturesValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/FeaturesValidator.js +0 -61
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts +0 -32
- package/packages/workers/src/http/middleware/InfrastructureValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/InfrastructureValidator.js +0 -226
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts +0 -4
- package/packages/workers/src/http/middleware/OptionsValidator.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/OptionsValidator.js +0 -112
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts +0 -8
- package/packages/workers/src/http/middleware/PayloadSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/PayloadSanitizer.js +0 -42
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/ProcessorPathSanitizer.js +0 -140
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/QueueNameSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/QueueNameSanitizer.js +0 -45
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts +0 -8
- package/packages/workers/src/http/middleware/ValidateDriver.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/ValidateDriver.js +0 -20
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/VersionSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/VersionSanitizer.js +0 -25
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts +0 -4
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/WorkerNameSanitizer.js +0 -46
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts +0 -28
- package/packages/workers/src/http/middleware/WorkerValidationChain.d.ts.map +0 -1
- package/packages/workers/src/http/middleware/WorkerValidationChain.js +0 -186
- package/packages/workers/src/index.d.ts +0 -47
- package/packages/workers/src/index.d.ts.map +0 -1
- package/packages/workers/src/index.js +0 -48
- package/packages/workers/src/routes/workers.d.ts +0 -13
- package/packages/workers/src/routes/workers.d.ts.map +0 -1
- package/packages/workers/src/routes/workers.js +0 -126
- package/packages/workers/src/storage/WorkerStore.d.ts +0 -52
- package/packages/workers/src/storage/WorkerStore.d.ts.map +0 -1
- package/packages/workers/src/storage/WorkerStore.js +0 -259
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts +0 -47
- package/packages/workers/src/telemetry/api/TelemetryAPI.d.ts.map +0 -1
- package/packages/workers/src/telemetry/api/TelemetryAPI.js +0 -219
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts +0 -18
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.d.ts.map +0 -1
- package/packages/workers/src/telemetry/api/TelemetryMonitoringService.js +0 -140
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts +0 -2
- package/packages/workers/src/telemetry/components/AlertPanel.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/AlertPanel.js +0 -13
- package/packages/workers/src/telemetry/components/CostTracking.d.ts +0 -2
- package/packages/workers/src/telemetry/components/CostTracking.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/CostTracking.js +0 -14
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts +0 -2
- package/packages/workers/src/telemetry/components/ResourceUsageChart.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/ResourceUsageChart.js +0 -11
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts +0 -2
- package/packages/workers/src/telemetry/components/WorkerHealthChart.d.ts.map +0 -1
- package/packages/workers/src/telemetry/components/WorkerHealthChart.js +0 -11
- package/packages/workers/src/telemetry/index.d.ts +0 -16
- package/packages/workers/src/telemetry/index.d.ts.map +0 -1
- package/packages/workers/src/telemetry/index.js +0 -60
- package/packages/workers/src/telemetry/routes/dashboard.d.ts +0 -7
- package/packages/workers/src/telemetry/routes/dashboard.d.ts.map +0 -1
- package/packages/workers/src/telemetry/routes/dashboard.js +0 -608
- package/packages/workers/src/type.d.ts +0 -77
- package/packages/workers/src/type.d.ts.map +0 -1
- package/packages/workers/src/type.js +0 -1
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts +0 -5
- package/packages/workers/src/ui/router/EmbeddedAssets.d.ts.map +0 -1
- package/packages/workers/src/ui/router/EmbeddedAssets.js +0 -13
- package/packages/workers/src/ui/router/ui.d.ts +0 -4
- package/packages/workers/src/ui/router/ui.d.ts.map +0 -1
- package/packages/workers/src/ui/router/ui.js +0 -208
- package/packages/workers/src/ui/types/worker-ui.d.ts +0 -230
- package/packages/workers/src/ui/types/worker-ui.d.ts.map +0 -1
- package/packages/workers/src/ui/types/worker-ui.js +0 -5
- package/routes/api.d.ts +0 -7
- package/routes/api.d.ts.map +0 -1
- package/routes/api.js +0 -129
- package/routes/broadcast.d.ts +0 -9
- package/routes/broadcast.d.ts.map +0 -1
- package/routes/broadcast.js +0 -27
- package/routes/storage.d.ts +0 -4
- package/routes/storage.d.ts.map +0 -1
- package/routes/storage.js +0 -35
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const DEFAULTS = {
|
|
2
|
+
cleanupEvery: 500,
|
|
3
|
+
maxEntries: 25_000,
|
|
4
|
+
};
|
|
5
|
+
export const NonceReplay = Object.freeze({
|
|
6
|
+
/**
|
|
7
|
+
* In-memory, best-effort replay protection.
|
|
8
|
+
*
|
|
9
|
+
* Works in both Node and Workers, but does not provide cross-instance guarantees.
|
|
10
|
+
* For strict production replay protection, supply your own verifier backed by Redis/KV.
|
|
11
|
+
*/
|
|
12
|
+
createMemoryVerifier(options = {}) {
|
|
13
|
+
const cleanupEvery = options.cleanupEvery ?? DEFAULTS.cleanupEvery;
|
|
14
|
+
const maxEntries = options.maxEntries ?? DEFAULTS.maxEntries;
|
|
15
|
+
const store = new Map();
|
|
16
|
+
let accepted = 0;
|
|
17
|
+
const cleanup = (nowMs) => {
|
|
18
|
+
for (const [key, entry] of store.entries()) {
|
|
19
|
+
if (entry.expiresAtMs <= nowMs)
|
|
20
|
+
store.delete(key);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return async (keyId, nonce, ttlMs) => {
|
|
24
|
+
const nowMs = Date.now();
|
|
25
|
+
const expiresAtMs = nowMs + Math.max(1, ttlMs);
|
|
26
|
+
const compositeKey = `${keyId}:${nonce}`;
|
|
27
|
+
const existing = store.get(compositeKey);
|
|
28
|
+
if (existing !== undefined && existing.expiresAtMs > nowMs) {
|
|
29
|
+
await Promise.resolve();
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
store.set(compositeKey, { expiresAtMs });
|
|
33
|
+
accepted += 1;
|
|
34
|
+
if (store.size > maxEntries || accepted % cleanupEvery === 0) {
|
|
35
|
+
cleanup(nowMs);
|
|
36
|
+
}
|
|
37
|
+
await Promise.resolve();
|
|
38
|
+
return true;
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
export default NonceReplay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenRevocation.d.ts","sourceRoot":"","sources":["../../../src/security/TokenRevocation.ts"],"names":[],"mappings":"AAUA,KAAK,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAEzD,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenRevocation.d.ts","sourceRoot":"","sources":["../../../src/security/TokenRevocation.ts"],"names":[],"mappings":"AAUA,KAAK,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAEzD,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,WAAW,CAAC;AAysB7F,eAAO,MAAM,eAAe;IAC1B;;;;OAIG;mBACkB,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAUjE;;OAEG;qBACoB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhD;;OAEG;iBACU,yBAAyB;IAItC;;OAEG;sBACe,IAAI;EAItB,CAAC;AAEH,eAAe,eAAe,CAAC"}
|
package/src/tools/http/Http.d.ts
CHANGED
|
@@ -19,6 +19,11 @@ export interface IHttpRequest {
|
|
|
19
19
|
asJson(): IHttpRequest;
|
|
20
20
|
asForm(): IHttpRequest;
|
|
21
21
|
send(): Promise<IHttpResponse>;
|
|
22
|
+
sendRaw(): Promise<Response>;
|
|
23
|
+
sendStream(): Promise<{
|
|
24
|
+
response: Response;
|
|
25
|
+
stream: ReadableStream<Uint8Array> | null;
|
|
26
|
+
}>;
|
|
22
27
|
}
|
|
23
28
|
/**
|
|
24
29
|
* HTTP Client - Sealed namespace for making HTTP requests
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../../../../src/tools/http/Http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAElF,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IACtD,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACnE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,MAAM,IAAI,YAAY,CAAC;IACvB,MAAM,IAAI,YAAY,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Http.d.ts","sourceRoot":"","sources":["../../../../src/tools/http/Http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAElF,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IACtD,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACnE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAAC;IAChE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,MAAM,IAAI,YAAY,CAAC;IACvB,MAAM,IAAI,YAAY,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,UAAU,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAC1F;AA6KD;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;aACM,MAAM,GAAG,YAAY;IAI9B;;OAEG;cACO,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAQ/D;;OAEG;aACM,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAQ9D;;OAEG;eACQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAQhE;;OAEG;gBACS,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;EAOjE,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
package/src/tools/http/Http.js
CHANGED
|
@@ -14,6 +14,20 @@ import { createHttpResponse } from './HttpResponse.js';
|
|
|
14
14
|
* Perform the actual request for a given state. Separated to keep the builder small
|
|
15
15
|
*/
|
|
16
16
|
async function performRequest(state) {
|
|
17
|
+
const { response, bodyText, durationMs } = await performRequestRaw(state);
|
|
18
|
+
Logger.debug(`HTTP ${state.method} ${state.url}`, {
|
|
19
|
+
status: response.status,
|
|
20
|
+
duration: `${durationMs}ms`,
|
|
21
|
+
size: bodyText.length,
|
|
22
|
+
});
|
|
23
|
+
return createHttpResponse(response, bodyText);
|
|
24
|
+
}
|
|
25
|
+
async function performRequestRaw(state) {
|
|
26
|
+
const { response, durationMs } = await performFetch(state);
|
|
27
|
+
const bodyText = await response.text();
|
|
28
|
+
return { response, bodyText, durationMs };
|
|
29
|
+
}
|
|
30
|
+
async function performFetch(state) {
|
|
17
31
|
const timeout = state.timeout ?? Env.getInt('HTTP_TIMEOUT', 30000);
|
|
18
32
|
const controller = new AbortController();
|
|
19
33
|
let timeoutId;
|
|
@@ -40,14 +54,8 @@ async function performRequest(state) {
|
|
|
40
54
|
const init = buildInit();
|
|
41
55
|
const startTime = Date.now();
|
|
42
56
|
const response = await globalThis.fetch(state.url, init);
|
|
43
|
-
const responseBody = await response.text();
|
|
44
57
|
const duration = Date.now() - startTime;
|
|
45
|
-
|
|
46
|
-
status: response.status,
|
|
47
|
-
duration: `${duration}ms`,
|
|
48
|
-
size: responseBody.length,
|
|
49
|
-
});
|
|
50
|
-
return createHttpResponse(response, responseBody);
|
|
58
|
+
return { response, durationMs: duration };
|
|
51
59
|
}
|
|
52
60
|
catch (error) {
|
|
53
61
|
if (error instanceof Error && error.name === 'AbortError') {
|
|
@@ -72,7 +80,7 @@ async function performRequest(state) {
|
|
|
72
80
|
/**
|
|
73
81
|
* Create request builder with fluent API
|
|
74
82
|
*/
|
|
75
|
-
|
|
83
|
+
function createRequestBuilder(method, url, initialBody) {
|
|
76
84
|
const state = {
|
|
77
85
|
method,
|
|
78
86
|
url,
|
|
@@ -116,9 +124,17 @@ const createRequestBuilder = (method, url, initialBody) => {
|
|
|
116
124
|
async send() {
|
|
117
125
|
return performRequest(state);
|
|
118
126
|
},
|
|
127
|
+
async sendRaw() {
|
|
128
|
+
const { response } = await performFetch(state);
|
|
129
|
+
return response;
|
|
130
|
+
},
|
|
131
|
+
async sendStream() {
|
|
132
|
+
const { response } = await performFetch(state);
|
|
133
|
+
return { response, stream: response.body };
|
|
134
|
+
},
|
|
119
135
|
};
|
|
120
136
|
return self;
|
|
121
|
-
}
|
|
137
|
+
}
|
|
122
138
|
/**
|
|
123
139
|
* HTTP Client - Sealed namespace for making HTTP requests
|
|
124
140
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueueReliabilityOrchestrator.d.ts","sourceRoot":"","sources":["../../../../src/tools/queue/QueueReliabilityOrchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QueueReliabilityOrchestrator.d.ts","sourceRoot":"","sources":["../../../../src/tools/queue/QueueReliabilityOrchestrator.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,4BAA4B;iBAC1B,OAAO;aAIX,IAAI;YA4BL,IAAI;EAUZ,CAAC;AAEH,eAAe,4BAA4B,CAAC"}
|
|
@@ -3,6 +3,12 @@ import { Logger } from '../../config/logger.js';
|
|
|
3
3
|
import { JobReconciliationRunner } from './JobReconciliationRunner.js';
|
|
4
4
|
import { JobRecoveryDaemon } from './JobRecoveryDaemon.js';
|
|
5
5
|
import { StalledJobMonitor } from './StalledJobMonitor.js';
|
|
6
|
+
const isUnrefableTimer = (timer) => {
|
|
7
|
+
return (typeof timer === 'object' &&
|
|
8
|
+
timer !== null &&
|
|
9
|
+
'unref' in timer &&
|
|
10
|
+
typeof timer.unref === 'function');
|
|
11
|
+
};
|
|
6
12
|
const state = {
|
|
7
13
|
started: false,
|
|
8
14
|
};
|
|
@@ -11,13 +17,19 @@ const clearTimer = (timer) => {
|
|
|
11
17
|
return;
|
|
12
18
|
clearInterval(timer);
|
|
13
19
|
};
|
|
14
|
-
const startInterval = (handler, intervalMs) =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
const startInterval = (handler, intervalMs) => {
|
|
21
|
+
const timer = setInterval(() => {
|
|
22
|
+
handler().catch((error) => {
|
|
23
|
+
Logger.warn('Queue reliability interval failed', {
|
|
24
|
+
error: error instanceof Error ? error : String(error),
|
|
25
|
+
});
|
|
18
26
|
});
|
|
19
|
-
});
|
|
20
|
-
|
|
27
|
+
}, intervalMs);
|
|
28
|
+
if (isUnrefableTimer(timer)) {
|
|
29
|
+
timer.unref();
|
|
30
|
+
}
|
|
31
|
+
return timer;
|
|
32
|
+
};
|
|
21
33
|
export const QueueReliabilityOrchestrator = Object.freeze({
|
|
22
34
|
isEnabled() {
|
|
23
35
|
return Env.getBool('JOB_RELIABILITY_ENABLED', true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/validation/Validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../../src/validation/Validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Sealed namespace pattern - all exports through Validator namespace
|
|
5
5
|
*/
|
|
6
6
|
import { Logger } from '../config/logger.js';
|
|
7
|
+
import { ErrorFactory } from '../exceptions/ZintrustError.js';
|
|
7
8
|
import { createValidationError } from './ValidationError.js';
|
|
8
9
|
const addSimpleRule = (schema, rules, field, rule, message) => {
|
|
9
10
|
if (!rules.has(field))
|
|
@@ -279,8 +280,9 @@ const ruleStringTokenHandlers = {
|
|
|
279
280
|
nullable: () => {
|
|
280
281
|
// Not needed here; missing/undefined is already allowed unless required.
|
|
281
282
|
},
|
|
282
|
-
unique: ({
|
|
283
|
-
|
|
283
|
+
unique: ({ field }) => {
|
|
284
|
+
// Rule-string validation is intentionally "pure" (no DB access). Uniqueness requires a backing store.
|
|
285
|
+
throw ErrorFactory.createConfigError('Validator rule-string token "unique" is not supported (requires a database-backed validator).', { field });
|
|
284
286
|
},
|
|
285
287
|
};
|
|
286
288
|
const rulesToSchema = (rules) => {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import '../packages/db-d1/src/register.js';
|
|
2
|
+
import '../packages/db-mysql/src/register.js';
|
|
3
|
+
import '../packages/db-postgres/src/register.js';
|
|
4
|
+
import '../packages/db-sqlite/src/register.js';
|
|
5
|
+
import '../packages/db-sqlserver/src/register.js';
|
|
6
|
+
import '../packages/mail-sendgrid/src/register.js';
|
|
7
|
+
import '../packages/mail-smtp/src/register.js';
|
|
8
|
+
import '../packages/queue-redis/src/register.js';
|
|
9
|
+
//# sourceMappingURL=zintrust.comon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zintrust.comon.d.ts","sourceRoot":"","sources":["../../src/zintrust.comon.ts"],"names":[],"mappings":"AAQA,OAAO,mCAAmC,CAAC;AAC3C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,yCAAyC,CAAC;AACjD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,yCAAyC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* eslint-disable no-restricted-imports */
|
|
2
|
+
// /**
|
|
3
|
+
// * ZinTrust comon plugin auto-imports
|
|
4
|
+
// *
|
|
5
|
+
// * This file is managed by `zin plugin install` and contains side-effect
|
|
6
|
+
// * imports that register optional adapters/drivers into core registries.
|
|
7
|
+
// */
|
|
8
|
+
import '../packages/db-d1/src/register.js';
|
|
9
|
+
import '../packages/db-mysql/src/register.js';
|
|
10
|
+
import '../packages/db-postgres/src/register.js';
|
|
11
|
+
import '../packages/db-sqlite/src/register.js';
|
|
12
|
+
import '../packages/db-sqlserver/src/register.js';
|
|
13
|
+
import '../packages/mail-sendgrid/src/register.js';
|
|
14
|
+
import '../packages/mail-smtp/src/register.js';
|
|
15
|
+
import '../packages/queue-redis/src/register.js';
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ZinTrust plugin auto-imports
|
|
3
|
+
*
|
|
4
|
+
* In real projects, this file is managed by `zin plugin install` and contains
|
|
5
|
+
* side-effect imports (e.g. `@zintrust/db-sqlite/register`) that register
|
|
6
|
+
* optional adapters/drivers into core registries.
|
|
7
|
+
*
|
|
8
|
+
* In the ZinTrust monorepo/dev workspace, we import a local bundle of plugin
|
|
9
|
+
* registrations so `zin s` works out-of-the-box (database adapters, queue, mail).
|
|
5
10
|
*/
|
|
11
|
+
import './zintrust.comon';
|
|
6
12
|
export declare const __zintrustGeneratedPluginStub = "zintrust.plugins.ts";
|
|
7
13
|
declare const _default: {};
|
|
8
14
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zintrust.plugins.d.ts","sourceRoot":"","sources":["../../src/zintrust.plugins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"zintrust.plugins.d.ts","sourceRoot":"","sources":["../../src/zintrust.plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,kBAAkB,CAAC;AAE1B,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;;AACnE,wBAAkB"}
|
package/src/zintrust.plugins.js
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* ZinTrust plugin auto-imports
|
|
3
|
+
*
|
|
4
|
+
* In real projects, this file is managed by `zin plugin install` and contains
|
|
5
|
+
* side-effect imports (e.g. `@zintrust/db-sqlite/register`) that register
|
|
6
|
+
* optional adapters/drivers into core registries.
|
|
7
|
+
*
|
|
8
|
+
* In the ZinTrust monorepo/dev workspace, we import a local bundle of plugin
|
|
9
|
+
* registrations so `zin s` works out-of-the-box (database adapters, queue, mail).
|
|
5
10
|
*/
|
|
11
|
+
/* eslint-disable no-restricted-imports */
|
|
12
|
+
import './zintrust.comon.js';
|
|
6
13
|
export const __zintrustGeneratedPluginStub = 'zintrust.plugins.ts';
|
|
7
14
|
export default {};
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* This file is created by scripts/ensure-worker-plugins.mjs when missing.
|
|
4
4
|
* It allows optional runtime plugin imports to resolve in CI/scaffolded setups.
|
|
5
5
|
*/
|
|
6
|
+
import './zintrust.comon';
|
|
6
7
|
export declare const __zintrustGeneratedPluginStub = "zintrust.plugins.wg.ts";
|
|
7
8
|
declare const _default: {};
|
|
8
9
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zintrust.plugins.wg.d.ts","sourceRoot":"","sources":["../../src/zintrust.plugins.wg.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,6BAA6B,2BAA2B,CAAC;;AACtE,wBAAkB"}
|
|
1
|
+
{"version":3,"file":"zintrust.plugins.wg.d.ts","sourceRoot":"","sources":["../../src/zintrust.plugins.wg.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,eAAO,MAAM,6BAA6B,2BAA2B,CAAC;;AACtE,wBAAkB"}
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
* This file is created by scripts/ensure-worker-plugins.mjs when missing.
|
|
4
4
|
* It allows optional runtime plugin imports to resolve in CI/scaffolded setups.
|
|
5
5
|
*/
|
|
6
|
+
import './zintrust.comon.js';
|
|
6
7
|
export const __zintrustGeneratedPluginStub = 'zintrust.plugins.wg.ts';
|
|
7
8
|
export default {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auth Controller
|
|
3
|
-
* Minimal, real auth endpoints backing the example API routes.
|
|
4
|
-
*/
|
|
5
|
-
import type { AuthControllerApi } from '../Types/controller';
|
|
6
|
-
export declare const AuthController: Readonly<{
|
|
7
|
-
create(): AuthControllerApi;
|
|
8
|
-
}>;
|
|
9
|
-
export default AuthController;
|
|
10
|
-
//# sourceMappingURL=AuthController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../../app/Controllers/AuthController.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,uBAAuB,CAAC;AA+MpF,eAAO,MAAM,cAAc;cACf,iBAAiB;EAQ3B,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auth Controller
|
|
3
|
-
* Minimal, real auth endpoints backing the example API routes.
|
|
4
|
-
*/
|
|
5
|
-
import { Auth } from '../../src/auth/Auth.js';
|
|
6
|
-
import { User } from '../Models/User.js';
|
|
7
|
-
import { getString } from '../../src/common/utility.js';
|
|
8
|
-
import { Logger } from '../../src/config/logger.js';
|
|
9
|
-
import { getValidatedBody } from '../../src/http/ValidationHelper.js';
|
|
10
|
-
import { JwtManager } from '../../src/security/JwtManager.js';
|
|
11
|
-
import { TokenRevocation } from '../../src/security/TokenRevocation.js';
|
|
12
|
-
const pickPublicUser = (row) => {
|
|
13
|
-
return {
|
|
14
|
-
id: row.id,
|
|
15
|
-
name: getString(row.name),
|
|
16
|
-
email: getString(row.email),
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Authenticates a user by email and password.
|
|
21
|
-
* Validates credentials against the database and returns a JWT access token on success.
|
|
22
|
-
* Logs all authentication attempts for security auditing.
|
|
23
|
-
* @param req - HTTP request containing email and password
|
|
24
|
-
* @param res - HTTP response to send authentication result
|
|
25
|
-
* @returns Promise that resolves after sending the response
|
|
26
|
-
*/
|
|
27
|
-
async function login(req, res) {
|
|
28
|
-
const body = getValidatedBody(req);
|
|
29
|
-
if (!body) {
|
|
30
|
-
Logger.error('AuthController.login: validation middleware did not populate req.validated.body');
|
|
31
|
-
return res.setStatus(500).json({ error: 'Internal server error' });
|
|
32
|
-
}
|
|
33
|
-
const email = getString(body['email']);
|
|
34
|
-
const password = getString(body['password']);
|
|
35
|
-
const ipAddress = req.getRaw().socket.remoteAddress ?? 'unknown';
|
|
36
|
-
try {
|
|
37
|
-
const existing = await User.where('email', '=', email).limit(1).first();
|
|
38
|
-
if (existing === null) {
|
|
39
|
-
Logger.warn('AuthController.login: failed login attempt', {
|
|
40
|
-
email,
|
|
41
|
-
ip: ipAddress,
|
|
42
|
-
reason: 'user_not_found',
|
|
43
|
-
timestamp: new Date().toISOString(),
|
|
44
|
-
});
|
|
45
|
-
res.setStatus(401).json({ error: 'Invalid credentials' });
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const passwordHash = getString(existing.password);
|
|
49
|
-
const ok = await Auth.compare(password, passwordHash);
|
|
50
|
-
if (!ok) {
|
|
51
|
-
Logger.warn('AuthController.login: failed login attempt', {
|
|
52
|
-
email,
|
|
53
|
-
ip: ipAddress,
|
|
54
|
-
reason: 'invalid_password',
|
|
55
|
-
timestamp: new Date().toISOString(),
|
|
56
|
-
});
|
|
57
|
-
res.setStatus(401).json({ error: 'Invalid credentials' });
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const user = pickPublicUser(existing);
|
|
61
|
-
const subject = (() => {
|
|
62
|
-
const id = user.id;
|
|
63
|
-
if (typeof id === 'string' && id.length > 0)
|
|
64
|
-
return id;
|
|
65
|
-
if (typeof id === 'number' && Number.isFinite(id))
|
|
66
|
-
return String(id);
|
|
67
|
-
return undefined;
|
|
68
|
-
})();
|
|
69
|
-
const token = JwtManager.signAccessToken({
|
|
70
|
-
sub: subject,
|
|
71
|
-
email,
|
|
72
|
-
});
|
|
73
|
-
Logger.info('AuthController.login: successful login', {
|
|
74
|
-
userId: subject,
|
|
75
|
-
email,
|
|
76
|
-
ip: ipAddress,
|
|
77
|
-
timestamp: new Date().toISOString(),
|
|
78
|
-
});
|
|
79
|
-
res.json({
|
|
80
|
-
token,
|
|
81
|
-
token_type: 'Bearer',
|
|
82
|
-
user,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
Logger.error('AuthController.login: unexpected error', {
|
|
87
|
-
email,
|
|
88
|
-
ip: ipAddress,
|
|
89
|
-
error: error instanceof Error ? error.message : String(error),
|
|
90
|
-
timestamp: new Date().toISOString(),
|
|
91
|
-
});
|
|
92
|
-
res.setStatus(500).json({ error: 'Login failed' });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Registers a new user with name, email, and password.
|
|
97
|
-
* Validates email uniqueness, hashes password, and stores user in database.
|
|
98
|
-
* Returns 201 on success, 409 if email already exists.
|
|
99
|
-
* @param req - HTTP request containing name, email, and password
|
|
100
|
-
* @param res - HTTP response to send registration result
|
|
101
|
-
* @returns Promise that resolves after sending the response
|
|
102
|
-
*/
|
|
103
|
-
async function register(req, res) {
|
|
104
|
-
const body = getValidatedBody(req);
|
|
105
|
-
if (!body) {
|
|
106
|
-
Logger.error('AuthController.register: validation middleware did not populate req.validated.body');
|
|
107
|
-
res.setStatus(500).json({ error: 'Internal server error' });
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
const name = getString(body['name']);
|
|
111
|
-
const email = getString(body['email']);
|
|
112
|
-
const password = getString(body['password']);
|
|
113
|
-
const ipAddress = req.getRaw().socket.remoteAddress ?? 'unknown';
|
|
114
|
-
try {
|
|
115
|
-
const existing = await User.where('email', '=', email).limit(1).first();
|
|
116
|
-
if (existing !== null) {
|
|
117
|
-
Logger.warn('AuthController.register: duplicate email attempt', {
|
|
118
|
-
email,
|
|
119
|
-
ip: ipAddress,
|
|
120
|
-
timestamp: new Date().toISOString(),
|
|
121
|
-
});
|
|
122
|
-
res.setStatus(409).json({ error: 'Email already registered' });
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const passwordHash = await Auth.hash(password);
|
|
126
|
-
const result = await User.query().insert({
|
|
127
|
-
name,
|
|
128
|
-
email,
|
|
129
|
-
password: passwordHash,
|
|
130
|
-
});
|
|
131
|
-
let insertedUserId = result.id;
|
|
132
|
-
if (insertedUserId === null || insertedUserId === undefined) {
|
|
133
|
-
const inserted = await User.where('email', '=', email).limit(1).first();
|
|
134
|
-
if (inserted?.id !== null && inserted?.id !== undefined) {
|
|
135
|
-
insertedUserId = inserted.id;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (insertedUserId !== null && insertedUserId !== undefined) {
|
|
139
|
-
Logger.info('AuthController.register: successful registration', {
|
|
140
|
-
user_id: insertedUserId,
|
|
141
|
-
email,
|
|
142
|
-
ip: ipAddress,
|
|
143
|
-
timestamp: new Date().toISOString(),
|
|
144
|
-
});
|
|
145
|
-
res.setStatus(201).json({ message: 'Registered' });
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
Logger.error('Failed to retrieve inserted user ID', {
|
|
149
|
-
email,
|
|
150
|
-
ip: ipAddress,
|
|
151
|
-
});
|
|
152
|
-
res.setStatus(500).json({ error: 'Registration failed' });
|
|
153
|
-
}
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
Logger.error('AuthController.register failed', error);
|
|
158
|
-
res.setStatus(500).json({ error: 'Registration failed' });
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Logs out the current user by revoking their JWT token.
|
|
163
|
-
* Extracts authorization header and marks token as revoked.
|
|
164
|
-
* Requires persistent token revocation store for stateless JWT validation.
|
|
165
|
-
* @param req - HTTP request containing authorization header with JWT token
|
|
166
|
-
* @param res - HTTP response to send logout confirmation
|
|
167
|
-
* @returns Promise that resolves after sending the response
|
|
168
|
-
*/
|
|
169
|
-
async function logout(req, res) {
|
|
170
|
-
const authHeader = typeof req.getHeader === 'function' ? req.getHeader('authorization') : undefined;
|
|
171
|
-
await TokenRevocation.revoke(authHeader);
|
|
172
|
-
res.json({ message: 'Logged out' });
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Refreshes the user's JWT access token.
|
|
176
|
-
* Generates a new token with the same claims as the current user.
|
|
177
|
-
* Returns 401 if user is not authenticated.
|
|
178
|
-
* @param req - HTTP request with user populated by authentication middleware
|
|
179
|
-
* @param res - HTTP response to send refreshed token
|
|
180
|
-
* @returns Promise that resolves after sending the response
|
|
181
|
-
*/
|
|
182
|
-
async function refresh(req, res) {
|
|
183
|
-
const user = req.user;
|
|
184
|
-
if (user === undefined) {
|
|
185
|
-
res.setStatus(401).json({ error: 'Unauthorized' });
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
const token = JwtManager.signAccessToken(user);
|
|
189
|
-
res.json({ token, token_type: 'Bearer' });
|
|
190
|
-
}
|
|
191
|
-
export const AuthController = Object.freeze({
|
|
192
|
-
create() {
|
|
193
|
-
return {
|
|
194
|
-
login,
|
|
195
|
-
register,
|
|
196
|
-
logout,
|
|
197
|
-
refresh,
|
|
198
|
-
};
|
|
199
|
-
},
|
|
200
|
-
});
|
|
201
|
-
export default AuthController;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Controller (compat)
|
|
3
|
-
*
|
|
4
|
-
* This file remains for backwards-compatibility. The actual implementation is
|
|
5
|
-
* QueryBuilder-backed and lives in UserQueryBuilderController.
|
|
6
|
-
*/
|
|
7
|
-
export { UserQueryBuilderController as UserController, UserQueryBuilderController, } from '../Controllers/UserQueryBuilderController';
|
|
8
|
-
export { UserQueryBuilderController as default } from '../Controllers/UserQueryBuilderController';
|
|
9
|
-
//# sourceMappingURL=UserController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserController.d.ts","sourceRoot":"","sources":["../../../app/Controllers/UserController.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,0BAA0B,IAAI,cAAc,EAC5C,0BAA0B,GAC3B,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,0BAA0B,IAAI,OAAO,EAAE,MAAM,6CAA6C,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Controller (compat)
|
|
3
|
-
*
|
|
4
|
-
* This file remains for backwards-compatibility. The actual implementation is
|
|
5
|
-
* QueryBuilder-backed and lives in UserQueryBuilderController.
|
|
6
|
-
*/
|
|
7
|
-
export { UserQueryBuilderController as UserController, UserQueryBuilderController, } from '../Controllers/UserQueryBuilderController.js';
|
|
8
|
-
export { UserQueryBuilderController as default } from '../Controllers/UserQueryBuilderController.js';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User QueryBuilder Controller
|
|
3
|
-
* QueryBuilder-backed controller for the users resource.
|
|
4
|
-
*/
|
|
5
|
-
import type { IUserController } from '../Types/controller';
|
|
6
|
-
/**
|
|
7
|
-
* User QueryBuilder Controller Factory
|
|
8
|
-
*/
|
|
9
|
-
export declare const UserQueryBuilderController: {
|
|
10
|
-
/**
|
|
11
|
-
* Create a new user controller instance
|
|
12
|
-
*/
|
|
13
|
-
create(): IUserController;
|
|
14
|
-
};
|
|
15
|
-
export default UserQueryBuilderController;
|
|
16
|
-
//# sourceMappingURL=UserQueryBuilderController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserQueryBuilderController.d.ts","sourceRoot":"","sources":["../../../app/Controllers/UserQueryBuilderController.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAmC,MAAM,uBAAuB,CAAC;AAkc9F;;GAEG;AACH,eAAO,MAAM,0BAA0B;IACrC;;OAEG;cACO,eAAe;CAG1B,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
|