s3db.js 19.3.17 → 19.3.19
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/dist/clients/recker-http-handler.js +23 -1
- package/dist/clients/s3-client.class.js +30 -3
- package/dist/concerns/async-event-emitter.js +3 -0
- package/dist/database/database-connection.class.js +1 -1
- package/dist/plugins/api/server.js +44 -18
- package/dist/plugins/spider/security-analyzer.js +32 -12
- package/dist/plugins/websocket/server.js +20 -11
- package/dist/s3db-lite.cjs +60 -8
- package/dist/s3db-lite.es.js +60 -8
- package/dist/s3db.cjs +155 -48
- package/dist/s3db.es.js +155 -48
- package/dist/types/clients/recker-http-handler.d.ts +1 -0
- package/dist/types/clients/s3-client.class.d.ts +4 -1
- package/dist/types/clients/types.d.ts +31 -1
- package/dist/types/concerns/async-event-emitter.d.ts +1 -0
- package/dist/types/plugins/api/server.d.ts +2 -0
- package/dist/types/plugins/websocket/server.d.ts +5 -1
- package/package.json +2 -2
- package/src/clients/recker-http-handler.ts +24 -2
- package/src/clients/s3-client.class.ts +34 -3
- package/src/clients/types.ts +31 -1
- package/src/concerns/async-event-emitter.ts +4 -0
- package/src/database/database-connection.class.ts +1 -1
- package/src/plugins/api/server.ts +46 -18
- package/src/plugins/spider/security-analyzer.ts +32 -14
- package/src/plugins/websocket/server.ts +21 -12
- package/dist/concerns/id/generators/nanoid.js +0 -74
- package/dist/mcp/entrypoint.js +0 -346
- package/dist/mcp/search/embeddings-loader.js +0 -205
- package/dist/mcp/search/hybrid-search.js +0 -300
- package/dist/mcp/search/index.js +0 -7
- package/dist/mcp/search/math.js +0 -113
- package/dist/mcp/search/types.js +0 -5
- package/dist/mcp/tools/bulk.js +0 -100
- package/dist/mcp/tools/connection.js +0 -196
- package/dist/mcp/tools/crud.js +0 -518
- package/dist/mcp/tools/debugging.js +0 -269
- package/dist/mcp/tools/docs-search.js +0 -274
- package/dist/mcp/tools/documentation.js +0 -384
- package/dist/mcp/tools/export-import.js +0 -260
- package/dist/mcp/tools/index.js +0 -68
- package/dist/mcp/tools/partitions.js +0 -198
- package/dist/mcp/tools/query.js +0 -140
- package/dist/mcp/tools/resources.js +0 -85
- package/dist/mcp/tools/stats.js +0 -261
- package/dist/mcp/types/index.js +0 -2
- package/dist/plugins/recon/stages/massdns-stage.js +0 -135
- package/dist/s3db-lite.d.ts +0 -3493
- package/dist/s3db.d.ts +0 -19462
- package/dist/types/concerns/id/generators/nanoid.d.ts +0 -46
- package/dist/types/mcp/entrypoint.d.ts +0 -18
- package/dist/types/mcp/search/embeddings-loader.d.ts +0 -69
- package/dist/types/mcp/search/hybrid-search.d.ts +0 -74
- package/dist/types/mcp/search/index.d.ts +0 -7
- package/dist/types/mcp/search/math.d.ts +0 -50
- package/dist/types/mcp/search/types.d.ts +0 -53
- package/dist/types/mcp/tools/bulk.d.ts +0 -56
- package/dist/types/mcp/tools/connection.d.ts +0 -107
- package/dist/types/mcp/tools/crud.d.ts +0 -303
- package/dist/types/mcp/tools/debugging.d.ts +0 -96
- package/dist/types/mcp/tools/docs-search.d.ts +0 -90
- package/dist/types/mcp/tools/documentation.d.ts +0 -37
- package/dist/types/mcp/tools/export-import.d.ts +0 -103
- package/dist/types/mcp/tools/index.d.ts +0 -20
- package/dist/types/mcp/tools/partitions.d.ts +0 -70
- package/dist/types/mcp/tools/query.d.ts +0 -81
- package/dist/types/mcp/tools/resources.d.ts +0 -61
- package/dist/types/mcp/tools/stats.d.ts +0 -54
- package/dist/types/mcp/types/index.d.ts +0 -113
- package/dist/types/plugins/recon/stages/massdns-stage.d.ts +0 -60
- package/dist/types/src/behaviors/body-only.d.ts +0 -6
- package/dist/types/src/behaviors/body-overflow.d.ts +0 -6
- package/dist/types/src/behaviors/enforce-limits.d.ts +0 -7
- package/dist/types/src/behaviors/index.d.ts +0 -9
- package/dist/types/src/behaviors/truncate-data.d.ts +0 -6
- package/dist/types/src/behaviors/types.d.ts +0 -56
- package/dist/types/src/behaviors/user-managed.d.ts +0 -6
- package/dist/types/src/cli/index.d.ts +0 -11
- package/dist/types/src/cli/migration-manager.d.ts +0 -81
- package/dist/types/src/clients/filesystem-client.class.d.ts +0 -104
- package/dist/types/src/clients/filesystem-storage.class.d.ts +0 -71
- package/dist/types/src/clients/index.d.ts +0 -19
- package/dist/types/src/clients/memory-client.class.d.ts +0 -105
- package/dist/types/src/clients/memory-storage.class.d.ts +0 -49
- package/dist/types/src/clients/recker-http-handler.d.ts +0 -22
- package/dist/types/src/clients/s3-client.class.d.ts +0 -75
- package/dist/types/src/clients/types.d.ts +0 -446
- package/dist/types/src/concerns/adaptive-tuning.d.ts +0 -60
- package/dist/types/src/concerns/async-event-emitter.d.ts +0 -17
- package/dist/types/src/concerns/base62.d.ts +0 -27
- package/dist/types/src/concerns/benchmark.d.ts +0 -30
- package/dist/types/src/concerns/binary.d.ts +0 -115
- package/dist/types/src/concerns/calculator.d.ts +0 -36
- package/dist/types/src/concerns/cron-manager.d.ts +0 -96
- package/dist/types/src/concerns/crypto.d.ts +0 -5
- package/dist/types/src/concerns/dictionary-encoding.d.ts +0 -44
- package/dist/types/src/concerns/distributed-lock.d.ts +0 -78
- package/dist/types/src/concerns/distributed-sequence.d.ts +0 -62
- package/dist/types/src/concerns/error-classifier.d.ts +0 -18
- package/dist/types/src/concerns/failban-manager.d.ts +0 -184
- package/dist/types/src/concerns/flatten.d.ts +0 -19
- package/dist/types/src/concerns/geo-encoding.d.ts +0 -14
- package/dist/types/src/concerns/high-performance-inserter.d.ts +0 -110
- package/dist/types/src/concerns/http-client.d.ts +0 -106
- package/dist/types/src/concerns/id.d.ts +0 -7
- package/dist/types/src/concerns/incremental-sequence.d.ts +0 -165
- package/dist/types/src/concerns/index.d.ts +0 -37
- package/dist/types/src/concerns/ip.d.ts +0 -68
- package/dist/types/src/concerns/logger-redact.d.ts +0 -21
- package/dist/types/src/concerns/logger.d.ts +0 -23
- package/dist/types/src/concerns/map-with-concurrency.d.ts +0 -21
- package/dist/types/src/concerns/memory-profiler.d.ts +0 -115
- package/dist/types/src/concerns/metadata-encoding.d.ts +0 -33
- package/dist/types/src/concerns/money.d.ts +0 -32
- package/dist/types/src/concerns/optimized-encoding.d.ts +0 -13
- package/dist/types/src/concerns/partition-queue.d.ts +0 -64
- package/dist/types/src/concerns/password-hashing.d.ts +0 -16
- package/dist/types/src/concerns/performance-monitor.d.ts +0 -64
- package/dist/types/src/concerns/plugin-storage.d.ts +0 -152
- package/dist/types/src/concerns/process-manager.d.ts +0 -61
- package/dist/types/src/concerns/safe-event-emitter.d.ts +0 -35
- package/dist/types/src/concerns/storage-drivers/filesystem-driver.d.ts +0 -38
- package/dist/types/src/concerns/try-fn.d.ts +0 -23
- package/dist/types/src/concerns/typescript-generator.d.ts +0 -42
- package/dist/types/src/concerns/validator-cache.d.ts +0 -33
- package/dist/types/src/concurrency/index.d.ts +0 -3
- package/dist/types/src/concurrency/task-executor.interface.d.ts +0 -44
- package/dist/types/src/connection-string.class.d.ts +0 -27
- package/dist/types/src/core/index.d.ts +0 -25
- package/dist/types/src/core/resource-config-validator.d.ts +0 -48
- package/dist/types/src/core/resource-content.class.d.ts +0 -56
- package/dist/types/src/core/resource-events.class.d.ts +0 -30
- package/dist/types/src/core/resource-guards.class.d.ts +0 -51
- package/dist/types/src/core/resource-hooks.class.d.ts +0 -58
- package/dist/types/src/core/resource-id-generator.class.d.ts +0 -69
- package/dist/types/src/core/resource-middleware.class.d.ts +0 -30
- package/dist/types/src/core/resource-partitions.class.d.ts +0 -105
- package/dist/types/src/core/resource-persistence.class.d.ts +0 -227
- package/dist/types/src/core/resource-query.class.d.ts +0 -135
- package/dist/types/src/core/resource-streams.class.d.ts +0 -27
- package/dist/types/src/core/resource-validator.class.d.ts +0 -66
- package/dist/types/src/database/database-connection.class.d.ts +0 -20
- package/dist/types/src/database/database-coordinators.class.d.ts +0 -11
- package/dist/types/src/database/database-hooks.class.d.ts +0 -29
- package/dist/types/src/database/database-metadata.class.d.ts +0 -20
- package/dist/types/src/database/database-plugins.class.d.ts +0 -14
- package/dist/types/src/database/database-recovery.class.d.ts +0 -12
- package/dist/types/src/database/database-resources.class.d.ts +0 -76
- package/dist/types/src/database/index.d.ts +0 -9
- package/dist/types/src/database/types.d.ts +0 -189
- package/dist/types/src/database.class.d.ts +0 -141
- package/dist/types/src/errors.d.ts +0 -278
- package/dist/types/src/index.d.ts +0 -32
- package/dist/types/src/mcp/index.d.ts +0 -3
- package/dist/types/src/mcp/search.d.ts +0 -28
- package/dist/types/src/mcp/server.d.ts +0 -9
- package/dist/types/src/plugins/api/app.class.d.ts +0 -208
- package/dist/types/src/plugins/api/auth/api-key-auth.d.ts +0 -24
- package/dist/types/src/plugins/api/auth/basic-auth.d.ts +0 -37
- package/dist/types/src/plugins/api/auth/index.d.ts +0 -34
- package/dist/types/src/plugins/api/auth/jwt-auth.d.ts +0 -46
- package/dist/types/src/plugins/api/auth/oauth2-auth.d.ts +0 -92
- package/dist/types/src/plugins/api/auth/oidc-auth.d.ts +0 -220
- package/dist/types/src/plugins/api/auth/oidc-client.d.ts +0 -198
- package/dist/types/src/plugins/api/auth/path-auth-matcher.d.ts +0 -43
- package/dist/types/src/plugins/api/auth/providers.d.ts +0 -37
- package/dist/types/src/plugins/api/auth/resource-manager.d.ts +0 -65
- package/dist/types/src/plugins/api/auth/strategies/base-strategy.class.d.ts +0 -33
- package/dist/types/src/plugins/api/auth/strategies/factory.class.d.ts +0 -23
- package/dist/types/src/plugins/api/auth/strategies/global-strategy.class.d.ts +0 -6
- package/dist/types/src/plugins/api/auth/strategies/path-based-strategy.class.d.ts +0 -15
- package/dist/types/src/plugins/api/auth/strategies/path-rules-strategy.class.d.ts +0 -16
- package/dist/types/src/plugins/api/concerns/cookie-chunking.d.ts +0 -34
- package/dist/types/src/plugins/api/concerns/crypto.d.ts +0 -20
- package/dist/types/src/plugins/api/concerns/event-emitter.d.ts +0 -28
- package/dist/types/src/plugins/api/concerns/failban-manager.d.ts +0 -143
- package/dist/types/src/plugins/api/concerns/guards-helpers.d.ts +0 -68
- package/dist/types/src/plugins/api/concerns/lru-cache.d.ts +0 -17
- package/dist/types/src/plugins/api/concerns/metrics-collector.d.ts +0 -111
- package/dist/types/src/plugins/api/concerns/oidc-backchannel-logout.d.ts +0 -58
- package/dist/types/src/plugins/api/concerns/oidc-client-assertion.d.ts +0 -44
- package/dist/types/src/plugins/api/concerns/oidc-errors.d.ts +0 -46
- package/dist/types/src/plugins/api/concerns/oidc-hooks.d.ts +0 -62
- package/dist/types/src/plugins/api/concerns/oidc-par.d.ts +0 -34
- package/dist/types/src/plugins/api/concerns/oidc-provider-validator.d.ts +0 -48
- package/dist/types/src/plugins/api/concerns/oidc-silent-login.d.ts +0 -31
- package/dist/types/src/plugins/api/concerns/oidc-validator.d.ts +0 -52
- package/dist/types/src/plugins/api/concerns/opengraph-helper.d.ts +0 -28
- package/dist/types/src/plugins/api/concerns/resource-session-store.d.ts +0 -39
- package/dist/types/src/plugins/api/concerns/route-context.d.ts +0 -95
- package/dist/types/src/plugins/api/concerns/session-store-factory.d.ts +0 -29
- package/dist/types/src/plugins/api/concerns/session-store.d.ts +0 -73
- package/dist/types/src/plugins/api/concerns/state-machine.d.ts +0 -51
- package/dist/types/src/plugins/api/config/normalize-auth.d.ts +0 -40
- package/dist/types/src/plugins/api/config/normalize-logging.d.ts +0 -19
- package/dist/types/src/plugins/api/config/normalize-ratelimit.d.ts +0 -26
- package/dist/types/src/plugins/api/config/normalize-resources.d.ts +0 -19
- package/dist/types/src/plugins/api/errors.d.ts +0 -145
- package/dist/types/src/plugins/api/index.d.ts +0 -334
- package/dist/types/src/plugins/api/middleware/compression.d.ts +0 -7
- package/dist/types/src/plugins/api/middleware/cors.d.ts +0 -11
- package/dist/types/src/plugins/api/middleware/identity.d.ts +0 -34
- package/dist/types/src/plugins/api/middleware/logging.d.ts +0 -18
- package/dist/types/src/plugins/api/middleware/rate-limit.d.ts +0 -20
- package/dist/types/src/plugins/api/middleware/security.d.ts +0 -44
- package/dist/types/src/plugins/api/middlewares/context-injection.d.ts +0 -10
- package/dist/types/src/plugins/api/middlewares/error-helper.d.ts +0 -35
- package/dist/types/src/plugins/api/middlewares/failban.d.ts +0 -87
- package/dist/types/src/plugins/api/middlewares/index.d.ts +0 -12
- package/dist/types/src/plugins/api/middlewares/pino-logger.d.ts +0 -85
- package/dist/types/src/plugins/api/middlewares/rate-limit.d.ts +0 -51
- package/dist/types/src/plugins/api/middlewares/request-id.d.ts +0 -11
- package/dist/types/src/plugins/api/middlewares/security-headers.d.ts +0 -21
- package/dist/types/src/plugins/api/middlewares/session-tracking.d.ts +0 -40
- package/dist/types/src/plugins/api/middlewares/validator.d.ts +0 -53
- package/dist/types/src/plugins/api/route-context.class.d.ts +0 -62
- package/dist/types/src/plugins/api/routes/auth-routes.d.ts +0 -51
- package/dist/types/src/plugins/api/routes/resource-routes.d.ts +0 -97
- package/dist/types/src/plugins/api/server/health-manager.class.d.ts +0 -44
- package/dist/types/src/plugins/api/server/middleware-chain.class.d.ts +0 -111
- package/dist/types/src/plugins/api/server/router.class.d.ts +0 -170
- package/dist/types/src/plugins/api/server.d.ts +0 -218
- package/dist/types/src/plugins/api/utils/base-path.d.ts +0 -8
- package/dist/types/src/plugins/api/utils/code-samples-generator.d.ts +0 -64
- package/dist/types/src/plugins/api/utils/custom-routes.d.ts +0 -37
- package/dist/types/src/plugins/api/utils/error-handler.d.ts +0 -32
- package/dist/types/src/plugins/api/utils/etag.d.ts +0 -25
- package/dist/types/src/plugins/api/utils/guards.d.ts +0 -61
- package/dist/types/src/plugins/api/utils/http-logger.d.ts +0 -11
- package/dist/types/src/plugins/api/utils/mime-types.d.ts +0 -12
- package/dist/types/src/plugins/api/utils/openapi-generator-cached.class.d.ts +0 -54
- package/dist/types/src/plugins/api/utils/openapi-generator.d.ts +0 -278
- package/dist/types/src/plugins/api/utils/path-matcher.d.ts +0 -17
- package/dist/types/src/plugins/api/utils/response-formatter.d.ts +0 -94
- package/dist/types/src/plugins/api/utils/route-helper.d.ts +0 -21
- package/dist/types/src/plugins/api/utils/static-filesystem.d.ts +0 -18
- package/dist/types/src/plugins/api/utils/static-s3.d.ts +0 -22
- package/dist/types/src/plugins/api/utils/template-engine.d.ts +0 -34
- package/dist/types/src/plugins/audit.errors.d.ts +0 -13
- package/dist/types/src/plugins/audit.plugin.d.ts +0 -119
- package/dist/types/src/plugins/backup/base-backup-driver.class.d.ts +0 -86
- package/dist/types/src/plugins/backup/factory.d.ts +0 -19
- package/dist/types/src/plugins/backup/filesystem-backup-driver.class.d.ts +0 -21
- package/dist/types/src/plugins/backup/index.d.ts +0 -12
- package/dist/types/src/plugins/backup/multi-backup-driver.class.d.ts +0 -39
- package/dist/types/src/plugins/backup/s3-backup-driver.class.d.ts +0 -24
- package/dist/types/src/plugins/backup/streaming-exporter.d.ts +0 -33
- package/dist/types/src/plugins/backup.errors.d.ts +0 -13
- package/dist/types/src/plugins/backup.plugin.d.ts +0 -143
- package/dist/types/src/plugins/cache/cache.class.d.ts +0 -31
- package/dist/types/src/plugins/cache/filesystem-cache.class.d.ts +0 -86
- package/dist/types/src/plugins/cache/index.d.ts +0 -16
- package/dist/types/src/plugins/cache/memory-cache.class.d.ts +0 -145
- package/dist/types/src/plugins/cache/multi-tier-cache.class.d.ts +0 -86
- package/dist/types/src/plugins/cache/partition-aware-filesystem-cache.class.d.ts +0 -82
- package/dist/types/src/plugins/cache/redis-cache.class.d.ts +0 -86
- package/dist/types/src/plugins/cache/s3-cache.class.d.ts +0 -29
- package/dist/types/src/plugins/cache/utils/memory-limits.d.ts +0 -25
- package/dist/types/src/plugins/cache.errors.d.ts +0 -14
- package/dist/types/src/plugins/cache.plugin.d.ts +0 -244
- package/dist/types/src/plugins/cloud-inventory/drivers/alibaba-driver.d.ts +0 -39
- package/dist/types/src/plugins/cloud-inventory/drivers/aws-driver.d.ts +0 -150
- package/dist/types/src/plugins/cloud-inventory/drivers/azure-driver.d.ts +0 -98
- package/dist/types/src/plugins/cloud-inventory/drivers/base-driver.d.ts +0 -60
- package/dist/types/src/plugins/cloud-inventory/drivers/cloudflare-driver.d.ts +0 -23
- package/dist/types/src/plugins/cloud-inventory/drivers/digitalocean-driver.d.ts +0 -114
- package/dist/types/src/plugins/cloud-inventory/drivers/gcp-driver.d.ts +0 -79
- package/dist/types/src/plugins/cloud-inventory/drivers/hetzner-driver.d.ts +0 -97
- package/dist/types/src/plugins/cloud-inventory/drivers/index.d.ts +0 -29
- package/dist/types/src/plugins/cloud-inventory/drivers/linode-driver.d.ts +0 -24
- package/dist/types/src/plugins/cloud-inventory/drivers/mongodb-atlas-driver.d.ts +0 -49
- package/dist/types/src/plugins/cloud-inventory/drivers/oracle-driver.d.ts +0 -31
- package/dist/types/src/plugins/cloud-inventory/drivers/vultr-driver.d.ts +0 -96
- package/dist/types/src/plugins/cloud-inventory/index.d.ts +0 -17
- package/dist/types/src/plugins/cloud-inventory/registry.d.ts +0 -8
- package/dist/types/src/plugins/cloud-inventory/terraform-exporter.d.ts +0 -52
- package/dist/types/src/plugins/cloud-inventory.plugin.d.ts +0 -212
- package/dist/types/src/plugins/concerns/coordinator-plugin.class.d.ts +0 -88
- package/dist/types/src/plugins/concerns/global-coordinator-service.class.d.ts +0 -180
- package/dist/types/src/plugins/concerns/index.d.ts +0 -8
- package/dist/types/src/plugins/concerns/ip-allowlist.d.ts +0 -18
- package/dist/types/src/plugins/concerns/plugin-dependencies.d.ts +0 -35
- package/dist/types/src/plugins/concerns/plugin-options.d.ts +0 -26
- package/dist/types/src/plugins/concerns/prometheus-formatter.d.ts +0 -40
- package/dist/types/src/plugins/concerns/resource-names.d.ts +0 -14
- package/dist/types/src/plugins/consumers/index.d.ts +0 -8
- package/dist/types/src/plugins/consumers/rabbitmq-consumer.d.ts +0 -52
- package/dist/types/src/plugins/consumers/sqs-consumer.d.ts +0 -64
- package/dist/types/src/plugins/cookie-farm-suite.plugin.d.ts +0 -92
- package/dist/types/src/plugins/cookie-farm.errors.d.ts +0 -28
- package/dist/types/src/plugins/cookie-farm.plugin.d.ts +0 -245
- package/dist/types/src/plugins/costs.plugin.d.ts +0 -122
- package/dist/types/src/plugins/eventual-consistency/analytics.d.ts +0 -167
- package/dist/types/src/plugins/eventual-consistency/config.d.ts +0 -97
- package/dist/types/src/plugins/eventual-consistency/consolidation.d.ts +0 -82
- package/dist/types/src/plugins/eventual-consistency/garbage-collection.d.ts +0 -37
- package/dist/types/src/plugins/eventual-consistency/helpers.d.ts +0 -40
- package/dist/types/src/plugins/eventual-consistency/index.d.ts +0 -179
- package/dist/types/src/plugins/eventual-consistency/install.d.ts +0 -73
- package/dist/types/src/plugins/eventual-consistency/locks.d.ts +0 -43
- package/dist/types/src/plugins/eventual-consistency/partitions.d.ts +0 -24
- package/dist/types/src/plugins/eventual-consistency/tickets.d.ts +0 -104
- package/dist/types/src/plugins/eventual-consistency/transactions.d.ts +0 -39
- package/dist/types/src/plugins/eventual-consistency/utils.d.ts +0 -172
- package/dist/types/src/plugins/fulltext.errors.d.ts +0 -13
- package/dist/types/src/plugins/fulltext.plugin.d.ts +0 -118
- package/dist/types/src/plugins/geo.plugin.d.ts +0 -125
- package/dist/types/src/plugins/graph.errors.d.ts +0 -36
- package/dist/types/src/plugins/graph.plugin.d.ts +0 -130
- package/dist/types/src/plugins/identity/concerns/config.d.ts +0 -17
- package/dist/types/src/plugins/identity/concerns/interactive-wizard.d.ts +0 -66
- package/dist/types/src/plugins/identity/concerns/mfa-manager.d.ts +0 -41
- package/dist/types/src/plugins/identity/concerns/onboarding-manager.d.ts +0 -151
- package/dist/types/src/plugins/identity/concerns/password.d.ts +0 -32
- package/dist/types/src/plugins/identity/concerns/rate-limit.d.ts +0 -26
- package/dist/types/src/plugins/identity/concerns/resource-schemas.d.ts +0 -34
- package/dist/types/src/plugins/identity/concerns/token-generator.d.ts +0 -34
- package/dist/types/src/plugins/identity/drivers/auth-driver.interface.d.ts +0 -64
- package/dist/types/src/plugins/identity/drivers/client-credentials-driver.d.ts +0 -20
- package/dist/types/src/plugins/identity/drivers/index.d.ts +0 -19
- package/dist/types/src/plugins/identity/drivers/password-driver.d.ts +0 -24
- package/dist/types/src/plugins/identity/email-service.d.ts +0 -98
- package/dist/types/src/plugins/identity/index.d.ts +0 -493
- package/dist/types/src/plugins/identity/oauth2-server.d.ts +0 -229
- package/dist/types/src/plugins/identity/oidc-discovery.d.ts +0 -110
- package/dist/types/src/plugins/identity/rsa-keys.d.ts +0 -101
- package/dist/types/src/plugins/identity/server.d.ts +0 -144
- package/dist/types/src/plugins/identity/session-manager.d.ts +0 -99
- package/dist/types/src/plugins/identity/ui/layouts/base.d.ts +0 -55
- package/dist/types/src/plugins/identity/ui/middleware.d.ts +0 -39
- package/dist/types/src/plugins/identity/ui/pages/admin/client-form.d.ts +0 -24
- package/dist/types/src/plugins/identity/ui/pages/admin/clients.d.ts +0 -25
- package/dist/types/src/plugins/identity/ui/pages/admin/dashboard.d.ts +0 -42
- package/dist/types/src/plugins/identity/ui/pages/admin/user-form.d.ts +0 -35
- package/dist/types/src/plugins/identity/ui/pages/admin/users.d.ts +0 -32
- package/dist/types/src/plugins/identity/ui/pages/consent.d.ts +0 -31
- package/dist/types/src/plugins/identity/ui/pages/forgot-password.d.ts +0 -14
- package/dist/types/src/plugins/identity/ui/pages/login.d.ts +0 -19
- package/dist/types/src/plugins/identity/ui/pages/mfa-backup-codes.d.ts +0 -13
- package/dist/types/src/plugins/identity/ui/pages/mfa-enrollment.d.ts +0 -15
- package/dist/types/src/plugins/identity/ui/pages/mfa-verification.d.ts +0 -16
- package/dist/types/src/plugins/identity/ui/pages/oauth-error.d.ts +0 -21
- package/dist/types/src/plugins/identity/ui/pages/profile.d.ts +0 -32
- package/dist/types/src/plugins/identity/ui/pages/register.d.ts +0 -23
- package/dist/types/src/plugins/identity/ui/pages/reset-password.d.ts +0 -15
- package/dist/types/src/plugins/identity/ui/pages/verify-email.d.ts +0 -15
- package/dist/types/src/plugins/identity/ui/routes.d.ts +0 -266
- package/dist/types/src/plugins/importer/index.d.ts +0 -139
- package/dist/types/src/plugins/index.d.ts +0 -55
- package/dist/types/src/plugins/kubernetes-inventory/index.d.ts +0 -4
- package/dist/types/src/plugins/kubernetes-inventory/k8s-driver.d.ts +0 -224
- package/dist/types/src/plugins/kubernetes-inventory/resource-types.d.ts +0 -42
- package/dist/types/src/plugins/kubernetes-inventory.plugin.d.ts +0 -163
- package/dist/types/src/plugins/metrics.errors.d.ts +0 -13
- package/dist/types/src/plugins/metrics.plugin.d.ts +0 -217
- package/dist/types/src/plugins/ml/base-model.class.d.ts +0 -194
- package/dist/types/src/plugins/ml/classification-model.class.d.ts +0 -63
- package/dist/types/src/plugins/ml/neural-network-model.class.d.ts +0 -77
- package/dist/types/src/plugins/ml/regression-model.class.d.ts +0 -41
- package/dist/types/src/plugins/ml/timeseries-model.class.d.ts +0 -68
- package/dist/types/src/plugins/ml.errors.d.ts +0 -49
- package/dist/types/src/plugins/ml.plugin.d.ts +0 -305
- package/dist/types/src/plugins/namespace.d.ts +0 -15
- package/dist/types/src/plugins/plugin.class.d.ts +0 -102
- package/dist/types/src/plugins/plugin.obj.d.ts +0 -8
- package/dist/types/src/plugins/puppeteer/anti-bot-detector.d.ts +0 -66
- package/dist/types/src/plugins/puppeteer/console-monitor.d.ts +0 -100
- package/dist/types/src/plugins/puppeteer/cookie-manager.d.ts +0 -157
- package/dist/types/src/plugins/puppeteer/network-monitor.d.ts +0 -114
- package/dist/types/src/plugins/puppeteer/performance-manager.d.ts +0 -200
- package/dist/types/src/plugins/puppeteer/proxy-manager.d.ts +0 -120
- package/dist/types/src/plugins/puppeteer/stealth-manager.d.ts +0 -139
- package/dist/types/src/plugins/puppeteer/storage-manager.d.ts +0 -48
- package/dist/types/src/plugins/puppeteer/webrtc-streams-detector.d.ts +0 -118
- package/dist/types/src/plugins/puppeteer.errors.d.ts +0 -30
- package/dist/types/src/plugins/puppeteer.plugin.d.ts +0 -396
- package/dist/types/src/plugins/queue-consumer.plugin.d.ts +0 -50
- package/dist/types/src/plugins/queue.errors.d.ts +0 -13
- package/dist/types/src/plugins/recon/behaviors/index.d.ts +0 -8
- package/dist/types/src/plugins/recon/behaviors/uptime-behavior.d.ts +0 -149
- package/dist/types/src/plugins/recon/concerns/command-runner.d.ts +0 -43
- package/dist/types/src/plugins/recon/concerns/diff-detector.d.ts +0 -121
- package/dist/types/src/plugins/recon/concerns/fingerprint-builder.d.ts +0 -201
- package/dist/types/src/plugins/recon/concerns/index.d.ts +0 -20
- package/dist/types/src/plugins/recon/concerns/process-manager.d.ts +0 -60
- package/dist/types/src/plugins/recon/concerns/report-generator.d.ts +0 -164
- package/dist/types/src/plugins/recon/concerns/security-analyzer.d.ts +0 -117
- package/dist/types/src/plugins/recon/concerns/target-normalizer.d.ts +0 -21
- package/dist/types/src/plugins/recon/config/defaults.d.ts +0 -148
- package/dist/types/src/plugins/recon/config/resources.d.ts +0 -34
- package/dist/types/src/plugins/recon/index.d.ts +0 -193
- package/dist/types/src/plugins/recon/managers/dependency-manager.d.ts +0 -39
- package/dist/types/src/plugins/recon/managers/index.d.ts +0 -14
- package/dist/types/src/plugins/recon/managers/scheduler-manager.d.ts +0 -67
- package/dist/types/src/plugins/recon/managers/storage-manager.d.ts +0 -154
- package/dist/types/src/plugins/recon/managers/target-manager.d.ts +0 -91
- package/dist/types/src/plugins/recon/stages/asn-stage.d.ts +0 -93
- package/dist/types/src/plugins/recon/stages/certificate-stage.d.ts +0 -59
- package/dist/types/src/plugins/recon/stages/dns-stage.d.ts +0 -58
- package/dist/types/src/plugins/recon/stages/dnsdumpster-stage.d.ts +0 -108
- package/dist/types/src/plugins/recon/stages/fingerprint-stage.d.ts +0 -62
- package/dist/types/src/plugins/recon/stages/google-dorks-stage.d.ts +0 -94
- package/dist/types/src/plugins/recon/stages/http-stage.d.ts +0 -65
- package/dist/types/src/plugins/recon/stages/index.d.ts +0 -43
- package/dist/types/src/plugins/recon/stages/latency-stage.d.ts +0 -70
- package/dist/types/src/plugins/recon/stages/massdns-stage.d.ts +0 -60
- package/dist/types/src/plugins/recon/stages/osint-stage.d.ts +0 -117
- package/dist/types/src/plugins/recon/stages/ports-stage.d.ts +0 -63
- package/dist/types/src/plugins/recon/stages/screenshot-stage.d.ts +0 -41
- package/dist/types/src/plugins/recon/stages/secrets-stage.d.ts +0 -56
- package/dist/types/src/plugins/recon/stages/subdomains-stage.d.ts +0 -76
- package/dist/types/src/plugins/recon/stages/tls-audit-stage.d.ts +0 -70
- package/dist/types/src/plugins/recon/stages/vulnerability-stage.d.ts +0 -67
- package/dist/types/src/plugins/recon/stages/web-discovery-stage.d.ts +0 -63
- package/dist/types/src/plugins/recon/stages/whois-stage.d.ts +0 -70
- package/dist/types/src/plugins/recon.plugin.d.ts +0 -3
- package/dist/types/src/plugins/replicator.errors.d.ts +0 -13
- package/dist/types/src/plugins/replicator.plugin.d.ts +0 -212
- package/dist/types/src/plugins/replicators/base-replicator.class.d.ts +0 -67
- package/dist/types/src/plugins/replicators/bigquery-replicator.class.d.ts +0 -168
- package/dist/types/src/plugins/replicators/dynamodb-replicator.class.d.ts +0 -85
- package/dist/types/src/plugins/replicators/index.d.ts +0 -45
- package/dist/types/src/plugins/replicators/mongodb-replicator.class.d.ts +0 -99
- package/dist/types/src/plugins/replicators/mysql-replicator.class.d.ts +0 -111
- package/dist/types/src/plugins/replicators/planetscale-replicator.class.d.ts +0 -87
- package/dist/types/src/plugins/replicators/postgres-replicator.class.d.ts +0 -105
- package/dist/types/src/plugins/replicators/s3db-replicator.class.d.ts +0 -81
- package/dist/types/src/plugins/replicators/schema-sync.helper.d.ts +0 -95
- package/dist/types/src/plugins/replicators/sqs-replicator.class.d.ts +0 -96
- package/dist/types/src/plugins/replicators/turso-replicator.class.d.ts +0 -95
- package/dist/types/src/plugins/replicators/webhook-replicator.class.d.ts +0 -110
- package/dist/types/src/plugins/s3-queue.plugin.d.ts +0 -265
- package/dist/types/src/plugins/scheduler.errors.d.ts +0 -13
- package/dist/types/src/plugins/scheduler.plugin.d.ts +0 -171
- package/dist/types/src/plugins/shared/error-handler.d.ts +0 -28
- package/dist/types/src/plugins/shared/index.d.ts +0 -8
- package/dist/types/src/plugins/shared/middlewares/compression.d.ts +0 -12
- package/dist/types/src/plugins/shared/middlewares/cors.d.ts +0 -11
- package/dist/types/src/plugins/shared/middlewares/index.d.ts +0 -11
- package/dist/types/src/plugins/shared/middlewares/logging.d.ts +0 -11
- package/dist/types/src/plugins/shared/middlewares/rate-limit.d.ts +0 -8
- package/dist/types/src/plugins/shared/middlewares/security.d.ts +0 -62
- package/dist/types/src/plugins/shared/response-formatter.d.ts +0 -128
- package/dist/types/src/plugins/smtp/connection-manager.d.ts +0 -81
- package/dist/types/src/plugins/smtp/drivers/driver-factory.d.ts +0 -4
- package/dist/types/src/plugins/smtp/drivers/index.d.ts +0 -6
- package/dist/types/src/plugins/smtp/drivers/multi-relay.d.ts +0 -47
- package/dist/types/src/plugins/smtp/drivers/relay-driver.d.ts +0 -72
- package/dist/types/src/plugins/smtp/email-headers.d.ts +0 -108
- package/dist/types/src/plugins/smtp/errors.d.ts +0 -31
- package/dist/types/src/plugins/smtp/template-engine.d.ts +0 -51
- package/dist/types/src/plugins/smtp/webhook-receiver.d.ts +0 -89
- package/dist/types/src/plugins/smtp.plugin.d.ts +0 -259
- package/dist/types/src/plugins/spider/content-analyzer.d.ts +0 -72
- package/dist/types/src/plugins/spider/crawl-context.d.ts +0 -162
- package/dist/types/src/plugins/spider/deep-discovery.d.ts +0 -250
- package/dist/types/src/plugins/spider/hybrid-fetcher.d.ts +0 -124
- package/dist/types/src/plugins/spider/index.d.ts +0 -27
- package/dist/types/src/plugins/spider/link-discoverer.d.ts +0 -101
- package/dist/types/src/plugins/spider/robots-parser.d.ts +0 -84
- package/dist/types/src/plugins/spider/security-analyzer.d.ts +0 -152
- package/dist/types/src/plugins/spider/seo-analyzer.d.ts +0 -331
- package/dist/types/src/plugins/spider/sitemap-parser.d.ts +0 -117
- package/dist/types/src/plugins/spider/storage-analyzer.d.ts +0 -56
- package/dist/types/src/plugins/spider/task-activities.d.ts +0 -35
- package/dist/types/src/plugins/spider/tech-detector.d.ts +0 -49
- package/dist/types/src/plugins/spider/url-pattern-matcher.d.ts +0 -54
- package/dist/types/src/plugins/spider.plugin.d.ts +0 -331
- package/dist/types/src/plugins/state-machine.errors.d.ts +0 -15
- package/dist/types/src/plugins/state-machine.plugin.d.ts +0 -227
- package/dist/types/src/plugins/tfstate/base-driver.d.ts +0 -56
- package/dist/types/src/plugins/tfstate/errors.d.ts +0 -73
- package/dist/types/src/plugins/tfstate/filesystem-driver.d.ts +0 -44
- package/dist/types/src/plugins/tfstate/index.d.ts +0 -287
- package/dist/types/src/plugins/tfstate/s3-driver.d.ts +0 -50
- package/dist/types/src/plugins/tournament/bracket-generator.d.ts +0 -38
- package/dist/types/src/plugins/tournament/formats/base-format.d.ts +0 -24
- package/dist/types/src/plugins/tournament/formats/circuit.d.ts +0 -77
- package/dist/types/src/plugins/tournament/formats/double-elimination.d.ts +0 -30
- package/dist/types/src/plugins/tournament/formats/group-stage.d.ts +0 -34
- package/dist/types/src/plugins/tournament/formats/index.d.ts +0 -29
- package/dist/types/src/plugins/tournament/formats/ladder.d.ts +0 -71
- package/dist/types/src/plugins/tournament/formats/league-playoffs.d.ts +0 -50
- package/dist/types/src/plugins/tournament/formats/promotion-relegation.d.ts +0 -75
- package/dist/types/src/plugins/tournament/formats/round-robin.d.ts +0 -27
- package/dist/types/src/plugins/tournament/formats/single-elimination.d.ts +0 -26
- package/dist/types/src/plugins/tournament/formats/swiss.d.ts +0 -59
- package/dist/types/src/plugins/tournament/index.d.ts +0 -10
- package/dist/types/src/plugins/tournament/match-manager.d.ts +0 -91
- package/dist/types/src/plugins/tournament/registration-manager.d.ts +0 -91
- package/dist/types/src/plugins/tournament/seeding-strategies.d.ts +0 -14
- package/dist/types/src/plugins/tournament/standings-calculator.d.ts +0 -18
- package/dist/types/src/plugins/tournament/tournament-manager.d.ts +0 -108
- package/dist/types/src/plugins/tournament/types.d.ts +0 -228
- package/dist/types/src/plugins/tournament.plugin.d.ts +0 -264
- package/dist/types/src/plugins/tree/drivers/adjacency-list.d.ts +0 -91
- package/dist/types/src/plugins/tree/drivers/nested-set.d.ts +0 -139
- package/dist/types/src/plugins/tree/errors.d.ts +0 -30
- package/dist/types/src/plugins/tree/index.d.ts +0 -57
- package/dist/types/src/plugins/ttl.plugin.d.ts +0 -87
- package/dist/types/src/plugins/vector/distances.d.ts +0 -8
- package/dist/types/src/plugins/vector/kmeans.d.ts +0 -60
- package/dist/types/src/plugins/vector/metrics.d.ts +0 -26
- package/dist/types/src/plugins/vector/vector-error.d.ts +0 -15
- package/dist/types/src/plugins/vector.plugin.d.ts +0 -106
- package/dist/types/src/plugins/websocket/config/normalize-auth.d.ts +0 -44
- package/dist/types/src/plugins/websocket/config/normalize-resources.d.ts +0 -16
- package/dist/types/src/plugins/websocket/index.d.ts +0 -132
- package/dist/types/src/plugins/websocket/server/channel-manager.class.d.ts +0 -139
- package/dist/types/src/plugins/websocket/server/health-manager.class.d.ts +0 -73
- package/dist/types/src/plugins/websocket/server.d.ts +0 -295
- package/dist/types/src/resource.class.d.ts +0 -368
- package/dist/types/src/schema.class.d.ts +0 -151
- package/dist/types/src/stream/index.d.ts +0 -7
- package/dist/types/src/stream/resource-ids-page-reader.class.d.ts +0 -6
- package/dist/types/src/stream/resource-ids-reader.class.d.ts +0 -44
- package/dist/types/src/stream/resource-reader.class.d.ts +0 -37
- package/dist/types/src/stream/resource-writer.class.d.ts +0 -36
- package/dist/types/src/tasks/concerns/fifo-task-queue.d.ts +0 -22
- package/dist/types/src/tasks/concerns/priority-task-queue.d.ts +0 -36
- package/dist/types/src/tasks/concerns/signature-stats.d.ts +0 -34
- package/dist/types/src/tasks/concerns/task-signature.d.ts +0 -16
- package/dist/types/src/tasks/tasks-pool.class.d.ts +0 -359
- package/dist/types/src/tasks/tasks-runner.class.d.ts +0 -248
- package/dist/types/src/testing/factory.class.d.ts +0 -56
- package/dist/types/src/testing/index.d.ts +0 -9
- package/dist/types/src/testing/seeder.class.d.ts +0 -30
- package/dist/types/src/types/cli.types.d.ts +0 -36
- package/dist/types/src/types/common.types.d.ts +0 -58
- package/dist/types/src/types/index.d.ts +0 -8
- package/dist/types/src/validator.class.d.ts +0 -20
|
@@ -159,10 +159,15 @@ export class ReckerHttpHandler {
|
|
|
159
159
|
connectTimeout: 10000,
|
|
160
160
|
headersTimeout: 30000,
|
|
161
161
|
bodyTimeout: 60000,
|
|
162
|
+
keepAlive: options.keepAlive ?? true,
|
|
162
163
|
keepAliveTimeout: 4000,
|
|
163
164
|
keepAliveMaxTimeout: 600000,
|
|
165
|
+
keepAliveTimeoutThreshold: 1000,
|
|
164
166
|
connections: 100,
|
|
165
167
|
pipelining: 10,
|
|
168
|
+
maxRequestsPerClient: 100,
|
|
169
|
+
clientTtl: null,
|
|
170
|
+
maxCachedSessions: 100,
|
|
166
171
|
http2: true,
|
|
167
172
|
http2MaxConcurrentStreams: 100,
|
|
168
173
|
http2Preset: 'performance', // Default to performance preset for S3 workloads
|
|
@@ -204,9 +209,14 @@ export class ReckerHttpHandler {
|
|
|
204
209
|
agent: {
|
|
205
210
|
connections: this.options.connections,
|
|
206
211
|
pipelining: this.options.pipelining,
|
|
207
|
-
keepAlive:
|
|
212
|
+
keepAlive: this.options.keepAlive,
|
|
208
213
|
keepAliveTimeout: this.options.keepAliveTimeout,
|
|
209
214
|
keepAliveMaxTimeout: this.options.keepAliveMaxTimeout,
|
|
215
|
+
keepAliveTimeoutThreshold: this.options.keepAliveTimeoutThreshold,
|
|
216
|
+
maxRequestsPerClient: this.options.maxRequestsPerClient,
|
|
217
|
+
clientTtl: this.options.clientTtl ?? null,
|
|
218
|
+
maxCachedSessions: this.options.maxCachedSessions,
|
|
219
|
+
...(this.options.localAddress ? { localAddress: this.options.localAddress } : {}),
|
|
210
220
|
},
|
|
211
221
|
},
|
|
212
222
|
hooks,
|
|
@@ -350,9 +360,21 @@ export class ReckerHttpHandler {
|
|
|
350
360
|
};
|
|
351
361
|
}
|
|
352
362
|
destroy() {
|
|
363
|
+
void this.destroyAsync();
|
|
364
|
+
}
|
|
365
|
+
async destroyAsync() {
|
|
366
|
+
const client = this.client;
|
|
353
367
|
this.client = null;
|
|
354
368
|
this.deduplicator = null;
|
|
355
369
|
this.circuitBreaker = null;
|
|
370
|
+
if (client) {
|
|
371
|
+
try {
|
|
372
|
+
await client.destroy();
|
|
373
|
+
}
|
|
374
|
+
catch {
|
|
375
|
+
// Ignore cleanup errors
|
|
376
|
+
}
|
|
377
|
+
}
|
|
356
378
|
}
|
|
357
379
|
}
|
|
358
380
|
export default ReckerHttpHandler;
|
|
@@ -19,6 +19,8 @@ export class S3Client extends EventEmitter {
|
|
|
19
19
|
connectionString;
|
|
20
20
|
httpClientOptions;
|
|
21
21
|
client;
|
|
22
|
+
httpHandler = null;
|
|
23
|
+
_rawHttpClientOptions;
|
|
22
24
|
_inflightCoalescing;
|
|
23
25
|
taskExecutorConfig;
|
|
24
26
|
taskExecutor;
|
|
@@ -36,6 +38,7 @@ export class S3Client extends EventEmitter {
|
|
|
36
38
|
this.id = id ?? idGenerator(77);
|
|
37
39
|
this.config = new ConnectionString(connectionString);
|
|
38
40
|
this.connectionString = connectionString;
|
|
41
|
+
this._rawHttpClientOptions = httpClientOptions || {};
|
|
39
42
|
this.httpClientOptions = {
|
|
40
43
|
keepAlive: true,
|
|
41
44
|
keepAliveMsecs: 1000,
|
|
@@ -99,6 +102,26 @@ export class S3Client extends EventEmitter {
|
|
|
99
102
|
};
|
|
100
103
|
return normalized;
|
|
101
104
|
}
|
|
105
|
+
_normalizeHttpHandlerOptions() {
|
|
106
|
+
const options = this.httpClientOptions;
|
|
107
|
+
const raw = this._rawHttpClientOptions;
|
|
108
|
+
const connections = typeof raw.connections === 'number'
|
|
109
|
+
? raw.connections
|
|
110
|
+
: raw.maxSockets;
|
|
111
|
+
const keepAliveTimeout = raw.keepAliveTimeout ?? raw.keepAliveMsecs;
|
|
112
|
+
const bodyTimeout = raw.bodyTimeout ?? raw.timeout;
|
|
113
|
+
const normalized = { ...options };
|
|
114
|
+
if (connections !== undefined) {
|
|
115
|
+
normalized.connections = connections;
|
|
116
|
+
}
|
|
117
|
+
if (keepAliveTimeout !== undefined) {
|
|
118
|
+
normalized.keepAliveTimeout = keepAliveTimeout;
|
|
119
|
+
}
|
|
120
|
+
if (bodyTimeout !== undefined) {
|
|
121
|
+
normalized.bodyTimeout = bodyTimeout;
|
|
122
|
+
}
|
|
123
|
+
return normalized;
|
|
124
|
+
}
|
|
102
125
|
_createTasksPool() {
|
|
103
126
|
const poolConfig = {
|
|
104
127
|
concurrency: this.taskExecutorConfig.concurrency,
|
|
@@ -200,7 +223,11 @@ export class S3Client extends EventEmitter {
|
|
|
200
223
|
return;
|
|
201
224
|
this.taskExecutor.stop();
|
|
202
225
|
}
|
|
203
|
-
destroy() {
|
|
226
|
+
async destroy() {
|
|
227
|
+
if (this.httpHandler) {
|
|
228
|
+
await this.httpHandler.destroyAsync();
|
|
229
|
+
this.httpHandler = null;
|
|
230
|
+
}
|
|
204
231
|
if (this.client && typeof this.client.destroy === 'function') {
|
|
205
232
|
this.client.destroy();
|
|
206
233
|
}
|
|
@@ -208,11 +235,11 @@ export class S3Client extends EventEmitter {
|
|
|
208
235
|
this.removeAllListeners();
|
|
209
236
|
}
|
|
210
237
|
createClient() {
|
|
211
|
-
|
|
238
|
+
this.httpHandler = new ReckerHttpHandler(this._normalizeHttpHandlerOptions());
|
|
212
239
|
const options = {
|
|
213
240
|
region: this.config.region,
|
|
214
241
|
endpoint: this.config.endpoint,
|
|
215
|
-
requestHandler: httpHandler,
|
|
242
|
+
requestHandler: this.httpHandler,
|
|
216
243
|
};
|
|
217
244
|
if (this.config.forcePathStyle)
|
|
218
245
|
options.forcePathStyle = true;
|
|
@@ -47,6 +47,9 @@ export class AsyncEventEmitter extends EventEmitter {
|
|
|
47
47
|
setAsyncMode(enabled) {
|
|
48
48
|
this._asyncMode = enabled;
|
|
49
49
|
}
|
|
50
|
+
destroy() {
|
|
51
|
+
this.removeAllListeners();
|
|
52
|
+
}
|
|
50
53
|
}
|
|
51
54
|
export default AsyncEventEmitter;
|
|
52
55
|
//# sourceMappingURL=async-event-emitter.js.map
|
|
@@ -46,6 +46,7 @@ export class ApiServer {
|
|
|
46
46
|
_signalHandlersSetup = false;
|
|
47
47
|
_boundSigtermHandler = null;
|
|
48
48
|
_boundSigintHandler = null;
|
|
49
|
+
_metricsListeners = new Map();
|
|
49
50
|
constructor(options = {}) {
|
|
50
51
|
this.options = {
|
|
51
52
|
port: options.port || 3000,
|
|
@@ -351,6 +352,7 @@ export class ApiServer {
|
|
|
351
352
|
if (this.metrics) {
|
|
352
353
|
this.metrics.stop();
|
|
353
354
|
}
|
|
355
|
+
this._removeMetricsEventListeners();
|
|
354
356
|
if (this.failban) {
|
|
355
357
|
await this.failban.cleanup();
|
|
356
358
|
}
|
|
@@ -483,60 +485,84 @@ export class ApiServer {
|
|
|
483
485
|
}
|
|
484
486
|
}
|
|
485
487
|
_setupMetricsEventListeners() {
|
|
486
|
-
|
|
488
|
+
const requestEndHandler = (data) => {
|
|
487
489
|
this.metrics.recordRequest({
|
|
488
490
|
method: data.method,
|
|
489
491
|
path: data.path,
|
|
490
492
|
status: data.status,
|
|
491
493
|
duration: data.duration
|
|
492
494
|
});
|
|
493
|
-
}
|
|
494
|
-
this.
|
|
495
|
+
};
|
|
496
|
+
this._metricsListeners.set('request:end', requestEndHandler);
|
|
497
|
+
this.events.on('request:end', requestEndHandler);
|
|
498
|
+
const requestErrorHandler = (data) => {
|
|
495
499
|
this.metrics.recordError({
|
|
496
500
|
error: data.error.message,
|
|
497
501
|
type: 'request'
|
|
498
502
|
});
|
|
499
|
-
}
|
|
500
|
-
this.
|
|
503
|
+
};
|
|
504
|
+
this._metricsListeners.set('request:error', requestErrorHandler);
|
|
505
|
+
this.events.on('request:error', requestErrorHandler);
|
|
506
|
+
const authSuccessHandler = (data) => {
|
|
501
507
|
this.metrics.recordAuth({
|
|
502
508
|
success: true,
|
|
503
509
|
method: data.method
|
|
504
510
|
});
|
|
505
|
-
}
|
|
506
|
-
this.
|
|
511
|
+
};
|
|
512
|
+
this._metricsListeners.set('auth:success', authSuccessHandler);
|
|
513
|
+
this.events.on('auth:success', authSuccessHandler);
|
|
514
|
+
const authFailureHandler = (data) => {
|
|
507
515
|
this.metrics.recordAuth({
|
|
508
516
|
success: false,
|
|
509
517
|
method: data.allowedMethods?.[0] || 'unknown'
|
|
510
518
|
});
|
|
511
|
-
}
|
|
512
|
-
this.
|
|
519
|
+
};
|
|
520
|
+
this._metricsListeners.set('auth:failure', authFailureHandler);
|
|
521
|
+
this.events.on('auth:failure', authFailureHandler);
|
|
522
|
+
const resourceCreatedHandler = (data) => {
|
|
513
523
|
this.metrics.recordResourceOperation({
|
|
514
524
|
action: 'created',
|
|
515
525
|
resource: data.resource
|
|
516
526
|
});
|
|
517
|
-
}
|
|
518
|
-
this.
|
|
527
|
+
};
|
|
528
|
+
this._metricsListeners.set('resource:created', resourceCreatedHandler);
|
|
529
|
+
this.events.on('resource:created', resourceCreatedHandler);
|
|
530
|
+
const resourceUpdatedHandler = (data) => {
|
|
519
531
|
this.metrics.recordResourceOperation({
|
|
520
532
|
action: 'updated',
|
|
521
533
|
resource: data.resource
|
|
522
534
|
});
|
|
523
|
-
}
|
|
524
|
-
this.
|
|
535
|
+
};
|
|
536
|
+
this._metricsListeners.set('resource:updated', resourceUpdatedHandler);
|
|
537
|
+
this.events.on('resource:updated', resourceUpdatedHandler);
|
|
538
|
+
const resourceDeletedHandler = (data) => {
|
|
525
539
|
this.metrics.recordResourceOperation({
|
|
526
540
|
action: 'deleted',
|
|
527
541
|
resource: data.resource
|
|
528
542
|
});
|
|
529
|
-
}
|
|
530
|
-
this.
|
|
543
|
+
};
|
|
544
|
+
this._metricsListeners.set('resource:deleted', resourceDeletedHandler);
|
|
545
|
+
this.events.on('resource:deleted', resourceDeletedHandler);
|
|
546
|
+
const userCreatedHandler = () => {
|
|
531
547
|
this.metrics.recordUserEvent({ action: 'created' });
|
|
532
|
-
}
|
|
533
|
-
this.
|
|
548
|
+
};
|
|
549
|
+
this._metricsListeners.set('user:created', userCreatedHandler);
|
|
550
|
+
this.events.on('user:created', userCreatedHandler);
|
|
551
|
+
const userLoginHandler = () => {
|
|
534
552
|
this.metrics.recordUserEvent({ action: 'login' });
|
|
535
|
-
}
|
|
553
|
+
};
|
|
554
|
+
this._metricsListeners.set('user:login', userLoginHandler);
|
|
555
|
+
this.events.on('user:login', userLoginHandler);
|
|
536
556
|
if (this.options.logLevel) {
|
|
537
557
|
this.logger.debug('Metrics event listeners configured');
|
|
538
558
|
}
|
|
539
559
|
}
|
|
560
|
+
_removeMetricsEventListeners() {
|
|
561
|
+
for (const [event, handler] of this._metricsListeners) {
|
|
562
|
+
this.events.removeListener(event, handler);
|
|
563
|
+
}
|
|
564
|
+
this._metricsListeners.clear();
|
|
565
|
+
}
|
|
540
566
|
_setupDocumentationRoutes() {
|
|
541
567
|
if (this.options.logLevel) {
|
|
542
568
|
this.logger.debug({ docsEnabled: this.options.docsEnabled, docsUI: this.options.docsUI }, 'Setting up documentation routes');
|
|
@@ -30,25 +30,28 @@ export class SecurityAnalyzer {
|
|
|
30
30
|
vulnerabilities: [],
|
|
31
31
|
securityScore: 0
|
|
32
32
|
};
|
|
33
|
+
let responseHeaders = {};
|
|
34
|
+
let captureHeaders = null;
|
|
35
|
+
let consoleListener = null;
|
|
36
|
+
const consoleLogs = [];
|
|
33
37
|
try {
|
|
34
|
-
|
|
35
|
-
const captureHeaders = (response) => {
|
|
38
|
+
captureHeaders = (response) => {
|
|
36
39
|
if (response.url() === baseUrl || response.url().startsWith(baseUrl)) {
|
|
37
40
|
const headers = response.headers();
|
|
38
41
|
responseHeaders = { ...headers };
|
|
39
42
|
}
|
|
40
43
|
};
|
|
41
44
|
page.on('response', captureHeaders);
|
|
42
|
-
const consoleLogs = [];
|
|
43
45
|
if (activities.includes('security_console_logs')) {
|
|
44
|
-
|
|
46
|
+
consoleListener = (msg) => {
|
|
45
47
|
consoleLogs.push({
|
|
46
48
|
type: msg.type(),
|
|
47
49
|
text: msg.text(),
|
|
48
50
|
location: msg.location(),
|
|
49
51
|
args: msg.args().length
|
|
50
52
|
});
|
|
51
|
-
}
|
|
53
|
+
};
|
|
54
|
+
page.on('console', consoleListener);
|
|
52
55
|
}
|
|
53
56
|
if (activities.includes('security_headers')) {
|
|
54
57
|
result.securityHeaders = this._analyzeSecurityHeaders(responseHeaders);
|
|
@@ -80,12 +83,19 @@ export class SecurityAnalyzer {
|
|
|
80
83
|
result.vulnerabilities = this._checkVulnerabilities(responseHeaders, result);
|
|
81
84
|
}
|
|
82
85
|
result.securityScore = this._calculateSecurityScore(result);
|
|
83
|
-
page.removeListener('response', captureHeaders);
|
|
84
86
|
return result;
|
|
85
87
|
}
|
|
86
88
|
catch {
|
|
87
89
|
return result;
|
|
88
90
|
}
|
|
91
|
+
finally {
|
|
92
|
+
if (captureHeaders) {
|
|
93
|
+
page.removeListener('response', captureHeaders);
|
|
94
|
+
}
|
|
95
|
+
if (consoleListener) {
|
|
96
|
+
page.removeListener('console', consoleListener);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
89
99
|
}
|
|
90
100
|
async analyze(page, baseUrl, html = null) {
|
|
91
101
|
const result = {
|
|
@@ -99,25 +109,28 @@ export class SecurityAnalyzer {
|
|
|
99
109
|
vulnerabilities: [],
|
|
100
110
|
securityScore: 0
|
|
101
111
|
};
|
|
112
|
+
let responseHeaders = {};
|
|
113
|
+
let captureHeaders = null;
|
|
114
|
+
let consoleListener = null;
|
|
115
|
+
const consoleLogs = [];
|
|
102
116
|
try {
|
|
103
|
-
|
|
104
|
-
const captureHeaders = (response) => {
|
|
117
|
+
captureHeaders = (response) => {
|
|
105
118
|
if (response.url() === baseUrl || response.url().startsWith(baseUrl)) {
|
|
106
119
|
const headers = response.headers();
|
|
107
120
|
responseHeaders = { ...headers };
|
|
108
121
|
}
|
|
109
122
|
};
|
|
110
123
|
page.on('response', captureHeaders);
|
|
111
|
-
const consoleLogs = [];
|
|
112
124
|
if (this.config.captureConsoleLogs) {
|
|
113
|
-
|
|
125
|
+
consoleListener = (msg) => {
|
|
114
126
|
consoleLogs.push({
|
|
115
127
|
type: msg.type(),
|
|
116
128
|
text: msg.text(),
|
|
117
129
|
location: msg.location(),
|
|
118
130
|
args: msg.args().length
|
|
119
131
|
});
|
|
120
|
-
}
|
|
132
|
+
};
|
|
133
|
+
page.on('console', consoleListener);
|
|
121
134
|
}
|
|
122
135
|
if (this.config.analyzeSecurityHeaders) {
|
|
123
136
|
result.securityHeaders = this._analyzeSecurityHeaders(responseHeaders);
|
|
@@ -147,13 +160,20 @@ export class SecurityAnalyzer {
|
|
|
147
160
|
result.vulnerabilities = this._checkVulnerabilities(responseHeaders, result);
|
|
148
161
|
}
|
|
149
162
|
result.securityScore = this._calculateSecurityScore(result);
|
|
150
|
-
page.removeListener('response', captureHeaders);
|
|
151
163
|
return result;
|
|
152
164
|
}
|
|
153
165
|
catch (error) {
|
|
154
166
|
this.logger?.error('[SecurityAnalyzer] Error during analysis:', error);
|
|
155
167
|
return result;
|
|
156
168
|
}
|
|
169
|
+
finally {
|
|
170
|
+
if (captureHeaders) {
|
|
171
|
+
page.removeListener('response', captureHeaders);
|
|
172
|
+
}
|
|
173
|
+
if (consoleListener) {
|
|
174
|
+
page.removeListener('console', consoleListener);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
157
177
|
}
|
|
158
178
|
_analyzeSecurityHeaders(headers) {
|
|
159
179
|
const analysis = {
|
|
@@ -965,14 +965,23 @@ export class WebSocketServer extends EventEmitter {
|
|
|
965
965
|
const resource = this.database.resources?.[resourceName];
|
|
966
966
|
if (!resource)
|
|
967
967
|
continue;
|
|
968
|
-
const
|
|
969
|
-
this._broadcastResourceEvent(resourceName,
|
|
968
|
+
const insertListener = (data) => {
|
|
969
|
+
this._broadcastResourceEvent(resourceName, 'insert', data);
|
|
970
970
|
};
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
971
|
+
const updateListener = (data) => {
|
|
972
|
+
this._broadcastResourceEvent(resourceName, 'update', data);
|
|
973
|
+
};
|
|
974
|
+
const deleteListener = (data) => {
|
|
975
|
+
this._broadcastResourceEvent(resourceName, 'delete', data);
|
|
976
|
+
};
|
|
977
|
+
resource.on('insert', insertListener);
|
|
978
|
+
resource.on('update', updateListener);
|
|
979
|
+
resource.on('delete', deleteListener);
|
|
980
|
+
this._resourceListeners.set(resourceName, {
|
|
981
|
+
insert: insertListener,
|
|
982
|
+
update: updateListener,
|
|
983
|
+
delete: deleteListener
|
|
984
|
+
});
|
|
976
985
|
}
|
|
977
986
|
}
|
|
978
987
|
/**
|
|
@@ -980,12 +989,12 @@ export class WebSocketServer extends EventEmitter {
|
|
|
980
989
|
* @private
|
|
981
990
|
*/
|
|
982
991
|
_removeResourceListeners() {
|
|
983
|
-
for (const [resourceName,
|
|
992
|
+
for (const [resourceName, listeners] of this._resourceListeners) {
|
|
984
993
|
const resource = this.database.resources?.[resourceName];
|
|
985
994
|
if (resource) {
|
|
986
|
-
resource.removeListener('insert',
|
|
987
|
-
resource.removeListener('update',
|
|
988
|
-
resource.removeListener('delete',
|
|
995
|
+
resource.removeListener('insert', listeners.insert);
|
|
996
|
+
resource.removeListener('update', listeners.update);
|
|
997
|
+
resource.removeListener('delete', listeners.delete);
|
|
989
998
|
}
|
|
990
999
|
}
|
|
991
1000
|
this._resourceListeners.clear();
|
package/dist/s3db-lite.cjs
CHANGED
|
@@ -40162,7 +40162,7 @@ function getDefaultUserAgent() {
|
|
|
40162
40162
|
return `recker/${VERSION$1}`;
|
|
40163
40163
|
}
|
|
40164
40164
|
|
|
40165
|
-
const VERSION = '1.0.
|
|
40165
|
+
const VERSION = '1.0.68';
|
|
40166
40166
|
let _version = null;
|
|
40167
40167
|
async function getVersion() {
|
|
40168
40168
|
if (_version)
|
|
@@ -51197,10 +51197,15 @@ class ReckerHttpHandler {
|
|
|
51197
51197
|
connectTimeout: 10000,
|
|
51198
51198
|
headersTimeout: 30000,
|
|
51199
51199
|
bodyTimeout: 60000,
|
|
51200
|
+
keepAlive: options.keepAlive ?? true,
|
|
51200
51201
|
keepAliveTimeout: 4000,
|
|
51201
51202
|
keepAliveMaxTimeout: 600000,
|
|
51203
|
+
keepAliveTimeoutThreshold: 1000,
|
|
51202
51204
|
connections: 100,
|
|
51203
51205
|
pipelining: 10,
|
|
51206
|
+
maxRequestsPerClient: 100,
|
|
51207
|
+
clientTtl: null,
|
|
51208
|
+
maxCachedSessions: 100,
|
|
51204
51209
|
http2: true,
|
|
51205
51210
|
http2MaxConcurrentStreams: 100,
|
|
51206
51211
|
http2Preset: 'performance', // Default to performance preset for S3 workloads
|
|
@@ -51242,9 +51247,14 @@ class ReckerHttpHandler {
|
|
|
51242
51247
|
agent: {
|
|
51243
51248
|
connections: this.options.connections,
|
|
51244
51249
|
pipelining: this.options.pipelining,
|
|
51245
|
-
keepAlive:
|
|
51250
|
+
keepAlive: this.options.keepAlive,
|
|
51246
51251
|
keepAliveTimeout: this.options.keepAliveTimeout,
|
|
51247
51252
|
keepAliveMaxTimeout: this.options.keepAliveMaxTimeout,
|
|
51253
|
+
keepAliveTimeoutThreshold: this.options.keepAliveTimeoutThreshold,
|
|
51254
|
+
maxRequestsPerClient: this.options.maxRequestsPerClient,
|
|
51255
|
+
clientTtl: this.options.clientTtl ?? null,
|
|
51256
|
+
maxCachedSessions: this.options.maxCachedSessions,
|
|
51257
|
+
...(this.options.localAddress ? { localAddress: this.options.localAddress } : {}),
|
|
51248
51258
|
},
|
|
51249
51259
|
},
|
|
51250
51260
|
hooks,
|
|
@@ -51388,9 +51398,21 @@ class ReckerHttpHandler {
|
|
|
51388
51398
|
};
|
|
51389
51399
|
}
|
|
51390
51400
|
destroy() {
|
|
51401
|
+
void this.destroyAsync();
|
|
51402
|
+
}
|
|
51403
|
+
async destroyAsync() {
|
|
51404
|
+
const client = this.client;
|
|
51391
51405
|
this.client = null;
|
|
51392
51406
|
this.deduplicator = null;
|
|
51393
51407
|
this.circuitBreaker = null;
|
|
51408
|
+
if (client) {
|
|
51409
|
+
try {
|
|
51410
|
+
await client.destroy();
|
|
51411
|
+
}
|
|
51412
|
+
catch {
|
|
51413
|
+
// Ignore cleanup errors
|
|
51414
|
+
}
|
|
51415
|
+
}
|
|
51394
51416
|
}
|
|
51395
51417
|
}
|
|
51396
51418
|
|
|
@@ -55047,6 +55069,8 @@ class S3Client extends EventEmitter {
|
|
|
55047
55069
|
connectionString;
|
|
55048
55070
|
httpClientOptions;
|
|
55049
55071
|
client;
|
|
55072
|
+
httpHandler = null;
|
|
55073
|
+
_rawHttpClientOptions;
|
|
55050
55074
|
_inflightCoalescing;
|
|
55051
55075
|
taskExecutorConfig;
|
|
55052
55076
|
taskExecutor;
|
|
@@ -55064,6 +55088,7 @@ class S3Client extends EventEmitter {
|
|
|
55064
55088
|
this.id = id ?? idGenerator(77);
|
|
55065
55089
|
this.config = new ConnectionString(connectionString);
|
|
55066
55090
|
this.connectionString = connectionString;
|
|
55091
|
+
this._rawHttpClientOptions = httpClientOptions || {};
|
|
55067
55092
|
this.httpClientOptions = {
|
|
55068
55093
|
keepAlive: true,
|
|
55069
55094
|
keepAliveMsecs: 1000,
|
|
@@ -55127,6 +55152,26 @@ class S3Client extends EventEmitter {
|
|
|
55127
55152
|
};
|
|
55128
55153
|
return normalized;
|
|
55129
55154
|
}
|
|
55155
|
+
_normalizeHttpHandlerOptions() {
|
|
55156
|
+
const options = this.httpClientOptions;
|
|
55157
|
+
const raw = this._rawHttpClientOptions;
|
|
55158
|
+
const connections = typeof raw.connections === 'number'
|
|
55159
|
+
? raw.connections
|
|
55160
|
+
: raw.maxSockets;
|
|
55161
|
+
const keepAliveTimeout = raw.keepAliveTimeout ?? raw.keepAliveMsecs;
|
|
55162
|
+
const bodyTimeout = raw.bodyTimeout ?? raw.timeout;
|
|
55163
|
+
const normalized = { ...options };
|
|
55164
|
+
if (connections !== undefined) {
|
|
55165
|
+
normalized.connections = connections;
|
|
55166
|
+
}
|
|
55167
|
+
if (keepAliveTimeout !== undefined) {
|
|
55168
|
+
normalized.keepAliveTimeout = keepAliveTimeout;
|
|
55169
|
+
}
|
|
55170
|
+
if (bodyTimeout !== undefined) {
|
|
55171
|
+
normalized.bodyTimeout = bodyTimeout;
|
|
55172
|
+
}
|
|
55173
|
+
return normalized;
|
|
55174
|
+
}
|
|
55130
55175
|
_createTasksPool() {
|
|
55131
55176
|
const poolConfig = {
|
|
55132
55177
|
concurrency: this.taskExecutorConfig.concurrency,
|
|
@@ -55228,7 +55273,11 @@ class S3Client extends EventEmitter {
|
|
|
55228
55273
|
return;
|
|
55229
55274
|
this.taskExecutor.stop();
|
|
55230
55275
|
}
|
|
55231
|
-
destroy() {
|
|
55276
|
+
async destroy() {
|
|
55277
|
+
if (this.httpHandler) {
|
|
55278
|
+
await this.httpHandler.destroyAsync();
|
|
55279
|
+
this.httpHandler = null;
|
|
55280
|
+
}
|
|
55232
55281
|
if (this.client && typeof this.client.destroy === 'function') {
|
|
55233
55282
|
this.client.destroy();
|
|
55234
55283
|
}
|
|
@@ -55236,11 +55285,11 @@ class S3Client extends EventEmitter {
|
|
|
55236
55285
|
this.removeAllListeners();
|
|
55237
55286
|
}
|
|
55238
55287
|
createClient() {
|
|
55239
|
-
|
|
55288
|
+
this.httpHandler = new ReckerHttpHandler(this._normalizeHttpHandlerOptions());
|
|
55240
55289
|
const options = {
|
|
55241
55290
|
region: this.config.region,
|
|
55242
55291
|
endpoint: this.config.endpoint,
|
|
55243
|
-
requestHandler: httpHandler,
|
|
55292
|
+
requestHandler: this.httpHandler,
|
|
55244
55293
|
};
|
|
55245
55294
|
if (this.config.forcePathStyle)
|
|
55246
55295
|
options.forcePathStyle = true;
|
|
@@ -62752,6 +62801,9 @@ class AsyncEventEmitter extends EventEmitter {
|
|
|
62752
62801
|
setAsyncMode(enabled) {
|
|
62753
62802
|
this._asyncMode = enabled;
|
|
62754
62803
|
}
|
|
62804
|
+
destroy() {
|
|
62805
|
+
this.removeAllListeners();
|
|
62806
|
+
}
|
|
62755
62807
|
}
|
|
62756
62808
|
|
|
62757
62809
|
/**
|
|
@@ -70304,7 +70356,7 @@ class DatabaseConnection {
|
|
|
70304
70356
|
db.client.removeAllListeners();
|
|
70305
70357
|
}
|
|
70306
70358
|
if (typeof db.client.destroy === 'function') {
|
|
70307
|
-
db.client.destroy();
|
|
70359
|
+
await db.client.destroy();
|
|
70308
70360
|
}
|
|
70309
70361
|
}
|
|
70310
70362
|
await db.emit('db:disconnected', new Date());
|
|
@@ -70383,8 +70435,8 @@ class Database extends SafeEventEmitter {
|
|
|
70383
70435
|
})();
|
|
70384
70436
|
this.version = '1';
|
|
70385
70437
|
this.s3dbVersion = (() => {
|
|
70386
|
-
const [ok, , version] = tryFnSync(() => (typeof globalThis['19.3.
|
|
70387
|
-
? globalThis['19.3.
|
|
70438
|
+
const [ok, , version] = tryFnSync(() => (typeof globalThis['19.3.19'] !== 'undefined' && globalThis['19.3.19'] !== '19.3.19'
|
|
70439
|
+
? globalThis['19.3.19']
|
|
70388
70440
|
: 'latest'));
|
|
70389
70441
|
return ok ? version : 'latest';
|
|
70390
70442
|
})();
|