@de-otio/trellis 0.4.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/db.d.ts +36 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +39 -0
- package/dist/db.js.map +1 -0
- package/dist/env.d.ts +107 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +268 -0
- package/dist/env.js.map +1 -0
- package/dist/extensions.d.ts +15 -0
- package/dist/extensions.d.ts.map +1 -0
- package/dist/extensions.js +35 -0
- package/dist/extensions.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/lambda/cleanup-cron.d.ts +2 -0
- package/dist/lambda/cleanup-cron.d.ts.map +1 -0
- package/dist/lambda/cleanup-cron.js +38 -0
- package/dist/lambda/cleanup-cron.js.map +1 -0
- package/dist/lambda/create-auth-challenge.d.ts +2 -0
- package/dist/lambda/create-auth-challenge.d.ts.map +1 -0
- package/dist/lambda/create-auth-challenge.js +108 -0
- package/dist/lambda/create-auth-challenge.js.map +1 -0
- package/dist/lambda/custom-message.d.ts +3 -0
- package/dist/lambda/custom-message.d.ts.map +1 -0
- package/dist/lambda/custom-message.js +29 -0
- package/dist/lambda/custom-message.js.map +1 -0
- package/dist/lambda/define-auth-challenge.d.ts +2 -0
- package/dist/lambda/define-auth-challenge.d.ts.map +1 -0
- package/dist/lambda/define-auth-challenge.js +27 -0
- package/dist/lambda/define-auth-challenge.js.map +1 -0
- package/dist/lambda/delete-account-worker.d.ts +3 -0
- package/dist/lambda/delete-account-worker.d.ts.map +1 -0
- package/dist/lambda/delete-account-worker.js +122 -0
- package/dist/lambda/delete-account-worker.js.map +1 -0
- package/dist/lambda/diagnostics-proxy.d.ts +6 -0
- package/dist/lambda/diagnostics-proxy.d.ts.map +1 -0
- package/dist/lambda/diagnostics-proxy.js +154 -0
- package/dist/lambda/diagnostics-proxy.js.map +1 -0
- package/dist/lambda/e2e-sweeper.d.ts +18 -0
- package/dist/lambda/e2e-sweeper.d.ts.map +1 -0
- package/dist/lambda/e2e-sweeper.js +127 -0
- package/dist/lambda/e2e-sweeper.js.map +1 -0
- package/dist/lambda/federation-outbox-worker.d.ts +3 -0
- package/dist/lambda/federation-outbox-worker.d.ts.map +1 -0
- package/dist/lambda/federation-outbox-worker.js +11 -0
- package/dist/lambda/federation-outbox-worker.js.map +1 -0
- package/dist/lambda/followers-events-worker.d.ts +3 -0
- package/dist/lambda/followers-events-worker.d.ts.map +1 -0
- package/dist/lambda/followers-events-worker.js +11 -0
- package/dist/lambda/followers-events-worker.js.map +1 -0
- package/dist/lambda/hourly-cron.d.ts +2 -0
- package/dist/lambda/hourly-cron.d.ts.map +1 -0
- package/dist/lambda/hourly-cron.js +101 -0
- package/dist/lambda/hourly-cron.js.map +1 -0
- package/dist/lambda/link-check-worker.d.ts +3 -0
- package/dist/lambda/link-check-worker.d.ts.map +1 -0
- package/dist/lambda/link-check-worker.js +11 -0
- package/dist/lambda/link-check-worker.js.map +1 -0
- package/dist/lambda/maintenance-cron.d.ts +2 -0
- package/dist/lambda/maintenance-cron.d.ts.map +1 -0
- package/dist/lambda/maintenance-cron.js +127 -0
- package/dist/lambda/maintenance-cron.js.map +1 -0
- package/dist/lambda/media-processing-worker.d.ts +3 -0
- package/dist/lambda/media-processing-worker.d.ts.map +1 -0
- package/dist/lambda/media-processing-worker.js +95 -0
- package/dist/lambda/media-processing-worker.js.map +1 -0
- package/dist/lambda/media-reconciliation-worker.d.ts +3 -0
- package/dist/lambda/media-reconciliation-worker.d.ts.map +1 -0
- package/dist/lambda/media-reconciliation-worker.js +11 -0
- package/dist/lambda/media-reconciliation-worker.js.map +1 -0
- package/dist/lambda/nightly-cron.d.ts +2 -0
- package/dist/lambda/nightly-cron.d.ts.map +1 -0
- package/dist/lambda/nightly-cron.js +348 -0
- package/dist/lambda/nightly-cron.js.map +1 -0
- package/dist/lambda/post-confirmation.d.ts +3 -0
- package/dist/lambda/post-confirmation.d.ts.map +1 -0
- package/dist/lambda/post-confirmation.js +79 -0
- package/dist/lambda/post-confirmation.js.map +1 -0
- package/dist/lambda/pre-signup.d.ts +3 -0
- package/dist/lambda/pre-signup.d.ts.map +1 -0
- package/dist/lambda/pre-signup.js +35 -0
- package/dist/lambda/pre-signup.js.map +1 -0
- package/dist/lambda/pre-token-generation.d.ts +3 -0
- package/dist/lambda/pre-token-generation.d.ts.map +1 -0
- package/dist/lambda/pre-token-generation.js +79 -0
- package/dist/lambda/pre-token-generation.js.map +1 -0
- package/dist/lambda/tools/check-health.d.ts +6 -0
- package/dist/lambda/tools/check-health.d.ts.map +1 -0
- package/dist/lambda/tools/check-health.js +24 -0
- package/dist/lambda/tools/check-health.js.map +1 -0
- package/dist/lambda/tools/describe-services.d.ts +20 -0
- package/dist/lambda/tools/describe-services.d.ts.map +1 -0
- package/dist/lambda/tools/describe-services.js +41 -0
- package/dist/lambda/tools/describe-services.js.map +1 -0
- package/dist/lambda/tools/get-cost-report.d.ts +16 -0
- package/dist/lambda/tools/get-cost-report.d.ts.map +1 -0
- package/dist/lambda/tools/get-cost-report.js +54 -0
- package/dist/lambda/tools/get-cost-report.js.map +1 -0
- package/dist/lambda/tools/get-errors.d.ts +11 -0
- package/dist/lambda/tools/get-errors.d.ts.map +1 -0
- package/dist/lambda/tools/get-errors.js +62 -0
- package/dist/lambda/tools/get-errors.js.map +1 -0
- package/dist/lambda/tools/get-feature-flags.d.ts +8 -0
- package/dist/lambda/tools/get-feature-flags.d.ts.map +1 -0
- package/dist/lambda/tools/get-feature-flags.js +23 -0
- package/dist/lambda/tools/get-feature-flags.js.map +1 -0
- package/dist/lambda/tools/get-queue-status.d.ts +9 -0
- package/dist/lambda/tools/get-queue-status.d.ts.map +1 -0
- package/dist/lambda/tools/get-queue-status.js +46 -0
- package/dist/lambda/tools/get-queue-status.js.map +1 -0
- package/dist/lambda/tools/search-logs.d.ts +19 -0
- package/dist/lambda/tools/search-logs.d.ts.map +1 -0
- package/dist/lambda/tools/search-logs.js +55 -0
- package/dist/lambda/tools/search-logs.js.map +1 -0
- package/dist/lambda/tools/send-alert.d.ts +8 -0
- package/dist/lambda/tools/send-alert.d.ts.map +1 -0
- package/dist/lambda/tools/send-alert.js +29 -0
- package/dist/lambda/tools/send-alert.js.map +1 -0
- package/dist/lambda/verify-auth-challenge.d.ts +2 -0
- package/dist/lambda/verify-auth-challenge.d.ts.map +1 -0
- package/dist/lambda/verify-auth-challenge.js +35 -0
- package/dist/lambda/verify-auth-challenge.js.map +1 -0
- package/dist/lib/abuse-metrics.d.ts +44 -0
- package/dist/lib/abuse-metrics.d.ts.map +1 -0
- package/dist/lib/abuse-metrics.js +322 -0
- package/dist/lib/abuse-metrics.js.map +1 -0
- package/dist/lib/activitypub/activity-processor.d.ts +89 -0
- package/dist/lib/activitypub/activity-processor.d.ts.map +1 -0
- package/dist/lib/activitypub/activity-processor.js +709 -0
- package/dist/lib/activitypub/activity-processor.js.map +1 -0
- package/dist/lib/activitypub/activity-service.d.ts +47 -0
- package/dist/lib/activitypub/activity-service.d.ts.map +1 -0
- package/dist/lib/activitypub/activity-service.js +165 -0
- package/dist/lib/activitypub/activity-service.js.map +1 -0
- package/dist/lib/activitypub/actor.d.ts +44 -0
- package/dist/lib/activitypub/actor.d.ts.map +1 -0
- package/dist/lib/activitypub/actor.js +116 -0
- package/dist/lib/activitypub/actor.js.map +1 -0
- package/dist/lib/activitypub/audience-service.d.ts +52 -0
- package/dist/lib/activitypub/audience-service.d.ts.map +1 -0
- package/dist/lib/activitypub/audience-service.js +245 -0
- package/dist/lib/activitypub/audience-service.js.map +1 -0
- package/dist/lib/activitypub/crypto.d.ts +42 -0
- package/dist/lib/activitypub/crypto.d.ts.map +1 -0
- package/dist/lib/activitypub/crypto.js +129 -0
- package/dist/lib/activitypub/crypto.js.map +1 -0
- package/dist/lib/activitypub/delivery-service.d.ts +44 -0
- package/dist/lib/activitypub/delivery-service.d.ts.map +1 -0
- package/dist/lib/activitypub/delivery-service.js +259 -0
- package/dist/lib/activitypub/delivery-service.js.map +1 -0
- package/dist/lib/activitypub/dispatchers/entity-actor.d.ts +50 -0
- package/dist/lib/activitypub/dispatchers/entity-actor.d.ts.map +1 -0
- package/dist/lib/activitypub/dispatchers/entity-actor.js +247 -0
- package/dist/lib/activitypub/dispatchers/entity-actor.js.map +1 -0
- package/dist/lib/activitypub/dispatchers/group-actor.d.ts +47 -0
- package/dist/lib/activitypub/dispatchers/group-actor.d.ts.map +1 -0
- package/dist/lib/activitypub/dispatchers/group-actor.js +202 -0
- package/dist/lib/activitypub/dispatchers/group-actor.js.map +1 -0
- package/dist/lib/activitypub/dispatchers/user-actor.d.ts +47 -0
- package/dist/lib/activitypub/dispatchers/user-actor.d.ts.map +1 -0
- package/dist/lib/activitypub/dispatchers/user-actor.js +207 -0
- package/dist/lib/activitypub/dispatchers/user-actor.js.map +1 -0
- package/dist/lib/activitypub/dm-service.d.ts +35 -0
- package/dist/lib/activitypub/dm-service.d.ts.map +1 -0
- package/dist/lib/activitypub/dm-service.js +73 -0
- package/dist/lib/activitypub/dm-service.js.map +1 -0
- package/dist/lib/activitypub/entity-profile-service.d.ts +43 -0
- package/dist/lib/activitypub/entity-profile-service.d.ts.map +1 -0
- package/dist/lib/activitypub/entity-profile-service.js +80 -0
- package/dist/lib/activitypub/entity-profile-service.js.map +1 -0
- package/dist/lib/activitypub/fedify/config.d.ts +15 -0
- package/dist/lib/activitypub/fedify/config.d.ts.map +1 -0
- package/dist/lib/activitypub/fedify/config.js +38 -0
- package/dist/lib/activitypub/fedify/config.js.map +1 -0
- package/dist/lib/activitypub/fedify/context.d.ts +21 -0
- package/dist/lib/activitypub/fedify/context.d.ts.map +1 -0
- package/dist/lib/activitypub/fedify/context.js +67 -0
- package/dist/lib/activitypub/fedify/context.js.map +1 -0
- package/dist/lib/activitypub/fedify/runtime.d.ts +18 -0
- package/dist/lib/activitypub/fedify/runtime.d.ts.map +1 -0
- package/dist/lib/activitypub/fedify/runtime.js +26 -0
- package/dist/lib/activitypub/fedify/runtime.js.map +1 -0
- package/dist/lib/activitypub/friendship-service.d.ts +15 -0
- package/dist/lib/activitypub/friendship-service.d.ts.map +1 -0
- package/dist/lib/activitypub/friendship-service.js +26 -0
- package/dist/lib/activitypub/friendship-service.js.map +1 -0
- package/dist/lib/activitypub/group-service.d.ts +83 -0
- package/dist/lib/activitypub/group-service.d.ts.map +1 -0
- package/dist/lib/activitypub/group-service.js +301 -0
- package/dist/lib/activitypub/group-service.js.map +1 -0
- package/dist/lib/activitypub/http-signatures.d.ts +41 -0
- package/dist/lib/activitypub/http-signatures.d.ts.map +1 -0
- package/dist/lib/activitypub/http-signatures.js +284 -0
- package/dist/lib/activitypub/http-signatures.js.map +1 -0
- package/dist/lib/activitypub/jsonld.d.ts +39 -0
- package/dist/lib/activitypub/jsonld.d.ts.map +1 -0
- package/dist/lib/activitypub/jsonld.js +97 -0
- package/dist/lib/activitypub/jsonld.js.map +1 -0
- package/dist/lib/activitypub/listeners/friends-collection.d.ts +20 -0
- package/dist/lib/activitypub/listeners/friends-collection.d.ts.map +1 -0
- package/dist/lib/activitypub/listeners/friends-collection.js +105 -0
- package/dist/lib/activitypub/listeners/friends-collection.js.map +1 -0
- package/dist/lib/activitypub/listeners/http-signatures.d.ts +29 -0
- package/dist/lib/activitypub/listeners/http-signatures.d.ts.map +1 -0
- package/dist/lib/activitypub/listeners/http-signatures.js +208 -0
- package/dist/lib/activitypub/listeners/http-signatures.js.map +1 -0
- package/dist/lib/activitypub/listeners/inbox.d.ts +34 -0
- package/dist/lib/activitypub/listeners/inbox.d.ts.map +1 -0
- package/dist/lib/activitypub/listeners/inbox.js +226 -0
- package/dist/lib/activitypub/listeners/inbox.js.map +1 -0
- package/dist/lib/activitypub/listeners/outbox.d.ts +20 -0
- package/dist/lib/activitypub/listeners/outbox.d.ts.map +1 -0
- package/dist/lib/activitypub/listeners/outbox.js +117 -0
- package/dist/lib/activitypub/listeners/outbox.js.map +1 -0
- package/dist/lib/activitypub/remote-fetch-service.d.ts +108 -0
- package/dist/lib/activitypub/remote-fetch-service.d.ts.map +1 -0
- package/dist/lib/activitypub/remote-fetch-service.js +364 -0
- package/dist/lib/activitypub/remote-fetch-service.js.map +1 -0
- package/dist/lib/activitypub/services/abuse-prevention.d.ts +52 -0
- package/dist/lib/activitypub/services/abuse-prevention.d.ts.map +1 -0
- package/dist/lib/activitypub/services/abuse-prevention.js +118 -0
- package/dist/lib/activitypub/services/abuse-prevention.js.map +1 -0
- package/dist/lib/activitypub/services/dm-service-fedify.d.ts +46 -0
- package/dist/lib/activitypub/services/dm-service-fedify.d.ts.map +1 -0
- package/dist/lib/activitypub/services/dm-service-fedify.js +168 -0
- package/dist/lib/activitypub/services/dm-service-fedify.js.map +1 -0
- package/dist/lib/activitypub/services/fedify-converters.d.ts +51 -0
- package/dist/lib/activitypub/services/fedify-converters.d.ts.map +1 -0
- package/dist/lib/activitypub/services/fedify-converters.js +109 -0
- package/dist/lib/activitypub/services/fedify-converters.js.map +1 -0
- package/dist/lib/activitypub/services/fedify-delivery.d.ts +41 -0
- package/dist/lib/activitypub/services/fedify-delivery.d.ts.map +1 -0
- package/dist/lib/activitypub/services/fedify-delivery.js +186 -0
- package/dist/lib/activitypub/services/fedify-delivery.js.map +1 -0
- package/dist/lib/activitypub/services/follow-activity-service.d.ts +34 -0
- package/dist/lib/activitypub/services/follow-activity-service.d.ts.map +1 -0
- package/dist/lib/activitypub/services/follow-activity-service.js +64 -0
- package/dist/lib/activitypub/services/follow-activity-service.js.map +1 -0
- package/dist/lib/activitypub/services/post-service-fedify.d.ts +49 -0
- package/dist/lib/activitypub/services/post-service-fedify.d.ts.map +1 -0
- package/dist/lib/activitypub/services/post-service-fedify.js +281 -0
- package/dist/lib/activitypub/services/post-service-fedify.js.map +1 -0
- package/dist/lib/activitypub/services/remote-activity-handler.d.ts +22 -0
- package/dist/lib/activitypub/services/remote-activity-handler.d.ts.map +1 -0
- package/dist/lib/activitypub/services/remote-activity-handler.js +136 -0
- package/dist/lib/activitypub/services/remote-activity-handler.js.map +1 -0
- package/dist/lib/activitypub/standalone-mode.d.ts +34 -0
- package/dist/lib/activitypub/standalone-mode.d.ts.map +1 -0
- package/dist/lib/activitypub/standalone-mode.js +127 -0
- package/dist/lib/activitypub/standalone-mode.js.map +1 -0
- package/dist/lib/activitypub/webfinger/server.d.ts +16 -0
- package/dist/lib/activitypub/webfinger/server.d.ts.map +1 -0
- package/dist/lib/activitypub/webfinger/server.js +221 -0
- package/dist/lib/activitypub/webfinger/server.js.map +1 -0
- package/dist/lib/age-gate-middleware.d.ts +19 -0
- package/dist/lib/age-gate-middleware.d.ts.map +1 -0
- package/dist/lib/age-gate-middleware.js +26 -0
- package/dist/lib/age-gate-middleware.js.map +1 -0
- package/dist/lib/age-gate.d.ts +37 -0
- package/dist/lib/age-gate.d.ts.map +1 -0
- package/dist/lib/age-gate.js +96 -0
- package/dist/lib/age-gate.js.map +1 -0
- package/dist/lib/age-tier-transition.d.ts +21 -0
- package/dist/lib/age-tier-transition.d.ts.map +1 -0
- package/dist/lib/age-tier-transition.js +190 -0
- package/dist/lib/age-tier-transition.js.map +1 -0
- package/dist/lib/audit-logger.d.ts +142 -0
- package/dist/lib/audit-logger.d.ts.map +1 -0
- package/dist/lib/audit-logger.js +326 -0
- package/dist/lib/audit-logger.js.map +1 -0
- package/dist/lib/auth/cognito-jwt.d.ts +20 -0
- package/dist/lib/auth/cognito-jwt.d.ts.map +1 -0
- package/dist/lib/auth/cognito-jwt.js +56 -0
- package/dist/lib/auth/cognito-jwt.js.map +1 -0
- package/dist/lib/auth-context-manager.d.ts +116 -0
- package/dist/lib/auth-context-manager.d.ts.map +1 -0
- package/dist/lib/auth-context-manager.js +130 -0
- package/dist/lib/auth-context-manager.js.map +1 -0
- package/dist/lib/auth-handler.d.ts +19 -0
- package/dist/lib/auth-handler.d.ts.map +1 -0
- package/dist/lib/auth-handler.js +76 -0
- package/dist/lib/auth-handler.js.map +1 -0
- package/dist/lib/badge-handler.d.ts +20 -0
- package/dist/lib/badge-handler.d.ts.map +1 -0
- package/dist/lib/badge-handler.js +142 -0
- package/dist/lib/badge-handler.js.map +1 -0
- package/dist/lib/circle-handler.d.ts +22 -0
- package/dist/lib/circle-handler.d.ts.map +1 -0
- package/dist/lib/circle-handler.js +224 -0
- package/dist/lib/circle-handler.js.map +1 -0
- package/dist/lib/circuit-breaker.d.ts +27 -0
- package/dist/lib/circuit-breaker.d.ts.map +1 -0
- package/dist/lib/circuit-breaker.js +63 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/comment-handler.d.ts +77 -0
- package/dist/lib/comment-handler.d.ts.map +1 -0
- package/dist/lib/comment-handler.js +953 -0
- package/dist/lib/comment-handler.js.map +1 -0
- package/dist/lib/connection-code-handler.d.ts +17 -0
- package/dist/lib/connection-code-handler.d.ts.map +1 -0
- package/dist/lib/connection-code-handler.js +293 -0
- package/dist/lib/connection-code-handler.js.map +1 -0
- package/dist/lib/content-discovery.d.ts +113 -0
- package/dist/lib/content-discovery.d.ts.map +1 -0
- package/dist/lib/content-discovery.js +519 -0
- package/dist/lib/content-discovery.js.map +1 -0
- package/dist/lib/context-aware-data-access.d.ts +89 -0
- package/dist/lib/context-aware-data-access.d.ts.map +1 -0
- package/dist/lib/context-aware-data-access.js +97 -0
- package/dist/lib/context-aware-data-access.js.map +1 -0
- package/dist/lib/cors-handler.d.ts +29 -0
- package/dist/lib/cors-handler.d.ts.map +1 -0
- package/dist/lib/cors-handler.js +225 -0
- package/dist/lib/cors-handler.js.map +1 -0
- package/dist/lib/cost-accumulator.d.ts +58 -0
- package/dist/lib/cost-accumulator.d.ts.map +1 -0
- package/dist/lib/cost-accumulator.js +173 -0
- package/dist/lib/cost-accumulator.js.map +1 -0
- package/dist/lib/crypto/encryption-service.d.ts +100 -0
- package/dist/lib/crypto/encryption-service.d.ts.map +1 -0
- package/dist/lib/crypto/encryption-service.js +293 -0
- package/dist/lib/crypto/encryption-service.js.map +1 -0
- package/dist/lib/crypto/index.d.ts +22 -0
- package/dist/lib/crypto/index.d.ts.map +1 -0
- package/dist/lib/crypto/index.js +28 -0
- package/dist/lib/crypto/index.js.map +1 -0
- package/dist/lib/crypto/types.d.ts +71 -0
- package/dist/lib/crypto/types.d.ts.map +1 -0
- package/dist/lib/crypto/types.js +3 -0
- package/dist/lib/crypto/types.js.map +1 -0
- package/dist/lib/crypto/versioning.d.ts +112 -0
- package/dist/lib/crypto/versioning.d.ts.map +1 -0
- package/dist/lib/crypto/versioning.js +148 -0
- package/dist/lib/crypto/versioning.js.map +1 -0
- package/dist/lib/crypto/voting/elgamal-encryption.d.ts +156 -0
- package/dist/lib/crypto/voting/elgamal-encryption.d.ts.map +1 -0
- package/dist/lib/crypto/voting/elgamal-encryption.js +172 -0
- package/dist/lib/crypto/voting/elgamal-encryption.js.map +1 -0
- package/dist/lib/crypto/voting/encryption-scheme.d.ts +138 -0
- package/dist/lib/crypto/voting/encryption-scheme.d.ts.map +1 -0
- package/dist/lib/crypto/voting/encryption-scheme.js +13 -0
- package/dist/lib/crypto/voting/encryption-scheme.js.map +1 -0
- package/dist/lib/crypto/voting/hash-utils.d.ts +58 -0
- package/dist/lib/crypto/voting/hash-utils.d.ts.map +1 -0
- package/dist/lib/crypto/voting/hash-utils.js +73 -0
- package/dist/lib/crypto/voting/hash-utils.js.map +1 -0
- package/dist/lib/crypto/voting/hybrid-encryption.d.ts +109 -0
- package/dist/lib/crypto/voting/hybrid-encryption.d.ts.map +1 -0
- package/dist/lib/crypto/voting/hybrid-encryption.js +134 -0
- package/dist/lib/crypto/voting/hybrid-encryption.js.map +1 -0
- package/dist/lib/crypto/voting/index.d.ts +18 -0
- package/dist/lib/crypto/voting/index.d.ts.map +1 -0
- package/dist/lib/crypto/voting/index.js +27 -0
- package/dist/lib/crypto/voting/index.js.map +1 -0
- package/dist/lib/crypto/voting/post-quantum-encryption.d.ts +107 -0
- package/dist/lib/crypto/voting/post-quantum-encryption.d.ts.map +1 -0
- package/dist/lib/crypto/voting/post-quantum-encryption.js +123 -0
- package/dist/lib/crypto/voting/post-quantum-encryption.js.map +1 -0
- package/dist/lib/csrf.d.ts +95 -0
- package/dist/lib/csrf.d.ts.map +1 -0
- package/dist/lib/csrf.js +174 -0
- package/dist/lib/csrf.js.map +1 -0
- package/dist/lib/data-router.d.ts +209 -0
- package/dist/lib/data-router.d.ts.map +1 -0
- package/dist/lib/data-router.js +792 -0
- package/dist/lib/data-router.js.map +1 -0
- package/dist/lib/database-circuit-breaker.d.ts +75 -0
- package/dist/lib/database-circuit-breaker.d.ts.map +1 -0
- package/dist/lib/database-circuit-breaker.js +155 -0
- package/dist/lib/database-circuit-breaker.js.map +1 -0
- package/dist/lib/database-config.d.ts +20 -0
- package/dist/lib/database-config.d.ts.map +1 -0
- package/dist/lib/database-config.js +46 -0
- package/dist/lib/database-config.js.map +1 -0
- package/dist/lib/database-connection-manager.d.ts +99 -0
- package/dist/lib/database-connection-manager.d.ts.map +1 -0
- package/dist/lib/database-connection-manager.js +495 -0
- package/dist/lib/database-connection-manager.js.map +1 -0
- package/dist/lib/database-monitor.d.ts +89 -0
- package/dist/lib/database-monitor.d.ts.map +1 -0
- package/dist/lib/database-monitor.js +199 -0
- package/dist/lib/database-monitor.js.map +1 -0
- package/dist/lib/database-rate-limiter.d.ts +41 -0
- package/dist/lib/database-rate-limiter.d.ts.map +1 -0
- package/dist/lib/database-rate-limiter.js +90 -0
- package/dist/lib/database-rate-limiter.js.map +1 -0
- package/dist/lib/database-wrapper-helper.d.ts +44 -0
- package/dist/lib/database-wrapper-helper.d.ts.map +1 -0
- package/dist/lib/database-wrapper-helper.js +104 -0
- package/dist/lib/database-wrapper-helper.js.map +1 -0
- package/dist/lib/database-wrapper.d.ts +51 -0
- package/dist/lib/database-wrapper.d.ts.map +1 -0
- package/dist/lib/database-wrapper.js +109 -0
- package/dist/lib/database-wrapper.js.map +1 -0
- package/dist/lib/db-query-helper.d.ts +130 -0
- package/dist/lib/db-query-helper.d.ts.map +1 -0
- package/dist/lib/db-query-helper.js +105 -0
- package/dist/lib/db-query-helper.js.map +1 -0
- package/dist/lib/discovery-handler.d.ts +19 -0
- package/dist/lib/discovery-handler.d.ts.map +1 -0
- package/dist/lib/discovery-handler.js +195 -0
- package/dist/lib/discovery-handler.js.map +1 -0
- package/dist/lib/domain-reputation-service.d.ts +112 -0
- package/dist/lib/domain-reputation-service.d.ts.map +1 -0
- package/dist/lib/domain-reputation-service.js +344 -0
- package/dist/lib/domain-reputation-service.js.map +1 -0
- package/dist/lib/email-privacy.d.ts +54 -0
- package/dist/lib/email-privacy.d.ts.map +1 -0
- package/dist/lib/email-privacy.js +72 -0
- package/dist/lib/email-privacy.js.map +1 -0
- package/dist/lib/email-provider.d.ts +133 -0
- package/dist/lib/email-provider.d.ts.map +1 -0
- package/dist/lib/email-provider.js +391 -0
- package/dist/lib/email-provider.js.map +1 -0
- package/dist/lib/encryption-key-service.d.ts +115 -0
- package/dist/lib/encryption-key-service.d.ts.map +1 -0
- package/dist/lib/encryption-key-service.js +272 -0
- package/dist/lib/encryption-key-service.js.map +1 -0
- package/dist/lib/entity-handler.d.ts +59 -0
- package/dist/lib/entity-handler.d.ts.map +1 -0
- package/dist/lib/entity-handler.js +866 -0
- package/dist/lib/entity-handler.js.map +1 -0
- package/dist/lib/entity-relationship-handler.d.ts +19 -0
- package/dist/lib/entity-relationship-handler.d.ts.map +1 -0
- package/dist/lib/entity-relationship-handler.js +242 -0
- package/dist/lib/entity-relationship-handler.js.map +1 -0
- package/dist/lib/entity-tagging-errors.d.ts +32 -0
- package/dist/lib/entity-tagging-errors.d.ts.map +1 -0
- package/dist/lib/entity-tagging-errors.js +53 -0
- package/dist/lib/entity-tagging-errors.js.map +1 -0
- package/dist/lib/entity-tagging-validator.d.ts +47 -0
- package/dist/lib/entity-tagging-validator.d.ts.map +1 -0
- package/dist/lib/entity-tagging-validator.js +84 -0
- package/dist/lib/entity-tagging-validator.js.map +1 -0
- package/dist/lib/exif-stripper.d.ts +37 -0
- package/dist/lib/exif-stripper.d.ts.map +1 -0
- package/dist/lib/exif-stripper.js +62 -0
- package/dist/lib/exif-stripper.js.map +1 -0
- package/dist/lib/extension-context.d.ts +19 -0
- package/dist/lib/extension-context.d.ts.map +1 -0
- package/dist/lib/extension-context.js +78 -0
- package/dist/lib/extension-context.js.map +1 -0
- package/dist/lib/extension-route-wrapper.d.ts +21 -0
- package/dist/lib/extension-route-wrapper.d.ts.map +1 -0
- package/dist/lib/extension-route-wrapper.js +113 -0
- package/dist/lib/extension-route-wrapper.js.map +1 -0
- package/dist/lib/extension-validator.d.ts +12 -0
- package/dist/lib/extension-validator.d.ts.map +1 -0
- package/dist/lib/extension-validator.js +60 -0
- package/dist/lib/extension-validator.js.map +1 -0
- package/dist/lib/feature-flags.d.ts +56 -0
- package/dist/lib/feature-flags.d.ts.map +1 -0
- package/dist/lib/feature-flags.js +140 -0
- package/dist/lib/feature-flags.js.map +1 -0
- package/dist/lib/feature-toggle-service.d.ts +48 -0
- package/dist/lib/feature-toggle-service.d.ts.map +1 -0
- package/dist/lib/feature-toggle-service.js +167 -0
- package/dist/lib/feature-toggle-service.js.map +1 -0
- package/dist/lib/feed-handler.d.ts +152 -0
- package/dist/lib/feed-handler.d.ts.map +1 -0
- package/dist/lib/feed-handler.js +784 -0
- package/dist/lib/feed-handler.js.map +1 -0
- package/dist/lib/feed-pagination.d.ts +42 -0
- package/dist/lib/feed-pagination.d.ts.map +1 -0
- package/dist/lib/feed-pagination.js +54 -0
- package/dist/lib/feed-pagination.js.map +1 -0
- package/dist/lib/feed-personalization.d.ts +52 -0
- package/dist/lib/feed-personalization.d.ts.map +1 -0
- package/dist/lib/feed-personalization.js +105 -0
- package/dist/lib/feed-personalization.js.map +1 -0
- package/dist/lib/followers-events.d.ts +37 -0
- package/dist/lib/followers-events.d.ts.map +1 -0
- package/dist/lib/followers-events.js +149 -0
- package/dist/lib/followers-events.js.map +1 -0
- package/dist/lib/followers-handler.d.ts +21 -0
- package/dist/lib/followers-handler.d.ts.map +1 -0
- package/dist/lib/followers-handler.js +35 -0
- package/dist/lib/followers-handler.js.map +1 -0
- package/dist/lib/friends-handler.d.ts +78 -0
- package/dist/lib/friends-handler.d.ts.map +1 -0
- package/dist/lib/friends-handler.js +390 -0
- package/dist/lib/friends-handler.js.map +1 -0
- package/dist/lib/graph/dual-write-service.d.ts +116 -0
- package/dist/lib/graph/dual-write-service.d.ts.map +1 -0
- package/dist/lib/graph/dual-write-service.js +332 -0
- package/dist/lib/graph/dual-write-service.js.map +1 -0
- package/dist/lib/graph/dual-write.d.ts +396 -0
- package/dist/lib/graph/dual-write.d.ts.map +1 -0
- package/dist/lib/graph/dual-write.js +53 -0
- package/dist/lib/graph/dual-write.js.map +1 -0
- package/dist/lib/graph/errors.d.ts +90 -0
- package/dist/lib/graph/errors.d.ts.map +1 -0
- package/dist/lib/graph/errors.js +131 -0
- package/dist/lib/graph/errors.js.map +1 -0
- package/dist/lib/graph/graph-factory.d.ts +64 -0
- package/dist/lib/graph/graph-factory.d.ts.map +1 -0
- package/dist/lib/graph/graph-factory.js +190 -0
- package/dist/lib/graph/graph-factory.js.map +1 -0
- package/dist/lib/graph/graph-schema-init.d.ts +31 -0
- package/dist/lib/graph/graph-schema-init.d.ts.map +1 -0
- package/dist/lib/graph/graph-schema-init.js +105 -0
- package/dist/lib/graph/graph-schema-init.js.map +1 -0
- package/dist/lib/graph/graph-service.d.ts +479 -0
- package/dist/lib/graph/graph-service.d.ts.map +1 -0
- package/dist/lib/graph/graph-service.js +21 -0
- package/dist/lib/graph/graph-service.js.map +1 -0
- package/dist/lib/graph/index.d.ts +40 -0
- package/dist/lib/graph/index.d.ts.map +1 -0
- package/dist/lib/graph/index.js +74 -0
- package/dist/lib/graph/index.js.map +1 -0
- package/dist/lib/graph/neo4j-graph-service.d.ts +186 -0
- package/dist/lib/graph/neo4j-graph-service.d.ts.map +1 -0
- package/dist/lib/graph/neo4j-graph-service.js +1625 -0
- package/dist/lib/graph/neo4j-graph-service.js.map +1 -0
- package/dist/lib/graph/reconciliation-service.d.ts +113 -0
- package/dist/lib/graph/reconciliation-service.d.ts.map +1 -0
- package/dist/lib/graph/reconciliation-service.js +533 -0
- package/dist/lib/graph/reconciliation-service.js.map +1 -0
- package/dist/lib/graph/scoring-engine.d.ts +154 -0
- package/dist/lib/graph/scoring-engine.d.ts.map +1 -0
- package/dist/lib/graph/scoring-engine.js +286 -0
- package/dist/lib/graph/scoring-engine.js.map +1 -0
- package/dist/lib/graph/types.d.ts +480 -0
- package/dist/lib/graph/types.d.ts.map +1 -0
- package/dist/lib/graph/types.js +10 -0
- package/dist/lib/graph/types.js.map +1 -0
- package/dist/lib/hook-dispatcher.d.ts +21 -0
- package/dist/lib/hook-dispatcher.d.ts.map +1 -0
- package/dist/lib/hook-dispatcher.js +62 -0
- package/dist/lib/hook-dispatcher.js.map +1 -0
- package/dist/lib/id-generator.d.ts +29 -0
- package/dist/lib/id-generator.d.ts.map +1 -0
- package/dist/lib/id-generator.js +51 -0
- package/dist/lib/id-generator.js.map +1 -0
- package/dist/lib/input-sanitizer.d.ts +55 -0
- package/dist/lib/input-sanitizer.d.ts.map +1 -0
- package/dist/lib/input-sanitizer.js +167 -0
- package/dist/lib/input-sanitizer.js.map +1 -0
- package/dist/lib/internal-docs-dashboard.json +112 -0
- package/dist/lib/internal-docs-handler.d.ts +60 -0
- package/dist/lib/internal-docs-handler.d.ts.map +1 -0
- package/dist/lib/internal-docs-handler.js +570 -0
- package/dist/lib/internal-docs-handler.js.map +1 -0
- package/dist/lib/internal-docs-navigation.d.ts +42 -0
- package/dist/lib/internal-docs-navigation.d.ts.map +1 -0
- package/dist/lib/internal-docs-navigation.js +73 -0
- package/dist/lib/internal-docs-navigation.js.map +1 -0
- package/dist/lib/internal-docs-navigation.json +169 -0
- package/dist/lib/invitation-handler.d.ts +133 -0
- package/dist/lib/invitation-handler.d.ts.map +1 -0
- package/dist/lib/invitation-handler.js +1335 -0
- package/dist/lib/invitation-handler.js.map +1 -0
- package/dist/lib/ip-scrubber.d.ts +59 -0
- package/dist/lib/ip-scrubber.d.ts.map +1 -0
- package/dist/lib/ip-scrubber.js +101 -0
- package/dist/lib/ip-scrubber.js.map +1 -0
- package/dist/lib/kv/dynamodb-kv.d.ts +39 -0
- package/dist/lib/kv/dynamodb-kv.d.ts.map +1 -0
- package/dist/lib/kv/dynamodb-kv.js +239 -0
- package/dist/lib/kv/dynamodb-kv.js.map +1 -0
- package/dist/lib/link-security-handler.d.ts +140 -0
- package/dist/lib/link-security-handler.d.ts.map +1 -0
- package/dist/lib/link-security-handler.js +460 -0
- package/dist/lib/link-security-handler.js.map +1 -0
- package/dist/lib/logger.d.ts +100 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +201 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/media-cleanup-handler.d.ts +46 -0
- package/dist/lib/media-cleanup-handler.d.ts.map +1 -0
- package/dist/lib/media-cleanup-handler.js +190 -0
- package/dist/lib/media-cleanup-handler.js.map +1 -0
- package/dist/lib/media-handler.d.ts +150 -0
- package/dist/lib/media-handler.d.ts.map +1 -0
- package/dist/lib/media-handler.js +1544 -0
- package/dist/lib/media-handler.js.map +1 -0
- package/dist/lib/media-metadata-extractor.d.ts +71 -0
- package/dist/lib/media-metadata-extractor.d.ts.map +1 -0
- package/dist/lib/media-metadata-extractor.js +278 -0
- package/dist/lib/media-metadata-extractor.js.map +1 -0
- package/dist/lib/media-metrics.d.ts +57 -0
- package/dist/lib/media-metrics.d.ts.map +1 -0
- package/dist/lib/media-metrics.js +202 -0
- package/dist/lib/media-metrics.js.map +1 -0
- package/dist/lib/metadata/index.d.ts +6 -0
- package/dist/lib/metadata/index.d.ts.map +1 -0
- package/dist/lib/metadata/index.js +22 -0
- package/dist/lib/metadata/index.js.map +1 -0
- package/dist/lib/metadata/metadata-config.d.ts +17 -0
- package/dist/lib/metadata/metadata-config.d.ts.map +1 -0
- package/dist/lib/metadata/metadata-config.js +23 -0
- package/dist/lib/metadata/metadata-config.js.map +1 -0
- package/dist/lib/metadata/metadata-errors.d.ts +18 -0
- package/dist/lib/metadata/metadata-errors.d.ts.map +1 -0
- package/dist/lib/metadata/metadata-errors.js +26 -0
- package/dist/lib/metadata/metadata-errors.js.map +1 -0
- package/dist/lib/metadata/metadata-extractor.d.ts +17 -0
- package/dist/lib/metadata/metadata-extractor.d.ts.map +1 -0
- package/dist/lib/metadata/metadata-extractor.js +264 -0
- package/dist/lib/metadata/metadata-extractor.js.map +1 -0
- package/dist/lib/metadata/metadata-sanitizer.d.ts +9 -0
- package/dist/lib/metadata/metadata-sanitizer.d.ts.map +1 -0
- package/dist/lib/metadata/metadata-sanitizer.js +100 -0
- package/dist/lib/metadata/metadata-sanitizer.js.map +1 -0
- package/dist/lib/metadata/metadata-schemas.d.ts +131 -0
- package/dist/lib/metadata/metadata-schemas.d.ts.map +1 -0
- package/dist/lib/metadata/metadata-schemas.js +71 -0
- package/dist/lib/metadata/metadata-schemas.js.map +1 -0
- package/dist/lib/mfa/mfa-handler.d.ts +60 -0
- package/dist/lib/mfa/mfa-handler.d.ts.map +1 -0
- package/dist/lib/mfa/mfa-handler.js +150 -0
- package/dist/lib/mfa/mfa-handler.js.map +1 -0
- package/dist/lib/mfa/totp-service.d.ts +41 -0
- package/dist/lib/mfa/totp-service.d.ts.map +1 -0
- package/dist/lib/mfa/totp-service.js +183 -0
- package/dist/lib/mfa/totp-service.js.map +1 -0
- package/dist/lib/middleware/comment-rate-limit.d.ts +19 -0
- package/dist/lib/middleware/comment-rate-limit.d.ts.map +1 -0
- package/dist/lib/middleware/comment-rate-limit.js +113 -0
- package/dist/lib/middleware/comment-rate-limit.js.map +1 -0
- package/dist/lib/middleware/feature-toggle-rate-limit.d.ts +53 -0
- package/dist/lib/middleware/feature-toggle-rate-limit.d.ts.map +1 -0
- package/dist/lib/middleware/feature-toggle-rate-limit.js +164 -0
- package/dist/lib/middleware/feature-toggle-rate-limit.js.map +1 -0
- package/dist/lib/middleware.d.ts +70 -0
- package/dist/lib/middleware.d.ts.map +1 -0
- package/dist/lib/middleware.js +375 -0
- package/dist/lib/middleware.js.map +1 -0
- package/dist/lib/moderation-handler.d.ts +55 -0
- package/dist/lib/moderation-handler.d.ts.map +1 -0
- package/dist/lib/moderation-handler.js +230 -0
- package/dist/lib/moderation-handler.js.map +1 -0
- package/dist/lib/notification-handler.d.ts +65 -0
- package/dist/lib/notification-handler.d.ts.map +1 -0
- package/dist/lib/notification-handler.js +236 -0
- package/dist/lib/notification-handler.js.map +1 -0
- package/dist/lib/notification-preferences-handler.d.ts +27 -0
- package/dist/lib/notification-preferences-handler.d.ts.map +1 -0
- package/dist/lib/notification-preferences-handler.js +119 -0
- package/dist/lib/notification-preferences-handler.js.map +1 -0
- package/dist/lib/openai-budget.d.ts +45 -0
- package/dist/lib/openai-budget.d.ts.map +1 -0
- package/dist/lib/openai-budget.js +175 -0
- package/dist/lib/openai-budget.js.map +1 -0
- package/dist/lib/orphaned-media-handler.d.ts +60 -0
- package/dist/lib/orphaned-media-handler.d.ts.map +1 -0
- package/dist/lib/orphaned-media-handler.js +487 -0
- package/dist/lib/orphaned-media-handler.js.map +1 -0
- package/dist/lib/parental-control-handler.d.ts +42 -0
- package/dist/lib/parental-control-handler.d.ts.map +1 -0
- package/dist/lib/parental-control-handler.js +327 -0
- package/dist/lib/parental-control-handler.js.map +1 -0
- package/dist/lib/parental-link-handler.d.ts +38 -0
- package/dist/lib/parental-link-handler.d.ts.map +1 -0
- package/dist/lib/parental-link-handler.js +217 -0
- package/dist/lib/parental-link-handler.js.map +1 -0
- package/dist/lib/performance-metrics.d.ts +125 -0
- package/dist/lib/performance-metrics.d.ts.map +1 -0
- package/dist/lib/performance-metrics.js +277 -0
- package/dist/lib/performance-metrics.js.map +1 -0
- package/dist/lib/post-handler.d.ts +94 -0
- package/dist/lib/post-handler.d.ts.map +1 -0
- package/dist/lib/post-handler.js +1346 -0
- package/dist/lib/post-handler.js.map +1 -0
- package/dist/lib/privacy-defaults.d.ts +32 -0
- package/dist/lib/privacy-defaults.d.ts.map +1 -0
- package/dist/lib/privacy-defaults.js +85 -0
- package/dist/lib/privacy-defaults.js.map +1 -0
- package/dist/lib/privacy-handler.d.ts +43 -0
- package/dist/lib/privacy-handler.d.ts.map +1 -0
- package/dist/lib/privacy-handler.js +124 -0
- package/dist/lib/privacy-handler.js.map +1 -0
- package/dist/lib/queue/sqs-queue.d.ts +16 -0
- package/dist/lib/queue/sqs-queue.d.ts.map +1 -0
- package/dist/lib/queue/sqs-queue.js +39 -0
- package/dist/lib/queue/sqs-queue.js.map +1 -0
- package/dist/lib/queue-consumers/media-reconciliation-consumer.d.ts +9 -0
- package/dist/lib/queue-consumers/media-reconciliation-consumer.d.ts.map +1 -0
- package/dist/lib/queue-consumers/media-reconciliation-consumer.js +37 -0
- package/dist/lib/queue-consumers/media-reconciliation-consumer.js.map +1 -0
- package/dist/lib/quiet-hours.d.ts +33 -0
- package/dist/lib/quiet-hours.d.ts.map +1 -0
- package/dist/lib/quiet-hours.js +51 -0
- package/dist/lib/quiet-hours.js.map +1 -0
- package/dist/lib/rate-limit.d.ts +95 -0
- package/dist/lib/rate-limit.d.ts.map +1 -0
- package/dist/lib/rate-limit.js +247 -0
- package/dist/lib/rate-limit.js.map +1 -0
- package/dist/lib/reaction-handler.d.ts +68 -0
- package/dist/lib/reaction-handler.d.ts.map +1 -0
- package/dist/lib/reaction-handler.js +858 -0
- package/dist/lib/reaction-handler.js.map +1 -0
- package/dist/lib/recaptcha.d.ts +16 -0
- package/dist/lib/recaptcha.d.ts.map +1 -0
- package/dist/lib/recaptcha.js +71 -0
- package/dist/lib/recaptcha.js.map +1 -0
- package/dist/lib/redirect-resolver.d.ts +78 -0
- package/dist/lib/redirect-resolver.d.ts.map +1 -0
- package/dist/lib/redirect-resolver.js +276 -0
- package/dist/lib/redirect-resolver.js.map +1 -0
- package/dist/lib/region-config.d.ts +179 -0
- package/dist/lib/region-config.d.ts.map +1 -0
- package/dist/lib/region-config.js +474 -0
- package/dist/lib/region-config.js.map +1 -0
- package/dist/lib/region-detection.d.ts +110 -0
- package/dist/lib/region-detection.d.ts.map +1 -0
- package/dist/lib/region-detection.js +408 -0
- package/dist/lib/region-detection.js.map +1 -0
- package/dist/lib/relationship-handler.d.ts +19 -0
- package/dist/lib/relationship-handler.d.ts.map +1 -0
- package/dist/lib/relationship-handler.js +233 -0
- package/dist/lib/relationship-handler.js.map +1 -0
- package/dist/lib/request-context.d.ts +103 -0
- package/dist/lib/request-context.d.ts.map +1 -0
- package/dist/lib/request-context.js +179 -0
- package/dist/lib/request-context.js.map +1 -0
- package/dist/lib/route-helpers.d.ts +74 -0
- package/dist/lib/route-helpers.d.ts.map +1 -0
- package/dist/lib/route-helpers.js +190 -0
- package/dist/lib/route-helpers.js.map +1 -0
- package/dist/lib/route-matcher.d.ts +24 -0
- package/dist/lib/route-matcher.d.ts.map +1 -0
- package/dist/lib/route-matcher.js +96 -0
- package/dist/lib/route-matcher.js.map +1 -0
- package/dist/lib/router.d.ts +26 -0
- package/dist/lib/router.d.ts.map +1 -0
- package/dist/lib/router.js +90 -0
- package/dist/lib/router.js.map +1 -0
- package/dist/lib/routes/activitypub/actor.d.ts +12 -0
- package/dist/lib/routes/activitypub/actor.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/actor.js +141 -0
- package/dist/lib/routes/activitypub/actor.js.map +1 -0
- package/dist/lib/routes/activitypub/audiences.d.ts +12 -0
- package/dist/lib/routes/activitypub/audiences.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/audiences.js +325 -0
- package/dist/lib/routes/activitypub/audiences.js.map +1 -0
- package/dist/lib/routes/activitypub/collections.d.ts +12 -0
- package/dist/lib/routes/activitypub/collections.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/collections.js +127 -0
- package/dist/lib/routes/activitypub/collections.js.map +1 -0
- package/dist/lib/routes/activitypub/entity-profile.d.ts +9 -0
- package/dist/lib/routes/activitypub/entity-profile.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/entity-profile.js +136 -0
- package/dist/lib/routes/activitypub/entity-profile.js.map +1 -0
- package/dist/lib/routes/activitypub/friends.d.ts +15 -0
- package/dist/lib/routes/activitypub/friends.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/friends.js +33 -0
- package/dist/lib/routes/activitypub/friends.js.map +1 -0
- package/dist/lib/routes/activitypub/group.d.ts +8 -0
- package/dist/lib/routes/activitypub/group.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/group.js +436 -0
- package/dist/lib/routes/activitypub/group.js.map +1 -0
- package/dist/lib/routes/activitypub/inbox.d.ts +15 -0
- package/dist/lib/routes/activitypub/inbox.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/inbox.js +125 -0
- package/dist/lib/routes/activitypub/inbox.js.map +1 -0
- package/dist/lib/routes/activitypub/messages.d.ts +12 -0
- package/dist/lib/routes/activitypub/messages.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/messages.js +374 -0
- package/dist/lib/routes/activitypub/messages.js.map +1 -0
- package/dist/lib/routes/activitypub/outbox.d.ts +15 -0
- package/dist/lib/routes/activitypub/outbox.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/outbox.js +33 -0
- package/dist/lib/routes/activitypub/outbox.js.map +1 -0
- package/dist/lib/routes/activitypub/post.d.ts +12 -0
- package/dist/lib/routes/activitypub/post.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/post.js +213 -0
- package/dist/lib/routes/activitypub/post.js.map +1 -0
- package/dist/lib/routes/activitypub/webfinger.d.ts +11 -0
- package/dist/lib/routes/activitypub/webfinger.d.ts.map +1 -0
- package/dist/lib/routes/activitypub/webfinger.js +27 -0
- package/dist/lib/routes/activitypub/webfinger.js.map +1 -0
- package/dist/lib/routes/admin-costs.d.ts +8 -0
- package/dist/lib/routes/admin-costs.d.ts.map +1 -0
- package/dist/lib/routes/admin-costs.js +89 -0
- package/dist/lib/routes/admin-costs.js.map +1 -0
- package/dist/lib/routes/admin.d.ts +6 -0
- package/dist/lib/routes/admin.d.ts.map +1 -0
- package/dist/lib/routes/admin.js +1450 -0
- package/dist/lib/routes/admin.js.map +1 -0
- package/dist/lib/routes/auth.d.ts +6 -0
- package/dist/lib/routes/auth.d.ts.map +1 -0
- package/dist/lib/routes/auth.js +49 -0
- package/dist/lib/routes/auth.js.map +1 -0
- package/dist/lib/routes/badges.d.ts +6 -0
- package/dist/lib/routes/badges.d.ts.map +1 -0
- package/dist/lib/routes/badges.js +66 -0
- package/dist/lib/routes/badges.js.map +1 -0
- package/dist/lib/routes/circles.d.ts +8 -0
- package/dist/lib/routes/circles.d.ts.map +1 -0
- package/dist/lib/routes/circles.js +135 -0
- package/dist/lib/routes/circles.js.map +1 -0
- package/dist/lib/routes/comments.d.ts +6 -0
- package/dist/lib/routes/comments.d.ts.map +1 -0
- package/dist/lib/routes/comments.js +228 -0
- package/dist/lib/routes/comments.js.map +1 -0
- package/dist/lib/routes/connection-codes.d.ts +8 -0
- package/dist/lib/routes/connection-codes.d.ts.map +1 -0
- package/dist/lib/routes/connection-codes.js +84 -0
- package/dist/lib/routes/connection-codes.js.map +1 -0
- package/dist/lib/routes/content-discovery.d.ts +11 -0
- package/dist/lib/routes/content-discovery.d.ts.map +1 -0
- package/dist/lib/routes/content-discovery.js +211 -0
- package/dist/lib/routes/content-discovery.js.map +1 -0
- package/dist/lib/routes/dashboard.d.ts +8 -0
- package/dist/lib/routes/dashboard.d.ts.map +1 -0
- package/dist/lib/routes/dashboard.js +1139 -0
- package/dist/lib/routes/dashboard.js.map +1 -0
- package/dist/lib/routes/deletion.d.ts +6 -0
- package/dist/lib/routes/deletion.d.ts.map +1 -0
- package/dist/lib/routes/deletion.js +213 -0
- package/dist/lib/routes/deletion.js.map +1 -0
- package/dist/lib/routes/discovery.d.ts +8 -0
- package/dist/lib/routes/discovery.d.ts.map +1 -0
- package/dist/lib/routes/discovery.js +67 -0
- package/dist/lib/routes/discovery.js.map +1 -0
- package/dist/lib/routes/employees.d.ts +6 -0
- package/dist/lib/routes/employees.d.ts.map +1 -0
- package/dist/lib/routes/employees.js +82 -0
- package/dist/lib/routes/employees.js.map +1 -0
- package/dist/lib/routes/entities.d.ts +8 -0
- package/dist/lib/routes/entities.d.ts.map +1 -0
- package/dist/lib/routes/entities.js +467 -0
- package/dist/lib/routes/entities.js.map +1 -0
- package/dist/lib/routes/entity-relationships.d.ts +8 -0
- package/dist/lib/routes/entity-relationships.d.ts.map +1 -0
- package/dist/lib/routes/entity-relationships.js +118 -0
- package/dist/lib/routes/entity-relationships.js.map +1 -0
- package/dist/lib/routes/export.d.ts +6 -0
- package/dist/lib/routes/export.d.ts.map +1 -0
- package/dist/lib/routes/export.js +118 -0
- package/dist/lib/routes/export.js.map +1 -0
- package/dist/lib/routes/feature-flags.d.ts +8 -0
- package/dist/lib/routes/feature-flags.d.ts.map +1 -0
- package/dist/lib/routes/feature-flags.js +75 -0
- package/dist/lib/routes/feature-flags.js.map +1 -0
- package/dist/lib/routes/feeds.d.ts +6 -0
- package/dist/lib/routes/feeds.d.ts.map +1 -0
- package/dist/lib/routes/feeds.js +131 -0
- package/dist/lib/routes/feeds.js.map +1 -0
- package/dist/lib/routes/followers.d.ts +6 -0
- package/dist/lib/routes/followers.d.ts.map +1 -0
- package/dist/lib/routes/followers.js +405 -0
- package/dist/lib/routes/followers.js.map +1 -0
- package/dist/lib/routes/friends.d.ts +6 -0
- package/dist/lib/routes/friends.d.ts.map +1 -0
- package/dist/lib/routes/friends.js +116 -0
- package/dist/lib/routes/friends.js.map +1 -0
- package/dist/lib/routes/health.d.ts +6 -0
- package/dist/lib/routes/health.d.ts.map +1 -0
- package/dist/lib/routes/health.js +129 -0
- package/dist/lib/routes/health.js.map +1 -0
- package/dist/lib/routes/index.d.ts +21 -0
- package/dist/lib/routes/index.d.ts.map +1 -0
- package/dist/lib/routes/index.js +212 -0
- package/dist/lib/routes/index.js.map +1 -0
- package/dist/lib/routes/internal-docs.d.ts +6 -0
- package/dist/lib/routes/internal-docs.d.ts.map +1 -0
- package/dist/lib/routes/internal-docs.js +44 -0
- package/dist/lib/routes/internal-docs.js.map +1 -0
- package/dist/lib/routes/invitations.d.ts +6 -0
- package/dist/lib/routes/invitations.d.ts.map +1 -0
- package/dist/lib/routes/invitations.js +67 -0
- package/dist/lib/routes/invitations.js.map +1 -0
- package/dist/lib/routes/link-reports.d.ts +11 -0
- package/dist/lib/routes/link-reports.d.ts.map +1 -0
- package/dist/lib/routes/link-reports.js +287 -0
- package/dist/lib/routes/link-reports.js.map +1 -0
- package/dist/lib/routes/map.d.ts +6 -0
- package/dist/lib/routes/map.d.ts.map +1 -0
- package/dist/lib/routes/map.js +21 -0
- package/dist/lib/routes/map.js.map +1 -0
- package/dist/lib/routes/media-metadata-visibility.d.ts +3 -0
- package/dist/lib/routes/media-metadata-visibility.d.ts.map +1 -0
- package/dist/lib/routes/media-metadata-visibility.js +184 -0
- package/dist/lib/routes/media-metadata-visibility.js.map +1 -0
- package/dist/lib/routes/media.d.ts +9 -0
- package/dist/lib/routes/media.d.ts.map +1 -0
- package/dist/lib/routes/media.js +1910 -0
- package/dist/lib/routes/media.js.map +1 -0
- package/dist/lib/routes/mfa.d.ts +8 -0
- package/dist/lib/routes/mfa.d.ts.map +1 -0
- package/dist/lib/routes/mfa.js +193 -0
- package/dist/lib/routes/mfa.js.map +1 -0
- package/dist/lib/routes/notifications.d.ts +9 -0
- package/dist/lib/routes/notifications.d.ts.map +1 -0
- package/dist/lib/routes/notifications.js +230 -0
- package/dist/lib/routes/notifications.js.map +1 -0
- package/dist/lib/routes/orphaned-media-health.d.ts +9 -0
- package/dist/lib/routes/orphaned-media-health.d.ts.map +1 -0
- package/dist/lib/routes/orphaned-media-health.js +121 -0
- package/dist/lib/routes/orphaned-media-health.js.map +1 -0
- package/dist/lib/routes/orphaned-media.d.ts +8 -0
- package/dist/lib/routes/orphaned-media.d.ts.map +1 -0
- package/dist/lib/routes/orphaned-media.js +111 -0
- package/dist/lib/routes/orphaned-media.js.map +1 -0
- package/dist/lib/routes/out.d.ts +17 -0
- package/dist/lib/routes/out.d.ts.map +1 -0
- package/dist/lib/routes/out.js +339 -0
- package/dist/lib/routes/out.js.map +1 -0
- package/dist/lib/routes/parental-controls.d.ts +8 -0
- package/dist/lib/routes/parental-controls.d.ts.map +1 -0
- package/dist/lib/routes/parental-controls.js +282 -0
- package/dist/lib/routes/parental-controls.js.map +1 -0
- package/dist/lib/routes/posts.d.ts +6 -0
- package/dist/lib/routes/posts.d.ts.map +1 -0
- package/dist/lib/routes/posts.js +518 -0
- package/dist/lib/routes/posts.js.map +1 -0
- package/dist/lib/routes/privacy.d.ts +6 -0
- package/dist/lib/routes/privacy.d.ts.map +1 -0
- package/dist/lib/routes/privacy.js +66 -0
- package/dist/lib/routes/privacy.js.map +1 -0
- package/dist/lib/routes/products.d.ts +9 -0
- package/dist/lib/routes/products.d.ts.map +1 -0
- package/dist/lib/routes/products.js +224 -0
- package/dist/lib/routes/products.js.map +1 -0
- package/dist/lib/routes/relationships.d.ts +8 -0
- package/dist/lib/routes/relationships.d.ts.map +1 -0
- package/dist/lib/routes/relationships.js +118 -0
- package/dist/lib/routes/relationships.js.map +1 -0
- package/dist/lib/routes/sentiments.d.ts +6 -0
- package/dist/lib/routes/sentiments.d.ts.map +1 -0
- package/dist/lib/routes/sentiments.js +285 -0
- package/dist/lib/routes/sentiments.js.map +1 -0
- package/dist/lib/routes/taxonomy-analytics.d.ts +8 -0
- package/dist/lib/routes/taxonomy-analytics.d.ts.map +1 -0
- package/dist/lib/routes/taxonomy-analytics.js +151 -0
- package/dist/lib/routes/taxonomy-analytics.js.map +1 -0
- package/dist/lib/routes/taxonomy.d.ts +15 -0
- package/dist/lib/routes/taxonomy.d.ts.map +1 -0
- package/dist/lib/routes/taxonomy.js +370 -0
- package/dist/lib/routes/taxonomy.js.map +1 -0
- package/dist/lib/routes/types.d.ts +46 -0
- package/dist/lib/routes/types.d.ts.map +1 -0
- package/dist/lib/routes/types.js +8 -0
- package/dist/lib/routes/types.js.map +1 -0
- package/dist/lib/routes/upload-sessions.d.ts +9 -0
- package/dist/lib/routes/upload-sessions.d.ts.map +1 -0
- package/dist/lib/routes/upload-sessions.js +268 -0
- package/dist/lib/routes/upload-sessions.js.map +1 -0
- package/dist/lib/routes/user.d.ts +8 -0
- package/dist/lib/routes/user.d.ts.map +1 -0
- package/dist/lib/routes/user.js +287 -0
- package/dist/lib/routes/user.js.map +1 -0
- package/dist/lib/routes-all.d.ts +9 -0
- package/dist/lib/routes-all.d.ts.map +1 -0
- package/dist/lib/routes-all.js +170 -0
- package/dist/lib/routes-all.js.map +1 -0
- package/dist/lib/routes.d.ts +10 -0
- package/dist/lib/routes.d.ts.map +1 -0
- package/dist/lib/routes.js +16 -0
- package/dist/lib/routes.js.map +1 -0
- package/dist/lib/scaling-health.d.ts +48 -0
- package/dist/lib/scaling-health.d.ts.map +1 -0
- package/dist/lib/scaling-health.js +363 -0
- package/dist/lib/scaling-health.js.map +1 -0
- package/dist/lib/scheduled/media-stale-cleanup.d.ts +11 -0
- package/dist/lib/scheduled/media-stale-cleanup.d.ts.map +1 -0
- package/dist/lib/scheduled/media-stale-cleanup.js +79 -0
- package/dist/lib/scheduled/media-stale-cleanup.js.map +1 -0
- package/dist/lib/scheduled/orphaned-media-monitor.d.ts +97 -0
- package/dist/lib/scheduled/orphaned-media-monitor.d.ts.map +1 -0
- package/dist/lib/scheduled/orphaned-media-monitor.js +399 -0
- package/dist/lib/scheduled/orphaned-media-monitor.js.map +1 -0
- package/dist/lib/schemas.d.ts +314 -0
- package/dist/lib/schemas.d.ts.map +1 -0
- package/dist/lib/schemas.js +235 -0
- package/dist/lib/schemas.js.map +1 -0
- package/dist/lib/secret-resolver.d.ts +88 -0
- package/dist/lib/secret-resolver.d.ts.map +1 -0
- package/dist/lib/secret-resolver.js +183 -0
- package/dist/lib/secret-resolver.js.map +1 -0
- package/dist/lib/security-event-cleaner.d.ts +61 -0
- package/dist/lib/security-event-cleaner.d.ts.map +1 -0
- package/dist/lib/security-event-cleaner.js +74 -0
- package/dist/lib/security-event-cleaner.js.map +1 -0
- package/dist/lib/security-headers.d.ts +36 -0
- package/dist/lib/security-headers.d.ts.map +1 -0
- package/dist/lib/security-headers.js +87 -0
- package/dist/lib/security-headers.js.map +1 -0
- package/dist/lib/security-monitor.d.ts +92 -0
- package/dist/lib/security-monitor.d.ts.map +1 -0
- package/dist/lib/security-monitor.js +287 -0
- package/dist/lib/security-monitor.js.map +1 -0
- package/dist/lib/sentiment-digest.d.ts +19 -0
- package/dist/lib/sentiment-digest.d.ts.map +1 -0
- package/dist/lib/sentiment-digest.js +99 -0
- package/dist/lib/sentiment-digest.js.map +1 -0
- package/dist/lib/sentiment-display.d.ts +20 -0
- package/dist/lib/sentiment-display.d.ts.map +1 -0
- package/dist/lib/sentiment-display.js +38 -0
- package/dist/lib/sentiment-display.js.map +1 -0
- package/dist/lib/services/image-normalizer.d.ts +15 -0
- package/dist/lib/services/image-normalizer.d.ts.map +1 -0
- package/dist/lib/services/image-normalizer.js +22 -0
- package/dist/lib/services/image-normalizer.js.map +1 -0
- package/dist/lib/services/media-reconciliation-service.d.ts +25 -0
- package/dist/lib/services/media-reconciliation-service.d.ts.map +1 -0
- package/dist/lib/services/media-reconciliation-service.js +191 -0
- package/dist/lib/services/media-reconciliation-service.js.map +1 -0
- package/dist/lib/services/media-upload-service.d.ts +25 -0
- package/dist/lib/services/media-upload-service.d.ts.map +1 -0
- package/dist/lib/services/media-upload-service.js +240 -0
- package/dist/lib/services/media-upload-service.js.map +1 -0
- package/dist/lib/services/user-data-deletion.d.ts +30 -0
- package/dist/lib/services/user-data-deletion.d.ts.map +1 -0
- package/dist/lib/services/user-data-deletion.js +118 -0
- package/dist/lib/services/user-data-deletion.js.map +1 -0
- package/dist/lib/session-awareness.d.ts +35 -0
- package/dist/lib/session-awareness.d.ts.map +1 -0
- package/dist/lib/session-awareness.js +79 -0
- package/dist/lib/session-awareness.js.map +1 -0
- package/dist/lib/session-config.d.ts +87 -0
- package/dist/lib/session-config.d.ts.map +1 -0
- package/dist/lib/session-config.js +165 -0
- package/dist/lib/session-config.js.map +1 -0
- package/dist/lib/session-manager.d.ts +103 -0
- package/dist/lib/session-manager.d.ts.map +1 -0
- package/dist/lib/session-manager.js +492 -0
- package/dist/lib/session-manager.js.map +1 -0
- package/dist/lib/sso-auth-handler.d.ts +12 -0
- package/dist/lib/sso-auth-handler.d.ts.map +1 -0
- package/dist/lib/sso-auth-handler.js +24 -0
- package/dist/lib/sso-auth-handler.js.map +1 -0
- package/dist/lib/storage/s3-storage.d.ts +29 -0
- package/dist/lib/storage/s3-storage.d.ts.map +1 -0
- package/dist/lib/storage/s3-storage.js +135 -0
- package/dist/lib/storage/s3-storage.js.map +1 -0
- package/dist/lib/tag-suggestions-handler.d.ts +52 -0
- package/dist/lib/tag-suggestions-handler.d.ts.map +1 -0
- package/dist/lib/tag-suggestions-handler.js +195 -0
- package/dist/lib/tag-suggestions-handler.js.map +1 -0
- package/dist/lib/taxonomy-handler-factory.d.ts +18 -0
- package/dist/lib/taxonomy-handler-factory.d.ts.map +1 -0
- package/dist/lib/taxonomy-handler-factory.js +29 -0
- package/dist/lib/taxonomy-handler-factory.js.map +1 -0
- package/dist/lib/taxonomy-handler.d.ts +142 -0
- package/dist/lib/taxonomy-handler.d.ts.map +1 -0
- package/dist/lib/taxonomy-handler.js +636 -0
- package/dist/lib/taxonomy-handler.js.map +1 -0
- package/dist/lib/taxonomy-metrics.d.ts +76 -0
- package/dist/lib/taxonomy-metrics.d.ts.map +1 -0
- package/dist/lib/taxonomy-metrics.js +201 -0
- package/dist/lib/taxonomy-metrics.js.map +1 -0
- package/dist/lib/taxonomy-search-metrics.d.ts +45 -0
- package/dist/lib/taxonomy-search-metrics.d.ts.map +1 -0
- package/dist/lib/taxonomy-search-metrics.js +75 -0
- package/dist/lib/taxonomy-search-metrics.js.map +1 -0
- package/dist/lib/tenant-context.d.ts +35 -0
- package/dist/lib/tenant-context.d.ts.map +1 -0
- package/dist/lib/tenant-context.js +54 -0
- package/dist/lib/tenant-context.js.map +1 -0
- package/dist/lib/terminology.d.ts +25 -0
- package/dist/lib/terminology.d.ts.map +1 -0
- package/dist/lib/terminology.js +44 -0
- package/dist/lib/terminology.js.map +1 -0
- package/dist/lib/theme.d.ts +29 -0
- package/dist/lib/theme.d.ts.map +1 -0
- package/dist/lib/theme.js +38 -0
- package/dist/lib/theme.js.map +1 -0
- package/dist/lib/threat-intel-service.d.ts +67 -0
- package/dist/lib/threat-intel-service.d.ts.map +1 -0
- package/dist/lib/threat-intel-service.js +193 -0
- package/dist/lib/threat-intel-service.js.map +1 -0
- package/dist/lib/types/media-reconciliation.d.ts +64 -0
- package/dist/lib/types/media-reconciliation.d.ts.map +1 -0
- package/dist/lib/types/media-reconciliation.js +8 -0
- package/dist/lib/types/media-reconciliation.js.map +1 -0
- package/dist/lib/upload-session-handler.d.ts +56 -0
- package/dist/lib/upload-session-handler.d.ts.map +1 -0
- package/dist/lib/upload-session-handler.js +312 -0
- package/dist/lib/upload-session-handler.js.map +1 -0
- package/dist/lib/user-badge.d.ts +56 -0
- package/dist/lib/user-badge.d.ts.map +1 -0
- package/dist/lib/user-badge.js +92 -0
- package/dist/lib/user-badge.js.map +1 -0
- package/dist/lib/user-deletion-handler-enhanced.d.ts +96 -0
- package/dist/lib/user-deletion-handler-enhanced.d.ts.map +1 -0
- package/dist/lib/user-deletion-handler-enhanced.js +401 -0
- package/dist/lib/user-deletion-handler-enhanced.js.map +1 -0
- package/dist/lib/user-deprovisioning.d.ts +43 -0
- package/dist/lib/user-deprovisioning.d.ts.map +1 -0
- package/dist/lib/user-deprovisioning.js +138 -0
- package/dist/lib/user-deprovisioning.js.map +1 -0
- package/dist/lib/user-export-handler.d.ts +172 -0
- package/dist/lib/user-export-handler.d.ts.map +1 -0
- package/dist/lib/user-export-handler.js +435 -0
- package/dist/lib/user-export-handler.js.map +1 -0
- package/dist/lib/validate-request.d.ts +46 -0
- package/dist/lib/validate-request.d.ts.map +1 -0
- package/dist/lib/validate-request.js +127 -0
- package/dist/lib/validate-request.js.map +1 -0
- package/dist/lib/validation/feature-toggle-schemas.d.ts +410 -0
- package/dist/lib/validation/feature-toggle-schemas.d.ts.map +1 -0
- package/dist/lib/validation/feature-toggle-schemas.js +274 -0
- package/dist/lib/validation/feature-toggle-schemas.js.map +1 -0
- package/dist/lib/validation/validate-request.d.ts +75 -0
- package/dist/lib/validation/validate-request.d.ts.map +1 -0
- package/dist/lib/validation/validate-request.js +183 -0
- package/dist/lib/validation/validate-request.js.map +1 -0
- package/dist/lib/validation.d.ts +50 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/lib/validation.js +122 -0
- package/dist/lib/validation.js.map +1 -0
- package/dist/lib/version.d.ts +36 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +44 -0
- package/dist/lib/version.js.map +1 -0
- package/dist/server.d.ts +13 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +254 -0
- package/dist/server.js.map +1 -0
- package/dist/types/cloudflare-compat.d.ts +134 -0
- package/dist/types/cloudflare-compat.d.ts.map +1 -0
- package/dist/types/cloudflare-compat.js +7 -0
- package/dist/types/cloudflare-compat.js.map +1 -0
- package/dist/worker.d.ts +16 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +21 -0
- package/dist/worker.js.map +1 -0
- package/package.json +91 -0
- package/src/lambda/cleanup-cron.ts +37 -0
- package/src/lambda/create-auth-challenge.ts +112 -0
- package/src/lambda/custom-message.ts +30 -0
- package/src/lambda/define-auth-challenge.ts +24 -0
- package/src/lambda/delete-account-worker.ts +96 -0
- package/src/lambda/diagnostics-proxy.ts +139 -0
- package/src/lambda/e2e-sweeper.ts +140 -0
- package/src/lambda/federation-outbox-worker.ts +8 -0
- package/src/lambda/followers-events-worker.ts +8 -0
- package/src/lambda/hourly-cron.ts +103 -0
- package/src/lambda/link-check-worker.ts +8 -0
- package/src/lambda/maintenance-cron.ts +95 -0
- package/src/lambda/media-processing-worker.ts +68 -0
- package/src/lambda/media-reconciliation-worker.ts +8 -0
- package/src/lambda/nightly-cron.ts +338 -0
- package/src/lambda/post-confirmation.ts +80 -0
- package/src/lambda/pre-signup.ts +39 -0
- package/src/lambda/pre-token-generation.ts +93 -0
- package/src/lambda/tools/check-health.ts +22 -0
- package/src/lambda/tools/describe-services.ts +45 -0
- package/src/lambda/tools/get-cost-report.ts +64 -0
- package/src/lambda/tools/get-errors.ts +78 -0
- package/src/lambda/tools/get-feature-flags.ts +27 -0
- package/src/lambda/tools/get-queue-status.ts +60 -0
- package/src/lambda/tools/search-logs.ts +75 -0
- package/src/lambda/tools/send-alert.ts +37 -0
- package/src/lambda/verify-auth-challenge.ts +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/lib/audit-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cognito JWT Verification
|
|
3
|
+
*
|
|
4
|
+
* Validates Cognito-issued JWTs using the aws-jwt-verify library.
|
|
5
|
+
* Caches the JWKS locally to avoid network calls per request.
|
|
6
|
+
*/
|
|
7
|
+
/** Reset the verifier to force JWKS refresh on next call */
|
|
8
|
+
export declare function resetVerifier(): void;
|
|
9
|
+
export interface CognitoJwtClaims {
|
|
10
|
+
sub: string;
|
|
11
|
+
username: string;
|
|
12
|
+
email?: string;
|
|
13
|
+
"custom:userId"?: string;
|
|
14
|
+
"custom:role"?: string;
|
|
15
|
+
"custom:handle"?: string;
|
|
16
|
+
"custom:dataRegion"?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function verifyCognitoJwt(token: string): Promise<CognitoJwtClaims>;
|
|
19
|
+
export declare function extractBearerToken(authHeader: string | null): string | null;
|
|
20
|
+
//# sourceMappingURL=cognito-jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cognito-jwt.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/cognito-jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH,4DAA4D;AAC5D,wBAAgB,aAAa,SAG5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU/E;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAG3E"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cognito JWT Verification
|
|
4
|
+
*
|
|
5
|
+
* Validates Cognito-issued JWTs using the aws-jwt-verify library.
|
|
6
|
+
* Caches the JWKS locally to avoid network calls per request.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.resetVerifier = resetVerifier;
|
|
10
|
+
exports.verifyCognitoJwt = verifyCognitoJwt;
|
|
11
|
+
exports.extractBearerToken = extractBearerToken;
|
|
12
|
+
const aws_jwt_verify_1 = require("aws-jwt-verify");
|
|
13
|
+
let verifier = null;
|
|
14
|
+
let lastCreated = 0;
|
|
15
|
+
const VERIFIER_MAX_AGE_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
16
|
+
function getVerifier() {
|
|
17
|
+
const now = Date.now();
|
|
18
|
+
// S1.5 — Recreate verifier if older than 24 hours to refresh JWKS
|
|
19
|
+
if (!verifier || (now - lastCreated > VERIFIER_MAX_AGE_MS)) {
|
|
20
|
+
const userPoolId = process.env.COGNITO_USER_POOL_ID;
|
|
21
|
+
const clientId = process.env.COGNITO_APP_CLIENT_ID;
|
|
22
|
+
if (!userPoolId || !clientId) {
|
|
23
|
+
throw new Error("COGNITO_USER_POOL_ID and COGNITO_APP_CLIENT_ID must be set");
|
|
24
|
+
}
|
|
25
|
+
verifier = aws_jwt_verify_1.CognitoJwtVerifier.create({
|
|
26
|
+
userPoolId,
|
|
27
|
+
tokenUse: "id",
|
|
28
|
+
clientId,
|
|
29
|
+
});
|
|
30
|
+
lastCreated = now;
|
|
31
|
+
}
|
|
32
|
+
return verifier;
|
|
33
|
+
}
|
|
34
|
+
/** Reset the verifier to force JWKS refresh on next call */
|
|
35
|
+
function resetVerifier() {
|
|
36
|
+
verifier = null;
|
|
37
|
+
lastCreated = 0;
|
|
38
|
+
}
|
|
39
|
+
async function verifyCognitoJwt(token) {
|
|
40
|
+
try {
|
|
41
|
+
const payload = await getVerifier().verify(token);
|
|
42
|
+
return payload;
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
// S1.5 — On verification failure, reset verifier to refresh JWKS and retry once
|
|
46
|
+
resetVerifier();
|
|
47
|
+
const payload = await getVerifier().verify(token);
|
|
48
|
+
return payload;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function extractBearerToken(authHeader) {
|
|
52
|
+
if (!authHeader?.startsWith("Bearer "))
|
|
53
|
+
return null;
|
|
54
|
+
return authHeader.slice(7);
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=cognito-jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cognito-jwt.js","sourceRoot":"","sources":["../../../src/lib/auth/cognito-jwt.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA4BH,sCAGC;AAYD,4CAUC;AAED,gDAGC;AAxDD,mDAAoD;AAEpD,IAAI,QAAQ,GAAwD,IAAI,CAAC;AACzE,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAE5D,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,kEAAkE;IAClE,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,mBAAmB,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACnD,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,QAAQ,GAAG,mCAAkB,CAAC,MAAM,CAAC;YACnC,UAAU;YACV,QAAQ,EAAE,IAAI;YACd,QAAQ;SACT,CAAC,CAAC;QACH,WAAW,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,4DAA4D;AAC5D,SAAgB,aAAa;IAC3B,QAAQ,GAAG,IAAI,CAAC;IAChB,WAAW,GAAG,CAAC,CAAC;AAClB,CAAC;AAYM,KAAK,UAAU,gBAAgB,CAAC,KAAa;IAClD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,OAAsC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gFAAgF;QAChF,aAAa,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,OAAsC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,UAAyB;IAC1D,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication Context Manager
|
|
3
|
+
*
|
|
4
|
+
* PREPARATORY: Border Safety Mode - Multi-context authentication infrastructure
|
|
5
|
+
*
|
|
6
|
+
* Manages authentication contexts for users (primary vs decoy profiles).
|
|
7
|
+
* Currently dormant - returns single primary context for all users.
|
|
8
|
+
* This abstraction layer prepares for future dual-account support where users
|
|
9
|
+
* can have multiple authentication contexts with different data visibility.
|
|
10
|
+
*
|
|
11
|
+
* FUTURE USE: When Border Safety Mode is implemented, this class will:
|
|
12
|
+
* - Manage multiple contexts per user (primary, decoy)
|
|
13
|
+
* - Support different unlock methods per context (password, PIN, biometric, hardware key)
|
|
14
|
+
* - Track context creation and last access times
|
|
15
|
+
* - Validate context-specific credentials
|
|
16
|
+
*
|
|
17
|
+
* @see doc/01-business/features/b2c-features/border-safety-mode/preparatory-design-changes/01-authentication.md
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Authentication context for a user
|
|
21
|
+
*
|
|
22
|
+
* Represents a single authentication context (profile) that a user can access.
|
|
23
|
+
* In the future, users may have multiple contexts (e.g., primary and decoy profiles).
|
|
24
|
+
*/
|
|
25
|
+
export interface AuthContext {
|
|
26
|
+
/** Unique identifier for this context (e.g., 'primary', 'decoy-1') */
|
|
27
|
+
contextId: string;
|
|
28
|
+
/** Type of context: 'primary' (real profile) or 'decoy' (fake profile for border safety) */
|
|
29
|
+
contextType: "primary" | "decoy";
|
|
30
|
+
/** Unlock method used for this context */
|
|
31
|
+
unlockMethod: "password" | "pin" | "biometric" | "hardware_key";
|
|
32
|
+
/** When this context was created */
|
|
33
|
+
createdAt: Date;
|
|
34
|
+
/** When this context was last accessed */
|
|
35
|
+
lastAccessed: Date;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Authentication Context Manager
|
|
39
|
+
*
|
|
40
|
+
* Manages authentication contexts for users. Currently returns a single primary
|
|
41
|
+
* context for all users. This prepares for future multi-context support.
|
|
42
|
+
*/
|
|
43
|
+
export declare class AuthContextManager {
|
|
44
|
+
/**
|
|
45
|
+
* Get all available authentication contexts for a user
|
|
46
|
+
*
|
|
47
|
+
* PREPARATORY: Currently returns a single primary context for all users.
|
|
48
|
+
* This method prepares for future multi-context support where users can have
|
|
49
|
+
* multiple contexts (primary and decoy profiles).
|
|
50
|
+
*
|
|
51
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
52
|
+
* - Query database for user's contexts
|
|
53
|
+
* - Return all available contexts (primary + any decoy contexts)
|
|
54
|
+
* - Filter contexts based on user permissions
|
|
55
|
+
*
|
|
56
|
+
* @param userId - User ID to get contexts for
|
|
57
|
+
* @returns Array of available authentication contexts (currently always single primary context)
|
|
58
|
+
* @throws Error if userId is invalid or empty
|
|
59
|
+
*/
|
|
60
|
+
getContexts(userId: string): Promise<AuthContext[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Get the default authentication context for a user
|
|
63
|
+
*
|
|
64
|
+
* PREPARATORY: Currently always returns 'primary' for all users.
|
|
65
|
+
* This method prepares for future support where users can have a custom default context.
|
|
66
|
+
*
|
|
67
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
68
|
+
* - Check user's defaultContext preference in database
|
|
69
|
+
* - Return the user's preferred default context
|
|
70
|
+
* - Fall back to 'primary' if no preference is set
|
|
71
|
+
*
|
|
72
|
+
* @param userId - User ID to get default context for
|
|
73
|
+
* @returns Default context ID (currently always 'primary')
|
|
74
|
+
* @throws Error if userId is invalid or empty
|
|
75
|
+
*/
|
|
76
|
+
getDefaultContext(userId: string): Promise<string>;
|
|
77
|
+
/**
|
|
78
|
+
* Create a new authentication context for a user
|
|
79
|
+
*
|
|
80
|
+
* PREPARATORY: Currently not implemented - throws error if called.
|
|
81
|
+
* This method prepares for future support where users can create decoy contexts.
|
|
82
|
+
*
|
|
83
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
84
|
+
* - Create a new context in the database
|
|
85
|
+
* - Set up context-specific encryption keys
|
|
86
|
+
* - Initialize context with default settings
|
|
87
|
+
* - Return the new context ID
|
|
88
|
+
*
|
|
89
|
+
* @param userId - User ID to create context for
|
|
90
|
+
* @param contextType - Type of context to create ('primary' or 'decoy')
|
|
91
|
+
* @returns Promise that resolves to the new context ID
|
|
92
|
+
* @throws Error - Always throws error (not yet implemented)
|
|
93
|
+
*/
|
|
94
|
+
createContext(userId: string, contextType: "primary" | "decoy"): Promise<string>;
|
|
95
|
+
/**
|
|
96
|
+
* Validate credentials for a specific authentication context
|
|
97
|
+
*
|
|
98
|
+
* PREPARATORY: Currently not implemented - throws error if called.
|
|
99
|
+
* This method prepares for future support where different contexts can have
|
|
100
|
+
* different unlock methods (password, PIN, biometric, hardware key).
|
|
101
|
+
*
|
|
102
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
103
|
+
* - Validate credentials against context-specific unlock method
|
|
104
|
+
* - Check context-specific rate limits
|
|
105
|
+
* - Update lastAccessed timestamp
|
|
106
|
+
* - Return true if credentials are valid, false otherwise
|
|
107
|
+
*
|
|
108
|
+
* @param userId - User ID
|
|
109
|
+
* @param contextId - Context ID to validate credentials for
|
|
110
|
+
* @param credentials - Credentials to validate (format depends on unlock method)
|
|
111
|
+
* @returns Promise that resolves to true if credentials are valid
|
|
112
|
+
* @throws Error - Always throws error (not yet implemented)
|
|
113
|
+
*/
|
|
114
|
+
validateContextCredentials(userId: string, contextId: string, credentials: unknown): Promise<boolean>;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=auth-context-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-context-manager.d.ts","sourceRoot":"","sources":["../../src/lib/auth-context-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAElB,4FAA4F;IAC5F,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;IAEjC,0CAA0C;IAC1C,YAAY,EAAE,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,cAAc,CAAC;IAEhE,oCAAoC;IACpC,SAAS,EAAE,IAAI,CAAC;IAEhB,0CAA0C;IAC1C,YAAY,EAAE,IAAI,CAAC;CACpB;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkBzD;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUxD;;;;;;;;;;;;;;;;OAgBG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,GAAG,OAAO,GAC/B,OAAO,CAAC,MAAM,CAAC;IAOlB;;;;;;;;;;;;;;;;;;OAkBG;IACG,0BAA0B,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC;CAMpB"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Authentication Context Manager
|
|
4
|
+
*
|
|
5
|
+
* PREPARATORY: Border Safety Mode - Multi-context authentication infrastructure
|
|
6
|
+
*
|
|
7
|
+
* Manages authentication contexts for users (primary vs decoy profiles).
|
|
8
|
+
* Currently dormant - returns single primary context for all users.
|
|
9
|
+
* This abstraction layer prepares for future dual-account support where users
|
|
10
|
+
* can have multiple authentication contexts with different data visibility.
|
|
11
|
+
*
|
|
12
|
+
* FUTURE USE: When Border Safety Mode is implemented, this class will:
|
|
13
|
+
* - Manage multiple contexts per user (primary, decoy)
|
|
14
|
+
* - Support different unlock methods per context (password, PIN, biometric, hardware key)
|
|
15
|
+
* - Track context creation and last access times
|
|
16
|
+
* - Validate context-specific credentials
|
|
17
|
+
*
|
|
18
|
+
* @see doc/01-business/features/b2c-features/border-safety-mode/preparatory-design-changes/01-authentication.md
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.AuthContextManager = void 0;
|
|
22
|
+
/**
|
|
23
|
+
* Authentication Context Manager
|
|
24
|
+
*
|
|
25
|
+
* Manages authentication contexts for users. Currently returns a single primary
|
|
26
|
+
* context for all users. This prepares for future multi-context support.
|
|
27
|
+
*/
|
|
28
|
+
class AuthContextManager {
|
|
29
|
+
/**
|
|
30
|
+
* Get all available authentication contexts for a user
|
|
31
|
+
*
|
|
32
|
+
* PREPARATORY: Currently returns a single primary context for all users.
|
|
33
|
+
* This method prepares for future multi-context support where users can have
|
|
34
|
+
* multiple contexts (primary and decoy profiles).
|
|
35
|
+
*
|
|
36
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
37
|
+
* - Query database for user's contexts
|
|
38
|
+
* - Return all available contexts (primary + any decoy contexts)
|
|
39
|
+
* - Filter contexts based on user permissions
|
|
40
|
+
*
|
|
41
|
+
* @param userId - User ID to get contexts for
|
|
42
|
+
* @returns Array of available authentication contexts (currently always single primary context)
|
|
43
|
+
* @throws Error if userId is invalid or empty
|
|
44
|
+
*/
|
|
45
|
+
async getContexts(userId) {
|
|
46
|
+
if (!userId || typeof userId !== "string" || userId.trim().length === 0) {
|
|
47
|
+
throw new Error("Invalid userId: must be a non-empty string");
|
|
48
|
+
}
|
|
49
|
+
// PREPARATORY: Always return single primary context for now
|
|
50
|
+
// FUTURE: Query database for user's contexts when Border Safety Mode is implemented
|
|
51
|
+
return [
|
|
52
|
+
{
|
|
53
|
+
contextId: "primary",
|
|
54
|
+
contextType: "primary",
|
|
55
|
+
unlockMethod: "password",
|
|
56
|
+
createdAt: new Date(),
|
|
57
|
+
lastAccessed: new Date(),
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get the default authentication context for a user
|
|
63
|
+
*
|
|
64
|
+
* PREPARATORY: Currently always returns 'primary' for all users.
|
|
65
|
+
* This method prepares for future support where users can have a custom default context.
|
|
66
|
+
*
|
|
67
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
68
|
+
* - Check user's defaultContext preference in database
|
|
69
|
+
* - Return the user's preferred default context
|
|
70
|
+
* - Fall back to 'primary' if no preference is set
|
|
71
|
+
*
|
|
72
|
+
* @param userId - User ID to get default context for
|
|
73
|
+
* @returns Default context ID (currently always 'primary')
|
|
74
|
+
* @throws Error if userId is invalid or empty
|
|
75
|
+
*/
|
|
76
|
+
async getDefaultContext(userId) {
|
|
77
|
+
if (!userId || typeof userId !== "string" || userId.trim().length === 0) {
|
|
78
|
+
throw new Error("Invalid userId: must be a non-empty string");
|
|
79
|
+
}
|
|
80
|
+
// PREPARATORY: Always return 'primary' for now
|
|
81
|
+
// FUTURE: Query database for user's defaultContext preference
|
|
82
|
+
return "primary";
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create a new authentication context for a user
|
|
86
|
+
*
|
|
87
|
+
* PREPARATORY: Currently not implemented - throws error if called.
|
|
88
|
+
* This method prepares for future support where users can create decoy contexts.
|
|
89
|
+
*
|
|
90
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
91
|
+
* - Create a new context in the database
|
|
92
|
+
* - Set up context-specific encryption keys
|
|
93
|
+
* - Initialize context with default settings
|
|
94
|
+
* - Return the new context ID
|
|
95
|
+
*
|
|
96
|
+
* @param userId - User ID to create context for
|
|
97
|
+
* @param contextType - Type of context to create ('primary' or 'decoy')
|
|
98
|
+
* @returns Promise that resolves to the new context ID
|
|
99
|
+
* @throws Error - Always throws error (not yet implemented)
|
|
100
|
+
*/
|
|
101
|
+
async createContext(userId, contextType) {
|
|
102
|
+
// PREPARATORY: Not yet implemented - throw error
|
|
103
|
+
throw new Error("createContext is not yet implemented. This feature will be available when Border Safety Mode is implemented.");
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Validate credentials for a specific authentication context
|
|
107
|
+
*
|
|
108
|
+
* PREPARATORY: Currently not implemented - throws error if called.
|
|
109
|
+
* This method prepares for future support where different contexts can have
|
|
110
|
+
* different unlock methods (password, PIN, biometric, hardware key).
|
|
111
|
+
*
|
|
112
|
+
* FUTURE USE: When Border Safety Mode is implemented, this will:
|
|
113
|
+
* - Validate credentials against context-specific unlock method
|
|
114
|
+
* - Check context-specific rate limits
|
|
115
|
+
* - Update lastAccessed timestamp
|
|
116
|
+
* - Return true if credentials are valid, false otherwise
|
|
117
|
+
*
|
|
118
|
+
* @param userId - User ID
|
|
119
|
+
* @param contextId - Context ID to validate credentials for
|
|
120
|
+
* @param credentials - Credentials to validate (format depends on unlock method)
|
|
121
|
+
* @returns Promise that resolves to true if credentials are valid
|
|
122
|
+
* @throws Error - Always throws error (not yet implemented)
|
|
123
|
+
*/
|
|
124
|
+
async validateContextCredentials(userId, contextId, credentials) {
|
|
125
|
+
// PREPARATORY: Not yet implemented - throw error
|
|
126
|
+
throw new Error("validateContextCredentials is not yet implemented. This feature will be available when Border Safety Mode is implemented.");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.AuthContextManager = AuthContextManager;
|
|
130
|
+
//# sourceMappingURL=auth-context-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-context-manager.js","sourceRoot":"","sources":["../../src/lib/auth-context-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAyBH;;;;;GAKG;AACH,MAAa,kBAAkB;IAC7B;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,4DAA4D;QAC5D,oFAAoF;QACpF,OAAO;YACL;gBACE,SAAS,EAAE,SAAS;gBACpB,WAAW,EAAE,SAAS;gBACtB,YAAY,EAAE,UAAU;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,YAAY,EAAE,IAAI,IAAI,EAAE;aACzB;SACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,+CAA+C;QAC/C,8DAA8D;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,WAAgC;QAEhC,iDAAiD;QACjD,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,0BAA0B,CAC9B,MAAc,EACd,SAAiB,EACjB,WAAoB;QAEpB,iDAAiD;QACjD,MAAM,IAAI,KAAK,CACb,2HAA2H,CAC5H,CAAC;IACJ,CAAC;CACF;AApHD,gDAoHC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth Handler
|
|
3
|
+
*
|
|
4
|
+
* Handles authentication routes including magic link, SSO, and session management.
|
|
5
|
+
*
|
|
6
|
+
* PREPARATORY: Checks feature flags for authentication methods.
|
|
7
|
+
*/
|
|
8
|
+
import type { Env } from "../env";
|
|
9
|
+
import type { RateLimiter } from "./rate-limit";
|
|
10
|
+
import type { RequestContext } from "./request-context";
|
|
11
|
+
import { SecurityHeaders } from "./security-headers";
|
|
12
|
+
export declare class AuthHandler {
|
|
13
|
+
/**
|
|
14
|
+
* Auth routes — authentication is delegated to AWS Cognito + Amplify SDK.
|
|
15
|
+
* Only the reCAPTCHA site key endpoint remains active.
|
|
16
|
+
*/
|
|
17
|
+
static handleAuthRoutes(request: Request, env: Env, url: URL, _rateLimiter: RateLimiter, securityHeaders: SecurityHeaders, _requestContext?: RequestContext): Promise<Response>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=auth-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-handler.d.ts","sourceRoot":"","sources":["../../src/lib/auth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,WAAW;IACtB;;;OAGG;WACU,gBAAgB,CAC3B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,WAAW,EACzB,eAAe,EAAE,eAAe,EAChC,eAAe,CAAC,EAAE,cAAc,GAC/B,OAAO,CAAC,QAAQ,CAAC;CAqErB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Auth Handler
|
|
4
|
+
*
|
|
5
|
+
* Handles authentication routes including magic link, SSO, and session management.
|
|
6
|
+
*
|
|
7
|
+
* PREPARATORY: Checks feature flags for authentication methods.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.AuthHandler = void 0;
|
|
11
|
+
const cors_handler_1 = require("./cors-handler");
|
|
12
|
+
const logger_1 = require("./logger");
|
|
13
|
+
class AuthHandler {
|
|
14
|
+
/**
|
|
15
|
+
* Auth routes — authentication is delegated to AWS Cognito + Amplify SDK.
|
|
16
|
+
* Only the reCAPTCHA site key endpoint remains active.
|
|
17
|
+
*/
|
|
18
|
+
static async handleAuthRoutes(request, env, url, _rateLimiter, securityHeaders, _requestContext) {
|
|
19
|
+
const pathname = url.pathname;
|
|
20
|
+
// Get allowed origin for CORS
|
|
21
|
+
const allowedOrigin = cors_handler_1.CorsHandler.getAllowedOrigin(request, env);
|
|
22
|
+
// CORS headers for auth endpoints
|
|
23
|
+
// Note: Access-Control-Allow-Origin must be the exact origin (not '*') when using credentials
|
|
24
|
+
const corsHeaders = {
|
|
25
|
+
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
|
|
26
|
+
"Access-Control-Allow-Headers": "Content-Type, Authorization, X-CSRF-Token, X-Retry-Count",
|
|
27
|
+
"Access-Control-Allow-Credentials": "true",
|
|
28
|
+
};
|
|
29
|
+
// Only set Access-Control-Allow-Origin if we have an allowed origin
|
|
30
|
+
// Browsers require exact origin match when credentials are involved
|
|
31
|
+
if (allowedOrigin) {
|
|
32
|
+
corsHeaders["Access-Control-Allow-Origin"] = allowedOrigin;
|
|
33
|
+
}
|
|
34
|
+
// Handle OPTIONS requests
|
|
35
|
+
if (request.method === "OPTIONS") {
|
|
36
|
+
return new Response(null, {
|
|
37
|
+
status: 204,
|
|
38
|
+
headers: corsHeaders,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
// Get reCAPTCHA site key (public endpoint)
|
|
43
|
+
if (pathname === "/auth/recaptcha-site-key" && request.method === "GET") {
|
|
44
|
+
const siteKey = env.RECAPTCHA_SITE_KEY || "";
|
|
45
|
+
const response = new Response(JSON.stringify({ siteKey }), {
|
|
46
|
+
status: 200,
|
|
47
|
+
headers: {
|
|
48
|
+
"content-type": "application/json",
|
|
49
|
+
...corsHeaders,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
return securityHeaders.addSecurityHeaders(response);
|
|
53
|
+
}
|
|
54
|
+
// Authentication is handled by AWS Cognito + Amplify SDK in the Flutter client.
|
|
55
|
+
// Legacy Supabase auth routes are no longer available.
|
|
56
|
+
const deprecated = new Response(JSON.stringify({
|
|
57
|
+
error: "This auth endpoint has been deprecated.",
|
|
58
|
+
message: "Authentication is handled by AWS Cognito. Use the Amplify SDK in the client app.",
|
|
59
|
+
}), { status: 410, headers: { "content-type": "application/json", ...corsHeaders } });
|
|
60
|
+
return securityHeaders.addSecurityHeaders(deprecated);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
logger_1.Logger.getInstance(env).error("Auth route error:", error);
|
|
64
|
+
const errorResponse = securityHeaders.createSecureResponse(JSON.stringify({ error: "Internal server error" }), {
|
|
65
|
+
status: 500,
|
|
66
|
+
headers: { "content-type": "application/json", ...corsHeaders },
|
|
67
|
+
});
|
|
68
|
+
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
69
|
+
errorResponse.headers.set(key, value);
|
|
70
|
+
});
|
|
71
|
+
return errorResponse;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.AuthHandler = AuthHandler;
|
|
76
|
+
//# sourceMappingURL=auth-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-handler.js","sourceRoot":"","sources":["../../src/lib/auth-handler.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,iDAA6C;AAC7C,qCAAkC;AAKlC,MAAa,WAAW;IACtB;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,OAAgB,EAChB,GAAQ,EACR,GAAQ,EACR,YAAyB,EACzB,eAAgC,EAChC,eAAgC;QAEhC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAE9B,8BAA8B;QAC9B,MAAM,aAAa,GAAG,0BAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAEjE,kCAAkC;QAClC,8FAA8F;QAC9F,MAAM,WAAW,GAA2B;YAC1C,8BAA8B,EAAE,wCAAwC;YACxE,8BAA8B,EAC5B,0DAA0D;YAC5D,kCAAkC,EAAE,MAAM;SAC3C,CAAC;QAEF,oEAAoE;QACpE,oEAAoE;QACpE,IAAI,aAAa,EAAE,CAAC;YAClB,WAAW,CAAC,6BAA6B,CAAC,GAAG,aAAa,CAAC;QAC7D,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACxB,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,2CAA2C;YAC3C,IAAI,QAAQ,KAAK,0BAA0B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACxE,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;oBACzD,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,GAAG,WAAW;qBACf;iBACF,CAAC,CAAC;gBACH,OAAO,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;YAED,gFAAgF;YAChF,uDAAuD;YACvD,MAAM,UAAU,GAAG,IAAI,QAAQ,CAC7B,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE,yCAAyC;gBAChD,OAAO,EACL,kFAAkF;aACrF,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE,EAAE,CACjF,CAAC;YACF,OAAO,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,eAAe,CAAC,oBAAoB,CACxD,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,EAClD;gBACE,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,WAAW,EAAE;aAChE,CACF,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnD,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AAjFD,kCAiFC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge Handler
|
|
3
|
+
*
|
|
4
|
+
* Handles user badge API endpoints.
|
|
5
|
+
* Badges are computed automatically based on verification status.
|
|
6
|
+
*/
|
|
7
|
+
import type { Env } from "../env";
|
|
8
|
+
export declare class BadgeHandler {
|
|
9
|
+
/**
|
|
10
|
+
* GET /api/users/:userId/badges
|
|
11
|
+
* Get all badges for a user
|
|
12
|
+
*/
|
|
13
|
+
handleGetUserBadges(request: Request, env: Env, userId: string): Promise<Response>;
|
|
14
|
+
/**
|
|
15
|
+
* PATCH /api/users/:userId/badges/display
|
|
16
|
+
* Toggle badge display preference
|
|
17
|
+
*/
|
|
18
|
+
handleUpdateBadgeDisplay(request: Request, env: Env, userId: string): Promise<Response>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=badge-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge-handler.d.ts","sourceRoot":"","sources":["../../src/lib/badge-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAMlC,qBAAa,YAAY;IACvB;;;OAGG;IACG,mBAAmB,CACvB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC;IAiDpB;;;OAGG;IACG,wBAAwB,CAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC;CA0DrB"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Badge Handler
|
|
4
|
+
*
|
|
5
|
+
* Handles user badge API endpoints.
|
|
6
|
+
* Badges are computed automatically based on verification status.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.BadgeHandler = void 0;
|
|
43
|
+
const db_1 = require("../db");
|
|
44
|
+
const logger_1 = require("./logger");
|
|
45
|
+
const secret_resolver_1 = require("./secret-resolver");
|
|
46
|
+
const session_manager_1 = require("./session-manager");
|
|
47
|
+
const user_badge_1 = require("./user-badge");
|
|
48
|
+
class BadgeHandler {
|
|
49
|
+
/**
|
|
50
|
+
* GET /api/users/:userId/badges
|
|
51
|
+
* Get all badges for a user
|
|
52
|
+
*/
|
|
53
|
+
async handleGetUserBadges(request, env, userId) {
|
|
54
|
+
const db = (0, db_1.createPrisma)(env);
|
|
55
|
+
try {
|
|
56
|
+
// Get user from database
|
|
57
|
+
const user = await db.user.findUnique({
|
|
58
|
+
where: { id: userId },
|
|
59
|
+
select: {
|
|
60
|
+
emailVerified: true,
|
|
61
|
+
emailVerifiedAt: true,
|
|
62
|
+
showVerifiedBadge: true,
|
|
63
|
+
identityVerified: true,
|
|
64
|
+
identityVerifiedAt: true,
|
|
65
|
+
showIdentityVerifiedBadge: true,
|
|
66
|
+
identityVerificationMethod: true,
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
if (!user) {
|
|
70
|
+
return new Response(JSON.stringify({ error: "User not found" }), {
|
|
71
|
+
status: 404,
|
|
72
|
+
headers: { "Content-Type": "application/json" },
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// Compute badges
|
|
76
|
+
const badges = (0, user_badge_1.getUserBadges)(user);
|
|
77
|
+
return new Response(JSON.stringify({
|
|
78
|
+
badges,
|
|
79
|
+
count: badges.length,
|
|
80
|
+
}), {
|
|
81
|
+
headers: { "Content-Type": "application/json" },
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
logger_1.Logger.getInstance(env).error("[BadgeHandler] Error getting user badges:", error);
|
|
86
|
+
return new Response(JSON.stringify({ error: "Internal server error" }), {
|
|
87
|
+
status: 500,
|
|
88
|
+
headers: { "Content-Type": "application/json" },
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* PATCH /api/users/:userId/badges/display
|
|
94
|
+
* Toggle badge display preference
|
|
95
|
+
*/
|
|
96
|
+
async handleUpdateBadgeDisplay(request, env, userId) {
|
|
97
|
+
const sessionManager = new session_manager_1.SessionManager();
|
|
98
|
+
const sessionSecret = secret_resolver_1.Secrets.getSessionSecret(env);
|
|
99
|
+
const session = await sessionManager.getSession(request, sessionSecret, env);
|
|
100
|
+
if (!session) {
|
|
101
|
+
return new Response(JSON.stringify({ error: "Unauthorized" }), {
|
|
102
|
+
status: 401,
|
|
103
|
+
headers: { "Content-Type": "application/json" },
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
// Only user can update their own badge display
|
|
107
|
+
if (session.userId !== userId) {
|
|
108
|
+
return new Response(JSON.stringify({ error: "Forbidden" }), {
|
|
109
|
+
status: 403,
|
|
110
|
+
headers: { "Content-Type": "application/json" },
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const db = (0, db_1.createPrisma)(env);
|
|
114
|
+
try {
|
|
115
|
+
// Validate request body with Zod schema
|
|
116
|
+
const { validateRequest } = await Promise.resolve().then(() => __importStar(require("./validate-request")));
|
|
117
|
+
const { badgeSchema } = await Promise.resolve().then(() => __importStar(require("./schemas")));
|
|
118
|
+
const validation = await validateRequest(request, badgeSchema);
|
|
119
|
+
if (!validation.success) {
|
|
120
|
+
return validation.error;
|
|
121
|
+
}
|
|
122
|
+
const { showVerifiedBadge } = validation.data;
|
|
123
|
+
// showVerifiedBadge is already validated by Zod schema (must be boolean)
|
|
124
|
+
await db.user.update({
|
|
125
|
+
where: { id: userId },
|
|
126
|
+
data: { showVerifiedBadge },
|
|
127
|
+
});
|
|
128
|
+
return new Response(JSON.stringify({ success: true }), {
|
|
129
|
+
headers: { "Content-Type": "application/json" },
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
logger_1.Logger.getInstance(env).error("[BadgeHandler] Error updating badge display:", error);
|
|
134
|
+
return new Response(JSON.stringify({ error: "Internal server error" }), {
|
|
135
|
+
status: 500,
|
|
136
|
+
headers: { "Content-Type": "application/json" },
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.BadgeHandler = BadgeHandler;
|
|
142
|
+
//# sourceMappingURL=badge-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge-handler.js","sourceRoot":"","sources":["../../src/lib/badge-handler.ts"],"names":[],"mappings":"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"}
|