@bgord/bun 1.20.4 → 1.21.0
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/ab-assignment-composite.strategy.d.ts +4 -2
- package/dist/ab-assignment-composite.strategy.d.ts.map +1 -1
- package/dist/ab-assignment-composite.strategy.js +5 -2
- package/dist/ab-assignment-composite.strategy.js.map +1 -1
- package/dist/ab-assignment-cookie.strategy.d.ts +3 -2
- package/dist/ab-assignment-cookie.strategy.d.ts.map +1 -1
- package/dist/ab-assignment-cookie.strategy.js +5 -3
- package/dist/ab-assignment-cookie.strategy.js.map +1 -1
- package/dist/ab-assignment-fixed.strategy.d.ts +1 -2
- package/dist/ab-assignment-fixed.strategy.d.ts.map +1 -1
- package/dist/ab-assignment-fixed.strategy.js +1 -1
- package/dist/ab-assignment-fixed.strategy.js.map +1 -1
- package/dist/ab-assignment-hash.strategy.d.ts +1 -1
- package/dist/ab-assignment-hash.strategy.d.ts.map +1 -1
- package/dist/ab-assignment-hash.strategy.js +1 -1
- package/dist/ab-assignment-hash.strategy.js.map +1 -1
- package/dist/ab-assignment-header.strategy.d.ts +3 -2
- package/dist/ab-assignment-header.strategy.d.ts.map +1 -1
- package/dist/ab-assignment-header.strategy.js +5 -3
- package/dist/ab-assignment-header.strategy.js.map +1 -1
- package/dist/ab-assignment-query.strategy.d.ts +3 -2
- package/dist/ab-assignment-query.strategy.d.ts.map +1 -1
- package/dist/ab-assignment-query.strategy.js +5 -3
- package/dist/ab-assignment-query.strategy.js.map +1 -1
- package/dist/ab-assignment.strategy.d.ts +1 -2
- package/dist/ab-assignment.strategy.d.ts.map +1 -1
- package/dist/ab-hono-noop.middleware.d.ts +4 -1
- package/dist/ab-hono-noop.middleware.d.ts.map +1 -1
- package/dist/ab-hono-noop.middleware.js.map +1 -1
- package/dist/ab-hono.middleware.d.ts +4 -3
- package/dist/ab-hono.middleware.d.ts.map +1 -1
- package/dist/ab-hono.middleware.js +7 -4
- package/dist/ab-hono.middleware.js.map +1 -1
- package/dist/ab-variant-name.vo.d.ts.map +1 -1
- package/dist/ab-variant-selector.service.d.ts.map +1 -1
- package/dist/ab-variant-selector.service.js.map +1 -1
- package/dist/ab-variant-weight.vo.d.ts.map +1 -1
- package/dist/ab-variant.vo.d.ts.map +1 -1
- package/dist/ab-variant.vo.js.map +1 -1
- package/dist/ab-variants.vo.d.ts.map +1 -1
- package/dist/ab-variants.vo.js.map +1 -1
- package/dist/ab.middleware.d.ts +1 -3
- package/dist/ab.middleware.d.ts.map +1 -1
- package/dist/ab.middleware.js +2 -4
- package/dist/ab.middleware.js.map +1 -1
- package/dist/alert-channel-collecting.adapter.d.ts.map +1 -1
- package/dist/alert-channel-composite.adapter.d.ts +1 -0
- package/dist/alert-channel-composite.adapter.d.ts.map +1 -1
- package/dist/alert-channel-composite.adapter.js +6 -1
- package/dist/alert-channel-composite.adapter.js.map +1 -1
- package/dist/alert-channel-mailer.adapter.d.ts.map +1 -1
- package/dist/alert-channel-mailer.adapter.js.map +1 -1
- package/dist/alert-channel-noop.adapter.d.ts.map +1 -1
- package/dist/alert-channel-sms.adapter.d.ts.map +1 -1
- package/dist/alert-channel-sms.adapter.js.map +1 -1
- package/dist/alert-channel-with-logger.adapter.d.ts.map +1 -1
- package/dist/alert-channel-with-logger.adapter.js +1 -1
- package/dist/alert-channel-with-logger.adapter.js.map +1 -1
- package/dist/alert-channel-with-retry.adapter.d.ts.map +1 -1
- package/dist/alert-channel-with-retry.adapter.js.map +1 -1
- package/dist/alert-channel-with-timeout.adapter.d.ts.map +1 -1
- package/dist/alert-channel-with-timeout.adapter.js.map +1 -1
- package/dist/alert-channel.builder.d.ts.map +1 -1
- package/dist/alert-channel.builder.js.map +1 -1
- package/dist/alert-message.vo.d.ts +2 -2
- package/dist/alert-message.vo.d.ts.map +1 -1
- package/dist/alert-message.vo.js.map +1 -1
- package/dist/antivirus-clamav.adapter.d.ts.map +1 -1
- package/dist/antivirus-clamav.adapter.js +3 -4
- package/dist/antivirus-clamav.adapter.js.map +1 -1
- package/dist/antivirus-noop.adapter.d.ts.map +1 -1
- package/dist/antivirus-with-logger.adapter.d.ts.map +1 -1
- package/dist/antivirus-with-logger.adapter.js +2 -2
- package/dist/antivirus-with-logger.adapter.js.map +1 -1
- package/dist/antivirus-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/antivirus-with-semaphore.adapter.js.map +1 -1
- package/dist/antivirus-with-timeout.adapter.d.ts.map +1 -1
- package/dist/antivirus-with-timeout.adapter.js.map +1 -1
- package/dist/antivirus.builder.d.ts.map +1 -1
- package/dist/antivirus.builder.js.map +1 -1
- package/dist/antivirus.port.d.ts.map +1 -1
- package/dist/api-version-hono.middleware.d.ts +2 -11
- package/dist/api-version-hono.middleware.d.ts.map +1 -1
- package/dist/api-version-hono.middleware.js +6 -3
- package/dist/api-version-hono.middleware.js.map +1 -1
- package/dist/api-version.middleware.d.ts +2 -3
- package/dist/api-version.middleware.d.ts.map +1 -1
- package/dist/api-version.middleware.js.map +1 -1
- package/dist/auth-session-reader-better-auth.adapter.d.ts +6 -6
- package/dist/auth-session-reader-better-auth.adapter.d.ts.map +1 -1
- package/dist/auth-session-reader-better-auth.adapter.js.map +1 -1
- package/dist/auth-session-reader-noop.adapter.d.ts +2 -2
- package/dist/auth-session-reader-noop.adapter.d.ts.map +1 -1
- package/dist/auth-session-reader-noop.adapter.js.map +1 -1
- package/dist/basic-auth-password.vo.d.ts.map +1 -1
- package/dist/basic-auth-username.vo.d.ts.map +1 -1
- package/dist/basic-auth.service.d.ts.map +1 -1
- package/dist/better-auth-logger.service.d.ts.map +1 -1
- package/dist/better-auth-logger.service.js +6 -0
- package/dist/better-auth-logger.service.js.map +1 -1
- package/dist/binary.vo.d.ts.map +1 -1
- package/dist/cache-file.service.d.ts.map +1 -1
- package/dist/cache-file.service.js +4 -2
- package/dist/cache-file.service.js.map +1 -1
- package/dist/cache-repository-node-cache.adapter.d.ts.map +1 -1
- package/dist/cache-repository-node-cache.adapter.js +5 -2
- package/dist/cache-repository-node-cache.adapter.js.map +1 -1
- package/dist/cache-repository-noop.adapter.d.ts.map +1 -1
- package/dist/cache-repository-redis.adapter.d.ts.map +1 -1
- package/dist/cache-repository-redis.adapter.js.map +1 -1
- package/dist/cache-resolver-simple.strategy.d.ts.map +1 -1
- package/dist/cache-resolver-simple.strategy.js.map +1 -1
- package/dist/cache-response-hono.middleware.d.ts +2 -7
- package/dist/cache-response-hono.middleware.d.ts.map +1 -1
- package/dist/cache-response-hono.middleware.js +1 -1
- package/dist/cache-response-hono.middleware.js.map +1 -1
- package/dist/cache-response.middleware.d.ts +3 -4
- package/dist/cache-response.middleware.d.ts.map +1 -1
- package/dist/cache-response.middleware.js.map +1 -1
- package/dist/certificate-inspector-noop.adapter.d.ts.map +1 -1
- package/dist/certificate-inspector-noop.adapter.js.map +1 -1
- package/dist/certificate-inspector-tls.adapter.d.ts.map +1 -1
- package/dist/certificate-inspector-tls.adapter.js +19 -16
- package/dist/certificate-inspector-tls.adapter.js.map +1 -1
- package/dist/checksum.service.d.ts.map +1 -1
- package/dist/client-ip.vo.d.ts.map +1 -1
- package/dist/client-user-agent.vo.d.ts.map +1 -1
- package/dist/client.vo.d.ts.map +1 -1
- package/dist/client.vo.js.map +1 -1
- package/dist/clock-fixed.adapter.d.ts.map +1 -1
- package/dist/clock-fixed.adapter.js.map +1 -1
- package/dist/clock-offset.adapter.d.ts.map +1 -1
- package/dist/clock-offset.adapter.js.map +1 -1
- package/dist/clock-system.adapter.d.ts.map +1 -1
- package/dist/command-envelope.d.ts.map +1 -1
- package/dist/commit-sha-value.vo.d.ts.map +1 -1
- package/dist/commit-sha.vo.d.ts.map +1 -1
- package/dist/commit-sha.vo.js.map +1 -1
- package/dist/correlation-hono.middleware.d.ts +5 -7
- package/dist/correlation-hono.middleware.d.ts.map +1 -1
- package/dist/correlation-hono.middleware.js +4 -2
- package/dist/correlation-hono.middleware.js.map +1 -1
- package/dist/correlation-storage.service.d.ts.map +1 -1
- package/dist/correlation-storage.service.js.map +1 -1
- package/dist/correlation.middleware.d.ts +2 -3
- package/dist/correlation.middleware.d.ts.map +1 -1
- package/dist/correlation.middleware.js.map +1 -1
- package/dist/cron-expression.vo.d.ts.map +1 -1
- package/dist/cron-scheduler-noop.adapter.d.ts.map +1 -1
- package/dist/cron-scheduler-with-logger.adapter.d.ts.map +1 -1
- package/dist/cron-scheduler-with-logger.adapter.js.map +1 -1
- package/dist/cron-scheduler.adapter.d.ts +1 -0
- package/dist/cron-scheduler.adapter.d.ts.map +1 -1
- package/dist/cron-scheduler.adapter.js +3 -2
- package/dist/cron-scheduler.adapter.js.map +1 -1
- package/dist/cron-task-handler-bare.strategy.d.ts.map +1 -1
- package/dist/cron-task-handler-bare.strategy.js.map +1 -1
- package/dist/cron-task-handler-noop.strategy.d.ts.map +1 -1
- package/dist/cron-task-handler-with-logger.strategy.d.ts.map +1 -1
- package/dist/cron-task-handler-with-logger.strategy.js +7 -7
- package/dist/cron-task-handler-with-logger.strategy.js.map +1 -1
- package/dist/crypto-aes-gcm.service.d.ts.map +1 -1
- package/dist/crypto-aes-gcm.service.js.map +1 -1
- package/dist/crypto-key-provider-file.adapter.d.ts.map +1 -1
- package/dist/crypto-key-provider-file.adapter.js.map +1 -1
- package/dist/crypto-key-provider-memory.adapter.d.ts.map +1 -1
- package/dist/crypto-key-provider-memory.adapter.js.map +1 -1
- package/dist/crypto-key-provider-noop.adapter.d.ts.map +1 -1
- package/dist/crypto-key-provider-with-cache.adapter.d.ts.map +1 -1
- package/dist/crypto-key-provider-with-cache.adapter.js.map +1 -1
- package/dist/csv-stringifier-noop.adapter.d.ts.map +1 -1
- package/dist/csv-stringifier.adapter.d.ts +1 -1
- package/dist/csv-stringifier.adapter.d.ts.map +1 -1
- package/dist/csv-stringifier.adapter.js +1 -1
- package/dist/csv-stringifier.adapter.js.map +1 -1
- package/dist/directory-ensurer-noop.adapter.d.ts.map +1 -1
- package/dist/directory-ensurer.adapter.d.ts.map +1 -1
- package/dist/{disk-space-checker-shell.adapter.d.ts → disk-space-checker-fs.adapter.d.ts} +2 -2
- package/dist/disk-space-checker-fs.adapter.d.ts.map +1 -0
- package/dist/disk-space-checker-fs.adapter.js +10 -0
- package/dist/disk-space-checker-fs.adapter.js.map +1 -0
- package/dist/disk-space-checker-noop.adapter.d.ts.map +1 -1
- package/dist/disk-space-checker-noop.adapter.js.map +1 -1
- package/dist/dynamic-import.service.d.ts.map +1 -1
- package/dist/dynamic-import.service.js +2 -2
- package/dist/dynamic-import.service.js.map +1 -1
- package/dist/encryption-aes-gcm.adapter.d.ts.map +1 -1
- package/dist/encryption-aes-gcm.adapter.js.map +1 -1
- package/dist/encryption-iv.vo.d.ts.map +1 -1
- package/dist/encryption-iv.vo.js.map +1 -1
- package/dist/encryption-key-value.vo.d.ts.map +1 -1
- package/dist/encryption-key.vo.d.ts.map +1 -1
- package/dist/encryption-key.vo.js.map +1 -1
- package/dist/encryption-noop.adapter.d.ts.map +1 -1
- package/dist/encryption-noop.adapter.js.map +1 -1
- package/dist/environment-loader-encrypted.adapter.d.ts.map +1 -1
- package/dist/environment-loader-encrypted.adapter.js.map +1 -1
- package/dist/environment-loader-noop.adapter.d.ts.map +1 -1
- package/dist/environment-loader-noop.adapter.js.map +1 -1
- package/dist/environment-loader-process-safe.adapter.d.ts.map +1 -1
- package/dist/environment-loader-process-safe.adapter.js +3 -1
- package/dist/environment-loader-process-safe.adapter.js.map +1 -1
- package/dist/environment-loader-process.adapter.d.ts.map +1 -1
- package/dist/environment-loader-process.adapter.js.map +1 -1
- package/dist/environment-loader.port.d.ts +1 -1
- package/dist/environment-loader.port.d.ts.map +1 -1
- package/dist/etag-extractor-fixed.strategy.d.ts.map +1 -1
- package/dist/etag-extractor-fixed.strategy.js.map +1 -1
- package/dist/etag-extractor-header.strategy.d.ts.map +1 -1
- package/dist/etag-extractor-header.strategy.js +2 -0
- package/dist/etag-extractor-header.strategy.js.map +1 -1
- package/dist/etag-extractor-hono.middleware.d.ts +3 -1
- package/dist/etag-extractor-hono.middleware.d.ts.map +1 -1
- package/dist/etag-extractor-param.strategy.d.ts.map +1 -1
- package/dist/etag-extractor-param.strategy.js +2 -0
- package/dist/etag-extractor-param.strategy.js.map +1 -1
- package/dist/etag-extractor.middleware.d.ts.map +1 -1
- package/dist/etag-extractor.middleware.js.map +1 -1
- package/dist/etag-extractor.strategy.d.ts +2 -2
- package/dist/etag-extractor.strategy.d.ts.map +1 -1
- package/dist/event-envelope.d.ts.map +1 -1
- package/dist/event-finder-last-noop.adapter.d.ts.map +1 -1
- package/dist/event-finder-last-noop.adapter.js.map +1 -1
- package/dist/event-finder-noop.adapter.d.ts.map +1 -1
- package/dist/event-finder-noop.adapter.js.map +1 -1
- package/dist/event-inserter-noop.adapter.d.ts.map +1 -1
- package/dist/event-loop-lag.service.d.ts.map +1 -1
- package/dist/event-loop-lag.service.js.map +1 -1
- package/dist/event-loop-utilization.service.d.ts.map +1 -1
- package/dist/event-loop-utilization.service.js.map +1 -1
- package/dist/event-revision-assigner.adapter.d.ts.map +1 -1
- package/dist/event-revision-assigner.adapter.js.map +1 -1
- package/dist/event-store-collecting.adapter.d.ts.map +1 -1
- package/dist/event-store-dispatching.adapter.d.ts.map +1 -1
- package/dist/event-store-dispatching.adapter.js.map +1 -1
- package/dist/event-store-noop.adapter.d.ts.map +1 -1
- package/dist/event-store-with-logger.adapter.d.ts.map +1 -1
- package/dist/event-store-with-logger.adapter.js.map +1 -1
- package/dist/event-store.adapter.d.ts.map +1 -1
- package/dist/event-store.adapter.js.map +1 -1
- package/dist/event-stream.vo.d.ts.map +1 -1
- package/dist/event-upcaster-chain.adapter.d.ts.map +1 -1
- package/dist/event-upcaster-noop.adapter.d.ts.map +1 -1
- package/dist/event-upcaster-step.vo.d.ts.map +1 -1
- package/dist/event-upcaster-step.vo.js.map +1 -1
- package/dist/event-validator-registry.adapter.d.ts.map +1 -1
- package/dist/file-cleaner-forgiving.adapter.d.ts.map +1 -1
- package/dist/file-cleaner-noop.adapter.d.ts.map +1 -1
- package/dist/file-cleaner.adapter.d.ts.map +1 -1
- package/dist/file-copier-noop.adapter.d.ts.map +1 -1
- package/dist/file-copier.adapter.d.ts.map +1 -1
- package/dist/file-draft-zip.service.d.ts.map +1 -1
- package/dist/file-draft-zip.service.js.map +1 -1
- package/dist/file-draft.service.d.ts.map +1 -1
- package/dist/file-draft.service.js.map +1 -1
- package/dist/file-inspection-noop.adapter.d.ts.map +1 -1
- package/dist/file-inspection-noop.adapter.js.map +1 -1
- package/dist/file-inspection.adapter.d.ts.map +1 -1
- package/dist/file-inspection.adapter.js +4 -4
- package/dist/file-inspection.adapter.js.map +1 -1
- package/dist/file-reader-json-forgiving.adapter.d.ts.map +1 -1
- package/dist/file-reader-json-forgiving.adapter.js +1 -1
- package/dist/file-reader-json-forgiving.adapter.js.map +1 -1
- package/dist/file-reader-json-noop.adapter.d.ts.map +1 -1
- package/dist/file-reader-json-noop.adapter.js.map +1 -1
- package/dist/file-reader-json-with-cache.adapter.d.ts.map +1 -1
- package/dist/file-reader-json-with-cache.adapter.js.map +1 -1
- package/dist/file-reader-json.adapter.d.ts.map +1 -1
- package/dist/file-reader-raw-forgiving.adapter.d.ts.map +1 -1
- package/dist/file-reader-raw-forgiving.adapter.js.map +1 -1
- package/dist/file-reader-raw-noop.adapter.d.ts.map +1 -1
- package/dist/file-reader-raw-noop.adapter.js.map +1 -1
- package/dist/file-reader-raw.adapter.d.ts.map +1 -1
- package/dist/file-reader-text-forgiving.adapter.d.ts.map +1 -1
- package/dist/file-reader-text-forgiving.adapter.js.map +1 -1
- package/dist/file-reader-text-noop.adapter.d.ts.map +1 -1
- package/dist/file-reader-text-noop.adapter.js.map +1 -1
- package/dist/file-reader-text-with-cache.adapter.d.ts.map +1 -1
- package/dist/file-reader-text-with-cache.adapter.js.map +1 -1
- package/dist/file-reader-text.adapter.d.ts.map +1 -1
- package/dist/file-renamer-node-forgiving.adapter.d.ts.map +1 -1
- package/dist/file-renamer-node.adapter.d.ts.map +1 -1
- package/dist/file-renamer-noop.adapter.d.ts.map +1 -1
- package/dist/file-uploader-hono.middleware.d.ts.map +1 -1
- package/dist/file-uploader-hono.middleware.js +3 -2
- package/dist/file-uploader-hono.middleware.js.map +1 -1
- package/dist/file-uploader.middleware.d.ts.map +1 -1
- package/dist/file-uploader.middleware.js.map +1 -1
- package/dist/file-writer-forgiving.adapter.d.ts.map +1 -1
- package/dist/file-writer-noop.adapter.d.ts.map +1 -1
- package/dist/file-writer.adapter.d.ts.map +1 -1
- package/dist/graceful-shutdown.service.d.ts.map +1 -1
- package/dist/graceful-shutdown.service.js +3 -3
- package/dist/graceful-shutdown.service.js.map +1 -1
- package/dist/gzip-noop.adapter.d.ts.map +1 -1
- package/dist/gzip.adapter.d.ts.map +1 -1
- package/dist/gzip.adapter.js.map +1 -1
- package/dist/handler-bare.strategy.d.ts.map +1 -1
- package/dist/handler-noop.strategy.d.ts.map +1 -1
- package/dist/handler-with-logger-safe.strategy.d.ts.map +1 -1
- package/dist/handler-with-logger-safe.strategy.js.map +1 -1
- package/dist/handler-with-logger.strategy.d.ts.map +1 -1
- package/dist/handler-with-logger.strategy.js.map +1 -1
- package/dist/hash-bucket.vo.d.ts.map +1 -1
- package/dist/hash-bucket.vo.js.map +1 -1
- package/dist/hash-content-noop.strategy.d.ts.map +1 -1
- package/dist/hash-content-sha256.strategy.d.ts.map +1 -1
- package/dist/hash-file-noop.adapter.d.ts.map +1 -1
- package/dist/hash-file-sha256.adapter.d.ts.map +1 -1
- package/dist/hash-file-sha256.adapter.js.map +1 -1
- package/dist/hash-value.vo.d.ts.map +1 -1
- package/dist/hash.vo.d.ts.map +1 -1
- package/dist/hash.vo.js +1 -1
- package/dist/hash.vo.js.map +1 -1
- package/dist/hcaptcha-secret-key.vo.d.ts.map +1 -1
- package/dist/hcaptcha-site-key.vo.d.ts.map +1 -1
- package/dist/hcaptcha.service.d.ts +1 -2
- package/dist/hcaptcha.service.d.ts.map +1 -1
- package/dist/hcaptcha.service.js +1 -1
- package/dist/hcaptcha.service.js.map +1 -1
- package/dist/healthcheck-hono.handler.d.ts +16 -4
- package/dist/healthcheck-hono.handler.d.ts.map +1 -1
- package/dist/healthcheck.handler.d.ts.map +1 -1
- package/dist/healthcheck.handler.js.map +1 -1
- package/dist/hostname.vo.d.ts.map +1 -1
- package/dist/http-logger-hono.middleware.d.ts +2 -9
- package/dist/http-logger-hono.middleware.d.ts.map +1 -1
- package/dist/http-logger-hono.middleware.js +1 -1
- package/dist/http-logger-hono.middleware.js.map +1 -1
- package/dist/http-logger.middleware.d.ts +2 -3
- package/dist/http-logger.middleware.d.ts.map +1 -1
- package/dist/http-logger.middleware.js.map +1 -1
- package/dist/id-provider-crypto.adapter.d.ts.map +1 -1
- package/dist/id-provider-deterministic.adapter.d.ts.map +1 -1
- package/dist/id-provider-deterministic.adapter.js.map +1 -1
- package/dist/image-blur-noop.adapter.d.ts.map +1 -1
- package/dist/image-blur-noop.adapter.js +1 -1
- package/dist/image-blur-noop.adapter.js.map +1 -1
- package/dist/image-blur-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-blur-with-semaphore.adapter.js.map +1 -1
- package/dist/image-blur.adapter.d.ts.map +1 -1
- package/dist/image-blur.adapter.js +2 -4
- package/dist/image-blur.adapter.js.map +1 -1
- package/dist/image-blur.port.d.ts +1 -8
- package/dist/image-blur.port.d.ts.map +1 -1
- package/dist/image-compressor-noop.adapter.d.ts.map +1 -1
- package/dist/image-compressor-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-compressor-with-semaphore.adapter.js.map +1 -1
- package/dist/image-compressor.adapter.d.ts.map +1 -1
- package/dist/image-compressor.adapter.js.map +1 -1
- package/dist/image-exif-clear-noop.adapter.d.ts.map +1 -1
- package/dist/image-exif-clear-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-exif-clear-with-semaphore.adapter.js.map +1 -1
- package/dist/image-exif-clear.adapter.d.ts.map +1 -1
- package/dist/image-exif-clear.adapter.js.map +1 -1
- package/dist/image-formatter-noop.adapter.d.ts.map +1 -1
- package/dist/image-formatter-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-formatter-with-semaphore.adapter.js.map +1 -1
- package/dist/image-formatter.adapter.d.ts.map +1 -1
- package/dist/image-formatter.adapter.js.map +1 -1
- package/dist/image-generator-noop.adapter.d.ts.map +1 -1
- package/dist/image-generator-noop.adapter.js.map +1 -1
- package/dist/image-generator-web-view.adapter.d.ts.map +1 -1
- package/dist/image-generator-web-view.adapter.js.map +1 -1
- package/dist/image-grayscale-noop.adapter.d.ts.map +1 -1
- package/dist/image-grayscale-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-grayscale-with-semaphore.adapter.js.map +1 -1
- package/dist/image-grayscale.adapter.d.ts.map +1 -1
- package/dist/image-grayscale.adapter.js.map +1 -1
- package/dist/image-info-noop.adapter.d.ts.map +1 -1
- package/dist/image-info-noop.adapter.js.map +1 -1
- package/dist/image-info-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-info-with-semaphore.adapter.js.map +1 -1
- package/dist/image-info.adapter.d.ts.map +1 -1
- package/dist/image-info.adapter.js.map +1 -1
- package/dist/image-processor-noop.adapter.d.ts.map +1 -1
- package/dist/image-processor-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-processor-with-semaphore.adapter.js.map +1 -1
- package/dist/image-processor.adapter.d.ts.map +1 -1
- package/dist/image-processor.adapter.js.map +1 -1
- package/dist/image-resizer-noop.adapter.d.ts.map +1 -1
- package/dist/image-resizer-with-semaphore.adapter.d.ts.map +1 -1
- package/dist/image-resizer-with-semaphore.adapter.js.map +1 -1
- package/dist/image-resizer.adapter.d.ts.map +1 -1
- package/dist/image-resizer.adapter.js.map +1 -1
- package/dist/in-flight-requests-hono.middleware.d.ts.map +1 -1
- package/dist/in-flight-requests-hono.middleware.js +1 -0
- package/dist/in-flight-requests-hono.middleware.js.map +1 -1
- package/dist/in-flight-requests-tracker.service.d.ts.map +1 -1
- package/dist/in-flight-requests-tracker.service.js +2 -2
- package/dist/in-flight-requests-tracker.service.js.map +1 -1
- package/dist/in-flight-requests.middleware.d.ts.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/instrumentation.service.d.ts.map +1 -1
- package/dist/instrumentation.service.js +5 -2
- package/dist/instrumentation.service.js.map +1 -1
- package/dist/invariant-error-handler.service.d.ts.map +1 -1
- package/dist/invariant.service.d.ts.map +1 -1
- package/dist/job-claimer-noop.adapter.d.ts.map +1 -1
- package/dist/job-claimer-noop.adapter.js.map +1 -1
- package/dist/job-claimer-sqlite.adapter.d.ts.map +1 -1
- package/dist/job-claimer-sqlite.adapter.js.map +1 -1
- package/dist/job-completer-collecting.adapter.d.ts.map +1 -1
- package/dist/job-completer-noop.adapter.d.ts.map +1 -1
- package/dist/job-completer-sqlite.adapter.d.ts.map +1 -1
- package/dist/job-completer-sqlite.adapter.js.map +1 -1
- package/dist/job-enqueuer-collecting.adapter.d.ts.map +1 -1
- package/dist/job-enqueuer-noop.adapter.d.ts.map +1 -1
- package/dist/job-enqueuer-sqlite.adapter.d.ts.map +1 -1
- package/dist/job-enqueuer-sqlite.adapter.js.map +1 -1
- package/dist/job-envelope.d.ts.map +1 -1
- package/dist/job-failer-collecting.adapter.d.ts.map +1 -1
- package/dist/job-failer-noop.adapter.d.ts.map +1 -1
- package/dist/job-failer-sqlite.adapter.d.ts.map +1 -1
- package/dist/job-failer-sqlite.adapter.js.map +1 -1
- package/dist/job-pruner-collecting.adapter.d.ts.map +1 -1
- package/dist/job-pruner-noop.adapter.d.ts.map +1 -1
- package/dist/job-pruner-sqlite.adapter.d.ts.map +1 -1
- package/dist/job-pruner-sqlite.adapter.js.map +1 -1
- package/dist/job-queue-noop.adapter.d.ts.map +1 -1
- package/dist/job-queue-noop.adapter.js.map +1 -1
- package/dist/job-queue-sqlite-store.service.d.ts.map +1 -1
- package/dist/job-queue-sqlite-store.service.js +1 -0
- package/dist/job-queue-sqlite-store.service.js.map +1 -1
- package/dist/job-queue-stats-provider-noop.adapter.d.ts.map +1 -1
- package/dist/job-queue-stats-provider-sqlite.adapter.d.ts.map +1 -1
- package/dist/job-queue-stats-provider-sqlite.adapter.js.map +1 -1
- package/dist/job-queue-with-logger.adapter.d.ts +1 -1
- package/dist/job-queue-with-logger.adapter.d.ts.map +1 -1
- package/dist/job-queue-with-logger.adapter.js +2 -2
- package/dist/job-queue-with-logger.adapter.js.map +1 -1
- package/dist/job-queue.adapter.d.ts.map +1 -1
- package/dist/job-queue.adapter.js.map +1 -1
- package/dist/job-registry.adapter.d.ts.map +1 -1
- package/dist/job-requeuer-collecting.adapter.d.ts.map +1 -1
- package/dist/job-requeuer-noop.adapter.d.ts.map +1 -1
- package/dist/job-requeuer-sqlite.adapter.d.ts.map +1 -1
- package/dist/job-requeuer-sqlite.adapter.js.map +1 -1
- package/dist/job-retry-policy-backoff.strategy.d.ts.map +1 -1
- package/dist/job-retry-policy-backoff.strategy.js.map +1 -1
- package/dist/job-retry-policy-composite.strategy.d.ts.map +1 -1
- package/dist/job-retry-policy-composite.strategy.js.map +1 -1
- package/dist/job-retry-policy-error-filter.strategy.d.ts.map +1 -1
- package/dist/job-retry-policy-error-filter.strategy.js.map +1 -1
- package/dist/job-retry-policy-limit.strategy.d.ts.map +1 -1
- package/dist/job-retry-policy-limit.strategy.js.map +1 -1
- package/dist/job-retry-policy-noop.strategy.d.ts.map +1 -1
- package/dist/language-detector-cookie.strategy.d.ts.map +1 -1
- package/dist/language-detector-cookie.strategy.js +1 -1
- package/dist/language-detector-cookie.strategy.js.map +1 -1
- package/dist/language-detector-header.strategy.d.ts.map +1 -1
- package/dist/language-detector-header.strategy.js +12 -1
- package/dist/language-detector-header.strategy.js.map +1 -1
- package/dist/language-detector-hono.middleware.d.ts +3 -1
- package/dist/language-detector-hono.middleware.d.ts.map +1 -1
- package/dist/language-detector-query.strategy.d.ts.map +1 -1
- package/dist/language-detector-query.strategy.js +1 -1
- package/dist/language-detector-query.strategy.js.map +1 -1
- package/dist/language-detector.middleware.d.ts +2 -2
- package/dist/language-detector.middleware.d.ts.map +1 -1
- package/dist/language-detector.middleware.js.map +1 -1
- package/dist/language-detector.strategy.d.ts +2 -2
- package/dist/language-detector.strategy.d.ts.map +1 -1
- package/dist/languages.vo.d.ts.map +1 -1
- package/dist/languages.vo.js.map +1 -1
- package/dist/liveness-hono.handler.d.ts +2 -2
- package/dist/liveness-hono.handler.d.ts.map +1 -1
- package/dist/liveness-hono.handler.js +4 -1
- package/dist/liveness-hono.handler.js.map +1 -1
- package/dist/liveness.handler.d.ts +1 -0
- package/dist/liveness.handler.d.ts.map +1 -1
- package/dist/liveness.handler.js +1 -1
- package/dist/liveness.handler.js.map +1 -1
- package/dist/logger-collecting.adapter.d.ts.map +1 -1
- package/dist/logger-noop.adapter.d.ts.map +1 -1
- package/dist/logger-stats-provider-noop.adapter.d.ts.map +1 -1
- package/dist/mailer-collecting.adapter.d.ts.map +1 -1
- package/dist/mailer-content-html.vo.d.ts +1 -5
- package/dist/mailer-content-html.vo.d.ts.map +1 -1
- package/dist/mailer-content-html.vo.js +1 -1
- package/dist/mailer-content-html.vo.js.map +1 -1
- package/dist/mailer-file.adapter.d.ts.map +1 -1
- package/dist/mailer-file.adapter.js.map +1 -1
- package/dist/mailer-noop.adapter.d.ts.map +1 -1
- package/dist/mailer-smtp.adapter.d.ts.map +1 -1
- package/dist/mailer-smtp.adapter.js +1 -0
- package/dist/mailer-smtp.adapter.js.map +1 -1
- package/dist/mailer-subject.vo.d.ts.map +1 -1
- package/dist/mailer-template.vo.d.ts.map +1 -1
- package/dist/mailer-template.vo.js.map +1 -1
- package/dist/mailer-with-logger.adapter.d.ts.map +1 -1
- package/dist/mailer-with-logger.adapter.js +2 -2
- package/dist/mailer-with-logger.adapter.js.map +1 -1
- package/dist/mailer-with-retry.adapter.d.ts.map +1 -1
- package/dist/mailer-with-retry.adapter.js.map +1 -1
- package/dist/mailer-with-timeout.adapter.d.ts.map +1 -1
- package/dist/mailer-with-timeout.adapter.js.map +1 -1
- package/dist/mailer.builder.d.ts.map +1 -1
- package/dist/mailer.builder.js.map +1 -1
- package/dist/markdown-generator-noop.adapter.d.ts.map +1 -1
- package/dist/markdown-generator-noop.adapter.js.map +1 -1
- package/dist/markdown-generator.adapter.d.ts.map +1 -1
- package/dist/markdown-generator.adapter.js +1 -1
- package/dist/markdown-generator.adapter.js.map +1 -1
- package/dist/memory-consumption.service.d.ts +0 -1
- package/dist/memory-consumption.service.d.ts.map +1 -1
- package/dist/memory-consumption.service.js +0 -3
- package/dist/memory-consumption.service.js.map +1 -1
- package/dist/message-bus-collecting.adapter.d.ts.map +1 -1
- package/dist/message-bus-emittery.adapter.d.ts.map +1 -1
- package/dist/message-bus-noop.adapter.d.ts.map +1 -1
- package/dist/message-bus-with-logger.adapter.d.ts.map +1 -1
- package/dist/message-bus-with-logger.adapter.js.map +1 -1
- package/dist/middleware-hono-noop.adapter.d.ts.map +1 -1
- package/dist/modules/history/event-handlers/onHistoryClearedEvent.d.ts.map +1 -1
- package/dist/modules/history/event-handlers/onHistoryPopulatedEvent.d.ts.map +1 -1
- package/dist/modules/history/events/HISTORY_CLEARED_EVENT.d.ts +4 -4
- package/dist/modules/history/events/HISTORY_POPULATED_EVENT.d.ts +7 -7
- package/dist/modules/history/value-objects/history-operation.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-payload.d.ts.map +1 -1
- package/dist/modules/history/value-objects/history-subject.d.ts.map +1 -1
- package/dist/modules/preferences/command-handlers/handleSetUserLanguageCommand.d.ts.map +1 -1
- package/dist/modules/preferences/commands/SET_USER_LANGUAGE_COMMAND.d.ts +3 -3
- package/dist/modules/preferences/events/USER_LANGUAGE_SET_EVENT.d.ts +5 -5
- package/dist/modules/preferences/invariants/user-language-has-changed.d.ts.map +1 -1
- package/dist/modules/preferences/open-host-queries/user-language.d.ts.map +1 -1
- package/dist/modules/preferences/open-host-queries/user-language.js.map +1 -1
- package/dist/modules/preferences/ports/user-language-resolver.d.ts.map +1 -1
- package/dist/modules/preferences/ports/user-language-resolver.js.map +1 -1
- package/dist/modules/system/cron-tasks/passage-of-time-hourly.d.ts.map +1 -1
- package/dist/modules/system/cron-tasks/passage-of-time-minute.d.ts.map +1 -1
- package/dist/modules/system/events/HOUR_HAS_PASSED_EVENT.d.ts +4 -4
- package/dist/modules/system/events/MINUTE_HAS_PASSED_EVENT.d.ts +4 -4
- package/dist/modules/system/events/SECURITY_VIOLATION_DETECTED_EVENT.d.ts +7 -7
- package/dist/modules/system/invariants/feature-flag-enabled.d.ts.map +1 -1
- package/dist/modules/system/job-handlers/send-email-job.handler.d.ts.map +1 -1
- package/dist/modules/system/jobs/SEND_EMAIL_JOB.d.ts +5 -5
- package/dist/nonce-provider-crypto.adapter.d.ts.map +1 -1
- package/dist/nonce-provider-crypto.adapter.js +1 -1
- package/dist/nonce-provider-crypto.adapter.js.map +1 -1
- package/dist/nonce-provider-deterministic.adapter.d.ts.map +1 -1
- package/dist/nonce-provider-noop.adapter.d.ts.map +1 -1
- package/dist/nonce-provider-noop.adapter.js +1 -1
- package/dist/nonce-provider-noop.adapter.js.map +1 -1
- package/dist/nonce-value.vo.d.ts.map +1 -1
- package/dist/nonce-value.vo.js +2 -2
- package/dist/payload-serializer-collecting.adapter.d.ts.map +1 -1
- package/dist/payload-serializer-json.adapter.d.ts.map +1 -1
- package/dist/pdf-generator-noop.adapter.d.ts.map +1 -1
- package/dist/pdf-generator-with-logger.adapter.d.ts.map +1 -1
- package/dist/pdf-generator-with-logger.adapter.js +1 -1
- package/dist/pdf-generator-with-logger.adapter.js.map +1 -1
- package/dist/port.vo.d.ts.map +1 -1
- package/dist/prerequisite-runner-startup.service.d.ts.map +1 -1
- package/dist/prerequisite-runner-startup.service.js.map +1 -1
- package/dist/prerequisite-verifier-binary.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-binary.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-bun.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-bun.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-clock-drift.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-clock-drift.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-cron-scheduler.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-cron-scheduler.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-directory.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-directory.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-dns.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-dns.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-external-api.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-external-api.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-file.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-file.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-mailer.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-mailer.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-memory.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-memory.adapter.js +1 -1
- package/dist/prerequisite-verifier-memory.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-node.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-node.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-os.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-os.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-outside-connectivity.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-outside-connectivity.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-port.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-port.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-ram.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-ram.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-running-user.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-running-user.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-self.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-sms.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-sms.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-space.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-space.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-sqlite.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-sqlite.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-ssl-certificate-expiry.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-ssl-certificate-expiry.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-timezone-utc.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-timezone-utc.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-translations.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-translations.adapter.js +7 -11
- package/dist/prerequisite-verifier-translations.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-with-cache.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-with-cache.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-with-fail-safe.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-with-fail-safe.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-with-logger.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-with-logger.adapter.js +1 -1
- package/dist/prerequisite-verifier-with-logger.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-with-retry.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-with-retry.adapter.js.map +1 -1
- package/dist/prerequisite-verifier-with-timeout.adapter.d.ts.map +1 -1
- package/dist/prerequisite-verifier-with-timeout.adapter.js.map +1 -1
- package/dist/prerequisite-verifier.decorator.d.ts +15 -21
- package/dist/prerequisite-verifier.decorator.d.ts.map +1 -1
- package/dist/prerequisite-verifier.port.d.ts.map +1 -1
- package/dist/prerequisite-verifier.port.js.map +1 -1
- package/dist/prerequisite.vo.d.ts.map +1 -1
- package/dist/prerequisite.vo.js.map +1 -1
- package/dist/randomness-crypto.strategy.d.ts.map +1 -1
- package/dist/randomness-math.strategy.d.ts.map +1 -1
- package/dist/randomness-noop.strategy.d.ts.map +1 -1
- package/dist/randomness-noop.strategy.js.map +1 -1
- package/dist/randomness.strategy.d.ts.map +1 -1
- package/dist/reactive-config-file-json.adapter.d.ts.map +1 -1
- package/dist/reactive-config-file-json.adapter.js.map +1 -1
- package/dist/reactive-config-noop.adapter.d.ts +0 -1
- package/dist/reactive-config-noop.adapter.d.ts.map +1 -1
- package/dist/reactive-config-noop.adapter.js +2 -4
- package/dist/reactive-config-noop.adapter.js.map +1 -1
- package/dist/reactive-config-with-cache.adapter.d.ts.map +1 -1
- package/dist/reactive-config-with-cache.adapter.js +1 -1
- package/dist/reactive-config-with-cache.adapter.js.map +1 -1
- package/dist/reactive-config-with-fallback.adapter.d.ts +0 -1
- package/dist/reactive-config-with-fallback.adapter.d.ts.map +1 -1
- package/dist/reactive-config-with-fallback.adapter.js +2 -4
- package/dist/reactive-config-with-fallback.adapter.js.map +1 -1
- package/dist/reactive-config-with-logger.adapter.d.ts +15 -0
- package/dist/reactive-config-with-logger.adapter.d.ts.map +1 -0
- package/dist/reactive-config-with-logger.adapter.js +38 -0
- package/dist/reactive-config-with-logger.adapter.js.map +1 -0
- package/dist/readiness-hono.handler.d.ts +16 -7
- package/dist/readiness-hono.handler.d.ts.map +1 -1
- package/dist/readiness-hono.handler.js +2 -3
- package/dist/readiness-hono.handler.js.map +1 -1
- package/dist/readiness.handler.d.ts +6 -1
- package/dist/readiness.handler.d.ts.map +1 -1
- package/dist/readiness.handler.js +11 -1
- package/dist/readiness.handler.js.map +1 -1
- package/dist/recaptcha-secret-key.vo.d.ts.map +1 -1
- package/dist/recaptcha-site-key.vo.d.ts.map +1 -1
- package/dist/redactor-composite.strategy.d.ts.map +1 -1
- package/dist/redactor-composite.strategy.js.map +1 -1
- package/dist/redactor-error-cause-depth-limit.strategy.d.ts.map +1 -1
- package/dist/redactor-error-cause-depth-limit.strategy.js.map +1 -1
- package/dist/redactor-error-stack-hide.strategy.d.ts.map +1 -1
- package/dist/redactor-mask.strategy.d.ts.map +1 -1
- package/dist/redactor-mask.strategy.js.map +1 -1
- package/dist/redactor-metadata-compact-array.strategy.d.ts.map +1 -1
- package/dist/redactor-metadata-compact-array.strategy.js +2 -0
- package/dist/redactor-metadata-compact-array.strategy.js.map +1 -1
- package/dist/redactor-metadata-compact-object.strategy.d.ts.map +1 -1
- package/dist/redactor-metadata-compact-object.strategy.js +2 -0
- package/dist/redactor-metadata-compact-object.strategy.js.map +1 -1
- package/dist/redactor-noop.strategy.d.ts.map +1 -1
- package/dist/redactor-url-query.strategy.d.ts +8 -0
- package/dist/redactor-url-query.strategy.d.ts.map +1 -0
- package/dist/redactor-url-query.strategy.js +26 -0
- package/dist/redactor-url-query.strategy.js.map +1 -0
- package/dist/remote-file-storage-disk.adapter.d.ts +2 -0
- package/dist/remote-file-storage-disk.adapter.d.ts.map +1 -1
- package/dist/remote-file-storage-disk.adapter.js +2 -5
- package/dist/remote-file-storage-disk.adapter.js.map +1 -1
- package/dist/remote-file-storage-noop.adapter.d.ts.map +1 -1
- package/dist/remote-file-storage-noop.adapter.js.map +1 -1
- package/dist/remote-file-storage-with-logger.adapter.d.ts.map +1 -1
- package/dist/remote-file-storage-with-logger.adapter.js.map +1 -1
- package/dist/request-context-hono.adapter.d.ts.map +1 -1
- package/dist/request-context-hono.adapter.js +7 -1
- package/dist/request-context-hono.adapter.js.map +1 -1
- package/dist/request-context.port.d.ts +22 -4
- package/dist/request-context.port.d.ts.map +1 -1
- package/dist/retry-backoff-exponential.strategy.d.ts.map +1 -1
- package/dist/retry-backoff-exponential.strategy.js.map +1 -1
- package/dist/retry-backoff-jitter.strategy.d.ts.map +1 -1
- package/dist/retry-backoff-jitter.strategy.js.map +1 -1
- package/dist/retry-backoff-linear.strategy.d.ts.map +1 -1
- package/dist/retry-backoff-linear.strategy.js.map +1 -1
- package/dist/retry-backoff-noop.strategy.d.ts.map +1 -1
- package/dist/retry.service.d.ts.map +1 -1
- package/dist/retry.service.js.map +1 -1
- package/dist/sealer-aes-gcm.adapter.d.ts +1 -0
- package/dist/sealer-aes-gcm.adapter.d.ts.map +1 -1
- package/dist/sealer-aes-gcm.adapter.js +6 -1
- package/dist/sealer-aes-gcm.adapter.js.map +1 -1
- package/dist/sealer-noop.adapter.d.ts.map +1 -1
- package/dist/secure-key-generator-crypto.adapter.d.ts +1 -0
- package/dist/secure-key-generator-crypto.adapter.d.ts.map +1 -1
- package/dist/secure-key-generator-crypto.adapter.js +6 -1
- package/dist/secure-key-generator-crypto.adapter.js.map +1 -1
- package/dist/secure-key-generator-noop.adapter.d.ts.map +1 -1
- package/dist/secure-key-generator-noop.adapter.js.map +1 -1
- package/dist/security-context.vo.d.ts.map +1 -1
- package/dist/security-context.vo.js.map +1 -1
- package/dist/security-countermeasure-ban.strategy.d.ts.map +1 -1
- package/dist/security-countermeasure-ban.strategy.js.map +1 -1
- package/dist/security-countermeasure-mirage.strategy.d.ts.map +1 -1
- package/dist/security-countermeasure-mirage.strategy.js.map +1 -1
- package/dist/security-countermeasure-name.vo.d.ts.map +1 -1
- package/dist/security-countermeasure-noop.strategy.d.ts.map +1 -1
- package/dist/security-countermeasure-report.strategy.d.ts.map +1 -1
- package/dist/security-countermeasure-report.strategy.js.map +1 -1
- package/dist/security-countermeasure-tarpit.strategy.d.ts.map +1 -1
- package/dist/security-countermeasure-tarpit.strategy.js.map +1 -1
- package/dist/security-policy.vo.d.ts.map +1 -1
- package/dist/security-policy.vo.js.map +1 -1
- package/dist/security-rule-and.strategy.d.ts.map +1 -1
- package/dist/security-rule-and.strategy.js.map +1 -1
- package/dist/security-rule-bait-routes.strategy.d.ts.map +1 -1
- package/dist/security-rule-bait-routes.strategy.js +1 -1
- package/dist/security-rule-bait-routes.strategy.js.map +1 -1
- package/dist/security-rule-fail.strategy.d.ts.map +1 -1
- package/dist/security-rule-honey-pot-field.strategy.d.ts +2 -2
- package/dist/security-rule-honey-pot-field.strategy.d.ts.map +1 -1
- package/dist/security-rule-honey-pot-field.strategy.js +3 -2
- package/dist/security-rule-honey-pot-field.strategy.js.map +1 -1
- package/dist/security-rule-name.vo.d.ts.map +1 -1
- package/dist/security-rule-or.strategy.d.ts.map +1 -1
- package/dist/security-rule-or.strategy.js.map +1 -1
- package/dist/security-rule-pass.strategy.d.ts.map +1 -1
- package/dist/security-rule-user-agent.strategy.d.ts.map +1 -1
- package/dist/security-rule-user-agent.strategy.js.map +1 -1
- package/dist/security-rule-violation-threshold.strategy.d.ts.map +1 -1
- package/dist/security-rule-violation-threshold.strategy.js.map +1 -1
- package/dist/security-rule.strategy.d.ts +2 -4
- package/dist/security-rule.strategy.d.ts.map +1 -1
- package/dist/semaphore.service.d.ts +3 -1
- package/dist/semaphore.service.d.ts.map +1 -1
- package/dist/semaphore.service.js +13 -7
- package/dist/semaphore.service.js.map +1 -1
- package/dist/setup-hono.service.d.ts.map +1 -1
- package/dist/setup-hono.service.js +1 -1
- package/dist/setup-hono.service.js.map +1 -1
- package/dist/shield-api-key-hono.strategy.d.ts.map +1 -1
- package/dist/shield-api-key-hono.strategy.js +1 -1
- package/dist/shield-api-key.strategy.d.ts +1 -1
- package/dist/shield-api-key.strategy.d.ts.map +1 -1
- package/dist/shield-api-key.strategy.js +5 -4
- package/dist/shield-api-key.strategy.js.map +1 -1
- package/dist/shield-auth-hono.strategy.d.ts.map +1 -1
- package/dist/shield-auth.strategy.d.ts +3 -2
- package/dist/shield-auth.strategy.d.ts.map +1 -1
- package/dist/shield-auth.strategy.js +10 -3
- package/dist/shield-auth.strategy.js.map +1 -1
- package/dist/shield-basic-auth-hono.strategy.d.ts +1 -0
- package/dist/shield-basic-auth-hono.strategy.d.ts.map +1 -1
- package/dist/shield-basic-auth-hono.strategy.js +8 -1
- package/dist/shield-basic-auth-hono.strategy.js.map +1 -1
- package/dist/shield-basic-auth.strategy.d.ts +1 -0
- package/dist/shield-basic-auth.strategy.d.ts.map +1 -1
- package/dist/shield-basic-auth.strategy.js +11 -3
- package/dist/shield-basic-auth.strategy.js.map +1 -1
- package/dist/shield-body-limit-hono.strategy.d.ts.map +1 -1
- package/dist/shield-body-limit.strategy.d.ts.map +1 -1
- package/dist/shield-body-limit.strategy.js.map +1 -1
- package/dist/shield-csrf-hono.strategy.d.ts.map +1 -1
- package/dist/shield-csrf.strategy.d.ts.map +1 -1
- package/dist/shield-csrf.strategy.js +2 -2
- package/dist/shield-csrf.strategy.js.map +1 -1
- package/dist/shield-feature-flag-hono.strategy.d.ts.map +1 -1
- package/dist/shield-feature-flag.strategy.d.ts.map +1 -1
- package/dist/shield-feature-flag.strategy.js.map +1 -1
- package/dist/shield-hcaptcha-hono-local.strategy.d.ts.map +1 -1
- package/dist/shield-hcaptcha-hono-local.strategy.js +3 -1
- package/dist/shield-hcaptcha-hono-local.strategy.js.map +1 -1
- package/dist/shield-hcaptcha-hono.strategy.d.ts.map +1 -1
- package/dist/shield-hcaptcha.strategy.d.ts +2 -2
- package/dist/shield-hcaptcha.strategy.d.ts.map +1 -1
- package/dist/shield-hcaptcha.strategy.js +6 -1
- package/dist/shield-hcaptcha.strategy.js.map +1 -1
- package/dist/shield-ip-blacklist-hono.strategy.d.ts.map +1 -1
- package/dist/shield-ip-blacklist.strategy.d.ts +2 -2
- package/dist/shield-ip-blacklist.strategy.d.ts.map +1 -1
- package/dist/shield-ip-blacklist.strategy.js +2 -2
- package/dist/shield-ip-blacklist.strategy.js.map +1 -1
- package/dist/shield-ip-whitelist-hono.strategy.d.ts.map +1 -1
- package/dist/shield-ip-whitelist.strategy.d.ts +2 -2
- package/dist/shield-ip-whitelist.strategy.d.ts.map +1 -1
- package/dist/shield-ip-whitelist.strategy.js +1 -1
- package/dist/shield-ip-whitelist.strategy.js.map +1 -1
- package/dist/shield-maintenance-hono.strategy.d.ts.map +1 -1
- package/dist/shield-maintenance-hono.strategy.js +6 -4
- package/dist/shield-maintenance-hono.strategy.js.map +1 -1
- package/dist/shield-maintenance.strategy.d.ts +23 -7
- package/dist/shield-maintenance.strategy.d.ts.map +1 -1
- package/dist/shield-maintenance.strategy.js +23 -4
- package/dist/shield-maintenance.strategy.js.map +1 -1
- package/dist/shield-rate-limit-hono.strategy.d.ts.map +1 -1
- package/dist/shield-rate-limit.strategy.d.ts +1 -1
- package/dist/shield-rate-limit.strategy.d.ts.map +1 -1
- package/dist/shield-rate-limit.strategy.js +1 -1
- package/dist/shield-rate-limit.strategy.js.map +1 -1
- package/dist/shield-recaptcha-hono.strategy.d.ts.map +1 -1
- package/dist/shield-recaptcha.strategy.d.ts +2 -2
- package/dist/shield-recaptcha.strategy.d.ts.map +1 -1
- package/dist/shield-recaptcha.strategy.js +11 -7
- package/dist/shield-recaptcha.strategy.js.map +1 -1
- package/dist/shield-security-hono.strategy.d.ts.map +1 -1
- package/dist/shield-security-hono.strategy.js.map +1 -1
- package/dist/shield-security.strategy.d.ts.map +1 -1
- package/dist/shield-security.strategy.js.map +1 -1
- package/dist/shield-timeout-hono.strategy.d.ts.map +1 -1
- package/dist/shield-timeout-hono.strategy.js +1 -1
- package/dist/shield-timeout.strategy.d.ts.map +1 -1
- package/dist/shield-timeout.strategy.js.map +1 -1
- package/dist/shield-webhook-hono.strategy.d.ts.map +1 -1
- package/dist/shield-webhook-hono.strategy.js +1 -1
- package/dist/shield-webhook.strategy.d.ts +2 -2
- package/dist/shield-webhook.strategy.d.ts.map +1 -1
- package/dist/shield-webhook.strategy.js.map +1 -1
- package/dist/simulated-error-hono.middleware.d.ts.map +1 -1
- package/dist/simulated-error.middleware.d.ts +3 -0
- package/dist/simulated-error.middleware.d.ts.map +1 -1
- package/dist/simulated-error.middleware.js +2 -1
- package/dist/simulated-error.middleware.js.map +1 -1
- package/dist/sitemap-entries-provider-dynamic.adapter.d.ts.map +1 -1
- package/dist/sitemap-entries-provider-dynamic.adapter.js.map +1 -1
- package/dist/sitemap-entries-provider-static.adapter.d.ts.map +1 -1
- package/dist/sitemap-entries-provider-static.adapter.js.map +1 -1
- package/dist/sitemap-entries-provider-with-cache.adapter.d.ts.map +1 -1
- package/dist/sitemap-entries-provider-with-cache.adapter.js.map +1 -1
- package/dist/sitemap-entry.vo.d.ts.map +1 -1
- package/dist/sitemap-entry.vo.js +1 -1
- package/dist/sitemap-entry.vo.js.map +1 -1
- package/dist/sitemap-hono.handler.d.ts +1 -1
- package/dist/sitemap-hono.handler.d.ts.map +1 -1
- package/dist/sitemap-priority.vo.d.ts +1 -1
- package/dist/sitemap-priority.vo.d.ts.map +1 -1
- package/dist/sitemap-priority.vo.js +1 -1
- package/dist/sitemap-priority.vo.js.map +1 -1
- package/dist/sitemap-url.vo.d.ts +1 -1
- package/dist/sitemap-url.vo.d.ts.map +1 -1
- package/dist/sitemap.handler.d.ts.map +1 -1
- package/dist/sitemap.handler.js.map +1 -1
- package/dist/sitemap.service.d.ts.map +1 -1
- package/dist/sitemap.service.js.map +1 -1
- package/dist/sleeper-noop.adapter.d.ts.map +1 -1
- package/dist/sleeper-system.adapter.d.ts.map +1 -1
- package/dist/slower-hono.middleware.d.ts +2 -6
- package/dist/slower-hono.middleware.d.ts.map +1 -1
- package/dist/slower-hono.middleware.js.map +1 -1
- package/dist/slower.middleware.d.ts +2 -3
- package/dist/slower.middleware.d.ts.map +1 -1
- package/dist/slower.middleware.js.map +1 -1
- package/dist/sms-collecting.adapter.d.ts.map +1 -1
- package/dist/sms-noop.adapter.d.ts.map +1 -1
- package/dist/sms-with-logger.adapter.d.ts.map +1 -1
- package/dist/sms-with-logger.adapter.js +1 -1
- package/dist/sms-with-logger.adapter.js.map +1 -1
- package/dist/sms-with-retry.adapter.d.ts.map +1 -1
- package/dist/sms-with-retry.adapter.js.map +1 -1
- package/dist/sms-with-timeout.adapter.d.ts.map +1 -1
- package/dist/sms-with-timeout.adapter.js.map +1 -1
- package/dist/sms.builder.d.ts.map +1 -1
- package/dist/sms.builder.js.map +1 -1
- package/dist/smtp-host.vo.d.ts.map +1 -1
- package/dist/smtp-pass.vo.d.ts.map +1 -1
- package/dist/smtp-user.vo.d.ts.map +1 -1
- package/dist/sse-hono.handler.d.ts +1 -1
- package/dist/sse-hono.handler.d.ts.map +1 -1
- package/dist/sse-hono.handler.js +4 -2
- package/dist/sse-hono.handler.js.map +1 -1
- package/dist/sse-registry-collecting.adapter.d.ts +1 -1
- package/dist/sse-registry-collecting.adapter.d.ts.map +1 -1
- package/dist/sse-registry-collecting.adapter.js +3 -1
- package/dist/sse-registry-collecting.adapter.js.map +1 -1
- package/dist/sse-registry-noop.adapter.d.ts +1 -1
- package/dist/sse-registry-noop.adapter.d.ts.map +1 -1
- package/dist/sse-registry-noop.adapter.js +3 -1
- package/dist/sse-registry-noop.adapter.js.map +1 -1
- package/dist/sse-registry-with-limit.adapter.d.ts +1 -1
- package/dist/sse-registry-with-limit.adapter.d.ts.map +1 -1
- package/dist/sse-registry-with-limit.adapter.js +2 -2
- package/dist/sse-registry-with-limit.adapter.js.map +1 -1
- package/dist/sse-registry-with-logger.adapter.d.ts +1 -1
- package/dist/sse-registry-with-logger.adapter.d.ts.map +1 -1
- package/dist/sse-registry-with-logger.adapter.js +4 -3
- package/dist/sse-registry-with-logger.adapter.js.map +1 -1
- package/dist/sse-registry.adapter.d.ts +1 -1
- package/dist/sse-registry.adapter.d.ts.map +1 -1
- package/dist/sse-registry.adapter.js +7 -1
- package/dist/sse-registry.adapter.js.map +1 -1
- package/dist/sse-registry.port.d.ts +1 -1
- package/dist/sse-registry.port.d.ts.map +1 -1
- package/dist/ssr-bun.service.d.ts.map +1 -1
- package/dist/ssr-bun.service.js +1 -1
- package/dist/ssr-bun.service.js.map +1 -1
- package/dist/ssr-csp.d.ts.map +1 -1
- package/dist/ssr.service.d.ts +1 -1
- package/dist/ssr.service.d.ts.map +1 -1
- package/dist/ssr.service.js +1 -1
- package/dist/ssr.service.js.map +1 -1
- package/dist/standard-schema-validator.service.d.ts.map +1 -1
- package/dist/standard-schema-validator.service.js +1 -1
- package/dist/standard-schema-validator.service.js.map +1 -1
- package/dist/static-config.adapter.d.ts.map +1 -1
- package/dist/static-config.adapter.js +1 -1
- package/dist/static-config.adapter.js.map +1 -1
- package/dist/static-files-hono.service.d.ts +1 -1
- package/dist/static-files-hono.service.d.ts.map +1 -1
- package/dist/static-files-hono.service.js +2 -2
- package/dist/static-files-hono.service.js.map +1 -1
- package/dist/stopwatch.service.d.ts.map +1 -1
- package/dist/stopwatch.service.js.map +1 -1
- package/dist/subject-application-resolver.vo.d.ts +2 -2
- package/dist/subject-application-resolver.vo.d.ts.map +1 -1
- package/dist/subject-application-resolver.vo.js +1 -1
- package/dist/subject-application-resolver.vo.js.map +1 -1
- package/dist/subject-request-resolver.vo.d.ts +2 -2
- package/dist/subject-request-resolver.vo.d.ts.map +1 -1
- package/dist/subject-request-resolver.vo.js +1 -1
- package/dist/subject-request-resolver.vo.js.map +1 -1
- package/dist/subject-segment-application.strategy.d.ts +1 -0
- package/dist/subject-segment-application.strategy.d.ts.map +1 -1
- package/dist/subject-segment-application.strategy.js +1 -1
- package/dist/subject-segment-application.strategy.js.map +1 -1
- package/dist/subject-segment-build.strategy.d.ts +1 -0
- package/dist/subject-segment-build.strategy.d.ts.map +1 -1
- package/dist/subject-segment-build.strategy.js +1 -0
- package/dist/subject-segment-build.strategy.js.map +1 -1
- package/dist/subject-segment-cookie.strategy.d.ts +1 -0
- package/dist/subject-segment-cookie.strategy.d.ts.map +1 -1
- package/dist/subject-segment-cookie.strategy.js +3 -0
- package/dist/subject-segment-cookie.strategy.js.map +1 -1
- package/dist/subject-segment-env.strategy.d.ts +1 -0
- package/dist/subject-segment-env.strategy.d.ts.map +1 -1
- package/dist/subject-segment-env.strategy.js +1 -0
- package/dist/subject-segment-env.strategy.js.map +1 -1
- package/dist/subject-segment-fixed.strategy.d.ts +1 -0
- package/dist/subject-segment-fixed.strategy.d.ts.map +1 -1
- package/dist/subject-segment-fixed.strategy.js +1 -0
- package/dist/subject-segment-fixed.strategy.js.map +1 -1
- package/dist/subject-segment-header.strategy.d.ts +1 -0
- package/dist/subject-segment-header.strategy.d.ts.map +1 -1
- package/dist/subject-segment-header.strategy.js +3 -0
- package/dist/subject-segment-header.strategy.js.map +1 -1
- package/dist/subject-segment-ip.strategy.d.ts +1 -0
- package/dist/subject-segment-ip.strategy.d.ts.map +1 -1
- package/dist/subject-segment-ip.strategy.js +1 -0
- package/dist/subject-segment-ip.strategy.js.map +1 -1
- package/dist/subject-segment-method.strategy.d.ts +7 -0
- package/dist/subject-segment-method.strategy.d.ts.map +1 -0
- package/dist/subject-segment-method.strategy.js +7 -0
- package/dist/subject-segment-method.strategy.js.map +1 -0
- package/dist/subject-segment-param.strategy.d.ts +1 -0
- package/dist/subject-segment-param.strategy.d.ts.map +1 -1
- package/dist/subject-segment-param.strategy.js +3 -0
- package/dist/subject-segment-param.strategy.js.map +1 -1
- package/dist/subject-segment-path.strategy.d.ts +1 -0
- package/dist/subject-segment-path.strategy.d.ts.map +1 -1
- package/dist/subject-segment-path.strategy.js +1 -0
- package/dist/subject-segment-path.strategy.js.map +1 -1
- package/dist/subject-segment-query.strategy.d.ts +3 -2
- package/dist/subject-segment-query.strategy.d.ts.map +1 -1
- package/dist/subject-segment-query.strategy.js +5 -5
- package/dist/subject-segment-query.strategy.js.map +1 -1
- package/dist/subject-segment-request.strategy.d.ts +5 -3
- package/dist/subject-segment-request.strategy.d.ts.map +1 -1
- package/dist/subject-segment-request.strategy.js +1 -1
- package/dist/subject-segment-request.strategy.js.map +1 -1
- package/dist/subject-segment-user.strategy.d.ts +1 -0
- package/dist/subject-segment-user.strategy.d.ts.map +1 -1
- package/dist/subject-segment-user.strategy.js +1 -0
- package/dist/subject-segment-user.strategy.js.map +1 -1
- package/dist/temporary-file-absolute.adapter.d.ts.map +1 -1
- package/dist/temporary-file-absolute.adapter.js.map +1 -1
- package/dist/temporary-file-noop.adapter.d.ts.map +1 -1
- package/dist/temporary-file-noop.adapter.js.map +1 -1
- package/dist/time-zone-offset-hono.middleware.d.ts +3 -1
- package/dist/time-zone-offset-hono.middleware.d.ts.map +1 -1
- package/dist/time-zone-offset.middleware.d.ts +2 -2
- package/dist/time-zone-offset.middleware.d.ts.map +1 -1
- package/dist/time-zone-offset.middleware.js +2 -0
- package/dist/time-zone-offset.middleware.js.map +1 -1
- package/dist/timekeeper-google.adapter.d.ts +1 -1
- package/dist/timekeeper-google.adapter.d.ts.map +1 -1
- package/dist/timekeeper-google.adapter.js.map +1 -1
- package/dist/timekeeper-noop.adapter.d.ts.map +1 -1
- package/dist/timekeeper-noop.adapter.js.map +1 -1
- package/dist/timeout-cancellable-runner-bare.adapter.d.ts.map +1 -1
- package/dist/timeout-cancellable-runner-noop.adapter.d.ts.map +1 -1
- package/dist/timeout-cancellable-runner.port.d.ts.map +1 -1
- package/dist/timeout-runner-bare.adapter.d.ts.map +1 -1
- package/dist/timeout-runner-monitor.adapter.d.ts.map +1 -1
- package/dist/timeout-runner-monitor.adapter.js.map +1 -1
- package/dist/timeout-runner-noop.adapter.d.ts.map +1 -1
- package/dist/timeout-runner.port.d.ts.map +1 -1
- package/dist/timing-hono.middleware.d.ts +2 -6
- package/dist/timing-hono.middleware.d.ts.map +1 -1
- package/dist/timing-hono.middleware.js +1 -1
- package/dist/timing-hono.middleware.js.map +1 -1
- package/dist/timing.middleware.d.ts +5 -5
- package/dist/timing.middleware.d.ts.map +1 -1
- package/dist/timing.middleware.js +10 -2
- package/dist/timing.middleware.js.map +1 -1
- package/dist/trailing-slash-hono.middleware.d.ts +1 -1
- package/dist/trailing-slash-hono.middleware.d.ts.map +1 -1
- package/dist/trailing-slash-hono.middleware.js +2 -2
- package/dist/trailing-slash-hono.middleware.js.map +1 -1
- package/dist/trailing-slash.middleware.d.ts +2 -0
- package/dist/trailing-slash.middleware.d.ts.map +1 -1
- package/dist/trailing-slash.middleware.js +6 -1
- package/dist/trailing-slash.middleware.js.map +1 -1
- package/dist/translations-hono.handler.d.ts.map +1 -1
- package/dist/translations-provider-json.adapter.d.ts +1 -1
- package/dist/translations-provider-json.adapter.d.ts.map +1 -1
- package/dist/translations-provider-json.adapter.js +2 -6
- package/dist/translations-provider-json.adapter.js.map +1 -1
- package/dist/translations-provider-noop.adapter.d.ts.map +1 -1
- package/dist/translations-provider-noop.adapter.js.map +1 -1
- package/dist/translations-provider.port.d.ts +5 -0
- package/dist/translations-provider.port.d.ts.map +1 -1
- package/dist/translations-provider.port.js +3 -1
- package/dist/translations-provider.port.js.map +1 -1
- package/dist/translations.handler.d.ts.map +1 -1
- package/dist/translations.handler.js.map +1 -1
- package/dist/translator.service.d.ts.map +1 -1
- package/dist/uptime.service.d.ts.map +1 -1
- package/dist/uptime.service.js.map +1 -1
- package/dist/uuid.vo.d.ts.map +1 -1
- package/dist/visitor-id-client.strategy.d.ts.map +1 -1
- package/dist/visitor-id-client.strategy.js.map +1 -1
- package/dist/weak-etag-extractor-fixed.strategy.d.ts.map +1 -1
- package/dist/weak-etag-extractor-fixed.strategy.js.map +1 -1
- package/dist/weak-etag-extractor-header.strategy.d.ts +1 -0
- package/dist/weak-etag-extractor-header.strategy.d.ts.map +1 -1
- package/dist/weak-etag-extractor-header.strategy.js +3 -0
- package/dist/weak-etag-extractor-header.strategy.js.map +1 -1
- package/dist/weak-etag-extractor-hono.middleware.d.ts +3 -1
- package/dist/weak-etag-extractor-hono.middleware.d.ts.map +1 -1
- package/dist/weak-etag-extractor-param.strategy.d.ts.map +1 -1
- package/dist/weak-etag-extractor-param.strategy.js +2 -0
- package/dist/weak-etag-extractor-param.strategy.js.map +1 -1
- package/dist/weak-etag-extractor.middleware.d.ts.map +1 -1
- package/dist/weak-etag-extractor.middleware.js.map +1 -1
- package/dist/weak-etag-extractor.strategy.d.ts +2 -2
- package/dist/weak-etag-extractor.strategy.d.ts.map +1 -1
- package/dist/webhook-body-builder-text.strategy.d.ts.map +1 -1
- package/dist/webhook-secret.vo.d.ts.map +1 -1
- package/dist/webhook-signature-creator-noop.strategy.d.ts.map +1 -1
- package/dist/webhook-signature-creator-noop.strategy.js.map +1 -1
- package/dist/webhook-signature-creator-sha256.strategy.d.ts.map +1 -1
- package/dist/webhook-signature-creator-sha256.strategy.js.map +1 -1
- package/dist/webhook-signature-extractor-header-exact.strategy.d.ts.map +1 -1
- package/dist/webhook-signature-extractor-header-exact.strategy.js.map +1 -1
- package/dist/webhook-signature-extractor.strategy.d.ts +2 -2
- package/dist/webhook-signature-extractor.strategy.d.ts.map +1 -1
- package/dist/webhook-signature.vo.d.ts.map +1 -1
- package/dist/webhook-verifier-noop.strategy.d.ts.map +1 -1
- package/dist/webhook-verifier-sha256.strategy.d.ts.map +1 -1
- package/dist/webhook-verifier-sha256.strategy.js.map +1 -1
- package/dist/woodchopper-diagnostics-collecting.strategy.d.ts.map +1 -1
- package/dist/woodchopper-diagnostics-console-error.strategy.d.ts.map +1 -1
- package/dist/woodchopper-diagnostics-console-error.strategy.js.map +1 -1
- package/dist/woodchopper-diagnostics-noop.strategy.d.ts.map +1 -1
- package/dist/woodchopper-dispatcher-async.strategy.d.ts +0 -3
- package/dist/woodchopper-dispatcher-async.strategy.d.ts.map +1 -1
- package/dist/woodchopper-dispatcher-async.strategy.js +7 -6
- package/dist/woodchopper-dispatcher-async.strategy.js.map +1 -1
- package/dist/woodchopper-dispatcher-noop.strategy.d.ts.map +1 -1
- package/dist/woodchopper-dispatcher-sampling.strategy.d.ts.map +1 -1
- package/dist/woodchopper-dispatcher-sampling.strategy.js.map +1 -1
- package/dist/woodchopper-dispatcher-sync.strategy.d.ts.map +1 -1
- package/dist/woodchopper-dispatcher-sync.strategy.js.map +1 -1
- package/dist/woodchopper-sampling-composite.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sampling-composite.strategy.js.map +1 -1
- package/dist/woodchopper-sampling-correlation-id.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sampling-correlation-id.strategy.js.map +1 -1
- package/dist/woodchopper-sampling-every-nth.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sampling-every-nth.strategy.js.map +1 -1
- package/dist/woodchopper-sampling-pass-component.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sampling-pass-component.strategy.js.map +1 -1
- package/dist/woodchopper-sampling-pass-level.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sampling-pass-level.strategy.js.map +1 -1
- package/dist/woodchopper-sink-collecting.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sink-noop.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sink-stderr-raw.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sink-stderr.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sink-stdout-human.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sink-stdout-raw.strategy.d.ts.map +1 -1
- package/dist/woodchopper-sink-stdout.strategy.d.ts.map +1 -1
- package/dist/woodchopper-stats.service.d.ts.map +1 -1
- package/dist/woodchopper.d.ts.map +1 -1
- package/dist/woodchopper.js.map +1 -1
- package/package.json +12 -17
- package/readme.md +4 -3
- package/src/ab-assignment-composite.strategy.ts +7 -4
- package/src/ab-assignment-cookie.strategy.ts +6 -3
- package/src/ab-assignment-fixed.strategy.ts +1 -2
- package/src/ab-assignment-hash.strategy.ts +1 -1
- package/src/ab-assignment-header.strategy.ts +6 -3
- package/src/ab-assignment-query.strategy.ts +6 -3
- package/src/ab-assignment.strategy.ts +1 -2
- package/src/ab-hono-noop.middleware.ts +2 -1
- package/src/ab-hono.middleware.ts +7 -6
- package/src/ab.middleware.ts +2 -6
- package/src/alert-channel-composite.adapter.ts +8 -1
- package/src/alert-channel-with-logger.adapter.ts +1 -1
- package/src/antivirus-clamav.adapter.ts +5 -4
- package/src/antivirus-with-logger.adapter.ts +2 -2
- package/src/api-version-hono.middleware.ts +7 -15
- package/src/api-version.middleware.ts +2 -2
- package/src/auth-session-reader-noop.adapter.ts +2 -2
- package/src/better-auth-logger.service.ts +5 -0
- package/src/cache-file.service.ts +4 -2
- package/src/cache-repository-node-cache.adapter.ts +3 -1
- package/src/cache-response-hono.middleware.ts +6 -6
- package/src/cache-response.middleware.ts +4 -4
- package/src/certificate-inspector-tls.adapter.ts +21 -19
- package/src/correlation-hono.middleware.ts +8 -8
- package/src/correlation.middleware.ts +2 -2
- package/src/cron-scheduler.adapter.ts +4 -2
- package/src/cron-task-handler-with-logger.strategy.ts +8 -8
- package/src/csv-stringifier.adapter.ts +2 -2
- package/src/disk-space-checker-fs.adapter.ts +12 -0
- package/src/dynamic-import.service.ts +2 -2
- package/src/environment-loader-process-safe.adapter.ts +4 -1
- package/src/environment-loader.port.ts +1 -1
- package/src/etag-extractor-header.strategy.ts +2 -0
- package/src/etag-extractor-hono.middleware.ts +1 -1
- package/src/etag-extractor-param.strategy.ts +2 -0
- package/src/etag-extractor.strategy.ts +2 -2
- package/src/file-inspection.adapter.ts +4 -4
- package/src/file-reader-json-forgiving.adapter.ts +1 -1
- package/src/file-uploader-hono.middleware.ts +4 -2
- package/src/graceful-shutdown.service.ts +3 -3
- package/src/hash.vo.ts +1 -1
- package/src/hcaptcha.service.ts +3 -3
- package/src/http-logger-hono.middleware.ts +6 -6
- package/src/http-logger.middleware.ts +2 -2
- package/src/image-blur-noop.adapter.ts +1 -1
- package/src/image-blur.adapter.ts +2 -6
- package/src/image-blur.port.ts +1 -7
- package/src/in-flight-requests-hono.middleware.ts +1 -0
- package/src/in-flight-requests-tracker.service.ts +2 -2
- package/src/index.ts +4 -3
- package/src/instrumentation.service.ts +5 -2
- package/src/job-queue-sqlite-store.service.ts +1 -0
- package/src/job-queue-with-logger.adapter.ts +2 -2
- package/src/language-detector-cookie.strategy.ts +1 -1
- package/src/language-detector-header.strategy.ts +13 -1
- package/src/language-detector-hono.middleware.ts +1 -1
- package/src/language-detector-query.strategy.ts +1 -1
- package/src/language-detector.middleware.ts +2 -2
- package/src/language-detector.strategy.ts +2 -2
- package/src/liveness-hono.handler.ts +5 -1
- package/src/liveness.handler.ts +2 -2
- package/src/mailer-content-html.vo.ts +1 -2
- package/src/mailer-smtp.adapter.ts +1 -0
- package/src/mailer-with-logger.adapter.ts +2 -2
- package/src/markdown-generator.adapter.ts +1 -1
- package/src/memory-consumption.service.ts +0 -4
- package/src/nonce-provider-crypto.adapter.ts +1 -1
- package/src/nonce-provider-noop.adapter.ts +1 -1
- package/src/nonce-value.vo.ts +2 -2
- package/src/pdf-generator-with-logger.adapter.ts +1 -1
- package/src/prerequisite-verifier-memory.adapter.ts +1 -1
- package/src/prerequisite-verifier-translations.adapter.ts +7 -13
- package/src/prerequisite-verifier-with-logger.adapter.ts +1 -1
- package/src/randomness.strategy.ts +1 -0
- package/src/reactive-config-noop.adapter.ts +6 -5
- package/src/reactive-config-with-cache.adapter.ts +1 -1
- package/src/reactive-config-with-fallback.adapter.ts +8 -4
- package/src/reactive-config-with-logger.adapter.ts +50 -0
- package/src/readiness-hono.handler.ts +2 -3
- package/src/readiness.handler.ts +13 -2
- package/src/redactor-metadata-compact-array.strategy.ts +1 -0
- package/src/redactor-metadata-compact-object.strategy.ts +1 -0
- package/src/redactor-url-query.strategy.ts +33 -0
- package/src/remote-file-storage-disk.adapter.ts +5 -5
- package/src/request-context-hono.adapter.ts +7 -1
- package/src/request-context.port.ts +14 -4
- package/src/sealer-aes-gcm.adapter.ts +6 -1
- package/src/secure-key-generator-crypto.adapter.ts +9 -1
- package/src/security-rule-bait-routes.strategy.ts +1 -1
- package/src/security-rule-honey-pot-field.strategy.ts +5 -4
- package/src/security-rule.strategy.ts +2 -4
- package/src/semaphore.service.ts +12 -9
- package/src/setup-hono.service.ts +1 -1
- package/src/shield-api-key-hono.strategy.ts +1 -1
- package/src/shield-api-key.strategy.ts +5 -5
- package/src/shield-auth.strategy.ts +10 -5
- package/src/shield-basic-auth-hono.strategy.ts +8 -2
- package/src/shield-basic-auth.strategy.ts +17 -4
- package/src/shield-csrf.strategy.ts +2 -2
- package/src/shield-hcaptcha-hono-local.strategy.ts +4 -2
- package/src/shield-hcaptcha.strategy.ts +10 -3
- package/src/shield-ip-blacklist.strategy.ts +4 -4
- package/src/shield-ip-whitelist.strategy.ts +3 -3
- package/src/shield-maintenance-hono.strategy.ts +7 -4
- package/src/shield-maintenance.strategy.ts +42 -6
- package/src/shield-rate-limit.strategy.ts +2 -2
- package/src/shield-recaptcha.strategy.ts +15 -9
- package/src/shield-timeout-hono.strategy.ts +1 -1
- package/src/shield-webhook-hono.strategy.ts +1 -1
- package/src/shield-webhook.strategy.ts +2 -2
- package/src/simulated-error.middleware.ts +3 -1
- package/src/sitemap-entry.vo.ts +1 -1
- package/src/sitemap-priority.vo.ts +1 -0
- package/src/slower-hono.middleware.ts +2 -5
- package/src/slower.middleware.ts +2 -2
- package/src/sms-with-logger.adapter.ts +1 -1
- package/src/sse-hono.handler.ts +4 -2
- package/src/sse-registry-collecting.adapter.ts +3 -1
- package/src/sse-registry-noop.adapter.ts +3 -1
- package/src/sse-registry-with-limit.adapter.ts +3 -3
- package/src/sse-registry-with-logger.adapter.ts +6 -4
- package/src/sse-registry.adapter.ts +10 -2
- package/src/sse-registry.port.ts +1 -1
- package/src/ssr-bun.service.ts +1 -1
- package/src/ssr.service.ts +1 -1
- package/src/standard-schema-validator.service.ts +1 -1
- package/src/static-config.adapter.ts +1 -1
- package/src/static-files-hono.service.ts +2 -2
- package/src/subject-application-resolver.vo.ts +3 -3
- package/src/subject-request-resolver.vo.ts +6 -3
- package/src/subject-segment-application.strategy.ts +2 -1
- package/src/subject-segment-build.strategy.ts +2 -0
- package/src/subject-segment-cookie.strategy.ts +4 -0
- package/src/subject-segment-env.strategy.ts +2 -0
- package/src/subject-segment-fixed.strategy.ts +2 -0
- package/src/subject-segment-header.strategy.ts +4 -0
- package/src/subject-segment-ip.strategy.ts +2 -0
- package/src/subject-segment-method.strategy.ts +10 -0
- package/src/subject-segment-param.strategy.ts +4 -0
- package/src/subject-segment-path.strategy.ts +2 -0
- package/src/subject-segment-query.strategy.ts +7 -7
- package/src/subject-segment-request.strategy.ts +8 -4
- package/src/subject-segment-user.strategy.ts +2 -0
- package/src/time-zone-offset-hono.middleware.ts +1 -1
- package/src/time-zone-offset.middleware.ts +4 -2
- package/src/timekeeper-google.adapter.ts +1 -1
- package/src/timing-hono.middleware.ts +3 -6
- package/src/timing.middleware.ts +15 -6
- package/src/trailing-slash-hono.middleware.ts +2 -2
- package/src/trailing-slash.middleware.ts +14 -2
- package/src/translations-provider-json.adapter.ts +6 -6
- package/src/translations-provider.port.ts +5 -0
- package/src/weak-etag-extractor-header.strategy.ts +4 -0
- package/src/weak-etag-extractor-hono.middleware.ts +1 -1
- package/src/weak-etag-extractor-param.strategy.ts +2 -0
- package/src/weak-etag-extractor.strategy.ts +2 -2
- package/src/webhook-signature-extractor.strategy.ts +2 -2
- package/src/woodchopper-dispatcher-async.strategy.ts +6 -11
- package/dist/cron-scheduler-croner.adapter.d.ts +0 -15
- package/dist/cron-scheduler-croner.adapter.d.ts.map +0 -1
- package/dist/cron-scheduler-croner.adapter.js +0 -23
- package/dist/cron-scheduler-croner.adapter.js.map +0 -1
- package/dist/disk-space-checker-shell.adapter.d.ts.map +0 -1
- package/dist/disk-space-checker-shell.adapter.js +0 -14
- package/dist/disk-space-checker-shell.adapter.js.map +0 -1
- package/dist/file-reader-raw-with-cache.adapter.d.ts +0 -20
- package/dist/file-reader-raw-with-cache.adapter.d.ts.map +0 -1
- package/dist/file-reader-raw-with-cache.adapter.js +0 -20
- package/dist/file-reader-raw-with-cache.adapter.js.map +0 -1
- package/src/cron-scheduler-croner.adapter.ts +0 -34
- package/src/disk-space-checker-shell.adapter.ts +0 -18
- package/src/file-reader-raw-with-cache.adapter.ts +0 -31
|
@@ -13,10 +13,9 @@ export class ReadinessHonoHandler implements HandlerHonoPort {
|
|
|
13
13
|
|
|
14
14
|
handle() {
|
|
15
15
|
return factory.createHandlers(async (c) => {
|
|
16
|
-
const
|
|
17
|
-
const code = readiness.ok ? 200 : 503;
|
|
16
|
+
const result = await this.handler.check();
|
|
18
17
|
|
|
19
|
-
return c.json(
|
|
18
|
+
return c.json(result.details, result.code, result.headers);
|
|
20
19
|
});
|
|
21
20
|
}
|
|
22
21
|
}
|
package/src/readiness.handler.ts
CHANGED
|
@@ -6,9 +6,15 @@ import {
|
|
|
6
6
|
|
|
7
7
|
export type ReadinessConfig = { prerequisites: ReadonlyArray<Prerequisite> };
|
|
8
8
|
|
|
9
|
+
export enum ReadinessStatusCode {
|
|
10
|
+
Ready = 200,
|
|
11
|
+
NotReady = 503,
|
|
12
|
+
}
|
|
13
|
+
|
|
9
14
|
type ReadinessResult = {
|
|
10
|
-
|
|
15
|
+
code: ReadinessStatusCode;
|
|
11
16
|
details: ReadonlyArray<{ label: PrerequisiteLabelType; outcome: PrerequisiteVerificationResult }>;
|
|
17
|
+
headers: Record<string, string>;
|
|
12
18
|
};
|
|
13
19
|
|
|
14
20
|
export class ReadinessHandler {
|
|
@@ -26,8 +32,13 @@ export class ReadinessHandler {
|
|
|
26
32
|
})),
|
|
27
33
|
);
|
|
28
34
|
|
|
35
|
+
// Undetermined keeps traffic flowing here, unlike healthcheck where it degrades to 207
|
|
29
36
|
const ok = details.every((detail) => detail.outcome.outcome !== PrerequisiteVerificationOutcome.failure);
|
|
30
37
|
|
|
31
|
-
return {
|
|
38
|
+
return {
|
|
39
|
+
code: ok ? ReadinessStatusCode.Ready : ReadinessStatusCode.NotReady,
|
|
40
|
+
details,
|
|
41
|
+
headers: { "Cache-Control": "no-store" },
|
|
42
|
+
};
|
|
32
43
|
}
|
|
33
44
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import type { RedactorStrategy } from "./redactor.strategy";
|
|
3
|
+
import { RedactorMask } from "./redactor-mask.strategy";
|
|
4
|
+
|
|
5
|
+
export class RedactorUrlQuery implements RedactorStrategy {
|
|
6
|
+
private readonly keys: Set<string>;
|
|
7
|
+
|
|
8
|
+
constructor(keys?: ReadonlyArray<string>) {
|
|
9
|
+
this.keys = new Set((keys?.length ? keys : RedactorMask.DEFAULT_KEYS).map((key) => key.toLowerCase()));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
redact<T>(input: T): T {
|
|
13
|
+
if (!tools.isPlainObject(input)) return input;
|
|
14
|
+
if (typeof input["url"] !== "string") return input;
|
|
15
|
+
|
|
16
|
+
return { ...input, url: this.mask(input["url"]) };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
private mask(url: string): string {
|
|
20
|
+
const [base, query] = url.split("?");
|
|
21
|
+
|
|
22
|
+
if (!query) return url;
|
|
23
|
+
|
|
24
|
+
const masked = new URLSearchParams(
|
|
25
|
+
Array.from(new URLSearchParams(query), ([key, value]) => [
|
|
26
|
+
key,
|
|
27
|
+
this.keys.has(key.toLowerCase()) ? "***" : value,
|
|
28
|
+
]),
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
return `${base}?${masked.toString()}`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -3,6 +3,7 @@ import * as v from "valibot";
|
|
|
3
3
|
import type { DirectoryEnsurerPort } from "./directory-ensurer.port";
|
|
4
4
|
import type { FileCleanerPort } from "./file-cleaner.port";
|
|
5
5
|
import type { FileCopierPort } from "./file-copier.port";
|
|
6
|
+
import type { FileInspectionPort } from "./file-inspection.port";
|
|
6
7
|
import type { FileRenamerPort } from "./file-renamer.port";
|
|
7
8
|
import type { HashFilePort } from "./hash-file.port";
|
|
8
9
|
import type { NonceProviderPort } from "./nonce-provider.port";
|
|
@@ -15,6 +16,7 @@ import type {
|
|
|
15
16
|
|
|
16
17
|
type Dependencies = {
|
|
17
18
|
HashFile: HashFilePort;
|
|
19
|
+
FileInspection: FileInspectionPort;
|
|
18
20
|
FileCleaner: FileCleanerPort;
|
|
19
21
|
FileRenamer: FileRenamerPort;
|
|
20
22
|
FileCopier: FileCopierPort;
|
|
@@ -71,11 +73,9 @@ export class RemoteFileStorageDiskAdapter implements RemoteFileStoragePort {
|
|
|
71
73
|
async getStream(key: tools.ObjectKeyType): Promise<ReadableStream | null> {
|
|
72
74
|
const path = this.resolveKeyToAbsoluteFilePath(key);
|
|
73
75
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
76
|
+
if (!(await this.deps.FileInspection.exists(path))) return null;
|
|
77
|
+
|
|
78
|
+
return Bun.file(path.get()).stream();
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
async delete(key: tools.ObjectKeyType): Promise<tools.ObjectKeyType> {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
1
2
|
import type { Context } from "hono";
|
|
2
3
|
import { getConnInfo } from "hono/bun";
|
|
3
4
|
import { getCookie } from "hono/cookie";
|
|
@@ -25,6 +26,7 @@ export class RequestContextHonoAdapter implements RequestContext {
|
|
|
25
26
|
return headers;
|
|
26
27
|
},
|
|
27
28
|
query: () => context.req.query(),
|
|
29
|
+
queries: () => context.req.queries(),
|
|
28
30
|
params: () => context.req.param(),
|
|
29
31
|
param: (name: string) => context.req.param(name),
|
|
30
32
|
cookie: (name) => getCookie(context)[name],
|
|
@@ -64,11 +66,15 @@ export class RequestContextHonoAdapter implements RequestContext {
|
|
|
64
66
|
context.req.header("x-real-ip") ||
|
|
65
67
|
context.req.header("x-forwarded-for")?.split(",")[0]?.trim() ||
|
|
66
68
|
getConnInfo(context).remote.address,
|
|
69
|
+
remoteIp: () => getConnInfo(context).remote.address,
|
|
67
70
|
ua: () => context.req.header("user-agent"),
|
|
68
71
|
};
|
|
69
72
|
|
|
70
73
|
this.middleware = {
|
|
71
|
-
|
|
74
|
+
revision: {
|
|
75
|
+
fromWeakETag: () => tools.Revision.fromWeakETag(context.get("WeakETag")),
|
|
76
|
+
fromETag: () => tools.Revision.fromETag(context.get("ETag")),
|
|
77
|
+
},
|
|
72
78
|
timeZoneOffset: () => context.get("timeZoneOffset"),
|
|
73
79
|
language: () => context.get("language"),
|
|
74
80
|
};
|
|
@@ -8,6 +8,7 @@ export interface RequestContext {
|
|
|
8
8
|
url(): string;
|
|
9
9
|
header(name: string): string | undefined;
|
|
10
10
|
query(): Record<string, string>;
|
|
11
|
+
queries(): Record<string, ReadonlyArray<string>>;
|
|
11
12
|
params(): Record<string, string>;
|
|
12
13
|
param(name: string): string | undefined;
|
|
13
14
|
cookie(name: string): string | undefined;
|
|
@@ -21,11 +22,12 @@ export interface RequestContext {
|
|
|
21
22
|
readonly identity: {
|
|
22
23
|
userId(): UUIDType | undefined;
|
|
23
24
|
ip(): string | undefined;
|
|
25
|
+
remoteIp(): string | undefined;
|
|
24
26
|
ua(): string | undefined;
|
|
25
27
|
};
|
|
26
28
|
|
|
27
29
|
readonly middleware: {
|
|
28
|
-
|
|
30
|
+
revision: { fromWeakETag(): tools.Revision; fromETag(): tools.Revision };
|
|
29
31
|
timeZoneOffset(): tools.Duration;
|
|
30
32
|
language(): tools.LanguageType;
|
|
31
33
|
};
|
|
@@ -59,6 +61,10 @@ export interface HasRequestQuery {
|
|
|
59
61
|
readonly request: { query(): Record<string, string> };
|
|
60
62
|
}
|
|
61
63
|
|
|
64
|
+
export interface HasRequestQueries {
|
|
65
|
+
readonly request: { queries(): Record<string, ReadonlyArray<string>> };
|
|
66
|
+
}
|
|
67
|
+
|
|
62
68
|
export interface HasRequestParams {
|
|
63
69
|
readonly request: { params(): Record<string, string> };
|
|
64
70
|
}
|
|
@@ -71,7 +77,7 @@ export interface HasRequestCookie {
|
|
|
71
77
|
readonly request: { cookie(name: string): string | undefined };
|
|
72
78
|
}
|
|
73
79
|
|
|
74
|
-
export interface
|
|
80
|
+
export interface HasRequestJson {
|
|
75
81
|
readonly request: { json(): Promise<Record<string, unknown>> };
|
|
76
82
|
}
|
|
77
83
|
|
|
@@ -91,12 +97,16 @@ export interface HasIdentityIp {
|
|
|
91
97
|
readonly identity: { ip(): string | undefined };
|
|
92
98
|
}
|
|
93
99
|
|
|
100
|
+
export interface HasIdentityRemoteIp {
|
|
101
|
+
readonly identity: { remoteIp(): string | undefined };
|
|
102
|
+
}
|
|
103
|
+
|
|
94
104
|
export interface HasIdentityUa {
|
|
95
105
|
readonly identity: { ua(): string | undefined };
|
|
96
106
|
}
|
|
97
107
|
|
|
98
|
-
export interface
|
|
99
|
-
readonly middleware: {
|
|
108
|
+
export interface HasMiddlewareRevision {
|
|
109
|
+
readonly middleware: { revision: { fromWeakETag(): tools.Revision; fromETag(): tools.Revision } };
|
|
100
110
|
}
|
|
101
111
|
|
|
102
112
|
export interface HasMiddlewareTimeZoneOffset {
|
|
@@ -5,7 +5,10 @@ import type { SealerPort } from "./sealer.port";
|
|
|
5
5
|
|
|
6
6
|
type Dependencies = { CryptoKeyProvider: CryptoKeyProviderPort };
|
|
7
7
|
|
|
8
|
-
export const SealerAesGcmAdapterError = {
|
|
8
|
+
export const SealerAesGcmAdapterError = {
|
|
9
|
+
InvalidPayload: "sealer.aes.gcm.adapter.invalid.payload",
|
|
10
|
+
Undefined: "sealer.aes.gcm.adapter.undefined.value",
|
|
11
|
+
};
|
|
9
12
|
|
|
10
13
|
export class SealerAesGcmAdapter implements SealerPort {
|
|
11
14
|
private static readonly PREFIX = "sealed:gcm:";
|
|
@@ -13,6 +16,8 @@ export class SealerAesGcmAdapter implements SealerPort {
|
|
|
13
16
|
constructor(private readonly deps: Dependencies) {}
|
|
14
17
|
|
|
15
18
|
async seal(value: unknown): Promise<string> {
|
|
19
|
+
if (value === undefined) throw new Error(SealerAesGcmAdapterError.Undefined);
|
|
20
|
+
|
|
16
21
|
const key = await this.deps.CryptoKeyProvider.get();
|
|
17
22
|
const iv = EncryptionIV.generate();
|
|
18
23
|
|
|
@@ -2,9 +2,17 @@ import type * as tools from "@bgord/tools";
|
|
|
2
2
|
import type { SecureKeyGeneratorPort } from "./secure-key-generator.port";
|
|
3
3
|
|
|
4
4
|
export class SecureKeyGeneratorCryptoAdapter implements SecureKeyGeneratorPort {
|
|
5
|
+
// crypto.getRandomValues is spec-limited to a 65536-byte view
|
|
6
|
+
static readonly MAX_BYTES = 65_536;
|
|
7
|
+
|
|
5
8
|
generate(bytes: tools.IntegerPositiveType): Uint8Array {
|
|
6
9
|
const buffer = new Uint8Array(bytes);
|
|
7
|
-
|
|
10
|
+
|
|
11
|
+
// Stryker disable next-line EqualityOperator
|
|
12
|
+
for (let offset = 0; offset < bytes; offset += SecureKeyGeneratorCryptoAdapter.MAX_BYTES) {
|
|
13
|
+
crypto.getRandomValues(buffer.subarray(offset, offset + SecureKeyGeneratorCryptoAdapter.MAX_BYTES));
|
|
14
|
+
}
|
|
15
|
+
|
|
8
16
|
return buffer;
|
|
9
17
|
}
|
|
10
18
|
}
|
|
@@ -7,7 +7,7 @@ export class SecurityRuleBaitRoutesStrategy implements SecurityRuleStrategy {
|
|
|
7
7
|
constructor(private readonly routes: ReadonlyArray<string>) {}
|
|
8
8
|
|
|
9
9
|
async isViolated(context: HasRequestPath): Promise<boolean> {
|
|
10
|
-
return this.routes.includes(context.request.path);
|
|
10
|
+
return this.routes.includes(context.request.path.toLowerCase().replace(/\/+$/, ""));
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
get name(): SecurityRuleNameType {
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
|
-
import type {
|
|
2
|
+
import type { HasRequestForm, HasRequestJson } from "./request-context.port";
|
|
3
3
|
import type { SecurityRuleStrategy } from "./security-rule.strategy";
|
|
4
4
|
import { SecurityRuleName, type SecurityRuleNameType } from "./security-rule-name.vo";
|
|
5
5
|
|
|
6
6
|
export class SecurityRuleHoneyPotFieldStrategy implements SecurityRuleStrategy {
|
|
7
7
|
constructor(private readonly field: string) {}
|
|
8
8
|
|
|
9
|
-
async isViolated(context:
|
|
9
|
+
async isViolated(context: HasRequestJson & HasRequestForm): Promise<boolean> {
|
|
10
10
|
const body = await context.request.json();
|
|
11
|
+
const form = await context.request.form();
|
|
11
12
|
|
|
12
|
-
const value = body[this.field];
|
|
13
|
+
const value = body[this.field] ?? form.get(this.field);
|
|
13
14
|
|
|
14
|
-
return value !==
|
|
15
|
+
return value !== null && value !== "";
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
get name(): SecurityRuleNameType {
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { HasRequestForm, HasRequestJson, HasRequestPath } from "./request-context.port";
|
|
2
2
|
import type { SecurityRuleNameType } from "./security-rule-name.vo";
|
|
3
3
|
|
|
4
|
-
type RequestContextCapabilities = HasRequestPath & HasRequestJSON;
|
|
5
|
-
|
|
6
4
|
export interface SecurityRuleStrategy {
|
|
7
|
-
isViolated(context:
|
|
5
|
+
isViolated(context: HasRequestPath & HasRequestJson & HasRequestForm): Promise<boolean>;
|
|
8
6
|
|
|
9
7
|
get name(): SecurityRuleNameType;
|
|
10
8
|
}
|
package/src/semaphore.service.ts
CHANGED
|
@@ -3,24 +3,27 @@ import type * as tools from "@bgord/tools";
|
|
|
3
3
|
export type SemaphoreConfig = { limit: tools.IntegerPositiveType };
|
|
4
4
|
|
|
5
5
|
export class Semaphore {
|
|
6
|
-
private readonly
|
|
6
|
+
private readonly limit: tools.IntegerPositiveType;
|
|
7
|
+
|
|
8
|
+
private active = 0;
|
|
9
|
+
|
|
10
|
+
private readonly waiting: Array<() => void> = [];
|
|
7
11
|
|
|
8
12
|
constructor(config: SemaphoreConfig) {
|
|
9
|
-
this.
|
|
13
|
+
this.limit = config.limit;
|
|
10
14
|
}
|
|
11
15
|
|
|
12
16
|
async run<T>(action: () => Promise<T>): Promise<T> {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
this.slots.push(promise);
|
|
17
|
-
|
|
18
|
-
await slot;
|
|
17
|
+
if (this.active >= this.limit) await new Promise<void>((resolve) => this.waiting.push(resolve));
|
|
18
|
+
else this.active++;
|
|
19
19
|
|
|
20
20
|
try {
|
|
21
21
|
return await action();
|
|
22
22
|
} finally {
|
|
23
|
-
|
|
23
|
+
const next = this.waiting.shift();
|
|
24
|
+
|
|
25
|
+
if (next) next();
|
|
26
|
+
else this.active--;
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
}
|
|
@@ -53,6 +53,7 @@ export class SetupHono {
|
|
|
53
53
|
new ShieldMaintenanceHonoStrategy(config.maintenanceMode).handle(),
|
|
54
54
|
new TrailingSlashHonoMiddleware().handle(),
|
|
55
55
|
new CorrelationHonoMiddleware(deps).handle(),
|
|
56
|
+
new TimingHonoMiddleware(deps).handle(),
|
|
56
57
|
new ApiVersionHonoMiddleware(deps).handle(),
|
|
57
58
|
new ShieldCsrfHonoStrategy(config.csrf).handle(),
|
|
58
59
|
secureHeaders({
|
|
@@ -76,7 +77,6 @@ export class SetupHono {
|
|
|
76
77
|
new LanguageDetectorHonoMiddleware(config.I18n).handle(),
|
|
77
78
|
new TimeZoneOffsetHonoMiddleware().handle(),
|
|
78
79
|
new HttpLoggerHonoMiddleware(deps, config.httpLogger).handle(),
|
|
79
|
-
new TimingHonoMiddleware(deps).handle(),
|
|
80
80
|
];
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -20,7 +20,7 @@ export class ShieldApiKeyHonoStrategy implements MiddlewareHonoPort {
|
|
|
20
20
|
const context = new RequestContextHonoAdapter(c);
|
|
21
21
|
|
|
22
22
|
if (this.strategy.evaluate(context)) return next();
|
|
23
|
-
throw new HTTPException(
|
|
23
|
+
throw new HTTPException(401, { message: ShieldApiKeyStrategyError.Rejected });
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { timingSafeEqual } from "node:crypto";
|
|
2
|
-
import
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
3
|
+
import * as v from "valibot";
|
|
3
4
|
import type { HasRequestHeader } from "./request-context.port";
|
|
4
5
|
|
|
5
6
|
export type ApiKeyShieldConfig = { API_KEY: tools.ApiKeyType };
|
|
@@ -12,11 +13,10 @@ export class ShieldApiKeyStrategy {
|
|
|
12
13
|
constructor(private readonly config: ApiKeyShieldConfig) {}
|
|
13
14
|
|
|
14
15
|
evaluate(context: HasRequestHeader): boolean {
|
|
15
|
-
const header = context.request.header(ShieldApiKeyStrategy.HEADER_NAME);
|
|
16
|
-
const config = this.config.API_KEY;
|
|
16
|
+
const header = v.safeParse(tools.ApiKey, context.request.header(ShieldApiKeyStrategy.HEADER_NAME));
|
|
17
17
|
|
|
18
|
-
if (header
|
|
18
|
+
if (!header.success) return false;
|
|
19
19
|
|
|
20
|
-
return timingSafeEqual(Buffer.from(header), Buffer.from(config));
|
|
20
|
+
return timingSafeEqual(Buffer.from(header.output), Buffer.from(this.config.API_KEY));
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -3,7 +3,10 @@ import type { HasRequestHeaders } from "./request-context.port";
|
|
|
3
3
|
|
|
4
4
|
type Dependencies<User, Session> = { AuthSessionReader: AuthSessionReaderPort<User, Session> };
|
|
5
5
|
|
|
6
|
-
export const ShieldAuthStrategyError = {
|
|
6
|
+
export const ShieldAuthStrategyError = {
|
|
7
|
+
Rejected: "shield.auth.rejected",
|
|
8
|
+
NotAttached: "shield.auth.not.attached",
|
|
9
|
+
};
|
|
7
10
|
|
|
8
11
|
export class ShieldAuthStrategy<User, Session> {
|
|
9
12
|
constructor(private readonly deps: Dependencies<User, Session>) {}
|
|
@@ -12,11 +15,13 @@ export class ShieldAuthStrategy<User, Session> {
|
|
|
12
15
|
return await this.deps.AuthSessionReader.getSession(context);
|
|
13
16
|
}
|
|
14
17
|
|
|
15
|
-
verify(user: User | null): boolean {
|
|
16
|
-
|
|
18
|
+
verify(user: User | null | undefined): boolean {
|
|
19
|
+
if (user === undefined) throw new Error(ShieldAuthStrategyError.NotAttached);
|
|
20
|
+
return user !== null;
|
|
17
21
|
}
|
|
18
22
|
|
|
19
|
-
reverse(user: User | null): boolean {
|
|
20
|
-
|
|
23
|
+
reverse(user: User | null | undefined): boolean {
|
|
24
|
+
if (user === undefined) throw new Error(ShieldAuthStrategyError.NotAttached);
|
|
25
|
+
return user === null;
|
|
21
26
|
}
|
|
22
27
|
}
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
export class ShieldBasicAuthHonoStrategy implements MiddlewareHonoPort {
|
|
12
12
|
private readonly strategy: ShieldBasicAuthStrategy;
|
|
13
13
|
|
|
14
|
-
constructor(config: ShieldBasicAuthConfig) {
|
|
14
|
+
constructor(private readonly config: ShieldBasicAuthConfig) {
|
|
15
15
|
this.strategy = new ShieldBasicAuthStrategy(config);
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -20,7 +20,13 @@ export class ShieldBasicAuthHonoStrategy implements MiddlewareHonoPort {
|
|
|
20
20
|
const context = new RequestContextHonoAdapter(c);
|
|
21
21
|
|
|
22
22
|
if (this.strategy.evaluate(context)) return next();
|
|
23
|
-
|
|
23
|
+
|
|
24
|
+
throw new HTTPException(401, {
|
|
25
|
+
message: ShieldBasicAuthStrategyError.Rejected,
|
|
26
|
+
res: new Response(ShieldBasicAuthStrategyError.Rejected, {
|
|
27
|
+
headers: { "WWW-Authenticate": `Basic realm="${this.config.realm}"` },
|
|
28
|
+
}),
|
|
29
|
+
});
|
|
24
30
|
};
|
|
25
31
|
}
|
|
26
32
|
}
|
|
@@ -3,7 +3,11 @@ import type { BasicAuthPasswordType } from "./basic-auth-password.vo";
|
|
|
3
3
|
import type { BasicAuthUsernameType } from "./basic-auth-username.vo";
|
|
4
4
|
import type { HasRequestHeader } from "./request-context.port";
|
|
5
5
|
|
|
6
|
-
export type ShieldBasicAuthConfig = {
|
|
6
|
+
export type ShieldBasicAuthConfig = {
|
|
7
|
+
username: BasicAuthUsernameType;
|
|
8
|
+
password: BasicAuthPasswordType;
|
|
9
|
+
realm: string;
|
|
10
|
+
};
|
|
7
11
|
|
|
8
12
|
export const ShieldBasicAuthStrategyError = { Rejected: "shield.basic.auth.rejected" };
|
|
9
13
|
|
|
@@ -16,11 +20,20 @@ export class ShieldBasicAuthStrategy {
|
|
|
16
20
|
try {
|
|
17
21
|
const credentials = atob(String(header).replace("Basic ", ""));
|
|
18
22
|
|
|
19
|
-
const
|
|
23
|
+
const index = credentials.indexOf(":");
|
|
20
24
|
|
|
21
|
-
if (
|
|
25
|
+
if (index === -1) return false;
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
const username = credentials.slice(0, index);
|
|
28
|
+
const password = credentials.slice(index + 1);
|
|
29
|
+
|
|
30
|
+
// Stryker disable next-line ConditionalExpression
|
|
31
|
+
if (username.length !== this.config.username.length) return false;
|
|
32
|
+
|
|
33
|
+
if (!timingSafeEqual(Buffer.from(username), Buffer.from(this.config.username))) return false;
|
|
34
|
+
|
|
35
|
+
// Stryker disable next-line ConditionalExpression
|
|
36
|
+
if (password.length !== this.config.password.length) return false;
|
|
24
37
|
|
|
25
38
|
return timingSafeEqual(Buffer.from(password), Buffer.from(this.config.password));
|
|
26
39
|
} catch {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HasRequestHeader, HasRequestMethod } from "./request-context.port";
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const SAFE_METHODS = ["GET", "HEAD", "OPTIONS", "TRACE"];
|
|
4
4
|
|
|
5
5
|
export type ShieldCsrfConfig = { origin: ReadonlyArray<string> };
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ export class ShieldCsrfStrategy {
|
|
|
10
10
|
constructor(private readonly config: ShieldCsrfConfig) {}
|
|
11
11
|
|
|
12
12
|
evaluate(context: HasRequestMethod & HasRequestHeader): boolean {
|
|
13
|
-
if (
|
|
13
|
+
if (SAFE_METHODS.includes(context.request.method)) return true;
|
|
14
14
|
|
|
15
15
|
const origin = context.request.header("origin");
|
|
16
16
|
|
|
@@ -3,7 +3,7 @@ import { HTTPException } from "hono/http-exception";
|
|
|
3
3
|
import * as v from "valibot";
|
|
4
4
|
import { HCaptchaSecretKey } from "./hcaptcha-secret-key.vo";
|
|
5
5
|
import type { MiddlewareHonoPort } from "./middleware-hono.port";
|
|
6
|
-
import type { HasRequestForm } from "./request-context.port";
|
|
6
|
+
import type { HasRequestForm, HasRequestJson } from "./request-context.port";
|
|
7
7
|
import { ShieldHcaptchaStrategy, ShieldHcaptchaStrategyField } from "./shield-hcaptcha.strategy";
|
|
8
8
|
|
|
9
9
|
export const ShieldHcaptchaLocalStrategyError = { Rejected: "shield.hcaptcha.local.rejected" };
|
|
@@ -26,7 +26,9 @@ export class ShieldHcaptchaLocalHonoStrategy implements MiddlewareHonoPort {
|
|
|
26
26
|
return async (_c, next) => {
|
|
27
27
|
const form = new FormData();
|
|
28
28
|
form.set(ShieldHcaptchaStrategyField, ShieldHcaptchaLocalHonoStrategy.TOKEN_LOCAL);
|
|
29
|
-
const context: HasRequestForm
|
|
29
|
+
const context: HasRequestForm & HasRequestJson = {
|
|
30
|
+
request: { form: async () => form, json: async () => ({}) },
|
|
31
|
+
};
|
|
30
32
|
|
|
31
33
|
if (await this.strategy.evaluate(context)) return next();
|
|
32
34
|
throw new HTTPException(403, { message: ShieldHcaptchaLocalStrategyError.Rejected });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HCaptchaService } from "./hcaptcha.service";
|
|
2
2
|
import type { HCaptchaSecretKeyType } from "./hcaptcha-secret-key.vo";
|
|
3
|
-
import type { HasRequestForm } from "./request-context.port";
|
|
3
|
+
import type { HasRequestForm, HasRequestJson } from "./request-context.port";
|
|
4
4
|
|
|
5
5
|
export const ShieldHcaptchaStrategyError = { Rejected: "shield.hcaptcha.rejected" };
|
|
6
6
|
|
|
@@ -11,10 +11,17 @@ export class ShieldHcaptchaStrategy {
|
|
|
11
11
|
|
|
12
12
|
constructor(private readonly secretKey: HCaptchaSecretKeyType) {}
|
|
13
13
|
|
|
14
|
-
async evaluate(context: HasRequestForm): Promise<boolean> {
|
|
14
|
+
async evaluate(context: HasRequestForm & HasRequestJson): Promise<boolean> {
|
|
15
15
|
try {
|
|
16
16
|
const form = await context.request.form();
|
|
17
|
-
const
|
|
17
|
+
const json = await context.request.json();
|
|
18
|
+
|
|
19
|
+
const fromForm = form.get(ShieldHcaptchaStrategyField)?.toString();
|
|
20
|
+
const fromJson = json[ShieldHcaptchaStrategyField];
|
|
21
|
+
|
|
22
|
+
const token = fromForm ?? (typeof fromJson === "string" ? fromJson : undefined);
|
|
23
|
+
|
|
24
|
+
if (!token) return false;
|
|
18
25
|
|
|
19
26
|
const result = await this.hcaptcha.verify(this.secretKey, token);
|
|
20
27
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import { ClientIp, type ClientIpType } from "./client-ip.vo";
|
|
3
|
-
import type {
|
|
3
|
+
import type { HasIdentityRemoteIp } from "./request-context.port";
|
|
4
4
|
|
|
5
5
|
export type ShieldIpBlacklistConfig = { blacklist: ReadonlyArray<ClientIpType> };
|
|
6
6
|
|
|
@@ -9,10 +9,10 @@ export const ShieldIpBlacklistStrategyError = { Rejected: "shield.ip.blacklist.r
|
|
|
9
9
|
export class ShieldIpBlacklistStrategy {
|
|
10
10
|
constructor(private readonly config: ShieldIpBlacklistConfig) {}
|
|
11
11
|
|
|
12
|
-
evaluate(context:
|
|
13
|
-
const ip = v.safeParse(ClientIp, context.identity.
|
|
12
|
+
evaluate(context: HasIdentityRemoteIp): boolean {
|
|
13
|
+
const ip = v.safeParse(ClientIp, context.identity.remoteIp());
|
|
14
14
|
|
|
15
|
-
if (!ip.success) return
|
|
15
|
+
if (!ip.success) return true;
|
|
16
16
|
return !this.config.blacklist.includes(ip.output);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as v from "valibot";
|
|
2
2
|
import { ClientIp, type ClientIpType } from "./client-ip.vo";
|
|
3
|
-
import type {
|
|
3
|
+
import type { HasIdentityRemoteIp } from "./request-context.port";
|
|
4
4
|
|
|
5
5
|
export type ShieldIpWhitelistConfig = { whitelist: ReadonlyArray<ClientIpType> };
|
|
6
6
|
|
|
@@ -9,8 +9,8 @@ export const ShieldIpWhitelistStrategyError = { Rejected: "shield.ip.whitelist.r
|
|
|
9
9
|
export class ShieldIpWhitelistStrategy {
|
|
10
10
|
constructor(private readonly config: ShieldIpWhitelistConfig) {}
|
|
11
11
|
|
|
12
|
-
evaluate(context:
|
|
13
|
-
const ip = v.safeParse(ClientIp, context.identity.
|
|
12
|
+
evaluate(context: HasIdentityRemoteIp): boolean {
|
|
13
|
+
const ip = v.safeParse(ClientIp, context.identity.remoteIp());
|
|
14
14
|
|
|
15
15
|
if (!ip.success) return false;
|
|
16
16
|
return this.config.whitelist.includes(ip.output);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { MiddlewareHandler } from "hono";
|
|
2
2
|
import type { MiddlewareHonoPort } from "./middleware-hono.port";
|
|
3
|
+
import { RequestContextHonoAdapter } from "./request-context-hono.adapter";
|
|
3
4
|
import { type ShieldMaintenanceConfig, ShieldMaintenanceStrategy } from "./shield-maintenance.strategy";
|
|
4
5
|
|
|
5
6
|
export class ShieldMaintenanceHonoStrategy implements MiddlewareHonoPort {
|
|
@@ -11,13 +12,15 @@ export class ShieldMaintenanceHonoStrategy implements MiddlewareHonoPort {
|
|
|
11
12
|
|
|
12
13
|
handle(): MiddlewareHandler {
|
|
13
14
|
return async (c, next) => {
|
|
14
|
-
const
|
|
15
|
+
const context = new RequestContextHonoAdapter(c);
|
|
16
|
+
|
|
17
|
+
if (this.strategy.shouldSkip(context)) return next();
|
|
18
|
+
|
|
19
|
+
const maintenance = await this.strategy.evaluate();
|
|
15
20
|
|
|
16
21
|
if (!maintenance.enabled) return next();
|
|
17
22
|
|
|
18
|
-
return c.json(
|
|
19
|
-
"Retry-After": maintenance.RetryAfter.seconds.toString(),
|
|
20
|
-
});
|
|
23
|
+
return c.json(maintenance.body, maintenance.code, maintenance.headers);
|
|
21
24
|
};
|
|
22
25
|
}
|
|
23
26
|
}
|