@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,479 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphService Interface
|
|
3
|
+
*
|
|
4
|
+
* The abstraction layer between API handlers and the graph database.
|
|
5
|
+
* Implementations exist for:
|
|
6
|
+
* - Neo4j Community Edition (local development, bolt:// protocol)
|
|
7
|
+
* - Neo4j AuraDB (bolt+s:// over the Bolt protocol with password auth)
|
|
8
|
+
*
|
|
9
|
+
* Both backends support the Cypher query language. This interface
|
|
10
|
+
* exposes high-level operations — implementations translate them to
|
|
11
|
+
* Cypher queries internally.
|
|
12
|
+
*
|
|
13
|
+
* Handlers never execute raw graph queries. They call GraphService methods
|
|
14
|
+
* that return IDs, which are then used to fetch content from Postgres via Prisma.
|
|
15
|
+
*
|
|
16
|
+
* @see /analysis/redesign/07-graph-database/02-hybrid-architecture.md
|
|
17
|
+
* @see /analysis/redesign/07-graph-database/04-graph-schema.md
|
|
18
|
+
*/
|
|
19
|
+
import type { CircleEntityStatus, CircleMember, CircleTier, CircleTierStatus, CreateEntityRelationshipInput, CreateRelationshipInput, DiscoveryFilters, DiscoveryResult, EntityRelationship, EntityRelationshipStatus, GlanceItem, GraphConnectionConfig, GraphData, GraphHealthStatus, GraphNodeType, NearbyFilters, PaginatedResult, PaginationInput, Recommendation, RecordInteractionInput, Relationship, ScoreUpdate, SyncEntityInput, SyncOwnershipInput, SyncPostInput, SyncPostSubjectsInput, SyncUserInput, UpdateRelationshipScoreInput, VisiblePostResult } from "./types";
|
|
20
|
+
/**
|
|
21
|
+
* Abstract connection to the graph database.
|
|
22
|
+
*
|
|
23
|
+
* Implementations manage driver lifecycle, connection pooling, and
|
|
24
|
+
* authentication. The connection is created once at application startup
|
|
25
|
+
* and shared across all requests.
|
|
26
|
+
*/
|
|
27
|
+
export interface GraphConnection {
|
|
28
|
+
/**
|
|
29
|
+
* Initialize the connection (create driver, verify reachability).
|
|
30
|
+
* Must be called before any queries. Idempotent — calling multiple
|
|
31
|
+
* times is safe.
|
|
32
|
+
*
|
|
33
|
+
* @param config - Connection configuration (endpoint, auth, pool settings)
|
|
34
|
+
* @throws GraphConnectionError if the database is unreachable
|
|
35
|
+
*/
|
|
36
|
+
connect(config: GraphConnectionConfig): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Gracefully close the connection and release all pooled resources.
|
|
39
|
+
* Should be called on application shutdown.
|
|
40
|
+
*/
|
|
41
|
+
close(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Check whether the connection is currently open and healthy.
|
|
44
|
+
*/
|
|
45
|
+
isConnected(): boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* High-level graph operations for the Trellis API.
|
|
49
|
+
*
|
|
50
|
+
* All methods are async (graph operations are I/O-bound).
|
|
51
|
+
* All methods throw GraphError subclasses on failure.
|
|
52
|
+
*
|
|
53
|
+
* Handlers consume this interface — they never know which backend
|
|
54
|
+
* (local Neo4j or AuraDB) is being used.
|
|
55
|
+
*/
|
|
56
|
+
export interface GraphService {
|
|
57
|
+
/**
|
|
58
|
+
* Check graph database health.
|
|
59
|
+
*
|
|
60
|
+
* Executes a lightweight query (e.g., `RETURN 1`) and measures latency.
|
|
61
|
+
* Used by the /health endpoint and readiness probes.
|
|
62
|
+
*
|
|
63
|
+
* @returns Health status including latency and backend type
|
|
64
|
+
*/
|
|
65
|
+
healthCheck(): Promise<GraphHealthStatus>;
|
|
66
|
+
/**
|
|
67
|
+
* Create a new scored relationship from a user to a target (user or entity).
|
|
68
|
+
*
|
|
69
|
+
* The initial score is determined by the connection method:
|
|
70
|
+
* - "code": 0.7 (close friends tier)
|
|
71
|
+
* - "import": 0.5 (close friends tier)
|
|
72
|
+
* - "suggestion": 0.3 (community tier)
|
|
73
|
+
* - "discovery": 0.3 (community tier)
|
|
74
|
+
*
|
|
75
|
+
* If the target already has a relationship back to this user (user->user),
|
|
76
|
+
* both edges are marked as reciprocated.
|
|
77
|
+
*
|
|
78
|
+
* @param input - Relationship creation parameters
|
|
79
|
+
* @returns The newly created relationship
|
|
80
|
+
* @throws GraphNotFoundError if the target node does not exist in the graph
|
|
81
|
+
* @throws GraphConflictError if the relationship already exists
|
|
82
|
+
*/
|
|
83
|
+
createRelationship(input: CreateRelationshipInput): Promise<Relationship>;
|
|
84
|
+
/**
|
|
85
|
+
* Remove a relationship.
|
|
86
|
+
*
|
|
87
|
+
* Deletes the RELATES_TO edge. If the relationship was reciprocated
|
|
88
|
+
* (user->user), the reverse edge's `reciprocated` flag is set to false.
|
|
89
|
+
*
|
|
90
|
+
* @param userId - Source user ID
|
|
91
|
+
* @param targetType - Type of the target node
|
|
92
|
+
* @param targetId - Target node ID
|
|
93
|
+
* @throws GraphNotFoundError if the relationship does not exist
|
|
94
|
+
*/
|
|
95
|
+
removeRelationship(userId: string, targetType: GraphNodeType, targetId: string): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Update the manual score override on a relationship.
|
|
98
|
+
*
|
|
99
|
+
* When manualScore is set, it overrides the computed score for tier
|
|
100
|
+
* resolution. When cleared (set to null), the computed score is used again.
|
|
101
|
+
*
|
|
102
|
+
* @param input - Score update parameters
|
|
103
|
+
* @returns The updated relationship
|
|
104
|
+
* @throws GraphNotFoundError if the relationship does not exist
|
|
105
|
+
*/
|
|
106
|
+
updateRelationshipScore(input: UpdateRelationshipScoreInput): Promise<Relationship>;
|
|
107
|
+
/**
|
|
108
|
+
* Get a specific relationship by source user and target.
|
|
109
|
+
*
|
|
110
|
+
* @param userId - Source user ID
|
|
111
|
+
* @param targetType - Type of the target node
|
|
112
|
+
* @param targetId - Target node ID
|
|
113
|
+
* @returns The relationship, or null if it does not exist
|
|
114
|
+
*/
|
|
115
|
+
getRelationship(userId: string, targetType: GraphNodeType, targetId: string): Promise<Relationship | null>;
|
|
116
|
+
/**
|
|
117
|
+
* List all relationships for a user, with optional filtering and pagination.
|
|
118
|
+
*
|
|
119
|
+
* Results are ordered by score descending (closest relationships first).
|
|
120
|
+
*
|
|
121
|
+
* @param userId - Source user ID
|
|
122
|
+
* @param options - Optional filters and pagination
|
|
123
|
+
* @returns Paginated list of relationships
|
|
124
|
+
*/
|
|
125
|
+
getRelationships(userId: string, options?: {
|
|
126
|
+
/** Filter to a specific tier */
|
|
127
|
+
tier?: CircleTier;
|
|
128
|
+
/** Filter to user or entity targets */
|
|
129
|
+
targetType?: GraphNodeType;
|
|
130
|
+
/** Pagination */
|
|
131
|
+
pagination?: PaginationInput;
|
|
132
|
+
}): Promise<PaginatedResult<Relationship>>;
|
|
133
|
+
/**
|
|
134
|
+
* Get the full relationship graph for visualization.
|
|
135
|
+
*
|
|
136
|
+
* Returns all relationship targets as nodes with coarse closeness
|
|
137
|
+
* indicators and tiers, plus tier summary statistics. This is a heavier
|
|
138
|
+
* query intended for the graph view UI, not for feed queries.
|
|
139
|
+
*
|
|
140
|
+
* SECURITY: This endpoint requires recent authentication (session age
|
|
141
|
+
* < 15 minutes). Raw scores are NOT returned — only tier and a coarse
|
|
142
|
+
* closeness value (0-100, bucketed to nearest 10). All access is
|
|
143
|
+
* audit-logged. Rate limit: 10 requests/minute.
|
|
144
|
+
*
|
|
145
|
+
* @param userId - The viewer's user ID
|
|
146
|
+
* @returns Graph data with nodes (coarse closeness, no raw scores) and tier summaries
|
|
147
|
+
*/
|
|
148
|
+
getRelationshipGraph(userId: string): Promise<GraphData>;
|
|
149
|
+
/**
|
|
150
|
+
* Get members (users and entities) in a specific circle tier.
|
|
151
|
+
*
|
|
152
|
+
* Members are sorted by score descending within the tier. Owned entities
|
|
153
|
+
* are always included at tier 0 (auto-pinned at score 1.0).
|
|
154
|
+
*
|
|
155
|
+
* @param userId - The viewer's user ID
|
|
156
|
+
* @param tier - Circle tier (0-3)
|
|
157
|
+
* @returns List of circle members in the tier
|
|
158
|
+
*/
|
|
159
|
+
getCircleMembers(userId: string, tier: CircleTier): Promise<CircleMember[]>;
|
|
160
|
+
/**
|
|
161
|
+
* Get post IDs visible to the user in a specific circle tier.
|
|
162
|
+
*
|
|
163
|
+
* Uses dual-gated visibility:
|
|
164
|
+
* 1. Posts where the viewer has a relationship with ANY subject entity,
|
|
165
|
+
* and the closest such relationship falls within the post's radius
|
|
166
|
+
* 2. Posts where the viewer has a relationship with the author,
|
|
167
|
+
* and the author's posting radius reaches the viewer's tier
|
|
168
|
+
*
|
|
169
|
+
* For multi-entity posts, the resolved tier is the minimum (closest)
|
|
170
|
+
* tier across all matching subject entity relationships.
|
|
171
|
+
*
|
|
172
|
+
* @param userId - The viewer's user ID
|
|
173
|
+
* @param tier - Circle tier to query
|
|
174
|
+
* @param since - Only return posts created after this timestamp
|
|
175
|
+
* @param pagination - Pagination parameters
|
|
176
|
+
* @returns Paginated post IDs with creation timestamps and resolved tiers
|
|
177
|
+
*/
|
|
178
|
+
getVisiblePostIds(userId: string, tier: CircleTier, since: Date, pagination: PaginationInput): Promise<PaginatedResult<VisiblePostResult>>;
|
|
179
|
+
/**
|
|
180
|
+
* Get glance mode data for a circle tier.
|
|
181
|
+
*
|
|
182
|
+
* Returns one recent item per entity/user in the tier, prioritized by
|
|
183
|
+
* recency. This provides a finite, entity-organized snapshot instead
|
|
184
|
+
* of a chronological feed.
|
|
185
|
+
*
|
|
186
|
+
* @param userId - The viewer's user ID
|
|
187
|
+
* @param tier - Circle tier
|
|
188
|
+
* @param limit - Maximum number of glance items (one per entity/user)
|
|
189
|
+
* @returns List of glance items, one per member with new content
|
|
190
|
+
*/
|
|
191
|
+
getGlanceItems(userId: string, tier: CircleTier, limit: number): Promise<GlanceItem[]>;
|
|
192
|
+
/**
|
|
193
|
+
* Get depth mode data: recent post IDs from/about a specific target.
|
|
194
|
+
*
|
|
195
|
+
* Used when a user taps on a specific entity or user in their circle
|
|
196
|
+
* to see that target's recent content.
|
|
197
|
+
*
|
|
198
|
+
* @param userId - The viewer's user ID
|
|
199
|
+
* @param targetType - Whether the target is a user or entity
|
|
200
|
+
* @param targetId - The target user or entity ID
|
|
201
|
+
* @param since - Only return posts created after this timestamp
|
|
202
|
+
* @param limit - Maximum number of post IDs to return
|
|
203
|
+
* @returns Post IDs ordered by creation time descending
|
|
204
|
+
*/
|
|
205
|
+
getDepthPostIds(userId: string, targetType: GraphNodeType, targetId: string, since: Date, limit: number): Promise<string[]>;
|
|
206
|
+
/**
|
|
207
|
+
* Get the read status for all circle tiers.
|
|
208
|
+
*
|
|
209
|
+
* Returns whether each tier is "caught up" (no unseen content),
|
|
210
|
+
* the count of unseen posts, and the last-read timestamp.
|
|
211
|
+
*
|
|
212
|
+
* @param userId - The viewer's user ID
|
|
213
|
+
* @returns Status for all four tiers
|
|
214
|
+
*/
|
|
215
|
+
getCircleStatus(userId: string): Promise<CircleTierStatus[]>;
|
|
216
|
+
/**
|
|
217
|
+
* Get per-entity status within a circle tier.
|
|
218
|
+
*
|
|
219
|
+
* Shows which entities have new content and how many unseen posts each has.
|
|
220
|
+
* Used for the entity-level "caught up" indicators in the circle view.
|
|
221
|
+
*
|
|
222
|
+
* @param userId - The viewer's user ID
|
|
223
|
+
* @param tier - Circle tier
|
|
224
|
+
* @returns Per-entity status list, sorted by unseen count descending
|
|
225
|
+
*/
|
|
226
|
+
getCircleEntityStatus(userId: string, tier: CircleTier): Promise<CircleEntityStatus[]>;
|
|
227
|
+
/**
|
|
228
|
+
* Mark a circle tier as read up to the current time.
|
|
229
|
+
*
|
|
230
|
+
* Updates the lastReadAt timestamp used for "caught up" computation.
|
|
231
|
+
* After this call, `getCircleStatus` will reflect the updated read state.
|
|
232
|
+
*
|
|
233
|
+
* @param userId - The viewer's user ID
|
|
234
|
+
* @param tier - Circle tier to mark as read
|
|
235
|
+
* @param readAt - Timestamp to mark as read up to (defaults to now)
|
|
236
|
+
*/
|
|
237
|
+
markCircleRead(userId: string, tier: CircleTier, readAt?: Date): Promise<void>;
|
|
238
|
+
/**
|
|
239
|
+
* Create a typed relationship between two entities.
|
|
240
|
+
*
|
|
241
|
+
* The relationship starts in PENDING status. It must be confirmed by an
|
|
242
|
+
* owner of the related entity before it becomes CONFIRMED and visible
|
|
243
|
+
* in the graph.
|
|
244
|
+
*
|
|
245
|
+
* @param input - Entity relationship creation parameters
|
|
246
|
+
* @returns The newly created entity relationship
|
|
247
|
+
* @throws GraphNotFoundError if either entity does not exist in the graph
|
|
248
|
+
* @throws GraphConflictError if the relationship already exists
|
|
249
|
+
* @throws GraphAuthorizationError if the proposing user does not own the source entity
|
|
250
|
+
*/
|
|
251
|
+
createEntityRelationship(input: CreateEntityRelationshipInput): Promise<EntityRelationship>;
|
|
252
|
+
/**
|
|
253
|
+
* Confirm a pending entity relationship.
|
|
254
|
+
*
|
|
255
|
+
* Only an owner of the target entity can confirm. Once confirmed, the
|
|
256
|
+
* relationship edge becomes visible for traversal queries (discovery,
|
|
257
|
+
* recommendations).
|
|
258
|
+
*
|
|
259
|
+
* @param entityId - Source entity ID
|
|
260
|
+
* @param relatedEntityId - Target entity ID
|
|
261
|
+
* @param confirmingUserId - User confirming (must own relatedEntityId)
|
|
262
|
+
* @returns The confirmed entity relationship
|
|
263
|
+
* @throws GraphNotFoundError if the relationship does not exist
|
|
264
|
+
* @throws GraphConflictError if already confirmed or rejected
|
|
265
|
+
* @throws GraphAuthorizationError if the user does not own the target entity
|
|
266
|
+
*/
|
|
267
|
+
confirmEntityRelationship(entityId: string, relatedEntityId: string, confirmingUserId: string): Promise<EntityRelationship>;
|
|
268
|
+
/**
|
|
269
|
+
* Reject a pending entity relationship.
|
|
270
|
+
*
|
|
271
|
+
* @param entityId - Source entity ID
|
|
272
|
+
* @param relatedEntityId - Target entity ID
|
|
273
|
+
* @param rejectingUserId - User rejecting (must own relatedEntityId)
|
|
274
|
+
* @throws GraphNotFoundError if the relationship does not exist
|
|
275
|
+
* @throws GraphAuthorizationError if the user does not own the target entity
|
|
276
|
+
*/
|
|
277
|
+
rejectEntityRelationship(entityId: string, relatedEntityId: string, rejectingUserId: string): Promise<void>;
|
|
278
|
+
/**
|
|
279
|
+
* Remove an entity relationship.
|
|
280
|
+
*
|
|
281
|
+
* Either owner (of source or target entity) can remove the relationship.
|
|
282
|
+
*
|
|
283
|
+
* @param entityId - Source entity ID
|
|
284
|
+
* @param relatedEntityId - Target entity ID
|
|
285
|
+
* @param removingUserId - User removing (must own either entity)
|
|
286
|
+
* @throws GraphNotFoundError if the relationship does not exist
|
|
287
|
+
* @throws GraphAuthorizationError if the user does not own either entity
|
|
288
|
+
*/
|
|
289
|
+
removeEntityRelationship(entityId: string, relatedEntityId: string, removingUserId: string): Promise<void>;
|
|
290
|
+
/**
|
|
291
|
+
* Get all relationships for an entity, optionally filtered by type and status.
|
|
292
|
+
*
|
|
293
|
+
* @param entityId - Entity ID
|
|
294
|
+
* @param options - Optional filters
|
|
295
|
+
* @returns List of entity relationships
|
|
296
|
+
*/
|
|
297
|
+
getEntityRelationships(entityId: string, options?: {
|
|
298
|
+
type?: string;
|
|
299
|
+
status?: EntityRelationshipStatus;
|
|
300
|
+
}): Promise<EntityRelationship[]>;
|
|
301
|
+
/**
|
|
302
|
+
* Get pending entity relationship requests that need confirmation.
|
|
303
|
+
*
|
|
304
|
+
* Returns relationships where the given user owns the target entity
|
|
305
|
+
* and the relationship is in PENDING status.
|
|
306
|
+
*
|
|
307
|
+
* @param userId - User who owns target entities
|
|
308
|
+
* @returns List of pending entity relationships
|
|
309
|
+
*/
|
|
310
|
+
getPendingEntityRelationships(userId: string): Promise<EntityRelationship[]>;
|
|
311
|
+
/**
|
|
312
|
+
* Discover entities through multi-hop graph traversal.
|
|
313
|
+
*
|
|
314
|
+
* Starts from the user's owned entities and traverses entity-to-entity
|
|
315
|
+
* relationships (PLAYMATE, PACK_MATE, SIBLING, etc.) up to the specified
|
|
316
|
+
* number of hops. Only returns entities the user does NOT already have
|
|
317
|
+
* a relationship with.
|
|
318
|
+
*
|
|
319
|
+
* @param userId - The discovering user's ID
|
|
320
|
+
* @param hops - Maximum traversal depth (1-3, clamped)
|
|
321
|
+
* @param filters - Optional filters (entity type, breed, life stage)
|
|
322
|
+
* @returns List of discovered entities
|
|
323
|
+
*/
|
|
324
|
+
discoverByGraph(userId: string, hops: number, filters?: DiscoveryFilters): Promise<DiscoveryResult[]>;
|
|
325
|
+
/**
|
|
326
|
+
* Discover entities by geographic proximity.
|
|
327
|
+
*
|
|
328
|
+
* Uses spatial indexing to find entities near the given coordinates.
|
|
329
|
+
* Only returns entities the user does NOT already have a relationship with.
|
|
330
|
+
*
|
|
331
|
+
* @param userId - The discovering user's ID (to exclude existing relationships)
|
|
332
|
+
* @param lat - Latitude
|
|
333
|
+
* @param lng - Longitude
|
|
334
|
+
* @param radiusMeters - Search radius in meters
|
|
335
|
+
* @param filters - Optional filters (entity type, breed)
|
|
336
|
+
* @returns List of discovered entities, sorted by distance ascending
|
|
337
|
+
*/
|
|
338
|
+
discoverNearby(userId: string, lat: number, lng: number, radiusMeters: number, filters?: NearbyFilters): Promise<DiscoveryResult[]>;
|
|
339
|
+
/**
|
|
340
|
+
* Get entity recommendations based on graph analysis.
|
|
341
|
+
*
|
|
342
|
+
* Combines multiple signals: shared connections, breed similarity,
|
|
343
|
+
* geographic proximity, and owner proximity to generate a ranked
|
|
344
|
+
* list of entities the user might want to follow.
|
|
345
|
+
*
|
|
346
|
+
* @param userId - The user to generate recommendations for
|
|
347
|
+
* @param limit - Maximum number of recommendations
|
|
348
|
+
* @returns Ranked list of recommendations with reasons
|
|
349
|
+
*/
|
|
350
|
+
getRecommendations(userId: string, limit: number): Promise<Recommendation[]>;
|
|
351
|
+
/**
|
|
352
|
+
* Record a user interaction for relationship scoring.
|
|
353
|
+
*
|
|
354
|
+
* Updates the interaction count, recency, and engagement depth signals
|
|
355
|
+
* on the RELATES_TO edge. Does NOT immediately recompute the score —
|
|
356
|
+
* that happens in `recomputeScores`.
|
|
357
|
+
*
|
|
358
|
+
* If no relationship exists between the user and target, this is a no-op
|
|
359
|
+
* (interactions only affect existing relationships).
|
|
360
|
+
*
|
|
361
|
+
* @param input - Interaction details
|
|
362
|
+
*/
|
|
363
|
+
recordInteraction(input: RecordInteractionInput): Promise<void>;
|
|
364
|
+
/**
|
|
365
|
+
* Recompute scores for all of a user's relationships.
|
|
366
|
+
*
|
|
367
|
+
* Applies the scoring formula (target-type-aware: reciprocity-weighted
|
|
368
|
+
* for user targets, engagement-depth-weighted for entity targets) and
|
|
369
|
+
* updates the computedScore and tier on each RELATES_TO edge.
|
|
370
|
+
*
|
|
371
|
+
* This is typically run as a background job, not inline with requests.
|
|
372
|
+
*
|
|
373
|
+
* @param userId - User whose relationship scores to recompute
|
|
374
|
+
* @returns List of relationships where the tier changed
|
|
375
|
+
*/
|
|
376
|
+
recomputeScores(userId: string): Promise<ScoreUpdate[]>;
|
|
377
|
+
/**
|
|
378
|
+
* Apply time-based decay to all of a user's relationship scores.
|
|
379
|
+
*
|
|
380
|
+
* Decay rates differ by target type:
|
|
381
|
+
* - User->User: 50% decay after 60 days of no interaction
|
|
382
|
+
* - User->Entity: 50% decay after 120 days of no interaction
|
|
383
|
+
*
|
|
384
|
+
* Owned entities (OWNS edges) are exempt from decay — they are always
|
|
385
|
+
* pinned at score 1.0 in tier 0.
|
|
386
|
+
*
|
|
387
|
+
* This is typically run as a scheduled job (e.g., daily cron).
|
|
388
|
+
*
|
|
389
|
+
* @param userId - User whose relationships to apply decay to
|
|
390
|
+
* @returns List of relationships where the tier changed due to decay
|
|
391
|
+
*/
|
|
392
|
+
applyDecay(userId: string): Promise<ScoreUpdate[]>;
|
|
393
|
+
/**
|
|
394
|
+
* Sync a User node to the graph.
|
|
395
|
+
*
|
|
396
|
+
* Creates the node if it doesn't exist, or updates properties if it does.
|
|
397
|
+
* Called after Postgres user create/update.
|
|
398
|
+
*
|
|
399
|
+
* @param input - User data to sync
|
|
400
|
+
*/
|
|
401
|
+
syncUser(input: SyncUserInput): Promise<void>;
|
|
402
|
+
/**
|
|
403
|
+
* Remove a User node and all its edges from the graph.
|
|
404
|
+
*
|
|
405
|
+
* Called after Postgres user deletion. Removes the User node and all
|
|
406
|
+
* connected RELATES_TO, OWNS, and reverse RELATES_TO edges.
|
|
407
|
+
*
|
|
408
|
+
* @param userId - User ID to remove
|
|
409
|
+
*/
|
|
410
|
+
removeUser(userId: string): Promise<void>;
|
|
411
|
+
/**
|
|
412
|
+
* Sync an Entity node to the graph.
|
|
413
|
+
*
|
|
414
|
+
* Creates the node if it doesn't exist, or updates properties if it does.
|
|
415
|
+
* Called after Postgres entity create/update.
|
|
416
|
+
*
|
|
417
|
+
* @param input - Entity data to sync
|
|
418
|
+
*/
|
|
419
|
+
syncEntity(input: SyncEntityInput): Promise<void>;
|
|
420
|
+
/**
|
|
421
|
+
* Remove an Entity node and all its edges from the graph.
|
|
422
|
+
*
|
|
423
|
+
* Called after Postgres entity deletion. Removes the Entity node and all
|
|
424
|
+
* connected edges (RELATES_TO pointing to it, OWNS, ABOUT, and
|
|
425
|
+
* entity-to-entity relationships).
|
|
426
|
+
*
|
|
427
|
+
* @param entityId - Entity ID to remove
|
|
428
|
+
*/
|
|
429
|
+
removeEntity(entityId: string): Promise<void>;
|
|
430
|
+
/**
|
|
431
|
+
* Sync a Post node to the graph.
|
|
432
|
+
*
|
|
433
|
+
* Creates the node if it doesn't exist. Post nodes are reference-only —
|
|
434
|
+
* content stays in Postgres. The graph uses post nodes for visibility
|
|
435
|
+
* queries (matching post radius against viewer tier).
|
|
436
|
+
*
|
|
437
|
+
* @param input - Post data to sync
|
|
438
|
+
*/
|
|
439
|
+
syncPost(input: SyncPostInput): Promise<void>;
|
|
440
|
+
/**
|
|
441
|
+
* Remove a Post node and its ABOUT edges from the graph.
|
|
442
|
+
*
|
|
443
|
+
* Called after Postgres post deletion.
|
|
444
|
+
*
|
|
445
|
+
* @param postId - Post ID to remove
|
|
446
|
+
*/
|
|
447
|
+
removePost(postId: string): Promise<void>;
|
|
448
|
+
/**
|
|
449
|
+
* Sync PostSubject edges (Post -[:ABOUT]-> Entity).
|
|
450
|
+
*
|
|
451
|
+
* Replaces all existing ABOUT edges for the post with the given set.
|
|
452
|
+
* This is an idempotent "set" operation, not an incremental add.
|
|
453
|
+
*
|
|
454
|
+
* @param input - Post subject data to sync
|
|
455
|
+
*/
|
|
456
|
+
syncPostSubjects(input: SyncPostSubjectsInput): Promise<void>;
|
|
457
|
+
/**
|
|
458
|
+
* Sync an EntityOwnership edge (User -[:OWNS]-> Entity).
|
|
459
|
+
*
|
|
460
|
+
* Creates or updates the OWNS edge with the given role.
|
|
461
|
+
* Also ensures the user has a RELATES_TO edge to the entity at score 1.0
|
|
462
|
+
* (auto-pinned to inner circle), since owned entities are always tier 0.
|
|
463
|
+
*
|
|
464
|
+
* @param input - Ownership data to sync
|
|
465
|
+
*/
|
|
466
|
+
syncOwnership(input: SyncOwnershipInput): Promise<void>;
|
|
467
|
+
/**
|
|
468
|
+
* Remove an EntityOwnership edge.
|
|
469
|
+
*
|
|
470
|
+
* Called when ownership is revoked. Removes the OWNS edge but does NOT
|
|
471
|
+
* remove the RELATES_TO edge — the user may still want to follow the entity.
|
|
472
|
+
* The auto-pin at score 1.0 is removed; the computed score takes over.
|
|
473
|
+
*
|
|
474
|
+
* @param entityId - Entity ID
|
|
475
|
+
* @param userId - User ID
|
|
476
|
+
*/
|
|
477
|
+
removeOwnership(entityId: string, userId: string): Promise<void>;
|
|
478
|
+
}
|
|
479
|
+
//# sourceMappingURL=graph-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-service.d.ts","sourceRoot":"","sources":["../../../src/lib/graph/graph-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GraphService Interface
|
|
4
|
+
*
|
|
5
|
+
* The abstraction layer between API handlers and the graph database.
|
|
6
|
+
* Implementations exist for:
|
|
7
|
+
* - Neo4j Community Edition (local development, bolt:// protocol)
|
|
8
|
+
* - Neo4j AuraDB (bolt+s:// over the Bolt protocol with password auth)
|
|
9
|
+
*
|
|
10
|
+
* Both backends support the Cypher query language. This interface
|
|
11
|
+
* exposes high-level operations — implementations translate them to
|
|
12
|
+
* Cypher queries internally.
|
|
13
|
+
*
|
|
14
|
+
* Handlers never execute raw graph queries. They call GraphService methods
|
|
15
|
+
* that return IDs, which are then used to fetch content from Postgres via Prisma.
|
|
16
|
+
*
|
|
17
|
+
* @see /analysis/redesign/07-graph-database/02-hybrid-architecture.md
|
|
18
|
+
* @see /analysis/redesign/07-graph-database/04-graph-schema.md
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
//# sourceMappingURL=graph-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-service.js","sourceRoot":"","sources":["../../../src/lib/graph/graph-service.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph Service
|
|
3
|
+
*
|
|
4
|
+
* Abstraction layer between API handlers and the graph database
|
|
5
|
+
* (Neo4j AuraDB in dev/prod, Neo4j Community via Docker in local dev
|
|
6
|
+
* and integration tests).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import type { GraphService } from "./graph";
|
|
11
|
+
* import { GraphConnectionError } from "./graph";
|
|
12
|
+
*
|
|
13
|
+
* async function handleRequest(graphService: GraphService) {
|
|
14
|
+
* try {
|
|
15
|
+
* const relationship = await graphService.createRelationship({
|
|
16
|
+
* userId: "user-123",
|
|
17
|
+
* targetType: "entity",
|
|
18
|
+
* targetId: "entity-456",
|
|
19
|
+
* connectionMethod: "discovery",
|
|
20
|
+
* });
|
|
21
|
+
* } catch (error) {
|
|
22
|
+
* if (error instanceof GraphConnectionError) {
|
|
23
|
+
* // Graph database is down — return 503
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export type { GraphService, GraphConnection } from "./graph-service";
|
|
30
|
+
export { Neo4jGraphService } from "./neo4j-graph-service";
|
|
31
|
+
export { createGraphService, createGraphServiceFromEnv, type GraphServiceEnvConfig, } from "./graph-factory";
|
|
32
|
+
export { initGraphSchema, verifyGraphSchema } from "./graph-schema-init";
|
|
33
|
+
export type { DualWriteService, DualWriteConfig, DualWriteFailure, DualWriteOperation, DualWritePayload, DualWriteSyncResult, ReconciliationProgress, ReconciliationResult, ConsistencyCheckResult, } from "./dual-write";
|
|
34
|
+
export { GraphSyncError } from "./dual-write";
|
|
35
|
+
export { DualWriteServiceImpl } from "./dual-write-service";
|
|
36
|
+
export { ReconciliationService } from "./reconciliation-service";
|
|
37
|
+
export type { ConnectionMethod, PostRadius, CircleTier, TierName, GraphNodeType, EntityRelationshipType, OwnershipRole, InteractionType, EntityRelationshipStatus, RecommendationReason, GraphUser, GraphEntity, GraphPost, Relationship, CreateRelationshipInput, UpdateRelationshipScoreInput, CircleMember, CircleTierStatus, CircleEntityStatus, GlanceItem, VisiblePostResult, EntityRelationship, CreateEntityRelationshipInput, DiscoveryFilters, NearbyFilters, DiscoveryResult, Recommendation, RecordInteractionInput, ScoringWeights, ScoreUpdate, GraphData, GraphNode, TierSummary, SyncUserInput, SyncEntityInput, SyncPostInput, SyncPostSubjectsInput, SyncOwnershipInput, GraphConnectionConfig, GraphAuthConfig, GraphPoolConfig, GraphHealthStatus, PaginationInput, PaginatedResult, } from "./types";
|
|
38
|
+
export { computeScore, effectiveScore, scoreToTier, computeDecay, computeEngagementDepth, computeFrequencySignal, connectionBonus, computeContentCreationSignal, computeOwnerProximity, USER_WEIGHTS, ENTITY_WEIGHTS, USER_DECAY_HALF_LIFE_DAYS, ENTITY_DECAY_HALF_LIFE_DAYS, ENGAGEMENT_SCORES, CONNECTION_BONUSES, TIER_THRESHOLDS, type InteractionCounts, type ScoringInput, } from "./scoring-engine";
|
|
39
|
+
export { GraphError, GraphConnectionError, GraphQueryError, GraphNotFoundError, GraphConflictError, GraphAuthorizationError, GraphTimeoutError, } from "./errors";
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/graph/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,YAAY,EAEV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EAEpB,SAAS,EACT,WAAW,EACX,SAAS,EAET,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAE5B,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EAEjB,kBAAkB,EAClB,6BAA6B,EAE7B,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EAEd,sBAAsB,EACtB,cAAc,EACd,WAAW,EAEX,SAAS,EACT,SAAS,EACT,WAAW,EAEX,aAAa,EACb,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAElB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,iBAAiB,EAEjB,eAAe,EACf,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,4BAA4B,EAC5B,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Graph Service
|
|
4
|
+
*
|
|
5
|
+
* Abstraction layer between API handlers and the graph database
|
|
6
|
+
* (Neo4j AuraDB in dev/prod, Neo4j Community via Docker in local dev
|
|
7
|
+
* and integration tests).
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import type { GraphService } from "./graph";
|
|
12
|
+
* import { GraphConnectionError } from "./graph";
|
|
13
|
+
*
|
|
14
|
+
* async function handleRequest(graphService: GraphService) {
|
|
15
|
+
* try {
|
|
16
|
+
* const relationship = await graphService.createRelationship({
|
|
17
|
+
* userId: "user-123",
|
|
18
|
+
* targetType: "entity",
|
|
19
|
+
* targetId: "entity-456",
|
|
20
|
+
* connectionMethod: "discovery",
|
|
21
|
+
* });
|
|
22
|
+
* } catch (error) {
|
|
23
|
+
* if (error instanceof GraphConnectionError) {
|
|
24
|
+
* // Graph database is down — return 503
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.GraphTimeoutError = exports.GraphAuthorizationError = exports.GraphConflictError = exports.GraphNotFoundError = exports.GraphQueryError = exports.GraphConnectionError = exports.GraphError = exports.TIER_THRESHOLDS = exports.CONNECTION_BONUSES = exports.ENGAGEMENT_SCORES = exports.ENTITY_DECAY_HALF_LIFE_DAYS = exports.USER_DECAY_HALF_LIFE_DAYS = exports.ENTITY_WEIGHTS = exports.USER_WEIGHTS = exports.computeOwnerProximity = exports.computeContentCreationSignal = exports.connectionBonus = exports.computeFrequencySignal = exports.computeEngagementDepth = exports.computeDecay = exports.scoreToTier = exports.effectiveScore = exports.computeScore = exports.ReconciliationService = exports.DualWriteServiceImpl = exports.GraphSyncError = exports.verifyGraphSchema = exports.initGraphSchema = exports.createGraphServiceFromEnv = exports.createGraphService = exports.Neo4jGraphService = void 0;
|
|
32
|
+
// Implementations
|
|
33
|
+
var neo4j_graph_service_1 = require("./neo4j-graph-service");
|
|
34
|
+
Object.defineProperty(exports, "Neo4jGraphService", { enumerable: true, get: function () { return neo4j_graph_service_1.Neo4jGraphService; } });
|
|
35
|
+
var graph_factory_1 = require("./graph-factory");
|
|
36
|
+
Object.defineProperty(exports, "createGraphService", { enumerable: true, get: function () { return graph_factory_1.createGraphService; } });
|
|
37
|
+
Object.defineProperty(exports, "createGraphServiceFromEnv", { enumerable: true, get: function () { return graph_factory_1.createGraphServiceFromEnv; } });
|
|
38
|
+
var graph_schema_init_1 = require("./graph-schema-init");
|
|
39
|
+
Object.defineProperty(exports, "initGraphSchema", { enumerable: true, get: function () { return graph_schema_init_1.initGraphSchema; } });
|
|
40
|
+
Object.defineProperty(exports, "verifyGraphSchema", { enumerable: true, get: function () { return graph_schema_init_1.verifyGraphSchema; } });
|
|
41
|
+
var dual_write_1 = require("./dual-write");
|
|
42
|
+
Object.defineProperty(exports, "GraphSyncError", { enumerable: true, get: function () { return dual_write_1.GraphSyncError; } });
|
|
43
|
+
var dual_write_service_1 = require("./dual-write-service");
|
|
44
|
+
Object.defineProperty(exports, "DualWriteServiceImpl", { enumerable: true, get: function () { return dual_write_service_1.DualWriteServiceImpl; } });
|
|
45
|
+
var reconciliation_service_1 = require("./reconciliation-service");
|
|
46
|
+
Object.defineProperty(exports, "ReconciliationService", { enumerable: true, get: function () { return reconciliation_service_1.ReconciliationService; } });
|
|
47
|
+
// Scoring engine
|
|
48
|
+
var scoring_engine_1 = require("./scoring-engine");
|
|
49
|
+
Object.defineProperty(exports, "computeScore", { enumerable: true, get: function () { return scoring_engine_1.computeScore; } });
|
|
50
|
+
Object.defineProperty(exports, "effectiveScore", { enumerable: true, get: function () { return scoring_engine_1.effectiveScore; } });
|
|
51
|
+
Object.defineProperty(exports, "scoreToTier", { enumerable: true, get: function () { return scoring_engine_1.scoreToTier; } });
|
|
52
|
+
Object.defineProperty(exports, "computeDecay", { enumerable: true, get: function () { return scoring_engine_1.computeDecay; } });
|
|
53
|
+
Object.defineProperty(exports, "computeEngagementDepth", { enumerable: true, get: function () { return scoring_engine_1.computeEngagementDepth; } });
|
|
54
|
+
Object.defineProperty(exports, "computeFrequencySignal", { enumerable: true, get: function () { return scoring_engine_1.computeFrequencySignal; } });
|
|
55
|
+
Object.defineProperty(exports, "connectionBonus", { enumerable: true, get: function () { return scoring_engine_1.connectionBonus; } });
|
|
56
|
+
Object.defineProperty(exports, "computeContentCreationSignal", { enumerable: true, get: function () { return scoring_engine_1.computeContentCreationSignal; } });
|
|
57
|
+
Object.defineProperty(exports, "computeOwnerProximity", { enumerable: true, get: function () { return scoring_engine_1.computeOwnerProximity; } });
|
|
58
|
+
Object.defineProperty(exports, "USER_WEIGHTS", { enumerable: true, get: function () { return scoring_engine_1.USER_WEIGHTS; } });
|
|
59
|
+
Object.defineProperty(exports, "ENTITY_WEIGHTS", { enumerable: true, get: function () { return scoring_engine_1.ENTITY_WEIGHTS; } });
|
|
60
|
+
Object.defineProperty(exports, "USER_DECAY_HALF_LIFE_DAYS", { enumerable: true, get: function () { return scoring_engine_1.USER_DECAY_HALF_LIFE_DAYS; } });
|
|
61
|
+
Object.defineProperty(exports, "ENTITY_DECAY_HALF_LIFE_DAYS", { enumerable: true, get: function () { return scoring_engine_1.ENTITY_DECAY_HALF_LIFE_DAYS; } });
|
|
62
|
+
Object.defineProperty(exports, "ENGAGEMENT_SCORES", { enumerable: true, get: function () { return scoring_engine_1.ENGAGEMENT_SCORES; } });
|
|
63
|
+
Object.defineProperty(exports, "CONNECTION_BONUSES", { enumerable: true, get: function () { return scoring_engine_1.CONNECTION_BONUSES; } });
|
|
64
|
+
Object.defineProperty(exports, "TIER_THRESHOLDS", { enumerable: true, get: function () { return scoring_engine_1.TIER_THRESHOLDS; } });
|
|
65
|
+
// Errors
|
|
66
|
+
var errors_1 = require("./errors");
|
|
67
|
+
Object.defineProperty(exports, "GraphError", { enumerable: true, get: function () { return errors_1.GraphError; } });
|
|
68
|
+
Object.defineProperty(exports, "GraphConnectionError", { enumerable: true, get: function () { return errors_1.GraphConnectionError; } });
|
|
69
|
+
Object.defineProperty(exports, "GraphQueryError", { enumerable: true, get: function () { return errors_1.GraphQueryError; } });
|
|
70
|
+
Object.defineProperty(exports, "GraphNotFoundError", { enumerable: true, get: function () { return errors_1.GraphNotFoundError; } });
|
|
71
|
+
Object.defineProperty(exports, "GraphConflictError", { enumerable: true, get: function () { return errors_1.GraphConflictError; } });
|
|
72
|
+
Object.defineProperty(exports, "GraphAuthorizationError", { enumerable: true, get: function () { return errors_1.GraphAuthorizationError; } });
|
|
73
|
+
Object.defineProperty(exports, "GraphTimeoutError", { enumerable: true, get: function () { return errors_1.GraphTimeoutError; } });
|
|
74
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/graph/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;;;AAKH,kBAAkB;AAClB,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,iDAIyB;AAHvB,mHAAA,kBAAkB,OAAA;AAClB,0HAAA,yBAAyB,OAAA;AAG3B,yDAAyE;AAAhE,oHAAA,eAAe,OAAA;AAAE,sHAAA,iBAAiB,OAAA;AAc3C,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,2DAA4D;AAAnD,0HAAA,oBAAoB,OAAA;AAC7B,mEAAiE;AAAxD,+HAAA,qBAAqB,OAAA;AA6D9B,iBAAiB;AACjB,mDAmB0B;AAlBxB,8GAAA,YAAY,OAAA;AACZ,gHAAA,cAAc,OAAA;AACd,6GAAA,WAAW,OAAA;AACX,8GAAA,YAAY,OAAA;AACZ,wHAAA,sBAAsB,OAAA;AACtB,wHAAA,sBAAsB,OAAA;AACtB,iHAAA,eAAe,OAAA;AACf,8HAAA,4BAA4B,OAAA;AAC5B,uHAAA,qBAAqB,OAAA;AACrB,8GAAA,YAAY,OAAA;AACZ,gHAAA,cAAc,OAAA;AACd,2HAAA,yBAAyB,OAAA;AACzB,6HAAA,2BAA2B,OAAA;AAC3B,mHAAA,iBAAiB,OAAA;AACjB,oHAAA,kBAAkB,OAAA;AAClB,iHAAA,eAAe,OAAA;AAKjB,SAAS;AACT,mCAQkB;AAPhB,oGAAA,UAAU,OAAA;AACV,8GAAA,oBAAoB,OAAA;AACpB,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,4GAAA,kBAAkB,OAAA;AAClB,iHAAA,uBAAuB,OAAA;AACvB,2GAAA,iBAAiB,OAAA"}
|