@cosmicdrift/kumiko-bundled-features 0.328.0 → 0.329.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/admin-shell/constants.d.ts +7 -0
- package/dist/admin-shell/constants.js +8 -0
- package/dist/admin-shell/feature.d.ts +17 -0
- package/dist/admin-shell/feature.js +182 -0
- package/dist/admin-shell/i18n.d.ts +5 -0
- package/dist/admin-shell/i18n.js +25 -0
- package/dist/admin-shell/index.d.ts +4 -0
- package/dist/admin-shell/index.js +4 -0
- package/dist/admin-shell/overview-allowlist.d.ts +9 -0
- package/dist/admin-shell/overview-allowlist.js +30 -0
- package/dist/admin-shell/web/client-plugin.d.ts +6 -0
- package/dist/admin-shell/web/client-plugin.js +10 -0
- package/dist/admin-shell/web/i18n.d.ts +2 -0
- package/dist/admin-shell/web/i18n.js +5 -0
- package/dist/admin-shell/web/index.d.ts +1 -0
- package/dist/admin-shell/web/index.js +2 -0
- package/dist/agent-tools/agent-doc-lint.d.ts +15 -0
- package/dist/agent-tools/agent-doc-lint.js +94 -0
- package/dist/agent-tools/agent-manifest.d.ts +5 -0
- package/dist/agent-tools/agent-manifest.js +252 -0
- package/dist/agent-tools/feature.d.ts +3 -0
- package/dist/agent-tools/feature.js +29 -0
- package/dist/agent-tools/index.d.ts +8 -0
- package/dist/agent-tools/index.js +5 -0
- package/dist/agent-tools/tool-catalog.d.ts +28 -0
- package/dist/agent-tools/tool-catalog.js +450 -0
- package/dist/agent-tools/tool-dispatch.d.ts +39 -0
- package/dist/agent-tools/tool-dispatch.js +264 -0
- package/dist/agent-tools/types.d.ts +194 -0
- package/dist/agent-tools/types.js +1 -0
- package/dist/audit/constants.d.ts +15 -0
- package/dist/audit/constants.js +20 -0
- package/dist/audit/escape-hatch-audit-sink.d.ts +22 -0
- package/dist/audit/escape-hatch-audit-sink.js +44 -0
- package/dist/audit/feature.d.ts +2 -0
- package/dist/audit/feature.js +128 -0
- package/dist/audit/handlers/details.query.d.ts +14 -0
- package/dist/audit/handlers/details.query.js +32 -0
- package/dist/audit/handlers/list.query.d.ts +35 -0
- package/dist/audit/handlers/list.query.js +100 -0
- package/dist/audit/i18n.d.ts +5 -0
- package/dist/audit/i18n.js +19 -0
- package/dist/audit/index.d.ts +3 -0
- package/dist/audit/index.js +3 -0
- package/dist/audit/web/client-plugin.d.ts +6 -0
- package/dist/audit/web/client-plugin.js +10 -0
- package/dist/audit/web/i18n.d.ts +2 -0
- package/dist/audit/web/i18n.js +4 -0
- package/dist/audit/web/index.d.ts +1 -0
- package/dist/audit/web/index.js +2 -0
- package/dist/auth-email-password/auth-paths.d.ts +19 -0
- package/dist/auth-email-password/auth-paths.js +14 -0
- package/dist/auth-email-password/auth-user-row.d.ts +15 -0
- package/dist/auth-email-password/auth-user-row.js +23 -0
- package/dist/auth-email-password/constants.d.ts +50 -0
- package/dist/auth-email-password/constants.js +137 -0
- package/dist/auth-email-password/email-templates.d.ts +30 -0
- package/dist/auth-email-password/email-templates.js +147 -0
- package/dist/auth-email-password/errors.d.ts +12 -0
- package/dist/auth-email-password/errors.js +76 -0
- package/dist/auth-email-password/feature.d.ts +55 -0
- package/dist/auth-email-password/feature.js +142 -0
- package/dist/auth-email-password/handlers/change-password.write.d.ts +7 -0
- package/dist/auth-email-password/handlers/change-password.write.js +54 -0
- package/dist/auth-email-password/handlers/confirm-account-unlock.write.d.ts +9 -0
- package/dist/auth-email-password/handlers/confirm-account-unlock.write.js +47 -0
- package/dist/auth-email-password/handlers/confirm-token-flow.d.ts +15 -0
- package/dist/auth-email-password/handlers/confirm-token-flow.js +96 -0
- package/dist/auth-email-password/handlers/invite-accept-with-login.write.d.ts +21 -0
- package/dist/auth-email-password/handlers/invite-accept-with-login.write.js +170 -0
- package/dist/auth-email-password/handlers/invite-accept.write.d.ts +11 -0
- package/dist/auth-email-password/handlers/invite-accept.write.js +131 -0
- package/dist/auth-email-password/handlers/invite-create.write.d.ts +32 -0
- package/dist/auth-email-password/handlers/invite-create.write.js +135 -0
- package/dist/auth-email-password/handlers/invite-info.query.d.ts +8 -0
- package/dist/auth-email-password/handlers/invite-info.query.js +62 -0
- package/dist/auth-email-password/handlers/invite-signup-complete.write.d.ts +12 -0
- package/dist/auth-email-password/handlers/invite-signup-complete.write.js +145 -0
- package/dist/auth-email-password/handlers/login.write.d.ts +78 -0
- package/dist/auth-email-password/handlers/login.write.js +197 -0
- package/dist/auth-email-password/handlers/logout.write.d.ts +2 -0
- package/dist/auth-email-password/handlers/logout.write.js +14 -0
- package/dist/auth-email-password/handlers/request-account-unlock.write.d.ts +6 -0
- package/dist/auth-email-password/handlers/request-account-unlock.write.js +24 -0
- package/dist/auth-email-password/handlers/request-email-verification.write.d.ts +6 -0
- package/dist/auth-email-password/handlers/request-email-verification.write.js +23 -0
- package/dist/auth-email-password/handlers/request-password-reset.write.d.ts +6 -0
- package/dist/auth-email-password/handlers/request-password-reset.write.js +23 -0
- package/dist/auth-email-password/handlers/reset-password.write.d.ts +10 -0
- package/dist/auth-email-password/handlers/reset-password.write.js +53 -0
- package/dist/auth-email-password/handlers/self-registration-status.query.d.ts +4 -0
- package/dist/auth-email-password/handlers/self-registration-status.query.js +24 -0
- package/dist/auth-email-password/handlers/signup-confirm.write.d.ts +15 -0
- package/dist/auth-email-password/handlers/signup-confirm.write.js +186 -0
- package/dist/auth-email-password/handlers/signup-request.write.d.ts +32 -0
- package/dist/auth-email-password/handlers/signup-request.write.js +174 -0
- package/dist/auth-email-password/handlers/token-request-handler.d.ts +45 -0
- package/dist/auth-email-password/handlers/token-request-handler.js +81 -0
- package/dist/auth-email-password/handlers/verify-email.write.d.ts +12 -0
- package/dist/auth-email-password/handlers/verify-email.write.js +50 -0
- package/dist/auth-email-password/i18n.d.ts +3 -0
- package/dist/auth-email-password/i18n.js +131 -0
- package/dist/auth-email-password/index.d.ts +9 -0
- package/dist/auth-email-password/index.js +18 -0
- package/dist/auth-email-password/invite-token-store.d.ts +30 -0
- package/dist/auth-email-password/invite-token-store.js +60 -0
- package/dist/auth-email-password/lockout-store.d.ts +5 -0
- package/dist/auth-email-password/lockout-store.js +28 -0
- package/dist/auth-email-password/magic-link-mail.d.ts +19 -0
- package/dist/auth-email-password/magic-link-mail.js +49 -0
- package/dist/auth-email-password/password-policy.d.ts +3 -0
- package/dist/auth-email-password/password-policy.js +2104 -0
- package/dist/auth-email-password/reset-token.d.ts +14 -0
- package/dist/auth-email-password/reset-token.js +13 -0
- package/dist/auth-email-password/seeding.d.ts +122 -0
- package/dist/auth-email-password/seeding.js +237 -0
- package/dist/auth-email-password/self-registration-toggle.d.ts +3 -0
- package/dist/auth-email-password/self-registration-toggle.js +21 -0
- package/dist/auth-email-password/signed-token.d.ts +1 -0
- package/dist/auth-email-password/signed-token.js +4 -0
- package/dist/auth-email-password/signup-token-store.d.ts +51 -0
- package/dist/auth-email-password/signup-token-store.js +115 -0
- package/dist/auth-email-password/testing.d.ts +1 -0
- package/dist/auth-email-password/testing.js +4 -0
- package/dist/auth-email-password/unlock-token.d.ts +14 -0
- package/dist/auth-email-password/unlock-token.js +11 -0
- package/dist/auth-email-password/verification-token.d.ts +14 -0
- package/dist/auth-email-password/verification-token.js +12 -0
- package/dist/auth-email-password/web/auth-client.d.ts +133 -0
- package/dist/auth-email-password/web/auth-client.js +290 -0
- package/dist/auth-email-password/web/auth-form-logic.d.ts +10 -0
- package/dist/auth-email-password/web/auth-form-logic.js +26 -0
- package/dist/auth-email-password/web/auth-form-primitives.d.ts +15 -0
- package/dist/auth-email-password/web/auth-form-primitives.js +71 -0
- package/dist/auth-email-password/web/auth-gate.d.ts +31 -0
- package/dist/auth-email-password/web/auth-gate.js +101 -0
- package/dist/auth-email-password/web/client-plugin.d.ts +38 -0
- package/dist/auth-email-password/web/client-plugin.js +24 -0
- package/dist/auth-email-password/web/confirm-account-unlock-screen.d.ts +9 -0
- package/dist/auth-email-password/web/confirm-account-unlock-screen.js +43 -0
- package/dist/auth-email-password/web/default-topbar-actions.d.ts +17 -0
- package/dist/auth-email-password/web/default-topbar-actions.js +14 -0
- package/dist/auth-email-password/web/forgot-password-screen.d.ts +9 -0
- package/dist/auth-email-password/web/forgot-password-screen.js +57 -0
- package/dist/auth-email-password/web/index.d.ts +41 -0
- package/dist/auth-email-password/web/index.js +27 -0
- package/dist/auth-email-password/web/invite-accept-screen.d.ts +18 -0
- package/dist/auth-email-password/web/invite-accept-screen.js +134 -0
- package/dist/auth-email-password/web/login-screen.d.ts +49 -0
- package/dist/auth-email-password/web/login-screen.js +124 -0
- package/dist/auth-email-password/web/request-account-unlock-screen.d.ts +9 -0
- package/dist/auth-email-password/web/request-account-unlock-screen.js +58 -0
- package/dist/auth-email-password/web/reset-password-screen.d.ts +11 -0
- package/dist/auth-email-password/web/reset-password-screen.js +68 -0
- package/dist/auth-email-password/web/session-bootstrap-error.d.ts +9 -0
- package/dist/auth-email-password/web/session-bootstrap-error.js +30 -0
- package/dist/auth-email-password/web/session.d.ts +42 -0
- package/dist/auth-email-password/web/session.js +144 -0
- package/dist/auth-email-password/web/signup-complete-screen.d.ts +20 -0
- package/dist/auth-email-password/web/signup-complete-screen.js +86 -0
- package/dist/auth-email-password/web/signup-screen.d.ts +9 -0
- package/dist/auth-email-password/web/signup-screen.js +71 -0
- package/dist/auth-email-password/web/tenant-menu-items.d.ts +5 -0
- package/dist/auth-email-password/web/tenant-menu-items.js +24 -0
- package/dist/auth-email-password/web/tenant-switcher.d.ts +9 -0
- package/dist/auth-email-password/web/tenant-switcher.js +64 -0
- package/dist/auth-email-password/web/use-shell-user.d.ts +5 -0
- package/dist/auth-email-password/web/use-shell-user.js +32 -0
- package/dist/auth-email-password/web/user-menu.d.ts +13 -0
- package/dist/auth-email-password/web/user-menu.js +44 -0
- package/dist/auth-email-password/web/verify-email-screen.d.ts +9 -0
- package/dist/auth-email-password/web/verify-email-screen.js +46 -0
- package/dist/auth-foundation/boot-checks.d.ts +5 -0
- package/dist/auth-foundation/boot-checks.js +113 -0
- package/dist/auth-foundation/feature.d.ts +37 -0
- package/dist/auth-foundation/feature.js +101 -0
- package/dist/auth-foundation/index.d.ts +3 -0
- package/dist/auth-foundation/index.js +4 -0
- package/dist/auth-foundation/resolve-anonymous-access.d.ts +11 -0
- package/dist/auth-foundation/resolve-anonymous-access.js +41 -0
- package/dist/auth-foundation/types.d.ts +74 -0
- package/dist/auth-foundation/types.js +76 -0
- package/dist/auth-mfa/base32.d.ts +2 -0
- package/dist/auth-mfa/base32.js +50 -0
- package/dist/auth-mfa/config.d.ts +5 -0
- package/dist/auth-mfa/config.js +22 -0
- package/dist/auth-mfa/constants.d.ts +30 -0
- package/dist/auth-mfa/constants.js +42 -0
- package/dist/auth-mfa/db/queries.d.ts +14 -0
- package/dist/auth-mfa/db/queries.js +31 -0
- package/dist/auth-mfa/errors.d.ts +9 -0
- package/dist/auth-mfa/errors.js +40 -0
- package/dist/auth-mfa/feature.d.ts +15 -0
- package/dist/auth-mfa/feature.js +175 -0
- package/dist/auth-mfa/handlers/disable.write.d.ts +10 -0
- package/dist/auth-mfa/handlers/disable.write.js +65 -0
- package/dist/auth-mfa/handlers/enable-confirm-preauth.write.d.ts +16 -0
- package/dist/auth-mfa/handlers/enable-confirm-preauth.write.js +176 -0
- package/dist/auth-mfa/handlers/enable-confirm.write.d.ts +12 -0
- package/dist/auth-mfa/handlers/enable-confirm.write.js +97 -0
- package/dist/auth-mfa/handlers/enable-start-preauth.write.d.ts +14 -0
- package/dist/auth-mfa/handlers/enable-start-preauth.write.js +75 -0
- package/dist/auth-mfa/handlers/enable-start.write.d.ts +13 -0
- package/dist/auth-mfa/handlers/enable-start.write.js +69 -0
- package/dist/auth-mfa/handlers/reencrypt.job.d.ts +16 -0
- package/dist/auth-mfa/handlers/reencrypt.job.js +157 -0
- package/dist/auth-mfa/handlers/regenerate-recovery.write.d.ts +9 -0
- package/dist/auth-mfa/handlers/regenerate-recovery.write.js +69 -0
- package/dist/auth-mfa/handlers/status.query.d.ts +4 -0
- package/dist/auth-mfa/handlers/status.query.js +28 -0
- package/dist/auth-mfa/handlers/verify.write.d.ts +14 -0
- package/dist/auth-mfa/handlers/verify.write.js +149 -0
- package/dist/auth-mfa/hmac-token-codec.d.ts +19 -0
- package/dist/auth-mfa/hmac-token-codec.js +56 -0
- package/dist/auth-mfa/i18n.d.ts +5 -0
- package/dist/auth-mfa/i18n.js +28 -0
- package/dist/auth-mfa/index.d.ts +9 -0
- package/dist/auth-mfa/index.js +6 -0
- package/dist/auth-mfa/mfa-challenge-token.d.ts +13 -0
- package/dist/auth-mfa/mfa-challenge-token.js +15 -0
- package/dist/auth-mfa/mfa-code-verifier.d.ts +7 -0
- package/dist/auth-mfa/mfa-code-verifier.js +28 -0
- package/dist/auth-mfa/mfa-preauth-setup-token.d.ts +13 -0
- package/dist/auth-mfa/mfa-preauth-setup-token.js +15 -0
- package/dist/auth-mfa/mfa-setup-token.d.ts +20 -0
- package/dist/auth-mfa/mfa-setup-token.js +65 -0
- package/dist/auth-mfa/mfa-status-checker.d.ts +14 -0
- package/dist/auth-mfa/mfa-status-checker.js +41 -0
- package/dist/auth-mfa/mfa-verify-attempts.d.ts +5 -0
- package/dist/auth-mfa/mfa-verify-attempts.js +26 -0
- package/dist/auth-mfa/otpauth-uri.d.ts +5 -0
- package/dist/auth-mfa/otpauth-uri.js +16 -0
- package/dist/auth-mfa/recovery-codes.d.ts +3 -0
- package/dist/auth-mfa/recovery-codes.js +45 -0
- package/dist/auth-mfa/schema/user-mfa.d.ts +185 -0
- package/dist/auth-mfa/schema/user-mfa.js +57 -0
- package/dist/auth-mfa/screens.d.ts +4 -0
- package/dist/auth-mfa/screens.js +109 -0
- package/dist/auth-mfa/testing.d.ts +1 -0
- package/dist/auth-mfa/testing.js +5 -0
- package/dist/auth-mfa/token-secrets.d.ts +12 -0
- package/dist/auth-mfa/token-secrets.js +21 -0
- package/dist/auth-mfa/totp.d.ts +4 -0
- package/dist/auth-mfa/totp.js +55 -0
- package/dist/auth-mfa/verify-factor.d.ts +16 -0
- package/dist/auth-mfa/verify-factor.js +46 -0
- package/dist/auth-mfa/web/client-plugin.d.ts +18 -0
- package/dist/auth-mfa/web/client-plugin.js +19 -0
- package/dist/auth-mfa/web/i18n.d.ts +3 -0
- package/dist/auth-mfa/web/i18n.js +55 -0
- package/dist/auth-mfa/web/index.d.ts +15 -0
- package/dist/auth-mfa/web/index.js +13 -0
- package/dist/auth-mfa/web/mfa-client.d.ts +23 -0
- package/dist/auth-mfa/web/mfa-client.js +133 -0
- package/dist/auth-mfa/web/mfa-disable-dialog.d.ts +8 -0
- package/dist/auth-mfa/web/mfa-disable-dialog.js +32 -0
- package/dist/auth-mfa/web/mfa-recovery-codes-reveal.d.ts +6 -0
- package/dist/auth-mfa/web/mfa-recovery-codes-reveal.js +15 -0
- package/dist/auth-mfa/web/mfa-regenerate-recovery-dialog.d.ts +8 -0
- package/dist/auth-mfa/web/mfa-regenerate-recovery-dialog.js +29 -0
- package/dist/auth-mfa/web/mfa-setup-preauth-screen.d.ts +14 -0
- package/dist/auth-mfa/web/mfa-setup-preauth-screen.js +133 -0
- package/dist/auth-mfa/web/mfa-verify-screen.d.ts +13 -0
- package/dist/auth-mfa/web/mfa-verify-screen.js +58 -0
- package/dist/auth-mfa-user-data/hooks.d.ts +3 -0
- package/dist/auth-mfa-user-data/hooks.js +47 -0
- package/dist/auth-mfa-user-data/index.d.ts +3 -0
- package/dist/auth-mfa-user-data/index.js +17 -0
- package/dist/billing-foundation/aggregate-id.d.ts +20 -0
- package/dist/billing-foundation/aggregate-id.js +53 -0
- package/dist/billing-foundation/billing-info-query.d.ts +26 -0
- package/dist/billing-foundation/billing-info-query.js +59 -0
- package/dist/billing-foundation/checkout-core.d.ts +98 -0
- package/dist/billing-foundation/checkout-core.js +282 -0
- package/dist/billing-foundation/constants.d.ts +98 -0
- package/dist/billing-foundation/constants.js +164 -0
- package/dist/billing-foundation/db/queries/payment-projection.d.ts +2 -0
- package/dist/billing-foundation/db/queries/payment-projection.js +13 -0
- package/dist/billing-foundation/db/queries/subscription-projection.d.ts +2 -0
- package/dist/billing-foundation/db/queries/subscription-projection.js +7 -0
- package/dist/billing-foundation/entities.d.ts +196 -0
- package/dist/billing-foundation/entities.js +125 -0
- package/dist/billing-foundation/events.d.ts +47 -0
- package/dist/billing-foundation/events.js +77 -0
- package/dist/billing-foundation/feature.d.ts +4 -0
- package/dist/billing-foundation/feature.js +227 -0
- package/dist/billing-foundation/get-subscription-for-tenant.d.ts +20 -0
- package/dist/billing-foundation/get-subscription-for-tenant.js +33 -0
- package/dist/billing-foundation/handlers/billing-plans.query.d.ts +3 -0
- package/dist/billing-foundation/handlers/billing-plans.query.js +19 -0
- package/dist/billing-foundation/handlers/create-checkout-session.write.d.ts +3 -0
- package/dist/billing-foundation/handlers/create-checkout-session.write.js +68 -0
- package/dist/billing-foundation/handlers/create-portal-session.write.d.ts +3 -0
- package/dist/billing-foundation/handlers/create-portal-session.write.js +76 -0
- package/dist/billing-foundation/handlers/list-subscriptions.query.d.ts +2 -0
- package/dist/billing-foundation/handlers/list-subscriptions.query.js +27 -0
- package/dist/billing-foundation/handlers/process-event.write.d.ts +32 -0
- package/dist/billing-foundation/handlers/process-event.write.js +165 -0
- package/dist/billing-foundation/handlers/process-payment-event.write.d.ts +10 -0
- package/dist/billing-foundation/handlers/process-payment-event.write.js +92 -0
- package/dist/billing-foundation/handlers/start-plan-checkout.write.d.ts +3 -0
- package/dist/billing-foundation/handlers/start-plan-checkout.write.js +47 -0
- package/dist/billing-foundation/handlers/switch-plan.write.d.ts +3 -0
- package/dist/billing-foundation/handlers/switch-plan.write.js +86 -0
- package/dist/billing-foundation/handlers/sync-subscription.write.d.ts +11 -0
- package/dist/billing-foundation/handlers/sync-subscription.write.js +128 -0
- package/dist/billing-foundation/i18n.d.ts +5 -0
- package/dist/billing-foundation/i18n.js +70 -0
- package/dist/billing-foundation/index.d.ts +13 -0
- package/dist/billing-foundation/index.js +14 -0
- package/dist/billing-foundation/plan-catalog.d.ts +23 -0
- package/dist/billing-foundation/plan-catalog.js +163 -0
- package/dist/billing-foundation/projection.d.ts +221 -0
- package/dist/billing-foundation/projection.js +180 -0
- package/dist/billing-foundation/screens.d.ts +8 -0
- package/dist/billing-foundation/screens.js +22 -0
- package/dist/billing-foundation/subscription-tier-sync.d.ts +11 -0
- package/dist/billing-foundation/subscription-tier-sync.js +119 -0
- package/dist/billing-foundation/tenant-destroy-hook.d.ts +14 -0
- package/dist/billing-foundation/tenant-destroy-hook.js +68 -0
- package/dist/billing-foundation/types.d.ts +325 -0
- package/dist/billing-foundation/types.js +31 -0
- package/dist/billing-foundation/validate-options.d.ts +6 -0
- package/dist/billing-foundation/validate-options.js +54 -0
- package/dist/billing-foundation/web/billing-plans-panel.d.ts +3 -0
- package/dist/billing-foundation/web/billing-plans-panel.js +165 -0
- package/dist/billing-foundation/web/client-plugin.d.ts +6 -0
- package/dist/billing-foundation/web/client-plugin.js +11 -0
- package/dist/billing-foundation/web/index.d.ts +4 -0
- package/dist/billing-foundation/web/index.js +8 -0
- package/dist/billing-foundation/webhook-handler.d.ts +16 -0
- package/dist/billing-foundation/webhook-handler.js +100 -0
- package/dist/cap-counter/aggregate-id.d.ts +24 -0
- package/dist/cap-counter/aggregate-id.js +42 -0
- package/dist/cap-counter/book-cap-usage.d.ts +19 -0
- package/dist/cap-counter/book-cap-usage.js +108 -0
- package/dist/cap-counter/constants.d.ts +14 -0
- package/dist/cap-counter/constants.js +29 -0
- package/dist/cap-counter/enforce-cap.d.ts +216 -0
- package/dist/cap-counter/enforce-cap.js +256 -0
- package/dist/cap-counter/entity.d.ts +64 -0
- package/dist/cap-counter/entity.js +50 -0
- package/dist/cap-counter/feature.d.ts +3 -0
- package/dist/cap-counter/feature.js +112 -0
- package/dist/cap-counter/handlers/get-counter.query.d.ts +2 -0
- package/dist/cap-counter/handlers/get-counter.query.js +27 -0
- package/dist/cap-counter/handlers/increment-rolling.write.d.ts +9 -0
- package/dist/cap-counter/handlers/increment-rolling.write.js +72 -0
- package/dist/cap-counter/handlers/increment.write.d.ts +2 -0
- package/dist/cap-counter/handlers/increment.write.js +47 -0
- package/dist/cap-counter/handlers/mark-soft-warned.write.d.ts +2 -0
- package/dist/cap-counter/handlers/mark-soft-warned.write.js +27 -0
- package/dist/cap-counter/i18n.d.ts +5 -0
- package/dist/cap-counter/i18n.js +10 -0
- package/dist/cap-counter/index.d.ts +8 -0
- package/dist/cap-counter/index.js +9 -0
- package/dist/cap-counter/stock-cap-guard.d.ts +19 -0
- package/dist/cap-counter/stock-cap-guard.js +33 -0
- package/dist/cap-counter/with-cap-enforcement.d.ts +60 -0
- package/dist/cap-counter/with-cap-enforcement.js +105 -0
- package/dist/cap-overview/access.d.ts +1 -0
- package/dist/cap-overview/access.js +8 -0
- package/dist/cap-overview/constants.d.ts +12 -0
- package/dist/cap-overview/constants.js +21 -0
- package/dist/cap-overview/feature.d.ts +14 -0
- package/dist/cap-overview/feature.js +55 -0
- package/dist/cap-overview/handlers/caps-usage.query.d.ts +3 -0
- package/dist/cap-overview/handlers/caps-usage.query.js +83 -0
- package/dist/cap-overview/handlers/tenant-caps-list.query.d.ts +32 -0
- package/dist/cap-overview/handlers/tenant-caps-list.query.js +192 -0
- package/dist/cap-overview/handlers/tenant-options.query.d.ts +7 -0
- package/dist/cap-overview/handlers/tenant-options.query.js +23 -0
- package/dist/cap-overview/i18n.d.ts +5 -0
- package/dist/cap-overview/i18n.js +24 -0
- package/dist/cap-overview/index.d.ts +6 -0
- package/dist/cap-overview/index.js +6 -0
- package/dist/cap-overview/screens.d.ts +5 -0
- package/dist/cap-overview/screens.js +90 -0
- package/dist/cap-overview/types.d.ts +33 -0
- package/dist/cap-overview/types.js +1 -0
- package/dist/cap-overview/usage-math.d.ts +4 -0
- package/dist/cap-overview/usage-math.js +28 -0
- package/dist/cap-overview/web/cap-cards-panel.d.ts +3 -0
- package/dist/cap-overview/web/cap-cards-panel.js +61 -0
- package/dist/cap-overview/web/cap-usage-bar.d.ts +6 -0
- package/dist/cap-overview/web/cap-usage-bar.js +16 -0
- package/dist/cap-overview/web/cap-usage-cell.d.ts +3 -0
- package/dist/cap-overview/web/cap-usage-cell.js +16 -0
- package/dist/cap-overview/web/client-plugin.d.ts +6 -0
- package/dist/cap-overview/web/client-plugin.js +15 -0
- package/dist/cap-overview/web/index.d.ts +4 -0
- package/dist/cap-overview/web/index.js +9 -0
- package/dist/channel-email/email-channel.d.ts +12 -0
- package/dist/channel-email/email-channel.js +85 -0
- package/dist/channel-email/feature.d.ts +3 -0
- package/dist/channel-email/feature.js +21 -0
- package/dist/channel-email/index.d.ts +5 -0
- package/dist/channel-email/index.js +5 -0
- package/dist/channel-email/pii-guard.d.ts +3 -0
- package/dist/channel-email/pii-guard.js +47 -0
- package/dist/channel-email/smtp-transport.d.ts +53 -0
- package/dist/channel-email/smtp-transport.js +64 -0
- package/dist/channel-email/types.d.ts +17 -0
- package/dist/channel-email/types.js +20 -0
- package/dist/channel-in-app/constants.d.ts +9 -0
- package/dist/channel-in-app/constants.js +9 -0
- package/dist/channel-in-app/feature.d.ts +2 -0
- package/dist/channel-in-app/feature.js +37 -0
- package/dist/channel-in-app/handlers/inbox.query.d.ts +7 -0
- package/dist/channel-in-app/handlers/inbox.query.js +28 -0
- package/dist/channel-in-app/handlers/mark-all-read.write.d.ts +4 -0
- package/dist/channel-in-app/handlers/mark-all-read.write.js +19 -0
- package/dist/channel-in-app/handlers/mark-read.write.d.ts +6 -0
- package/dist/channel-in-app/handlers/mark-read.write.js +26 -0
- package/dist/channel-in-app/handlers/unread-count.query.d.ts +4 -0
- package/dist/channel-in-app/handlers/unread-count.query.js +26 -0
- package/dist/channel-in-app/in-app-channel.d.ts +2 -0
- package/dist/channel-in-app/in-app-channel.js +34 -0
- package/dist/channel-in-app/index.d.ts +4 -0
- package/dist/channel-in-app/index.js +4 -0
- package/dist/channel-in-app/tables.d.ts +3 -0
- package/dist/channel-in-app/tables.js +21 -0
- package/dist/channel-push/feature.d.ts +3 -0
- package/dist/channel-push/feature.js +20 -0
- package/dist/channel-push/index.d.ts +3 -0
- package/dist/channel-push/index.js +3 -0
- package/dist/channel-push/push-channel.d.ts +11 -0
- package/dist/channel-push/push-channel.js +19 -0
- package/dist/channel-push/types.d.ts +12 -0
- package/dist/channel-push/types.js +9 -0
- package/dist/compliance-profiles/_internal/parse-override.d.ts +2 -0
- package/dist/compliance-profiles/_internal/parse-override.js +16 -0
- package/dist/compliance-profiles/constants.d.ts +12 -0
- package/dist/compliance-profiles/constants.js +16 -0
- package/dist/compliance-profiles/feature.d.ts +6 -0
- package/dist/compliance-profiles/feature.js +67 -0
- package/dist/compliance-profiles/handlers/for-tenant.query.d.ts +3 -0
- package/dist/compliance-profiles/handlers/for-tenant.query.js +37 -0
- package/dist/compliance-profiles/handlers/list-profiles.query.d.ts +13 -0
- package/dist/compliance-profiles/handlers/list-profiles.query.js +35 -0
- package/dist/compliance-profiles/handlers/needs-profile.query.d.ts +9 -0
- package/dist/compliance-profiles/handlers/needs-profile.query.js +61 -0
- package/dist/compliance-profiles/handlers/set-profile.write.d.ts +13 -0
- package/dist/compliance-profiles/handlers/set-profile.write.js +109 -0
- package/dist/compliance-profiles/handlers/sub-processors.query.d.ts +10 -0
- package/dist/compliance-profiles/handlers/sub-processors.query.js +32 -0
- package/dist/compliance-profiles/i18n.d.ts +5 -0
- package/dist/compliance-profiles/i18n.js +22 -0
- package/dist/compliance-profiles/index.d.ts +3 -0
- package/dist/compliance-profiles/index.js +3 -0
- package/dist/compliance-profiles/resolve-for-tenant.d.ts +8 -0
- package/dist/compliance-profiles/resolve-for-tenant.js +29 -0
- package/dist/compliance-profiles/schema/profile-selection.d.ts +76 -0
- package/dist/compliance-profiles/schema/profile-selection.js +44 -0
- package/dist/compliance-profiles/seeding.d.ts +14 -0
- package/dist/compliance-profiles/seeding.js +61 -0
- package/dist/compliance-profiles/web/client-plugin.d.ts +6 -0
- package/dist/compliance-profiles/web/client-plugin.js +14 -0
- package/dist/compliance-profiles/web/compliance-profile-catalog.d.ts +3 -0
- package/dist/compliance-profiles/web/compliance-profile-catalog.js +20 -0
- package/dist/compliance-profiles/web/i18n.d.ts +2 -0
- package/dist/compliance-profiles/web/i18n.js +6 -0
- package/dist/compliance-profiles/web/index.d.ts +2 -0
- package/dist/compliance-profiles/web/index.js +3 -0
- package/dist/compliance-profiles-ops/handlers/tenants-missing-profile.query.d.ts +10 -0
- package/dist/compliance-profiles-ops/handlers/tenants-missing-profile.query.js +42 -0
- package/dist/compliance-profiles-ops/index.d.ts +7 -0
- package/dist/compliance-profiles-ops/index.js +28 -0
- package/dist/config/constants.d.ts +21 -0
- package/dist/config/constants.js +27 -0
- package/dist/config/db/queries/resolver.d.ts +11 -0
- package/dist/config/db/queries/resolver.js +27 -0
- package/dist/config/feature.d.ts +13 -0
- package/dist/config/feature.js +113 -0
- package/dist/config/handlers/cascade.query.d.ts +5 -0
- package/dist/config/handlers/cascade.query.js +71 -0
- package/dist/config/handlers/readiness.query.d.ts +22 -0
- package/dist/config/handlers/readiness.query.js +106 -0
- package/dist/config/handlers/reencrypt.job.d.ts +13 -0
- package/dist/config/handlers/reencrypt.job.js +203 -0
- package/dist/config/handlers/reset.write.d.ts +12 -0
- package/dist/config/handlers/reset.write.js +63 -0
- package/dist/config/handlers/schema.query.d.ts +3 -0
- package/dist/config/handlers/schema.query.js +31 -0
- package/dist/config/handlers/selected-extensions.query.d.ts +2 -0
- package/dist/config/handlers/selected-extensions.query.js +56 -0
- package/dist/config/handlers/set.write.d.ts +14 -0
- package/dist/config/handlers/set.write.js +145 -0
- package/dist/config/handlers/values.query.d.ts +7 -0
- package/dist/config/handlers/values.query.js +63 -0
- package/dist/config/i18n.d.ts +2 -0
- package/dist/config/i18n.js +3 -0
- package/dist/config/index.d.ts +15 -0
- package/dist/config/index.js +14 -0
- package/dist/config/read-redaction.d.ts +5 -0
- package/dist/config/read-redaction.js +49 -0
- package/dist/config/resolver.d.ts +19 -0
- package/dist/config/resolver.js +476 -0
- package/dist/config/table.d.ts +124 -0
- package/dist/config/table.js +38 -0
- package/dist/config/web/client-plugin.d.ts +11 -0
- package/dist/config/web/client-plugin.js +13 -0
- package/dist/config/web/i18n.d.ts +2 -0
- package/dist/config/web/i18n.js +32 -0
- package/dist/config/web/index.d.ts +2 -0
- package/dist/config/web/index.js +3 -0
- package/dist/config/write-helpers.d.ts +44 -0
- package/dist/config/write-helpers.js +267 -0
- package/dist/crypto-shredding/constants.d.ts +8 -0
- package/dist/crypto-shredding/constants.js +8 -0
- package/dist/crypto-shredding/feature.d.ts +2 -0
- package/dist/crypto-shredding/feature.js +17 -0
- package/dist/crypto-shredding/handlers/forget-subject.write.d.ts +50 -0
- package/dist/crypto-shredding/handlers/forget-subject.write.js +292 -0
- package/dist/crypto-shredding/index.d.ts +3 -0
- package/dist/crypto-shredding/index.js +3 -0
- package/dist/custom-fields/aggregate-id.d.ts +19 -0
- package/dist/custom-fields/aggregate-id.js +28 -0
- package/dist/custom-fields/constants.d.ts +25 -0
- package/dist/custom-fields/constants.js +72 -0
- package/dist/custom-fields/db/queries/field-access.d.ts +2 -0
- package/dist/custom-fields/db/queries/field-access.js +6 -0
- package/dist/custom-fields/db/queries/projection.d.ts +6 -0
- package/dist/custom-fields/db/queries/projection.js +45 -0
- package/dist/custom-fields/db/queries/quota.d.ts +2 -0
- package/dist/custom-fields/db/queries/quota.js +12 -0
- package/dist/custom-fields/db/queries/retention.d.ts +3 -0
- package/dist/custom-fields/db/queries/retention.js +23 -0
- package/dist/custom-fields/db/queries/user-data-rights.d.ts +6 -0
- package/dist/custom-fields/db/queries/user-data-rights.js +16 -0
- package/dist/custom-fields/entity.d.ts +107 -0
- package/dist/custom-fields/entity.js +99 -0
- package/dist/custom-fields/events.d.ts +10 -0
- package/dist/custom-fields/events.js +20 -0
- package/dist/custom-fields/executor.d.ts +1 -0
- package/dist/custom-fields/executor.js +6 -0
- package/dist/custom-fields/feature.d.ts +47 -0
- package/dist/custom-fields/feature.js +177 -0
- package/dist/custom-fields/handlers/clear-custom-field.write.d.ts +12 -0
- package/dist/custom-fields/handlers/clear-custom-field.write.js +62 -0
- package/dist/custom-fields/handlers/define-system-field.write.d.ts +2 -0
- package/dist/custom-fields/handlers/define-system-field.write.js +31 -0
- package/dist/custom-fields/handlers/define-tenant-field.write.d.ts +12 -0
- package/dist/custom-fields/handlers/define-tenant-field.write.js +44 -0
- package/dist/custom-fields/handlers/delete-system-field.write.d.ts +2 -0
- package/dist/custom-fields/handlers/delete-system-field.write.js +39 -0
- package/dist/custom-fields/handlers/delete-tenant-field.write.d.ts +8 -0
- package/dist/custom-fields/handlers/delete-tenant-field.write.js +39 -0
- package/dist/custom-fields/handlers/set-custom-field.write.d.ts +14 -0
- package/dist/custom-fields/handlers/set-custom-field.write.js +103 -0
- package/dist/custom-fields/handlers/update-tenant-field.write.d.ts +8 -0
- package/dist/custom-fields/handlers/update-tenant-field.write.js +43 -0
- package/dist/custom-fields/index.d.ts +10 -0
- package/dist/custom-fields/index.js +10 -0
- package/dist/custom-fields/lib/define-or-resurrect.d.ts +7 -0
- package/dist/custom-fields/lib/define-or-resurrect.js +40 -0
- package/dist/custom-fields/lib/field-access.d.ts +18 -0
- package/dist/custom-fields/lib/field-access.js +44 -0
- package/dist/custom-fields/lib/field-definition-row.d.ts +11 -0
- package/dist/custom-fields/lib/field-definition-row.js +19 -0
- package/dist/custom-fields/lib/parse-serialized-field.d.ts +22 -0
- package/dist/custom-fields/lib/parse-serialized-field.js +46 -0
- package/dist/custom-fields/lib/quota.d.ts +1 -0
- package/dist/custom-fields/lib/quota.js +4 -0
- package/dist/custom-fields/lib/value-schema.d.ts +2 -0
- package/dist/custom-fields/lib/value-schema.js +85 -0
- package/dist/custom-fields/run-retention.d.ts +21 -0
- package/dist/custom-fields/run-retention.js +158 -0
- package/dist/custom-fields/schemas.d.ts +73 -0
- package/dist/custom-fields/schemas.js +81 -0
- package/dist/custom-fields/web/client-plugin.d.ts +2 -0
- package/dist/custom-fields/web/client-plugin.js +24 -0
- package/dist/custom-fields/web/custom-fields-form-section.d.ts +10 -0
- package/dist/custom-fields/web/custom-fields-form-section.js +133 -0
- package/dist/custom-fields/web/i18n.d.ts +2 -0
- package/dist/custom-fields/web/i18n.js +19 -0
- package/dist/custom-fields/web/index.d.ts +3 -0
- package/dist/custom-fields/web/index.js +4 -0
- package/dist/custom-fields/wire-for-entity.d.ts +3 -0
- package/dist/custom-fields/wire-for-entity.js +185 -0
- package/dist/custom-fields/wire-user-data-rights.d.ts +7 -0
- package/dist/custom-fields/wire-user-data-rights.js +52 -0
- package/dist/data-retention/_internal/parse-override.d.ts +2 -0
- package/dist/data-retention/_internal/parse-override.js +25 -0
- package/dist/data-retention/feature.d.ts +9 -0
- package/dist/data-retention/feature.js +88 -0
- package/dist/data-retention/handlers/policy-for.query.d.ts +5 -0
- package/dist/data-retention/handlers/policy-for.query.js +40 -0
- package/dist/data-retention/index.d.ts +2 -0
- package/dist/data-retention/index.js +1 -0
- package/dist/data-retention/keep-for.d.ts +23 -0
- package/dist/data-retention/keep-for.js +57 -0
- package/dist/data-retention/override-schema.d.ts +17 -0
- package/dist/data-retention/override-schema.js +33 -0
- package/dist/data-retention/presets.d.ts +20 -0
- package/dist/data-retention/presets.js +55 -0
- package/dist/data-retention/resolve-for-tenant.d.ts +34 -0
- package/dist/data-retention/resolve-for-tenant.js +37 -0
- package/dist/data-retention/resolve-tenant-preset.d.ts +12 -0
- package/dist/data-retention/resolve-tenant-preset.js +34 -0
- package/dist/data-retention/resolver.d.ts +38 -0
- package/dist/data-retention/resolver.js +63 -0
- package/dist/data-retention/run-retention-cleanup.d.ts +39 -0
- package/dist/data-retention/run-retention-cleanup.js +508 -0
- package/dist/data-retention/schema/tenant-retention-override.d.ts +116 -0
- package/dist/data-retention/schema/tenant-retention-override.js +41 -0
- package/dist/delivery/address-opt-out.d.ts +29 -0
- package/dist/delivery/address-opt-out.js +118 -0
- package/dist/delivery/attempt-log.d.ts +5 -0
- package/dist/delivery/attempt-log.js +44 -0
- package/dist/delivery/channel-context.d.ts +5 -0
- package/dist/delivery/channel-context.js +8 -0
- package/dist/delivery/constants.d.ts +8 -0
- package/dist/delivery/constants.js +18 -0
- package/dist/delivery/db/queries/address-opt-outs.d.ts +3 -0
- package/dist/delivery/db/queries/address-opt-outs.js +10 -0
- package/dist/delivery/db/queries/preferences.d.ts +8 -0
- package/dist/delivery/db/queries/preferences.js +13 -0
- package/dist/delivery/delivery-service.d.ts +28 -0
- package/dist/delivery/delivery-service.js +447 -0
- package/dist/delivery/events.d.ts +20 -0
- package/dist/delivery/events.js +20 -0
- package/dist/delivery/feature.d.ts +5 -0
- package/dist/delivery/feature.js +152 -0
- package/dist/delivery/handlers/log.query.d.ts +24 -0
- package/dist/delivery/handlers/log.query.js +114 -0
- package/dist/delivery/handlers/preferences.query.d.ts +4 -0
- package/dist/delivery/handlers/preferences.query.js +36 -0
- package/dist/delivery/handlers/resubscribe-address.write.d.ts +9 -0
- package/dist/delivery/handlers/resubscribe-address.write.js +39 -0
- package/dist/delivery/handlers/resubscribe-user.write.d.ts +9 -0
- package/dist/delivery/handlers/resubscribe-user.write.js +38 -0
- package/dist/delivery/handlers/set-preference.write.d.ts +10 -0
- package/dist/delivery/handlers/set-preference.write.js +43 -0
- package/dist/delivery/handlers/unsubscribe-address.write.d.ts +9 -0
- package/dist/delivery/handlers/unsubscribe-address.write.js +37 -0
- package/dist/delivery/handlers/unsubscribe-user.write.d.ts +9 -0
- package/dist/delivery/handlers/unsubscribe-user.write.js +40 -0
- package/dist/delivery/i18n.d.ts +5 -0
- package/dist/delivery/i18n.js +9 -0
- package/dist/delivery/index.d.ts +9 -0
- package/dist/delivery/index.js +8 -0
- package/dist/delivery/jobs.d.ts +3 -0
- package/dist/delivery/jobs.js +115 -0
- package/dist/delivery/public-names.d.ts +33 -0
- package/dist/delivery/public-names.js +47 -0
- package/dist/delivery/tables.d.ts +132 -0
- package/dist/delivery/tables.js +108 -0
- package/dist/delivery/testing.d.ts +32 -0
- package/dist/delivery/testing.js +26 -0
- package/dist/delivery/types.d.ts +61 -0
- package/dist/delivery/types.js +10 -0
- package/dist/delivery/unsubscribe.d.ts +34 -0
- package/dist/delivery/unsubscribe.js +304 -0
- package/dist/delivery/upsert-preference.d.ts +15 -0
- package/dist/delivery/upsert-preference.js +83 -0
- package/dist/delivery/web/client-plugin.d.ts +6 -0
- package/dist/delivery/web/client-plugin.js +11 -0
- package/dist/delivery/web/delivery-status-cell.d.ts +3 -0
- package/dist/delivery/web/delivery-status-cell.js +13 -0
- package/dist/delivery/web/index.d.ts +2 -0
- package/dist/delivery/web/index.js +3 -0
- package/dist/derivatives-sharp/feature.d.ts +3 -0
- package/dist/derivatives-sharp/feature.js +15 -0
- package/dist/derivatives-sharp/index.d.ts +2 -0
- package/dist/derivatives-sharp/index.js +2 -0
- package/dist/derivatives-sharp/render.d.ts +7 -0
- package/dist/derivatives-sharp/render.js +310 -0
- package/dist/document-ingest-foundation/boot-checks.d.ts +2 -0
- package/dist/document-ingest-foundation/boot-checks.js +50 -0
- package/dist/document-ingest-foundation/entity.d.ts +129 -0
- package/dist/document-ingest-foundation/entity.js +31 -0
- package/dist/document-ingest-foundation/events.d.ts +27 -0
- package/dist/document-ingest-foundation/events.js +32 -0
- package/dist/document-ingest-foundation/executor.d.ts +1 -0
- package/dist/document-ingest-foundation/executor.js +6 -0
- package/dist/document-ingest-foundation/feature.d.ts +6 -0
- package/dist/document-ingest-foundation/feature.js +172 -0
- package/dist/document-ingest-foundation/file-ref-liveness.d.ts +2 -0
- package/dist/document-ingest-foundation/file-ref-liveness.js +5 -0
- package/dist/document-ingest-foundation/forget-extract-with-file-ref.d.ts +4 -0
- package/dist/document-ingest-foundation/forget-extract-with-file-ref.js +74 -0
- package/dist/document-ingest-foundation/index.d.ts +6 -0
- package/dist/document-ingest-foundation/index.js +7 -0
- package/dist/document-ingest-foundation/pages.d.ts +3 -0
- package/dist/document-ingest-foundation/pages.js +32 -0
- package/dist/document-ingest-foundation/providers.d.ts +29 -0
- package/dist/document-ingest-foundation/providers.js +44 -0
- package/dist/document-ingest-foundation/tenant-destroy-hook.d.ts +2 -0
- package/dist/document-ingest-foundation/tenant-destroy-hook.js +30 -0
- package/dist/document-ingest-foundation/write-document-extract.d.ts +18 -0
- package/dist/document-ingest-foundation/write-document-extract.js +28 -0
- package/dist/feature-toggles/compose-tier-resolver.d.ts +3 -0
- package/dist/feature-toggles/compose-tier-resolver.js +116 -0
- package/dist/feature-toggles/constants.d.ts +16 -0
- package/dist/feature-toggles/constants.js +32 -0
- package/dist/feature-toggles/events.d.ts +8 -0
- package/dist/feature-toggles/events.js +15 -0
- package/dist/feature-toggles/feature.d.ts +10 -0
- package/dist/feature-toggles/feature.js +118 -0
- package/dist/feature-toggles/global-feature-state-table.d.ts +4 -0
- package/dist/feature-toggles/global-feature-state-table.js +34 -0
- package/dist/feature-toggles/handlers/list.query.d.ts +10 -0
- package/dist/feature-toggles/handlers/list.query.js +33 -0
- package/dist/feature-toggles/handlers/registered.query.d.ts +17 -0
- package/dist/feature-toggles/handlers/registered.query.js +63 -0
- package/dist/feature-toggles/handlers/set.write.d.ts +10 -0
- package/dist/feature-toggles/handlers/set.write.js +143 -0
- package/dist/feature-toggles/i18n.d.ts +5 -0
- package/dist/feature-toggles/i18n.js +9 -0
- package/dist/feature-toggles/index.d.ts +3 -0
- package/dist/feature-toggles/index.js +3 -0
- package/dist/feature-toggles/toggle-runtime.d.ts +20 -0
- package/dist/feature-toggles/toggle-runtime.js +95 -0
- package/dist/feature-toggles/toggle-sync-signal.d.ts +5 -0
- package/dist/feature-toggles/toggle-sync-signal.js +41 -0
- package/dist/feature-toggles/web/client-plugin.d.ts +6 -0
- package/dist/feature-toggles/web/client-plugin.js +10 -0
- package/dist/feature-toggles/web/i18n.d.ts +2 -0
- package/dist/feature-toggles/web/i18n.js +14 -0
- package/dist/feature-toggles/web/index.d.ts +1 -0
- package/dist/feature-toggles/web/index.js +2 -0
- package/dist/file-derivatives/feature.d.ts +28 -0
- package/dist/file-derivatives/feature.js +166 -0
- package/dist/file-derivatives/handlers/public-variant-by-file-ref.query.d.ts +5 -0
- package/dist/file-derivatives/handlers/public-variant-by-file-ref.query.js +35 -0
- package/dist/file-derivatives/handlers/public-variant.query.d.ts +29 -0
- package/dist/file-derivatives/handlers/public-variant.query.js +110 -0
- package/dist/file-derivatives/index.d.ts +4 -0
- package/dist/file-derivatives/index.js +2 -0
- package/dist/file-derivatives/presets.d.ts +20 -0
- package/dist/file-derivatives/presets.js +8 -0
- package/dist/file-foundation/feature.d.ts +7 -0
- package/dist/file-foundation/feature.js +47 -0
- package/dist/file-foundation/index.d.ts +1 -0
- package/dist/file-foundation/index.js +2 -0
- package/dist/file-provider-inmemory/feature.d.ts +7 -0
- package/dist/file-provider-inmemory/feature.js +64 -0
- package/dist/file-provider-inmemory/index.d.ts +1 -0
- package/dist/file-provider-inmemory/index.js +2 -0
- package/dist/file-provider-s3/feature.d.ts +14 -0
- package/dist/file-provider-s3/feature.js +123 -0
- package/dist/file-provider-s3/index.d.ts +1 -0
- package/dist/file-provider-s3/index.js +2 -0
- package/dist/file-provider-s3-env/feature.d.ts +3 -0
- package/dist/file-provider-s3-env/feature.js +46 -0
- package/dist/file-provider-s3-env/index.d.ts +1 -0
- package/dist/file-provider-s3-env/index.js +2 -0
- package/dist/files/feature.d.ts +1 -0
- package/dist/files/index.d.ts +1 -0
- package/dist/files/index.js +1 -0
- package/dist/files-provider-s3/env-helper.d.ts +4 -0
- package/dist/files-provider-s3/env-helper.js +44 -0
- package/dist/files-provider-s3/index.d.ts +3 -0
- package/dist/files-provider-s3/index.js +2 -0
- package/dist/files-provider-s3/s3-provider.d.ts +20 -0
- package/dist/files-provider-s3/s3-provider.js +149 -0
- package/dist/files-tenant-data/handlers/sweep-orphaned-derivatives.job.d.ts +10 -0
- package/dist/files-tenant-data/handlers/sweep-orphaned-derivatives.job.js +121 -0
- package/dist/files-tenant-data/hooks.d.ts +3 -0
- package/dist/files-tenant-data/hooks.js +161 -0
- package/dist/files-tenant-data/index.d.ts +4 -0
- package/dist/files-tenant-data/index.js +41 -0
- package/dist/folders/aggregate-id.d.ts +9 -0
- package/dist/folders/aggregate-id.js +17 -0
- package/dist/folders/constants.d.ts +17 -0
- package/dist/folders/constants.js +32 -0
- package/dist/folders/entity.d.ts +167 -0
- package/dist/folders/entity.js +75 -0
- package/dist/folders/executor.d.ts +2 -0
- package/dist/folders/executor.js +7 -0
- package/dist/folders/feature.d.ts +45 -0
- package/dist/folders/feature.js +100 -0
- package/dist/folders/handlers/clear-folder.write.d.ts +3 -0
- package/dist/folders/handlers/clear-folder.write.js +40 -0
- package/dist/folders/handlers/delete-folder.write.d.ts +3 -0
- package/dist/folders/handlers/delete-folder.write.js +30 -0
- package/dist/folders/handlers/set-folder.write.d.ts +3 -0
- package/dist/folders/handlers/set-folder.write.js +73 -0
- package/dist/folders/index.d.ts +7 -0
- package/dist/folders/index.js +7 -0
- package/dist/folders/schemas.d.ts +12 -0
- package/dist/folders/schemas.js +13 -0
- package/dist/folders/web/client-plugin.d.ts +2 -0
- package/dist/folders/web/client-plugin.js +13 -0
- package/dist/folders/web/folder-manager.d.ts +23 -0
- package/dist/folders/web/folder-manager.js +304 -0
- package/dist/folders/web/folder-section.d.ts +5 -0
- package/dist/folders/web/folder-section.js +102 -0
- package/dist/folders/web/i18n.d.ts +2 -0
- package/dist/folders/web/i18n.js +29 -0
- package/dist/folders/web/index.d.ts +5 -0
- package/dist/folders/web/index.js +6 -0
- package/dist/folders/web/tree.d.ts +12 -0
- package/dist/folders/web/tree.js +51 -0
- package/dist/folders-user-data/hooks.d.ts +5 -0
- package/dist/folders-user-data/hooks.js +56 -0
- package/dist/folders-user-data/index.d.ts +3 -0
- package/dist/folders-user-data/index.js +24 -0
- package/dist/form-draft/constants.d.ts +15 -0
- package/dist/form-draft/constants.js +39 -0
- package/dist/form-draft/db/queries/cleanup.d.ts +15 -0
- package/dist/form-draft/db/queries/cleanup.js +35 -0
- package/dist/form-draft/db/queries/draft-count.d.ts +3 -0
- package/dist/form-draft/db/queries/draft-count.js +10 -0
- package/dist/form-draft/db/queries/owned-file-refs.d.ts +9 -0
- package/dist/form-draft/db/queries/owned-file-refs.js +37 -0
- package/dist/form-draft/entity.d.ts +43 -0
- package/dist/form-draft/entity.js +54 -0
- package/dist/form-draft/executor.d.ts +1 -0
- package/dist/form-draft/executor.js +3 -0
- package/dist/form-draft/feature.d.ts +3 -0
- package/dist/form-draft/feature.js +43 -0
- package/dist/form-draft/handlers/cleanup.job.d.ts +8 -0
- package/dist/form-draft/handlers/cleanup.job.js +134 -0
- package/dist/form-draft/handlers/discard.write.d.ts +6 -0
- package/dist/form-draft/handlers/discard.write.js +92 -0
- package/dist/form-draft/handlers/get.query.d.ts +7 -0
- package/dist/form-draft/handlers/get.query.js +21 -0
- package/dist/form-draft/handlers/list.query.d.ts +14 -0
- package/dist/form-draft/handlers/list.query.js +35 -0
- package/dist/form-draft/handlers/save.write.d.ts +5 -0
- package/dist/form-draft/handlers/save.write.js +58 -0
- package/dist/form-draft/index.d.ts +10 -0
- package/dist/form-draft/index.js +10 -0
- package/dist/form-draft/lookup.d.ts +17 -0
- package/dist/form-draft/lookup.js +27 -0
- package/dist/form-draft/release-file-refs.d.ts +5 -0
- package/dist/form-draft/release-file-refs.js +63 -0
- package/dist/form-draft/schemas.d.ts +26 -0
- package/dist/form-draft/schemas.js +45 -0
- package/dist/form-draft-user-data/hooks.d.ts +3 -0
- package/dist/form-draft-user-data/hooks.js +51 -0
- package/dist/form-draft-user-data/index.d.ts +3 -0
- package/dist/form-draft-user-data/index.js +17 -0
- package/dist/foundation-shared/config-helpers.d.ts +44 -0
- package/dist/foundation-shared/config-helpers.js +83 -0
- package/dist/foundation-shared/index.d.ts +2 -0
- package/dist/foundation-shared/index.js +4 -0
- package/dist/foundation-shared/mail-host-policy.d.ts +15 -0
- package/dist/foundation-shared/mail-host-policy.js +49 -0
- package/dist/inbound-mail-foundation/aggregate-id.d.ts +20 -0
- package/dist/inbound-mail-foundation/aggregate-id.js +35 -0
- package/dist/inbound-mail-foundation/connect-routes.d.ts +20 -0
- package/dist/inbound-mail-foundation/connect-routes.js +144 -0
- package/dist/inbound-mail-foundation/constants.d.ts +55 -0
- package/dist/inbound-mail-foundation/constants.js +69 -0
- package/dist/inbound-mail-foundation/db/queries/inbound-projections.d.ts +7 -0
- package/dist/inbound-mail-foundation/db/queries/inbound-projections.js +24 -0
- package/dist/inbound-mail-foundation/entities.d.ts +624 -0
- package/dist/inbound-mail-foundation/entities.js +207 -0
- package/dist/inbound-mail-foundation/events.d.ts +64 -0
- package/dist/inbound-mail-foundation/events.js +112 -0
- package/dist/inbound-mail-foundation/feature.d.ts +3 -0
- package/dist/inbound-mail-foundation/feature.js +204 -0
- package/dist/inbound-mail-foundation/handlers/account-state.d.ts +3 -0
- package/dist/inbound-mail-foundation/handlers/account-state.js +16 -0
- package/dist/inbound-mail-foundation/handlers/connect-account.write.d.ts +18 -0
- package/dist/inbound-mail-foundation/handlers/connect-account.write.js +92 -0
- package/dist/inbound-mail-foundation/handlers/disconnect-account.write.d.ts +7 -0
- package/dist/inbound-mail-foundation/handlers/disconnect-account.write.js +58 -0
- package/dist/inbound-mail-foundation/handlers/ingest-message.write.d.ts +21 -0
- package/dist/inbound-mail-foundation/handlers/ingest-message.write.js +286 -0
- package/dist/inbound-mail-foundation/handlers/list-accounts.query.d.ts +2 -0
- package/dist/inbound-mail-foundation/handlers/list-accounts.query.js +34 -0
- package/dist/inbound-mail-foundation/handlers/list-messages.query.d.ts +2 -0
- package/dist/inbound-mail-foundation/handlers/list-messages.query.js +49 -0
- package/dist/inbound-mail-foundation/handlers/scope-visibility.d.ts +4 -0
- package/dist/inbound-mail-foundation/handlers/scope-visibility.js +12 -0
- package/dist/inbound-mail-foundation/handlers/update-account.write.d.ts +14 -0
- package/dist/inbound-mail-foundation/handlers/update-account.write.js +66 -0
- package/dist/inbound-mail-foundation/index.d.ts +11 -0
- package/dist/inbound-mail-foundation/index.js +12 -0
- package/dist/inbound-mail-foundation/oauth-state.d.ts +22 -0
- package/dist/inbound-mail-foundation/oauth-state.js +71 -0
- package/dist/inbound-mail-foundation/projection.d.ts +481 -0
- package/dist/inbound-mail-foundation/projection.js +119 -0
- package/dist/inbound-mail-foundation/provider-factory.d.ts +7 -0
- package/dist/inbound-mail-foundation/provider-factory.js +31 -0
- package/dist/inbound-mail-foundation/retention-sweep.d.ts +25 -0
- package/dist/inbound-mail-foundation/retention-sweep.js +109 -0
- package/dist/inbound-mail-foundation/tenant-destroy-hook.d.ts +5 -0
- package/dist/inbound-mail-foundation/tenant-destroy-hook.js +55 -0
- package/dist/inbound-mail-foundation/types.d.ts +171 -0
- package/dist/inbound-mail-foundation/types.js +77 -0
- package/dist/inbound-mail-foundation/watch-supervisor.d.ts +49 -0
- package/dist/inbound-mail-foundation/watch-supervisor.js +515 -0
- package/dist/inbound-provider-imap/credential-document.d.ts +20 -0
- package/dist/inbound-provider-imap/credential-document.js +42 -0
- package/dist/inbound-provider-imap/feature.d.ts +9 -0
- package/dist/inbound-provider-imap/feature.js +229 -0
- package/dist/inbound-provider-imap/imap-client.d.ts +39 -0
- package/dist/inbound-provider-imap/imap-client.js +166 -0
- package/dist/inbound-provider-imap/index.d.ts +3 -0
- package/dist/inbound-provider-imap/index.js +4 -0
- package/dist/inbound-provider-inmemory/feature.d.ts +23 -0
- package/dist/inbound-provider-inmemory/feature.js +115 -0
- package/dist/inbound-provider-inmemory/index.d.ts +1 -0
- package/dist/inbound-provider-inmemory/index.js +2 -0
- package/dist/jobs/constants.d.ts +22 -0
- package/dist/jobs/constants.js +27 -0
- package/dist/jobs/db/queries/retention.d.ts +7 -0
- package/dist/jobs/db/queries/retention.js +29 -0
- package/dist/jobs/db/queries/stale-run-sweep.d.ts +6 -0
- package/dist/jobs/db/queries/stale-run-sweep.js +54 -0
- package/dist/jobs/events.d.ts +46 -0
- package/dist/jobs/events.js +31 -0
- package/dist/jobs/feature.d.ts +6 -0
- package/dist/jobs/feature.js +197 -0
- package/dist/jobs/handlers/catalog.query.d.ts +11 -0
- package/dist/jobs/handlers/catalog.query.js +35 -0
- package/dist/jobs/handlers/detail.query.d.ts +4 -0
- package/dist/jobs/handlers/detail.query.js +56 -0
- package/dist/jobs/handlers/list.query.d.ts +31 -0
- package/dist/jobs/handlers/list.query.js +65 -0
- package/dist/jobs/handlers/projection-rebuild.job.d.ts +7 -0
- package/dist/jobs/handlers/projection-rebuild.job.js +34 -0
- package/dist/jobs/handlers/reindex-entity.job.d.ts +6 -0
- package/dist/jobs/handlers/reindex-entity.job.js +46 -0
- package/dist/jobs/handlers/retention-cleanup.job.d.ts +3 -0
- package/dist/jobs/handlers/retention-cleanup.job.js +16 -0
- package/dist/jobs/handlers/retry.write.d.ts +8 -0
- package/dist/jobs/handlers/retry.write.js +65 -0
- package/dist/jobs/handlers/stale-run-sweep.job.d.ts +3 -0
- package/dist/jobs/handlers/stale-run-sweep.job.js +23 -0
- package/dist/jobs/handlers/tenant-failures.query.d.ts +14 -0
- package/dist/jobs/handlers/tenant-failures.query.js +70 -0
- package/dist/jobs/handlers/trigger.write.d.ts +8 -0
- package/dist/jobs/handlers/trigger.write.js +63 -0
- package/dist/jobs/i18n.d.ts +5 -0
- package/dist/jobs/i18n.js +42 -0
- package/dist/jobs/index.d.ts +7 -0
- package/dist/jobs/index.js +5 -0
- package/dist/jobs/is-manual-trigger.d.ts +2 -0
- package/dist/jobs/is-manual-trigger.js +3 -0
- package/dist/jobs/job-instant.d.ts +2 -0
- package/dist/jobs/job-instant.js +8 -0
- package/dist/jobs/job-run-logger.d.ts +10 -0
- package/dist/jobs/job-run-logger.js +305 -0
- package/dist/jobs/job-run-table.d.ts +197 -0
- package/dist/jobs/job-run-table.js +80 -0
- package/dist/jobs/tenant-job-failure-table.d.ts +3 -0
- package/dist/jobs/tenant-job-failure-table.js +29 -0
- package/dist/jobs/web/client-plugin.d.ts +6 -0
- package/dist/jobs/web/client-plugin.js +10 -0
- package/dist/jobs/web/i18n.d.ts +2 -0
- package/dist/jobs/web/i18n.js +4 -0
- package/dist/jobs/web/index.d.ts +1 -0
- package/dist/jobs/web/index.js +2 -0
- package/dist/ledger/constants.d.ts +30 -0
- package/dist/ledger/constants.js +47 -0
- package/dist/ledger/entity.d.ts +379 -0
- package/dist/ledger/entity.js +147 -0
- package/dist/ledger/executor.d.ts +3 -0
- package/dist/ledger/executor.js +8 -0
- package/dist/ledger/feature.d.ts +19 -0
- package/dist/ledger/feature.js +106 -0
- package/dist/ledger/handlers/confirm-schedule-period.write.d.ts +3 -0
- package/dist/ledger/handlers/confirm-schedule-period.write.js +100 -0
- package/dist/ledger/handlers/create-transaction.write.d.ts +3 -0
- package/dist/ledger/handlers/create-transaction.write.js +37 -0
- package/dist/ledger/handlers/reports.query.d.ts +4 -0
- package/dist/ledger/handlers/reports.query.js +57 -0
- package/dist/ledger/handlers/reverse-transaction.write.d.ts +3 -0
- package/dist/ledger/handlers/reverse-transaction.write.js +71 -0
- package/dist/ledger/index.d.ts +10 -0
- package/dist/ledger/index.js +10 -0
- package/dist/ledger/recurring.d.ts +37 -0
- package/dist/ledger/recurring.js +87 -0
- package/dist/ledger/reports.d.ts +45 -0
- package/dist/ledger/reports.js +104 -0
- package/dist/ledger/schemas.d.ts +42 -0
- package/dist/ledger/schemas.js +58 -0
- package/dist/ledger/web/index.d.ts +3 -0
- package/dist/ledger/web/index.js +11 -0
- package/dist/legal-pages/constants.d.ts +49 -0
- package/dist/legal-pages/constants.js +33 -0
- package/dist/legal-pages/feature.d.ts +37 -0
- package/dist/legal-pages/feature.js +158 -0
- package/dist/legal-pages/index.d.ts +3 -0
- package/dist/legal-pages/index.js +3 -0
- package/dist/legal-pages/markdown.d.ts +2 -0
- package/dist/legal-pages/markdown.js +6 -0
- package/dist/legal-pages/web/client-plugin.d.ts +4 -0
- package/dist/legal-pages/web/client-plugin.js +75 -0
- package/dist/legal-pages/web/index.d.ts +1 -0
- package/dist/legal-pages/web/index.js +3 -0
- package/dist/mail-foundation/feature.d.ts +71 -0
- package/dist/mail-foundation/feature.js +128 -0
- package/dist/mail-foundation/index.d.ts +1 -0
- package/dist/mail-foundation/index.js +9 -0
- package/dist/mail-transport-inmemory/feature.d.ts +14 -0
- package/dist/mail-transport-inmemory/feature.js +78 -0
- package/dist/mail-transport-inmemory/index.d.ts +1 -0
- package/dist/mail-transport-inmemory/index.js +2 -0
- package/dist/mail-transport-smtp/feature.d.ts +24 -0
- package/dist/mail-transport-smtp/feature.js +199 -0
- package/dist/mail-transport-smtp/index.d.ts +1 -0
- package/dist/mail-transport-smtp/index.js +2 -0
- package/dist/managed-pages/branding.d.ts +28 -0
- package/dist/managed-pages/branding.js +156 -0
- package/dist/managed-pages/css-gate.d.ts +2 -0
- package/dist/managed-pages/css-gate.js +21 -0
- package/dist/managed-pages/feature.d.ts +45 -0
- package/dist/managed-pages/feature.js +181 -0
- package/dist/managed-pages/handlers/branding.query.d.ts +4 -0
- package/dist/managed-pages/handlers/branding.query.js +33 -0
- package/dist/managed-pages/handlers/by-slug.query.d.ts +14 -0
- package/dist/managed-pages/handlers/by-slug.query.js +39 -0
- package/dist/managed-pages/handlers/by-tenant-published.query.d.ts +17 -0
- package/dist/managed-pages/handlers/by-tenant-published.query.js +32 -0
- package/dist/managed-pages/handlers/page-crud.d.ts +2 -0
- package/dist/managed-pages/handlers/page-crud.js +35 -0
- package/dist/managed-pages/handlers/set.write.d.ts +15 -0
- package/dist/managed-pages/handlers/set.write.js +102 -0
- package/dist/managed-pages/i18n.d.ts +5 -0
- package/dist/managed-pages/i18n.js +54 -0
- package/dist/managed-pages/index.d.ts +5 -0
- package/dist/managed-pages/index.js +18 -0
- package/dist/managed-pages/screens/branding-screen.d.ts +4 -0
- package/dist/managed-pages/screens/branding-screen.js +108 -0
- package/dist/managed-pages/screens/page-screens.d.ts +3 -0
- package/dist/managed-pages/screens/page-screens.js +81 -0
- package/dist/managed-pages/seeding.d.ts +18 -0
- package/dist/managed-pages/seeding.js +67 -0
- package/dist/managed-pages/table.d.ts +266 -0
- package/dist/managed-pages/table.js +53 -0
- package/dist/managed-pages/web/client-plugin.d.ts +7 -0
- package/dist/managed-pages/web/client-plugin.js +14 -0
- package/dist/managed-pages/web/i18n.d.ts +2 -0
- package/dist/managed-pages/web/i18n.js +13 -0
- package/dist/managed-pages/web/index.d.ts +2 -0
- package/dist/managed-pages/web/index.js +3 -0
- package/dist/notes-history/constants.d.ts +11 -0
- package/dist/notes-history/constants.js +26 -0
- package/dist/notes-history/entity.d.ts +281 -0
- package/dist/notes-history/entity.js +114 -0
- package/dist/notes-history/executor.d.ts +2 -0
- package/dist/notes-history/executor.js +4 -0
- package/dist/notes-history/feature.d.ts +42 -0
- package/dist/notes-history/feature.js +78 -0
- package/dist/notes-history/handlers/add-note.write.d.ts +3 -0
- package/dist/notes-history/handlers/add-note.write.js +76 -0
- package/dist/notes-history/i18n.d.ts +5 -0
- package/dist/notes-history/i18n.js +1 -0
- package/dist/notes-history/index.d.ts +6 -0
- package/dist/notes-history/index.js +6 -0
- package/dist/notes-history/schemas.d.ts +8 -0
- package/dist/notes-history/schemas.js +15 -0
- package/dist/notes-history/web/client-plugin.d.ts +2 -0
- package/dist/notes-history/web/client-plugin.js +13 -0
- package/dist/notes-history/web/i18n.d.ts +2 -0
- package/dist/notes-history/web/i18n.js +19 -0
- package/dist/notes-history/web/index.d.ts +3 -0
- package/dist/notes-history/web/index.js +4 -0
- package/dist/notes-history/web/notes-section.d.ts +5 -0
- package/dist/notes-history/web/notes-section.js +86 -0
- package/dist/notes-history-user-data/hooks.d.ts +5 -0
- package/dist/notes-history-user-data/hooks.js +90 -0
- package/dist/notes-history-user-data/index.d.ts +3 -0
- package/dist/notes-history-user-data/index.js +25 -0
- package/dist/page-render/branding.d.ts +15 -0
- package/dist/page-render/branding.js +69 -0
- package/dist/page-render/cached-page-response.d.ts +10 -0
- package/dist/page-render/cached-page-response.js +12 -0
- package/dist/page-render/css-sanitize.d.ts +1 -0
- package/dist/page-render/css-sanitize.js +355 -0
- package/dist/page-render/index.d.ts +6 -0
- package/dist/page-render/index.js +6 -0
- package/dist/page-render/layout.d.ts +15 -0
- package/dist/page-render/layout.js +98 -0
- package/dist/page-render/markdown.d.ts +1 -0
- package/dist/page-render/markdown.js +29 -0
- package/dist/page-render/security-headers.d.ts +1 -0
- package/dist/page-render/security-headers.js +18 -0
- package/dist/page-render/web.d.ts +5 -0
- package/dist/page-render/web.js +6 -0
- package/dist/personal-access-tokens/constants.d.ts +22 -0
- package/dist/personal-access-tokens/constants.js +34 -0
- package/dist/personal-access-tokens/expiry.d.ts +3 -0
- package/dist/personal-access-tokens/expiry.js +4 -0
- package/dist/personal-access-tokens/feature.d.ts +23 -0
- package/dist/personal-access-tokens/feature.js +126 -0
- package/dist/personal-access-tokens/handlers/available-scopes.query.d.ts +7 -0
- package/dist/personal-access-tokens/handlers/available-scopes.query.js +24 -0
- package/dist/personal-access-tokens/handlers/create.write.d.ts +20 -0
- package/dist/personal-access-tokens/handlers/create.write.js +88 -0
- package/dist/personal-access-tokens/handlers/list.query.d.ts +22 -0
- package/dist/personal-access-tokens/handlers/list.query.js +88 -0
- package/dist/personal-access-tokens/handlers/revoke.write.d.ts +6 -0
- package/dist/personal-access-tokens/handlers/revoke.write.js +52 -0
- package/dist/personal-access-tokens/hash.d.ts +6 -0
- package/dist/personal-access-tokens/hash.js +15 -0
- package/dist/personal-access-tokens/i18n.d.ts +7 -0
- package/dist/personal-access-tokens/i18n.js +48 -0
- package/dist/personal-access-tokens/index.d.ts +15 -0
- package/dist/personal-access-tokens/index.js +25 -0
- package/dist/personal-access-tokens/pat-revoked-event.d.ts +9 -0
- package/dist/personal-access-tokens/pat-revoked-event.js +18 -0
- package/dist/personal-access-tokens/resolver.d.ts +7 -0
- package/dist/personal-access-tokens/resolver.js +43 -0
- package/dist/personal-access-tokens/revoke-for-user.d.ts +2 -0
- package/dist/personal-access-tokens/revoke-for-user.js +36 -0
- package/dist/personal-access-tokens/roles.d.ts +2 -0
- package/dist/personal-access-tokens/roles.js +33 -0
- package/dist/personal-access-tokens/schema/api-token.d.ts +168 -0
- package/dist/personal-access-tokens/schema/api-token.js +85 -0
- package/dist/personal-access-tokens/scopes.d.ts +12 -0
- package/dist/personal-access-tokens/scopes.js +29 -0
- package/dist/personal-access-tokens/screens.d.ts +5 -0
- package/dist/personal-access-tokens/screens.js +111 -0
- package/dist/presets/dsgvo-self-service.d.ts +8 -0
- package/dist/presets/dsgvo-self-service.js +22 -0
- package/dist/presets/index.d.ts +2 -0
- package/dist/presets/index.js +2 -0
- package/dist/presets/security-baseline.d.ts +5 -0
- package/dist/presets/security-baseline.js +13 -0
- package/dist/rate-limiting/constants.d.ts +8 -0
- package/dist/rate-limiting/constants.js +8 -0
- package/dist/rate-limiting/feature.d.ts +3 -0
- package/dist/rate-limiting/feature.js +21 -0
- package/dist/rate-limiting/handlers/bucket-access.d.ts +8 -0
- package/dist/rate-limiting/handlers/bucket-access.js +28 -0
- package/dist/rate-limiting/handlers/status.query.d.ts +13 -0
- package/dist/rate-limiting/handlers/status.query.js +59 -0
- package/dist/rate-limiting/index.d.ts +2 -0
- package/dist/rate-limiting/index.js +2 -0
- package/dist/readiness/constants.d.ts +4 -0
- package/dist/readiness/constants.js +6 -0
- package/dist/readiness/feature.d.ts +7 -0
- package/dist/readiness/feature.js +25 -0
- package/dist/readiness/handlers/status.query.d.ts +9 -0
- package/dist/readiness/handlers/status.query.js +41 -0
- package/dist/readiness/index.d.ts +3 -0
- package/dist/readiness/index.js +2 -0
- package/dist/renderer-foundation/api.d.ts +30 -0
- package/dist/renderer-foundation/api.js +66 -0
- package/dist/renderer-foundation/constants.d.ts +4 -0
- package/dist/renderer-foundation/constants.js +12 -0
- package/dist/renderer-foundation/feature.d.ts +6 -0
- package/dist/renderer-foundation/feature.js +44 -0
- package/dist/renderer-foundation/index.d.ts +4 -0
- package/dist/renderer-foundation/index.js +4 -0
- package/dist/renderer-foundation/types.d.ts +99 -0
- package/dist/renderer-foundation/types.js +17 -0
- package/dist/renderer-simple/feature.d.ts +4 -0
- package/dist/renderer-simple/feature.js +40 -0
- package/dist/renderer-simple/index.d.ts +2 -0
- package/dist/renderer-simple/index.js +2 -0
- package/dist/renderer-simple/resolve-variables.d.ts +7 -0
- package/dist/renderer-simple/resolve-variables.js +47 -0
- package/dist/renderer-simple/simple-renderer.d.ts +2 -0
- package/dist/renderer-simple/simple-renderer.js +37 -0
- package/dist/secrets/constants.d.ts +3 -0
- package/dist/secrets/constants.js +9 -0
- package/dist/secrets/db/queries/read.d.ts +4 -0
- package/dist/secrets/db/queries/read.js +5 -0
- package/dist/secrets/feature.d.ts +39 -0
- package/dist/secrets/feature.js +144 -0
- package/dist/secrets/handlers/delete.write.d.ts +7 -0
- package/dist/secrets/handlers/delete.write.js +25 -0
- package/dist/secrets/handlers/list.query.d.ts +10 -0
- package/dist/secrets/handlers/list.query.js +28 -0
- package/dist/secrets/handlers/rotate.job.d.ts +15 -0
- package/dist/secrets/handlers/rotate.job.js +114 -0
- package/dist/secrets/handlers/set.write.d.ts +11 -0
- package/dist/secrets/handlers/set.write.js +53 -0
- package/dist/secrets/index.d.ts +6 -0
- package/dist/secrets/index.js +6 -0
- package/dist/secrets/secrets-context.d.ts +16 -0
- package/dist/secrets/secrets-context.js +198 -0
- package/dist/secrets/table.d.ts +47 -0
- package/dist/secrets/table.js +29 -0
- package/dist/seo/constants.d.ts +21 -0
- package/dist/seo/constants.js +51 -0
- package/dist/seo/feature.d.ts +49 -0
- package/dist/seo/feature.js +214 -0
- package/dist/seo/handlers/seo-config.query.d.ts +8 -0
- package/dist/seo/handlers/seo-config.query.js +37 -0
- package/dist/seo/index.d.ts +6 -0
- package/dist/seo/index.js +6 -0
- package/dist/seo/llms-txt.d.ts +15 -0
- package/dist/seo/llms-txt.js +16 -0
- package/dist/seo/robots-txt.d.ts +12 -0
- package/dist/seo/robots-txt.js +19 -0
- package/dist/seo/schema-builders.d.ts +18 -0
- package/dist/seo/schema-builders.js +39 -0
- package/dist/seo/sitemap.d.ts +15 -0
- package/dist/seo/sitemap.js +17 -0
- package/dist/sessions/constants.d.ts +25 -0
- package/dist/sessions/constants.js +50 -0
- package/dist/sessions/db/queries/cleanup.d.ts +2 -0
- package/dist/sessions/db/queries/cleanup.js +12 -0
- package/dist/sessions/feature.d.ts +10 -0
- package/dist/sessions/feature.js +177 -0
- package/dist/sessions/handlers/cleanup.job.d.ts +13 -0
- package/dist/sessions/handlers/cleanup.job.js +58 -0
- package/dist/sessions/handlers/detail.query.d.ts +12 -0
- package/dist/sessions/handlers/detail.query.js +41 -0
- package/dist/sessions/handlers/list.query.d.ts +17 -0
- package/dist/sessions/handlers/list.query.js +69 -0
- package/dist/sessions/handlers/mine.query.d.ts +9 -0
- package/dist/sessions/handlers/mine.query.js +49 -0
- package/dist/sessions/handlers/revoke-all-for-user.write.d.ts +8 -0
- package/dist/sessions/handlers/revoke-all-for-user.write.js +94 -0
- package/dist/sessions/handlers/revoke-all-others.write.d.ts +4 -0
- package/dist/sessions/handlers/revoke-all-others.write.js +52 -0
- package/dist/sessions/handlers/revoke.write.d.ts +6 -0
- package/dist/sessions/handlers/revoke.write.js +75 -0
- package/dist/sessions/i18n.d.ts +5 -0
- package/dist/sessions/i18n.js +30 -0
- package/dist/sessions/index.d.ts +8 -0
- package/dist/sessions/index.js +5 -0
- package/dist/sessions/schema/user-session.d.ts +143 -0
- package/dist/sessions/schema/user-session.js +82 -0
- package/dist/sessions/screens.d.ts +4 -0
- package/dist/sessions/screens.js +136 -0
- package/dist/sessions/session-callbacks.d.ts +18 -0
- package/dist/sessions/session-callbacks.js +197 -0
- package/dist/sessions/session-revoked-event.d.ts +11 -0
- package/dist/sessions/session-revoked-event.js +32 -0
- package/dist/sessions/testing.d.ts +12 -0
- package/dist/sessions/testing.js +36 -0
- package/dist/shared/assert-erased.d.ts +2 -0
- package/dist/shared/assert-erased.js +13 -0
- package/dist/shared/chunked-entity-migration.d.ts +18 -0
- package/dist/shared/chunked-entity-migration.js +63 -0
- package/dist/shared/classify-stored-envelope.d.ts +2 -0
- package/dist/shared/classify-stored-envelope.js +17 -0
- package/dist/shared/decrypt-stored-pii.d.ts +1 -0
- package/dist/shared/decrypt-stored-pii.js +19 -0
- package/dist/shared/encrypt-for-direct-write.d.ts +2 -0
- package/dist/shared/encrypt-for-direct-write.js +12 -0
- package/dist/shared/entities-of.d.ts +2 -0
- package/dist/shared/entities-of.js +13 -0
- package/dist/shared/grace-period.d.ts +6 -0
- package/dist/shared/grace-period.js +13 -0
- package/dist/shared/has-where-rule.d.ts +2 -0
- package/dist/shared/has-where-rule.js +10 -0
- package/dist/shared/identity-v3-hash.d.ts +2 -0
- package/dist/shared/identity-v3-hash.js +97 -0
- package/dist/shared/index.d.ts +24 -0
- package/dist/shared/index.js +23 -0
- package/dist/shared/is-tenant-db.d.ts +2 -0
- package/dist/shared/is-tenant-db.js +7 -0
- package/dist/shared/lockout-counter.d.ts +10 -0
- package/dist/shared/lockout-counter.js +83 -0
- package/dist/shared/map-with-concurrency.d.ts +1 -0
- package/dist/shared/map-with-concurrency.js +37 -0
- package/dist/shared/parent-visibility.d.ts +4 -0
- package/dist/shared/parent-visibility.js +54 -0
- package/dist/shared/password-hashing.d.ts +3 -0
- package/dist/shared/password-hashing.js +52 -0
- package/dist/shared/row-bound-grant.d.ts +32 -0
- package/dist/shared/row-bound-grant.js +74 -0
- package/dist/shared/run-in-sub-transaction.d.ts +2 -0
- package/dist/shared/run-in-sub-transaction.js +25 -0
- package/dist/shared/session-field.d.ts +3 -0
- package/dist/shared/session-field.js +6 -0
- package/dist/shared/session-locale-field.d.ts +2 -0
- package/dist/shared/session-locale-field.js +7 -0
- package/dist/shared/session-timezone-field.d.ts +2 -0
- package/dist/shared/session-timezone-field.js +4 -0
- package/dist/shared/signed-token.d.ts +20 -0
- package/dist/shared/signed-token.js +82 -0
- package/dist/shared/signup-handover.d.ts +31 -0
- package/dist/shared/signup-handover.js +34 -0
- package/dist/shared/single-use-token-store.d.ts +22 -0
- package/dist/shared/single-use-token-store.js +135 -0
- package/dist/shared/system-query.d.ts +1 -0
- package/dist/shared/system-query.js +1 -0
- package/dist/shared/token-burn-store.d.ts +4 -0
- package/dist/shared/token-burn-store.js +38 -0
- package/dist/step-dispatcher/feature.d.ts +7 -0
- package/dist/step-dispatcher/feature.js +231 -0
- package/dist/step-dispatcher/index.d.ts +3 -0
- package/dist/step-dispatcher/index.js +3 -0
- package/dist/step-dispatcher/mail-runner.d.ts +17 -0
- package/dist/step-dispatcher/mail-runner.js +21 -0
- package/dist/step-dispatcher/webhook-runner.d.ts +44 -0
- package/dist/step-dispatcher/webhook-runner.js +166 -0
- package/dist/subscription-mollie/constants.d.ts +2 -0
- package/dist/subscription-mollie/constants.js +31 -0
- package/dist/subscription-mollie/feature.d.ts +39 -0
- package/dist/subscription-mollie/feature.js +116 -0
- package/dist/subscription-mollie/index.d.ts +3 -0
- package/dist/subscription-mollie/index.js +8 -0
- package/dist/subscription-mollie/plugin-methods.d.ts +17 -0
- package/dist/subscription-mollie/plugin-methods.js +57 -0
- package/dist/subscription-mollie/verify-webhook.d.ts +40 -0
- package/dist/subscription-mollie/verify-webhook.js +194 -0
- package/dist/subscription-stripe/constants.d.ts +14 -0
- package/dist/subscription-stripe/constants.js +31 -0
- package/dist/subscription-stripe/feature.d.ts +50 -0
- package/dist/subscription-stripe/feature.js +179 -0
- package/dist/subscription-stripe/index.d.ts +2 -0
- package/dist/subscription-stripe/index.js +9 -0
- package/dist/subscription-stripe/plugin-methods.d.ts +37 -0
- package/dist/subscription-stripe/plugin-methods.js +347 -0
- package/dist/subscription-stripe/runtime.d.ts +45 -0
- package/dist/subscription-stripe/runtime.js +133 -0
- package/dist/subscription-stripe/verify-webhook.d.ts +42 -0
- package/dist/subscription-stripe/verify-webhook.js +320 -0
- package/dist/tags/aggregate-id.d.ts +8 -0
- package/dist/tags/aggregate-id.js +16 -0
- package/dist/tags/constants.d.ts +20 -0
- package/dist/tags/constants.js +50 -0
- package/dist/tags/entity.d.ts +187 -0
- package/dist/tags/entity.js +87 -0
- package/dist/tags/executor.d.ts +2 -0
- package/dist/tags/executor.js +7 -0
- package/dist/tags/feature.d.ts +47 -0
- package/dist/tags/feature.js +121 -0
- package/dist/tags/handlers/assign-tag.write.d.ts +3 -0
- package/dist/tags/handlers/assign-tag.write.js +86 -0
- package/dist/tags/handlers/create-tag.write.d.ts +3 -0
- package/dist/tags/handlers/create-tag.write.js +20 -0
- package/dist/tags/handlers/delete-tag.write.d.ts +3 -0
- package/dist/tags/handlers/delete-tag.write.js +43 -0
- package/dist/tags/handlers/remove-tag.write.d.ts +3 -0
- package/dist/tags/handlers/remove-tag.write.js +40 -0
- package/dist/tags/handlers/update-tag.write.d.ts +3 -0
- package/dist/tags/handlers/update-tag.write.js +28 -0
- package/dist/tags/i18n.d.ts +5 -0
- package/dist/tags/i18n.js +7 -0
- package/dist/tags/index.d.ts +11 -0
- package/dist/tags/index.js +11 -0
- package/dist/tags/schemas.d.ts +31 -0
- package/dist/tags/schemas.js +50 -0
- package/dist/tags/screens.d.ts +3 -0
- package/dist/tags/screens.js +58 -0
- package/dist/tags/web/client-plugin.d.ts +2 -0
- package/dist/tags/web/client-plugin.js +22 -0
- package/dist/tags/web/entity-tags.d.ts +5 -0
- package/dist/tags/web/entity-tags.js +31 -0
- package/dist/tags/web/i18n.d.ts +2 -0
- package/dist/tags/web/i18n.js +31 -0
- package/dist/tags/web/index.d.ts +9 -0
- package/dist/tags/web/index.js +10 -0
- package/dist/tags/web/tag-chip.d.ts +6 -0
- package/dist/tags/web/tag-chip.js +42 -0
- package/dist/tags/web/tag-filter.d.ts +6 -0
- package/dist/tags/web/tag-filter.js +55 -0
- package/dist/tags/web/tag-manager.d.ts +10 -0
- package/dist/tags/web/tag-manager.js +168 -0
- package/dist/tags/web/tag-picker.d.ts +8 -0
- package/dist/tags/web/tag-picker.js +28 -0
- package/dist/tags/web/tag-section.d.ts +9 -0
- package/dist/tags/web/tag-section.js +100 -0
- package/dist/tags/web/tags-cell.d.ts +3 -0
- package/dist/tags/web/tags-cell.js +39 -0
- package/dist/template-resolver/api.d.ts +79 -0
- package/dist/template-resolver/api.js +111 -0
- package/dist/template-resolver/constants.d.ts +17 -0
- package/dist/template-resolver/constants.js +38 -0
- package/dist/template-resolver/feature.d.ts +44 -0
- package/dist/template-resolver/feature.js +68 -0
- package/dist/template-resolver/handlers/by-slug.query.d.ts +14 -0
- package/dist/template-resolver/handlers/by-slug.query.js +53 -0
- package/dist/template-resolver/handlers/by-tenant.query.d.ts +21 -0
- package/dist/template-resolver/handlers/by-tenant.query.js +34 -0
- package/dist/template-resolver/handlers/collection-item.query.d.ts +15 -0
- package/dist/template-resolver/handlers/collection-item.query.js +39 -0
- package/dist/template-resolver/handlers/collection-list.query.d.ts +15 -0
- package/dist/template-resolver/handlers/collection-list.query.js +40 -0
- package/dist/template-resolver/handlers/collection-set.write.d.ts +20 -0
- package/dist/template-resolver/handlers/collection-set.write.js +94 -0
- package/dist/template-resolver/handlers/collection-shared.d.ts +34 -0
- package/dist/template-resolver/handlers/collection-shared.js +50 -0
- package/dist/template-resolver/handlers/find-by-id.query.d.ts +19 -0
- package/dist/template-resolver/handlers/find-by-id.query.js +43 -0
- package/dist/template-resolver/handlers/list.query.d.ts +26 -0
- package/dist/template-resolver/handlers/list.query.js +54 -0
- package/dist/template-resolver/handlers/set.write.d.ts +27 -0
- package/dist/template-resolver/handlers/set.write.js +110 -0
- package/dist/template-resolver/handlers/shared.d.ts +47 -0
- package/dist/template-resolver/handlers/shared.js +44 -0
- package/dist/template-resolver/handlers/toggle-status.write.d.ts +15 -0
- package/dist/template-resolver/handlers/toggle-status.write.js +30 -0
- package/dist/template-resolver/handlers/upsert-system.write.d.ts +27 -0
- package/dist/template-resolver/handlers/upsert-system.write.js +68 -0
- package/dist/template-resolver/handlers/upsert-tenant.write.d.ts +33 -0
- package/dist/template-resolver/handlers/upsert-tenant.write.js +86 -0
- package/dist/template-resolver/index.d.ts +6 -0
- package/dist/template-resolver/index.js +6 -0
- package/dist/template-resolver/qualified-names.d.ts +24 -0
- package/dist/template-resolver/qualified-names.js +35 -0
- package/dist/template-resolver/seeding.d.ts +46 -0
- package/dist/template-resolver/seeding.js +209 -0
- package/dist/template-resolver/table.d.ts +479 -0
- package/dist/template-resolver/table.js +47 -0
- package/dist/template-resolver/testing.d.ts +19 -0
- package/dist/template-resolver/testing.js +131 -0
- package/dist/template-resolver/user-content-table.d.ts +337 -0
- package/dist/template-resolver/user-content-table.js +43 -0
- package/dist/template-resolver/web/client-plugin.d.ts +15 -0
- package/dist/template-resolver/web/client-plugin.js +318 -0
- package/dist/template-resolver/web/i18n.d.ts +2 -0
- package/dist/template-resolver/web/i18n.js +21 -0
- package/dist/template-resolver/web/index.d.ts +1 -0
- package/dist/template-resolver/web/index.js +7 -0
- package/dist/template-resolver-user-data/hooks.d.ts +3 -0
- package/dist/template-resolver-user-data/hooks.js +37 -0
- package/dist/template-resolver-user-data/index.d.ts +3 -0
- package/dist/template-resolver-user-data/index.js +21 -0
- package/dist/tenant/command-schemas.d.ts +31 -0
- package/dist/tenant/command-schemas.js +35 -0
- package/dist/tenant/constants.d.ts +42 -0
- package/dist/tenant/constants.js +62 -0
- package/dist/tenant/feature.d.ts +13 -0
- package/dist/tenant/feature.js +145 -0
- package/dist/tenant/handlers/active-tenant-ids.query.d.ts +2 -0
- package/dist/tenant/handlers/active-tenant-ids.query.js +23 -0
- package/dist/tenant/handlers/add-member.write.d.ts +6 -0
- package/dist/tenant/handlers/add-member.write.js +52 -0
- package/dist/tenant/handlers/cancel-invitation.write.d.ts +7 -0
- package/dist/tenant/handlers/cancel-invitation.write.js +70 -0
- package/dist/tenant/handlers/create.write.d.ts +6 -0
- package/dist/tenant/handlers/create.write.js +33 -0
- package/dist/tenant/handlers/invitations.query.d.ts +5 -0
- package/dist/tenant/handlers/invitations.query.js +52 -0
- package/dist/tenant/handlers/is-system-admin.d.ts +2 -0
- package/dist/tenant/handlers/is-system-admin.js +4 -0
- package/dist/tenant/handlers/list.query.d.ts +7 -0
- package/dist/tenant/handlers/list.query.js +26 -0
- package/dist/tenant/handlers/me.query.d.ts +2 -0
- package/dist/tenant/handlers/me.query.js +33 -0
- package/dist/tenant/handlers/member-directory.query.d.ts +7 -0
- package/dist/tenant/handlers/member-directory.query.js +62 -0
- package/dist/tenant/handlers/members.query.d.ts +4 -0
- package/dist/tenant/handlers/members.query.js +61 -0
- package/dist/tenant/handlers/memberships.query.d.ts +4 -0
- package/dist/tenant/handlers/memberships.query.js +48 -0
- package/dist/tenant/handlers/remove-member.write.d.ts +8 -0
- package/dist/tenant/handlers/remove-member.write.js +97 -0
- package/dist/tenant/handlers/resolve-user-ids.query.d.ts +5 -0
- package/dist/tenant/handlers/resolve-user-ids.query.js +37 -0
- package/dist/tenant/handlers/team-list.query.d.ts +48 -0
- package/dist/tenant/handlers/team-list.query.js +206 -0
- package/dist/tenant/handlers/tenant-directory.query.d.ts +7 -0
- package/dist/tenant/handlers/tenant-directory.query.js +45 -0
- package/dist/tenant/handlers/toggle-enabled.write.d.ts +7 -0
- package/dist/tenant/handlers/toggle-enabled.write.js +32 -0
- package/dist/tenant/handlers/update-member-roles.write.d.ts +10 -0
- package/dist/tenant/handlers/update-member-roles.write.js +119 -0
- package/dist/tenant/handlers/update.write.d.ts +8 -0
- package/dist/tenant/handlers/update.write.js +45 -0
- package/dist/tenant/i18n.d.ts +5 -0
- package/dist/tenant/i18n.js +53 -0
- package/dist/tenant/index.d.ts +8 -0
- package/dist/tenant/index.js +7 -0
- package/dist/tenant/invitation-table.d.ts +202 -0
- package/dist/tenant/invitation-table.js +93 -0
- package/dist/tenant/invited-membership.d.ts +20 -0
- package/dist/tenant/invited-membership.js +60 -0
- package/dist/tenant/is-tenant-serving-public-content.d.ts +10 -0
- package/dist/tenant/is-tenant-serving-public-content.js +8 -0
- package/dist/tenant/last-tenant-admin.d.ts +7 -0
- package/dist/tenant/last-tenant-admin.js +27 -0
- package/dist/tenant/membership-roles.d.ts +6 -0
- package/dist/tenant/membership-roles.js +27 -0
- package/dist/tenant/membership-table.d.ts +84 -0
- package/dist/tenant/membership-table.js +30 -0
- package/dist/tenant/schema/tenant.d.ts +294 -0
- package/dist/tenant/schema/tenant.js +61 -0
- package/dist/tenant/screens.d.ts +62 -0
- package/dist/tenant/screens.js +175 -0
- package/dist/tenant/seeding.d.ts +56 -0
- package/dist/tenant/seeding.js +222 -0
- package/dist/tenant/testing.d.ts +1 -0
- package/dist/tenant/testing.js +7 -0
- package/dist/tenant/web/client-plugin.d.ts +6 -0
- package/dist/tenant/web/client-plugin.js +15 -0
- package/dist/tenant/web/index.d.ts +3 -0
- package/dist/tenant/web/index.js +4 -0
- package/dist/tenant/web/member-roles-cell.d.ts +3 -0
- package/dist/tenant/web/member-roles-cell.js +17 -0
- package/dist/tenant/web/member-status-cell.d.ts +3 -0
- package/dist/tenant/web/member-status-cell.js +19 -0
- package/dist/tenant/web/translate-or-raw.d.ts +8 -0
- package/dist/tenant/web/translate-or-raw.js +8 -0
- package/dist/tenant-handover/events.d.ts +13 -0
- package/dist/tenant-handover/events.js +27 -0
- package/dist/tenant-handover/feature.d.ts +4 -0
- package/dist/tenant-handover/feature.js +35 -0
- package/dist/tenant-handover/grant.d.ts +13 -0
- package/dist/tenant-handover/grant.js +31 -0
- package/dist/tenant-handover/handlers/claim.write.d.ts +14 -0
- package/dist/tenant-handover/handlers/claim.write.js +110 -0
- package/dist/tenant-handover/index.d.ts +3 -0
- package/dist/tenant-handover/index.js +3 -0
- package/dist/tenant-handover/move-entity-graph.d.ts +20 -0
- package/dist/tenant-handover/move-entity-graph.js +246 -0
- package/dist/tenant-handover/root-anchor.d.ts +9 -0
- package/dist/tenant-handover/root-anchor.js +25 -0
- package/dist/tenant-handover/signup-handover-provider.d.ts +4 -0
- package/dist/tenant-handover/signup-handover-provider.js +56 -0
- package/dist/tenant-handover/transfer-graph.d.ts +23 -0
- package/dist/tenant-handover/transfer-graph.js +93 -0
- package/dist/tenant-lifecycle/boot-checks.d.ts +2 -0
- package/dist/tenant-lifecycle/boot-checks.js +36 -0
- package/dist/tenant-lifecycle/constants.d.ts +26 -0
- package/dist/tenant-lifecycle/constants.js +35 -0
- package/dist/tenant-lifecycle/events.d.ts +37 -0
- package/dist/tenant-lifecycle/events.js +37 -0
- package/dist/tenant-lifecycle/feature.d.ts +4 -0
- package/dist/tenant-lifecycle/feature.js +90 -0
- package/dist/tenant-lifecycle/handlers/cancel-destruction.write.d.ts +6 -0
- package/dist/tenant-lifecycle/handlers/cancel-destruction.write.js +61 -0
- package/dist/tenant-lifecycle/handlers/request-destruction.write.d.ts +6 -0
- package/dist/tenant-lifecycle/handlers/request-destruction.write.js +72 -0
- package/dist/tenant-lifecycle/index.d.ts +3 -0
- package/dist/tenant-lifecycle/index.js +3 -0
- package/dist/tenant-lifecycle/lib/revoke-tenant-sessions.d.ts +4 -0
- package/dist/tenant-lifecycle/lib/revoke-tenant-sessions.js +8 -0
- package/dist/tenant-lifecycle/lifecycle-gate.d.ts +14 -0
- package/dist/tenant-lifecycle/lifecycle-gate.js +45 -0
- package/dist/tenant-lifecycle/run-tenant-destroy.d.ts +30 -0
- package/dist/tenant-lifecycle/run-tenant-destroy.js +223 -0
- package/dist/tenant-lifecycle/stages.d.ts +21 -0
- package/dist/tenant-lifecycle/stages.js +162 -0
- package/dist/tenant-settings/config.d.ts +14 -0
- package/dist/tenant-settings/config.js +21 -0
- package/dist/tenant-settings/constants.d.ts +5 -0
- package/dist/tenant-settings/constants.js +18 -0
- package/dist/tenant-settings/feature.d.ts +5 -0
- package/dist/tenant-settings/feature.js +43 -0
- package/dist/tenant-settings/index.d.ts +4 -0
- package/dist/tenant-settings/index.js +4 -0
- package/dist/tenant-settings/tenant-defaults.d.ts +11 -0
- package/dist/tenant-settings/tenant-defaults.js +56 -0
- package/dist/tier-engine/aggregate-id.d.ts +16 -0
- package/dist/tier-engine/aggregate-id.js +26 -0
- package/dist/tier-engine/compose-app.d.ts +81 -0
- package/dist/tier-engine/compose-app.js +73 -0
- package/dist/tier-engine/constants.d.ts +13 -0
- package/dist/tier-engine/constants.js +25 -0
- package/dist/tier-engine/entity.d.ts +49 -0
- package/dist/tier-engine/entity.js +45 -0
- package/dist/tier-engine/feature.d.ts +49 -0
- package/dist/tier-engine/feature.js +431 -0
- package/dist/tier-engine/handlers/active-tier.query.d.ts +2 -0
- package/dist/tier-engine/handlers/active-tier.query.js +20 -0
- package/dist/tier-engine/handlers/get-tenant-tier.query.d.ts +5 -0
- package/dist/tier-engine/handlers/get-tenant-tier.query.js +26 -0
- package/dist/tier-engine/handlers/set-tenant-tier.write.d.ts +22 -0
- package/dist/tier-engine/handlers/set-tenant-tier.write.js +76 -0
- package/dist/tier-engine/i18n.d.ts +7 -0
- package/dist/tier-engine/i18n.js +19 -0
- package/dist/tier-engine/index.d.ts +7 -0
- package/dist/tier-engine/index.js +15 -0
- package/dist/tier-engine/tier-resolver.d.ts +54 -0
- package/dist/tier-engine/tier-resolver.js +20 -0
- package/dist/tier-engine/trial.d.ts +5 -0
- package/dist/tier-engine/trial.js +11 -0
- package/dist/tier-engine/web/client-plugin.d.ts +7 -0
- package/dist/tier-engine/web/client-plugin.js +13 -0
- package/dist/tier-engine/web/index.d.ts +1 -0
- package/dist/tier-engine/web/index.js +6 -0
- package/dist/user/command-schemas.d.ts +24 -0
- package/dist/user/command-schemas.js +13 -0
- package/dist/user/constants.d.ts +22 -0
- package/dist/user/constants.js +28 -0
- package/dist/user/db/queries/stream-tenant-backfill.d.ts +10 -0
- package/dist/user/db/queries/stream-tenant-backfill.js +80 -0
- package/dist/user/feature.d.ts +2 -0
- package/dist/user/feature.js +48 -0
- package/dist/user/handlers/create.write.d.ts +9 -0
- package/dist/user/handlers/create.write.js +102 -0
- package/dist/user/handlers/detail.query.d.ts +15 -0
- package/dist/user/handlers/detail.query.js +21 -0
- package/dist/user/handlers/find-for-auth.query.d.ts +5 -0
- package/dist/user/handlers/find-for-auth.query.js +43 -0
- package/dist/user/handlers/list.query.d.ts +6 -0
- package/dist/user/handlers/list.query.js +95 -0
- package/dist/user/handlers/me.query.d.ts +2 -0
- package/dist/user/handlers/me.query.js +31 -0
- package/dist/user/handlers/update-roles.d.ts +21 -0
- package/dist/user/handlers/update-roles.js +114 -0
- package/dist/user/handlers/update.write.d.ts +15 -0
- package/dist/user/handlers/update.write.js +82 -0
- package/dist/user/i18n.d.ts +5 -0
- package/dist/user/i18n.js +21 -0
- package/dist/user/index.d.ts +7 -0
- package/dist/user/index.js +6 -0
- package/dist/user/principal-status.d.ts +4 -0
- package/dist/user/principal-status.js +36 -0
- package/dist/user/roles-input-schema.d.ts +3 -0
- package/dist/user/roles-input-schema.js +20 -0
- package/dist/user/schema/user.d.ts +369 -0
- package/dist/user/schema/user.js +187 -0
- package/dist/user/screens.d.ts +3 -0
- package/dist/user/screens.js +47 -0
- package/dist/user/seeding.d.ts +33 -0
- package/dist/user/seeding.js +88 -0
- package/dist/user/testing.d.ts +1 -0
- package/dist/user/testing.js +4 -0
- package/dist/user-data-rights/audit-download.d.ts +42 -0
- package/dist/user-data-rights/audit-download.js +71 -0
- package/dist/user-data-rights/boot-checks.d.ts +3 -0
- package/dist/user-data-rights/boot-checks.js +64 -0
- package/dist/user-data-rights/constants.d.ts +24 -0
- package/dist/user-data-rights/constants.js +51 -0
- package/dist/user-data-rights/db/queries/export-jobs.d.ts +12 -0
- package/dist/user-data-rights/db/queries/export-jobs.js +9 -0
- package/dist/user-data-rights/db/queries/forget-cleanup.d.ts +5 -0
- package/dist/user-data-rights/db/queries/forget-cleanup.js +18 -0
- package/dist/user-data-rights/deletion-token.d.ts +13 -0
- package/dist/user-data-rights/deletion-token.js +30 -0
- package/dist/user-data-rights/email-templates.d.ts +30 -0
- package/dist/user-data-rights/email-templates.js +121 -0
- package/dist/user-data-rights/feature.d.ts +88 -0
- package/dist/user-data-rights/feature.js +591 -0
- package/dist/user-data-rights/handlers/cancel-deletion.write.d.ts +6 -0
- package/dist/user-data-rights/handlers/cancel-deletion.write.js +65 -0
- package/dist/user-data-rights/handlers/confirm-deletion-by-token.write.d.ts +10 -0
- package/dist/user-data-rights/handlers/confirm-deletion-by-token.write.js +92 -0
- package/dist/user-data-rights/handlers/deletion-grace-period.d.ts +17 -0
- package/dist/user-data-rights/handlers/deletion-grace-period.js +69 -0
- package/dist/user-data-rights/handlers/download-attempt-list.query.d.ts +1 -0
- package/dist/user-data-rights/handlers/download-attempt-list.query.js +12 -0
- package/dist/user-data-rights/handlers/download-by-job.query.d.ts +8 -0
- package/dist/user-data-rights/handlers/download-by-job.query.js +179 -0
- package/dist/user-data-rights/handlers/download-by-token.query.d.ts +12 -0
- package/dist/user-data-rights/handlers/download-by-token.query.js +210 -0
- package/dist/user-data-rights/handlers/export-job-detail.query.d.ts +1 -0
- package/dist/user-data-rights/handlers/export-job-detail.query.js +10 -0
- package/dist/user-data-rights/handlers/export-job-list.query.d.ts +1 -0
- package/dist/user-data-rights/handlers/export-job-list.query.js +11 -0
- package/dist/user-data-rights/handlers/export-status.query.d.ts +16 -0
- package/dist/user-data-rights/handlers/export-status.query.js +49 -0
- package/dist/user-data-rights/handlers/lift-restriction.write.d.ts +7 -0
- package/dist/user-data-rights/handlers/lift-restriction.write.js +68 -0
- package/dist/user-data-rights/handlers/list-download-attempts.query.d.ts +15 -0
- package/dist/user-data-rights/handlers/list-download-attempts.query.js +47 -0
- package/dist/user-data-rights/handlers/my-audit-log.query.d.ts +20 -0
- package/dist/user-data-rights/handlers/my-audit-log.query.js +74 -0
- package/dist/user-data-rights/handlers/request-deletion-by-email.write.d.ts +22 -0
- package/dist/user-data-rights/handlers/request-deletion-by-email.write.js +82 -0
- package/dist/user-data-rights/handlers/request-deletion.write.d.ts +22 -0
- package/dist/user-data-rights/handlers/request-deletion.write.js +75 -0
- package/dist/user-data-rights/handlers/request-export.write.d.ts +6 -0
- package/dist/user-data-rights/handlers/request-export.write.js +133 -0
- package/dist/user-data-rights/handlers/restrict-account.write.d.ts +7 -0
- package/dist/user-data-rights/handlers/restrict-account.write.js +102 -0
- package/dist/user-data-rights/handlers/run-forget-cleanup.write.d.ts +13 -0
- package/dist/user-data-rights/handlers/run-forget-cleanup.write.js +81 -0
- package/dist/user-data-rights/i18n.d.ts +5 -0
- package/dist/user-data-rights/i18n.js +34 -0
- package/dist/user-data-rights/index.d.ts +11 -0
- package/dist/user-data-rights/index.js +17 -0
- package/dist/user-data-rights/lib/default-mailers.d.ts +17 -0
- package/dist/user-data-rights/lib/default-mailers.js +80 -0
- package/dist/user-data-rights/lib/deny-if-target-outside-admin-tenant.d.ts +8 -0
- package/dist/user-data-rights/lib/deny-if-target-outside-admin-tenant.js +19 -0
- package/dist/user-data-rights/lib/is-admin-actor.d.ts +3 -0
- package/dist/user-data-rights/lib/is-admin-actor.js +15 -0
- package/dist/user-data-rights/lib/mail-transport-resolver.d.ts +13 -0
- package/dist/user-data-rights/lib/mail-transport-resolver.js +19 -0
- package/dist/user-data-rights/lib/resolve-tenant-model.d.ts +8 -0
- package/dist/user-data-rights/lib/resolve-tenant-model.js +16 -0
- package/dist/user-data-rights/lib/storage-provider-resolver.d.ts +13 -0
- package/dist/user-data-rights/lib/storage-provider-resolver.js +20 -0
- package/dist/user-data-rights/lib/update-user-lifecycle.d.ts +15 -0
- package/dist/user-data-rights/lib/update-user-lifecycle.js +86 -0
- package/dist/user-data-rights/run-export-jobs.d.ts +110 -0
- package/dist/user-data-rights/run-export-jobs.js +666 -0
- package/dist/user-data-rights/run-forget-cleanup.d.ts +110 -0
- package/dist/user-data-rights/run-forget-cleanup.js +385 -0
- package/dist/user-data-rights/run-user-export.d.ts +76 -0
- package/dist/user-data-rights/run-user-export.js +232 -0
- package/dist/user-data-rights/schema/download-attempt.d.ts +314 -0
- package/dist/user-data-rights/schema/download-attempt.js +50 -0
- package/dist/user-data-rights/schema/download-token.d.ts +278 -0
- package/dist/user-data-rights/schema/download-token.js +99 -0
- package/dist/user-data-rights/schema/export-job.d.ts +354 -0
- package/dist/user-data-rights/schema/export-job.js +148 -0
- package/dist/user-data-rights/screens.d.ts +4 -0
- package/dist/user-data-rights/screens.js +67 -0
- package/dist/user-data-rights/token-helpers.d.ts +19 -0
- package/dist/user-data-rights/token-helpers.js +60 -0
- package/dist/user-data-rights/web/client-plugin.d.ts +13 -0
- package/dist/user-data-rights/web/client-plugin.js +38 -0
- package/dist/user-data-rights/web/confirm-deletion-screen.d.ts +5 -0
- package/dist/user-data-rights/web/confirm-deletion-screen.js +39 -0
- package/dist/user-data-rights/web/i18n.d.ts +2 -0
- package/dist/user-data-rights/web/i18n.js +59 -0
- package/dist/user-data-rights/web/index.d.ts +8 -0
- package/dist/user-data-rights/web/index.js +12 -0
- package/dist/user-data-rights/web/privacy-center-screen.d.ts +3 -0
- package/dist/user-data-rights/web/privacy-center-screen.js +98 -0
- package/dist/user-data-rights/web/public-deletion-gate.d.ts +13 -0
- package/dist/user-data-rights/web/public-deletion-gate.js +16 -0
- package/dist/user-data-rights/web/request-deletion-screen.d.ts +5 -0
- package/dist/user-data-rights/web/request-deletion-screen.js +49 -0
- package/dist/user-data-rights/zip-path.d.ts +30 -0
- package/dist/user-data-rights/zip-path.js +80 -0
- package/dist/user-data-rights-defaults/feature.d.ts +2 -0
- package/dist/user-data-rights-defaults/feature.js +93 -0
- package/dist/user-data-rights-defaults/hooks/api-token.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/api-token.userdata-hook.js +35 -0
- package/dist/user-data-rights-defaults/hooks/config-value.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/config-value.userdata-hook.js +46 -0
- package/dist/user-data-rights-defaults/hooks/delivery-attempt.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/delivery-attempt.userdata-hook.js +34 -0
- package/dist/user-data-rights-defaults/hooks/feature-mounted.d.ts +2 -0
- package/dist/user-data-rights-defaults/hooks/feature-mounted.js +8 -0
- package/dist/user-data-rights-defaults/hooks/file-ref.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/file-ref.userdata-hook.js +248 -0
- package/dist/user-data-rights-defaults/hooks/in-app-message.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/in-app-message.userdata-hook.js +36 -0
- package/dist/user-data-rights-defaults/hooks/job-run.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/job-run.userdata-hook.js +32 -0
- package/dist/user-data-rights-defaults/hooks/notification-preference.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/notification-preference.userdata-hook.js +49 -0
- package/dist/user-data-rights-defaults/hooks/tenant-invitation.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/tenant-invitation.userdata-hook.js +119 -0
- package/dist/user-data-rights-defaults/hooks/user-session.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/user-session.userdata-hook.js +40 -0
- package/dist/user-data-rights-defaults/hooks/user.userdata-hook.d.ts +3 -0
- package/dist/user-data-rights-defaults/hooks/user.userdata-hook.js +91 -0
- package/dist/user-data-rights-defaults/index.d.ts +11 -0
- package/dist/user-data-rights-defaults/index.js +11 -0
- package/dist/user-profile/constants.d.ts +17 -0
- package/dist/user-profile/constants.js +28 -0
- package/dist/user-profile/feature.d.ts +2 -0
- package/dist/user-profile/feature.js +130 -0
- package/dist/user-profile/handlers/change-email.write.d.ts +8 -0
- package/dist/user-profile/handlers/change-email.write.js +75 -0
- package/dist/user-profile/i18n.d.ts +2 -0
- package/dist/user-profile/i18n.js +35 -0
- package/dist/user-profile/index.d.ts +2 -0
- package/dist/user-profile/index.js +5 -0
- package/dist/user-profile/web/client-plugin.d.ts +18 -0
- package/dist/user-profile/web/client-plugin.js +23 -0
- package/dist/user-profile/web/index.d.ts +2 -0
- package/dist/user-profile/web/index.js +2 -0
- package/dist/user-profile/web/profile-screen.d.ts +4 -0
- package/dist/user-profile/web/profile-screen.js +120 -0
- package/dist/workflow-runner/aggregate-id.d.ts +11 -0
- package/dist/workflow-runner/aggregate-id.js +18 -0
- package/dist/workflow-runner/db/queries/due-runs.d.ts +7 -0
- package/dist/workflow-runner/db/queries/due-runs.js +12 -0
- package/dist/workflow-runner/event-subscriber.d.ts +2 -0
- package/dist/workflow-runner/event-subscriber.js +68 -0
- package/dist/workflow-runner/event-trigger.d.ts +2 -0
- package/dist/workflow-runner/event-trigger.js +106 -0
- package/dist/workflow-runner/feature.d.ts +3 -0
- package/dist/workflow-runner/feature.js +78 -0
- package/dist/workflow-runner/handlers/resume-run.write.d.ts +2 -0
- package/dist/workflow-runner/handlers/resume-run.write.js +242 -0
- package/dist/workflow-runner/index.d.ts +4 -0
- package/dist/workflow-runner/index.js +5 -0
- package/dist/workflow-runner/pending-projection.d.ts +2 -0
- package/dist/workflow-runner/pending-projection.js +90 -0
- package/dist/workflow-runner/runner.d.ts +42 -0
- package/dist/workflow-runner/runner.js +82 -0
- package/dist/workflow-runner/tables.d.ts +3 -0
- package/dist/workflow-runner/tables.js +78 -0
- package/dist/workflow-runner/workflow-registry.d.ts +3 -0
- package/dist/workflow-runner/workflow-registry.js +18 -0
- package/package.json +935 -127
- package/src/auth-email-password/changes.json +6 -0
- package/src/auth-mfa/changes.json +6 -0
- package/src/__tests__/access-invalidation-consumer.integration.test.ts +0 -419
- package/src/__tests__/access-invalidation-stream.integration.test.ts +0 -218
- package/src/__tests__/account-security-composition.boot.test.ts +0 -101
- package/src/__tests__/account-security-composition.integration.test.ts +0 -188
- package/src/__tests__/account-security-fixture.ts +0 -55
- package/src/__tests__/boot-seed-contract.integration.test.ts +0 -122
- package/src/__tests__/credential-scoped-sse-revoke.integration.test.ts +0 -296
- package/src/__tests__/cross-tenant-jobs-escape-hatch.test.ts +0 -45
- package/src/__tests__/env-schemas.test.ts +0 -258
- package/src/__tests__/es-ops-e2e.integration.test.ts +0 -210
- package/src/__tests__/extension-points-typed.test.ts +0 -143
- package/src/__tests__/ride-along-schema-meta.test.ts +0 -33
- package/src/__tests__/use-extension-options.test.ts +0 -278
- package/src/admin-shell/__tests__/admin-shell-security.integration.test.ts +0 -209
- package/src/admin-shell/__tests__/admin-shell.boot.test.ts +0 -213
- package/src/admin-shell/__tests__/overview-allowlist.test.ts +0 -73
- package/src/admin-shell/__tests__/overview-screens.boot.test.ts +0 -43
- package/src/admin-shell/constants.ts +0 -11
- package/src/admin-shell/feature.ts +0 -222
- package/src/admin-shell/i18n.ts +0 -28
- package/src/admin-shell/index.ts +0 -17
- package/src/admin-shell/overview-allowlist.ts +0 -37
- package/src/admin-shell/web/client-plugin.tsx +0 -16
- package/src/admin-shell/web/i18n.ts +0 -11
- package/src/admin-shell/web/index.ts +0 -2
- package/src/agent-tools/__tests__/agent-doc-lint.test.ts +0 -294
- package/src/agent-tools/__tests__/agent-manifest.test.ts +0 -252
- package/src/agent-tools/__tests__/agent-optout.test.ts +0 -271
- package/src/agent-tools/__tests__/agent-tools.integration.test.ts +0 -205
- package/src/agent-tools/__tests__/feature.test.ts +0 -63
- package/src/agent-tools/__tests__/kms-erase-gate.integration.test.ts +0 -127
- package/src/agent-tools/__tests__/tool-catalog.test.ts +0 -464
- package/src/agent-tools/__tests__/tool-dispatch.integration.test.ts +0 -313
- package/src/agent-tools/__tests__/tool-dispatch.test.ts +0 -472
- package/src/agent-tools/agent-doc-lint.ts +0 -133
- package/src/agent-tools/agent-manifest.ts +0 -365
- package/src/agent-tools/feature.ts +0 -36
- package/src/agent-tools/index.ts +0 -25
- package/src/agent-tools/tool-catalog.ts +0 -601
- package/src/agent-tools/tool-dispatch.ts +0 -378
- package/src/agent-tools/types.ts +0 -222
- package/src/audit/__tests__/audit-screens.boot.test.ts +0 -112
- package/src/audit/__tests__/audit-security.integration.test.ts +0 -201
- package/src/audit/__tests__/audit.integration.test.ts +0 -453
- package/src/audit/__tests__/constants.test.ts +0 -13
- package/src/audit/__tests__/escape-hatch-audit.integration.test.ts +0 -107
- package/src/audit/constants.ts +0 -26
- package/src/audit/escape-hatch-audit-sink.ts +0 -52
- package/src/audit/feature.ts +0 -145
- package/src/audit/handlers/details.query.ts +0 -49
- package/src/audit/handlers/list.query.ts +0 -125
- package/src/audit/i18n.ts +0 -22
- package/src/audit/index.ts +0 -3
- package/src/audit/web/client-plugin.tsx +0 -16
- package/src/audit/web/i18n.ts +0 -8
- package/src/audit/web/index.ts +0 -3
- package/src/auth-email-password/__tests__/account-lockout-no-redis.integration.test.ts +0 -150
- package/src/auth-email-password/__tests__/account-lockout.integration.test.ts +0 -309
- package/src/auth-email-password/__tests__/account-unlock.integration.test.ts +0 -283
- package/src/auth-email-password/__tests__/active-membership.integration.test.ts +0 -255
- package/src/auth-email-password/__tests__/auth-claims.integration.test.ts +0 -513
- package/src/auth-email-password/__tests__/auth-tenants-rate-limit.integration.test.ts +0 -119
- package/src/auth-email-password/__tests__/auth-user-row.test.ts +0 -36
- package/src/auth-email-password/__tests__/auth.integration.test.ts +0 -756
- package/src/auth-email-password/__tests__/confirm-token-flow.test.ts +0 -67
- package/src/auth-email-password/__tests__/email-templates.test.ts +0 -107
- package/src/auth-email-password/__tests__/email-verification.integration.test.ts +0 -439
- package/src/auth-email-password/__tests__/feature-options.test.ts +0 -33
- package/src/auth-email-password/__tests__/identity-v3-login.integration.test.ts +0 -205
- package/src/auth-email-password/__tests__/invite-accept-with-login-gates.integration.test.ts +0 -424
- package/src/auth-email-password/__tests__/invite-flow-kms.integration.test.ts +0 -379
- package/src/auth-email-password/__tests__/invite-flow.integration.test.ts +0 -1023
- package/src/auth-email-password/__tests__/login-anonymous-identity-rate-limit.integration.test.ts +0 -124
- package/src/auth-email-password/__tests__/login-gates.test.ts +0 -77
- package/src/auth-email-password/__tests__/login-mfa-setup-required.integration.test.ts +0 -217
- package/src/auth-email-password/__tests__/magic-link-mail.test.ts +0 -38
- package/src/auth-email-password/__tests__/multi-roles.integration.test.ts +0 -297
- package/src/auth-email-password/__tests__/password-policy.test.ts +0 -15
- package/src/auth-email-password/__tests__/password-reset.integration.test.ts +0 -506
- package/src/auth-email-password/__tests__/post-auth-landing.integration.test.ts +0 -321
- package/src/auth-email-password/__tests__/public-routes-rate-limit.integration.test.ts +0 -208
- package/src/auth-email-password/__tests__/query-as-member.integration.test.ts +0 -1170
- package/src/auth-email-password/__tests__/seed-admin-guarded.integration.test.ts +0 -213
- package/src/auth-email-password/__tests__/seed-admin.integration.test.ts +0 -189
- package/src/auth-email-password/__tests__/self-registration-toggle.integration.test.ts +0 -264
- package/src/auth-email-password/__tests__/session-callbacks.integration.test.ts +0 -334
- package/src/auth-email-password/__tests__/session-strict-mode.integration.test.ts +0 -94
- package/src/auth-email-password/__tests__/signup-flow.integration.test.ts +0 -616
- package/src/auth-email-password/__tests__/signup-handover.integration.test.ts +0 -434
- package/src/auth-email-password/auth-paths.ts +0 -28
- package/src/auth-email-password/auth-user-row.ts +0 -51
- package/src/auth-email-password/constants.ts +0 -146
- package/src/auth-email-password/email-templates.ts +0 -198
- package/src/auth-email-password/errors.ts +0 -112
- package/src/auth-email-password/feature.ts +0 -269
- package/src/auth-email-password/handlers/change-password.write.ts +0 -68
- package/src/auth-email-password/handlers/confirm-account-unlock.write.ts +0 -61
- package/src/auth-email-password/handlers/confirm-token-flow.ts +0 -148
- package/src/auth-email-password/handlers/invite-accept-with-login.write.ts +0 -303
- package/src/auth-email-password/handlers/invite-accept.write.ts +0 -218
- package/src/auth-email-password/handlers/invite-create.write.ts +0 -213
- package/src/auth-email-password/handlers/invite-info.query.ts +0 -89
- package/src/auth-email-password/handlers/invite-signup-complete.write.ts +0 -220
- package/src/auth-email-password/handlers/login.write.ts +0 -343
- package/src/auth-email-password/handlers/logout.write.ts +0 -16
- package/src/auth-email-password/handlers/request-account-unlock.write.ts +0 -40
- package/src/auth-email-password/handlers/request-email-verification.write.ts +0 -37
- package/src/auth-email-password/handlers/request-password-reset.write.ts +0 -39
- package/src/auth-email-password/handlers/reset-password.write.ts +0 -62
- package/src/auth-email-password/handlers/self-registration-status.query.ts +0 -26
- package/src/auth-email-password/handlers/signup-confirm.write.ts +0 -248
- package/src/auth-email-password/handlers/signup-request.write.ts +0 -229
- package/src/auth-email-password/handlers/token-request-handler.ts +0 -166
- package/src/auth-email-password/handlers/verify-email.write.ts +0 -62
- package/src/auth-email-password/i18n.ts +0 -151
- package/src/auth-email-password/index.ts +0 -47
- package/src/auth-email-password/invite-token-store.ts +0 -78
- package/src/auth-email-password/lockout-store.ts +0 -34
- package/src/auth-email-password/magic-link-mail.ts +0 -87
- package/src/auth-email-password/password-policy.ts +0 -2108
- package/src/auth-email-password/reset-token.ts +0 -30
- package/src/auth-email-password/seeding.ts +0 -362
- package/src/auth-email-password/self-registration-toggle.ts +0 -25
- package/src/auth-email-password/signed-token.ts +0 -4
- package/src/auth-email-password/signup-token-store.test.ts +0 -29
- package/src/auth-email-password/signup-token-store.ts +0 -155
- package/src/auth-email-password/testing.ts +0 -5
- package/src/auth-email-password/unlock-token.ts +0 -28
- package/src/auth-email-password/verification-token.ts +0 -29
- package/src/auth-email-password/web/__tests__/auth-client.test.ts +0 -578
- package/src/auth-email-password/web/__tests__/auth-form-logic.test.ts +0 -106
- package/src/auth-email-password/web/__tests__/auth-gate.test.tsx +0 -360
- package/src/auth-email-password/web/__tests__/auth-shell.test.tsx +0 -35
- package/src/auth-email-password/web/__tests__/client-plugin.test.tsx +0 -34
- package/src/auth-email-password/web/__tests__/confirm-account-unlock-screen.test.tsx +0 -56
- package/src/auth-email-password/web/__tests__/fetch-mock.ts +0 -14
- package/src/auth-email-password/web/__tests__/forgot-password-screen.test.tsx +0 -67
- package/src/auth-email-password/web/__tests__/invite-accept-screen.test.tsx +0 -319
- package/src/auth-email-password/web/__tests__/login-screen.test.tsx +0 -376
- package/src/auth-email-password/web/__tests__/request-account-unlock-screen.test.tsx +0 -129
- package/src/auth-email-password/web/__tests__/reset-password-screen.test.tsx +0 -99
- package/src/auth-email-password/web/__tests__/session-auth-bootstrap.test.ts +0 -22
- package/src/auth-email-password/web/__tests__/session-bootstrap-error.test.ts +0 -32
- package/src/auth-email-password/web/__tests__/session-roles.test.ts +0 -54
- package/src/auth-email-password/web/__tests__/signup-complete-screen.test.tsx +0 -307
- package/src/auth-email-password/web/__tests__/signup-screen.test.tsx +0 -93
- package/src/auth-email-password/web/__tests__/tenant-switcher.test.tsx +0 -137
- package/src/auth-email-password/web/__tests__/test-utils.tsx +0 -80
- package/src/auth-email-password/web/__tests__/use-url-token.test.tsx +0 -29
- package/src/auth-email-password/web/__tests__/user-menu.test.tsx +0 -116
- package/src/auth-email-password/web/__tests__/verify-email-screen.test.tsx +0 -50
- package/src/auth-email-password/web/auth-client.ts +0 -472
- package/src/auth-email-password/web/auth-form-logic.ts +0 -40
- package/src/auth-email-password/web/auth-form-primitives.tsx +0 -112
- package/src/auth-email-password/web/auth-gate.tsx +0 -178
- package/src/auth-email-password/web/client-plugin.ts +0 -69
- package/src/auth-email-password/web/confirm-account-unlock-screen.tsx +0 -96
- package/src/auth-email-password/web/default-topbar-actions.tsx +0 -47
- package/src/auth-email-password/web/forgot-password-screen.tsx +0 -111
- package/src/auth-email-password/web/index.ts +0 -75
- package/src/auth-email-password/web/invite-accept-screen.tsx +0 -259
- package/src/auth-email-password/web/login-screen.tsx +0 -295
- package/src/auth-email-password/web/request-account-unlock-screen.tsx +0 -112
- package/src/auth-email-password/web/reset-password-screen.tsx +0 -149
- package/src/auth-email-password/web/session-bootstrap-error.tsx +0 -56
- package/src/auth-email-password/web/session.tsx +0 -209
- package/src/auth-email-password/web/signup-complete-screen.tsx +0 -181
- package/src/auth-email-password/web/signup-screen.tsx +0 -128
- package/src/auth-email-password/web/tenant-menu-items.tsx +0 -47
- package/src/auth-email-password/web/tenant-switcher.tsx +0 -123
- package/src/auth-email-password/web/use-shell-user.ts +0 -37
- package/src/auth-email-password/web/user-menu.tsx +0 -149
- package/src/auth-email-password/web/verify-email-screen.tsx +0 -99
- package/src/auth-foundation/__tests__/feature.test.ts +0 -46
- package/src/auth-foundation/__tests__/session-store.test.ts +0 -78
- package/src/auth-foundation/__tests__/tenant-providers.test.ts +0 -161
- package/src/auth-foundation/__tests__/token-verifier.test.ts +0 -152
- package/src/auth-foundation/boot-checks.ts +0 -150
- package/src/auth-foundation/feature.ts +0 -157
- package/src/auth-foundation/index.ts +0 -37
- package/src/auth-foundation/resolve-anonymous-access.ts +0 -62
- package/src/auth-foundation/types.ts +0 -180
- package/src/auth-mfa/__tests__/base32.test.ts +0 -28
- package/src/auth-mfa/__tests__/disable-and-regenerate.integration.test.ts +0 -265
- package/src/auth-mfa/__tests__/enable-confirm-preauth.integration.test.ts +0 -341
- package/src/auth-mfa/__tests__/enable-flow.integration.test.ts +0 -394
- package/src/auth-mfa/__tests__/enable-start-preauth.integration.test.ts +0 -237
- package/src/auth-mfa/__tests__/errors-i18n-parity.test.ts +0 -37
- package/src/auth-mfa/__tests__/mfa-preauth-setup-token.test.ts +0 -113
- package/src/auth-mfa/__tests__/no-redis.integration.test.ts +0 -206
- package/src/auth-mfa/__tests__/pii-subject-encryption.integration.test.ts +0 -138
- package/src/auth-mfa/__tests__/reencrypt-job.integration.test.ts +0 -330
- package/src/auth-mfa/__tests__/screen.test.ts +0 -58
- package/src/auth-mfa/__tests__/session-auto-revoke.integration.test.ts +0 -181
- package/src/auth-mfa/__tests__/session-scoped-sse-revoke.integration.test.ts +0 -270
- package/src/auth-mfa/__tests__/token-secrets.test.ts +0 -59
- package/src/auth-mfa/__tests__/totp.test.ts +0 -131
- package/src/auth-mfa/__tests__/verify.integration.test.ts +0 -420
- package/src/auth-mfa/base32.ts +0 -51
- package/src/auth-mfa/config.ts +0 -26
- package/src/auth-mfa/constants.ts +0 -47
- package/src/auth-mfa/db/queries.ts +0 -45
- package/src/auth-mfa/errors.ts +0 -66
- package/src/auth-mfa/feature.ts +0 -250
- package/src/auth-mfa/handlers/disable.write.ts +0 -83
- package/src/auth-mfa/handlers/enable-confirm-preauth.write.ts +0 -237
- package/src/auth-mfa/handlers/enable-confirm.write.ts +0 -123
- package/src/auth-mfa/handlers/enable-start-preauth.write.ts +0 -103
- package/src/auth-mfa/handlers/enable-start.write.ts +0 -86
- package/src/auth-mfa/handlers/reencrypt.job.ts +0 -223
- package/src/auth-mfa/handlers/regenerate-recovery.write.ts +0 -88
- package/src/auth-mfa/handlers/status.query.ts +0 -31
- package/src/auth-mfa/handlers/verify.write.ts +0 -201
- package/src/auth-mfa/hmac-token-codec.ts +0 -75
- package/src/auth-mfa/i18n.ts +0 -40
- package/src/auth-mfa/index.ts +0 -30
- package/src/auth-mfa/mfa-challenge-token.ts +0 -35
- package/src/auth-mfa/mfa-code-verifier.ts +0 -45
- package/src/auth-mfa/mfa-preauth-setup-token.ts +0 -35
- package/src/auth-mfa/mfa-setup-token.ts +0 -96
- package/src/auth-mfa/mfa-status-checker.ts +0 -95
- package/src/auth-mfa/mfa-verify-attempts.ts +0 -32
- package/src/auth-mfa/otpauth-uri.ts +0 -21
- package/src/auth-mfa/recovery-codes.ts +0 -54
- package/src/auth-mfa/schema/user-mfa.ts +0 -65
- package/src/auth-mfa/screens.ts +0 -127
- package/src/auth-mfa/testing.ts +0 -5
- package/src/auth-mfa/token-secrets.ts +0 -41
- package/src/auth-mfa/totp.ts +0 -67
- package/src/auth-mfa/verify-factor.ts +0 -58
- package/src/auth-mfa/web/__tests__/mfa-client.test.ts +0 -265
- package/src/auth-mfa/web/__tests__/mfa-setup-preauth-screen.test.tsx +0 -375
- package/src/auth-mfa/web/__tests__/mfa-verify-screen.test.tsx +0 -96
- package/src/auth-mfa/web/client-plugin.ts +0 -36
- package/src/auth-mfa/web/i18n.ts +0 -66
- package/src/auth-mfa/web/index.ts +0 -25
- package/src/auth-mfa/web/mfa-client.ts +0 -200
- package/src/auth-mfa/web/mfa-disable-dialog.tsx +0 -70
- package/src/auth-mfa/web/mfa-recovery-codes-reveal.tsx +0 -53
- package/src/auth-mfa/web/mfa-regenerate-recovery-dialog.tsx +0 -69
- package/src/auth-mfa/web/mfa-setup-preauth-screen.tsx +0 -267
- package/src/auth-mfa/web/mfa-verify-screen.tsx +0 -117
- package/src/auth-mfa/web/qrcode-browser.d.ts +0 -12
- package/src/auth-mfa-user-data/__tests__/hooks.integration.test.ts +0 -134
- package/src/auth-mfa-user-data/hooks.ts +0 -53
- package/src/auth-mfa-user-data/index.ts +0 -21
- package/src/billing-foundation/__tests__/billing-foundation.integration.test.ts +0 -1091
- package/src/billing-foundation/__tests__/billing-info-query.test.ts +0 -103
- package/src/billing-foundation/__tests__/billing-plans-admin-only.integration.test.ts +0 -158
- package/src/billing-foundation/__tests__/billing-plans.integration.test.ts +0 -1061
- package/src/billing-foundation/__tests__/checkout-core.test.ts +0 -188
- package/src/billing-foundation/__tests__/constants.test.ts +0 -72
- package/src/billing-foundation/__tests__/feature.test.ts +0 -256
- package/src/billing-foundation/__tests__/subscription-provider-contract.ts +0 -99
- package/src/billing-foundation/__tests__/subscription-tier-sync.integration.test.ts +0 -226
- package/src/billing-foundation/__tests__/subscription-tier-sync.test.ts +0 -37
- package/src/billing-foundation/__tests__/sync-subscription.integration.test.ts +0 -469
- package/src/billing-foundation/__tests__/tenant-destroy.integration.test.ts +0 -199
- package/src/billing-foundation/__tests__/webhook-handler.integration.test.ts +0 -174
- package/src/billing-foundation/aggregate-id.ts +0 -64
- package/src/billing-foundation/billing-info-query.ts +0 -95
- package/src/billing-foundation/checkout-core.ts +0 -386
- package/src/billing-foundation/constants.ts +0 -190
- package/src/billing-foundation/db/queries/payment-projection.ts +0 -19
- package/src/billing-foundation/db/queries/subscription-projection.ts +0 -15
- package/src/billing-foundation/entities.ts +0 -132
- package/src/billing-foundation/events.ts +0 -112
- package/src/billing-foundation/feature.ts +0 -286
- package/src/billing-foundation/get-subscription-for-tenant.ts +0 -57
- package/src/billing-foundation/handlers/billing-plans.query.ts +0 -32
- package/src/billing-foundation/handlers/create-checkout-session.write.ts +0 -83
- package/src/billing-foundation/handlers/create-portal-session.write.ts +0 -103
- package/src/billing-foundation/handlers/list-subscriptions.query.ts +0 -37
- package/src/billing-foundation/handlers/process-event.write.ts +0 -206
- package/src/billing-foundation/handlers/process-payment-event.write.ts +0 -118
- package/src/billing-foundation/handlers/start-plan-checkout.write.ts +0 -75
- package/src/billing-foundation/handlers/switch-plan.write.ts +0 -115
- package/src/billing-foundation/handlers/sync-subscription.write.ts +0 -164
- package/src/billing-foundation/i18n.ts +0 -75
- package/src/billing-foundation/index.ts +0 -84
- package/src/billing-foundation/plan-catalog.ts +0 -235
- package/src/billing-foundation/projection.ts +0 -227
- package/src/billing-foundation/screens.ts +0 -25
- package/src/billing-foundation/subscription-tier-sync.ts +0 -175
- package/src/billing-foundation/tenant-destroy-hook.ts +0 -81
- package/src/billing-foundation/types.ts +0 -430
- package/src/billing-foundation/validate-options.ts +0 -66
- package/src/billing-foundation/web/__tests__/billing-plans-panel.test.tsx +0 -393
- package/src/billing-foundation/web/billing-plans-panel.tsx +0 -290
- package/src/billing-foundation/web/client-plugin.tsx +0 -21
- package/src/billing-foundation/web/index.ts +0 -23
- package/src/billing-foundation/webhook-handler.ts +0 -162
- package/src/cap-counter/__tests__/cap-counter.integration.test.ts +0 -576
- package/src/cap-counter/__tests__/cap-list.boot.test.ts +0 -31
- package/src/cap-counter/__tests__/cap-list.security.integration.test.ts +0 -115
- package/src/cap-counter/__tests__/enforce-cap.test.ts +0 -435
- package/src/cap-counter/__tests__/enforce-stock-cap.test.ts +0 -37
- package/src/cap-counter/__tests__/entity-ddl.test.ts +0 -15
- package/src/cap-counter/__tests__/stock-cap-guard.integration.test.ts +0 -301
- package/src/cap-counter/__tests__/with-cap-enforcement.integration.test.ts +0 -514
- package/src/cap-counter/aggregate-id.ts +0 -50
- package/src/cap-counter/book-cap-usage.ts +0 -188
- package/src/cap-counter/constants.ts +0 -34
- package/src/cap-counter/enforce-cap.ts +0 -406
- package/src/cap-counter/entity.ts +0 -57
- package/src/cap-counter/feature.ts +0 -135
- package/src/cap-counter/handlers/get-counter.query.ts +0 -37
- package/src/cap-counter/handlers/increment-rolling.write.ts +0 -80
- package/src/cap-counter/handlers/increment.write.ts +0 -51
- package/src/cap-counter/handlers/mark-soft-warned.write.ts +0 -30
- package/src/cap-counter/i18n.ts +0 -12
- package/src/cap-counter/index.ts +0 -50
- package/src/cap-counter/stock-cap-guard.ts +0 -80
- package/src/cap-counter/with-cap-enforcement.ts +0 -179
- package/src/cap-overview/__tests__/cap-limit-from-config.integration.test.ts +0 -141
- package/src/cap-overview/__tests__/cap-overview-security.integration.test.ts +0 -254
- package/src/cap-overview/__tests__/cap-overview.boot.test.ts +0 -145
- package/src/cap-overview/__tests__/caps-usage-escape-hatch.integration.test.ts +0 -109
- package/src/cap-overview/__tests__/usage-math.test.ts +0 -72
- package/src/cap-overview/access.ts +0 -9
- package/src/cap-overview/constants.ts +0 -26
- package/src/cap-overview/feature.ts +0 -77
- package/src/cap-overview/handlers/caps-usage.query.ts +0 -108
- package/src/cap-overview/handlers/tenant-caps-list.query.ts +0 -257
- package/src/cap-overview/handlers/tenant-options.query.ts +0 -35
- package/src/cap-overview/i18n.ts +0 -26
- package/src/cap-overview/index.ts +0 -21
- package/src/cap-overview/screens.ts +0 -108
- package/src/cap-overview/types.ts +0 -66
- package/src/cap-overview/usage-math.ts +0 -34
- package/src/cap-overview/web/__tests__/cap-cards-panel.test.tsx +0 -297
- package/src/cap-overview/web/__tests__/cap-usage-bar.test.tsx +0 -112
- package/src/cap-overview/web/cap-cards-panel.tsx +0 -113
- package/src/cap-overview/web/cap-usage-bar.tsx +0 -56
- package/src/cap-overview/web/cap-usage-cell.tsx +0 -21
- package/src/cap-overview/web/client-plugin.tsx +0 -27
- package/src/cap-overview/web/index.ts +0 -10
- package/src/channel-email/__tests__/email-channel.test.ts +0 -194
- package/src/channel-email/__tests__/pii-guard.test.ts +0 -90
- package/src/channel-email/__tests__/smtp-transport-from-env.test.ts +0 -35
- package/src/channel-email/__tests__/smtp-transport-pinning.test.ts +0 -42
- package/src/channel-email/email-channel.ts +0 -114
- package/src/channel-email/feature.ts +0 -26
- package/src/channel-email/index.ts +0 -10
- package/src/channel-email/pii-guard.ts +0 -55
- package/src/channel-email/smtp-transport.ts +0 -111
- package/src/channel-email/types.ts +0 -43
- package/src/channel-in-app/__tests__/store-table.test.ts +0 -25
- package/src/channel-in-app/constants.ts +0 -11
- package/src/channel-in-app/feature.ts +0 -45
- package/src/channel-in-app/handlers/inbox.query.ts +0 -30
- package/src/channel-in-app/handlers/mark-all-read.write.ts +0 -27
- package/src/channel-in-app/handlers/mark-read.write.ts +0 -34
- package/src/channel-in-app/handlers/unread-count.query.ts +0 -29
- package/src/channel-in-app/in-app-channel.ts +0 -41
- package/src/channel-in-app/index.ts +0 -4
- package/src/channel-in-app/tables.ts +0 -32
- package/src/channel-push/feature.ts +0 -25
- package/src/channel-push/index.ts +0 -3
- package/src/channel-push/push-channel.ts +0 -34
- package/src/channel-push/types.ts +0 -22
- package/src/compliance-profiles/README.md +0 -88
- package/src/compliance-profiles/__tests__/compliance-profiles.integration.test.ts +0 -392
- package/src/compliance-profiles/__tests__/parse-override.test.ts +0 -53
- package/src/compliance-profiles/__tests__/profile-picker.boot.test.ts +0 -47
- package/src/compliance-profiles/__tests__/profile-picker.security.integration.test.ts +0 -141
- package/src/compliance-profiles/__tests__/seeding.integration.test.ts +0 -121
- package/src/compliance-profiles/_internal/parse-override.ts +0 -20
- package/src/compliance-profiles/constants.ts +0 -20
- package/src/compliance-profiles/feature.ts +0 -114
- package/src/compliance-profiles/handlers/for-tenant.query.ts +0 -50
- package/src/compliance-profiles/handlers/list-profiles.query.ts +0 -52
- package/src/compliance-profiles/handlers/needs-profile.query.ts +0 -75
- package/src/compliance-profiles/handlers/set-profile.write.ts +0 -142
- package/src/compliance-profiles/handlers/sub-processors.query.ts +0 -46
- package/src/compliance-profiles/i18n.ts +0 -31
- package/src/compliance-profiles/index.ts +0 -13
- package/src/compliance-profiles/resolve-for-tenant.ts +0 -57
- package/src/compliance-profiles/schema/profile-selection.ts +0 -53
- package/src/compliance-profiles/seeding.ts +0 -101
- package/src/compliance-profiles/web/client-plugin.tsx +0 -25
- package/src/compliance-profiles/web/compliance-profile-catalog.tsx +0 -55
- package/src/compliance-profiles/web/i18n.ts +0 -9
- package/src/compliance-profiles/web/index.ts +0 -6
- package/src/compliance-profiles-ops/__tests__/ops.boot.test.ts +0 -42
- package/src/compliance-profiles-ops/__tests__/ops.integration.test.ts +0 -76
- package/src/compliance-profiles-ops/handlers/tenants-missing-profile.query.ts +0 -56
- package/src/compliance-profiles-ops/index.ts +0 -34
- package/src/config/__tests__/app-override-visibility.integration.test.ts +0 -149
- package/src/config/__tests__/app-overrides.test.ts +0 -129
- package/src/config/__tests__/backing-secrets.integration.test.ts +0 -245
- package/src/config/__tests__/cascade.integration.test.ts +0 -564
- package/src/config/__tests__/config.integration.test.ts +0 -1737
- package/src/config/__tests__/deserialize-value.test.ts +0 -64
- package/src/config/__tests__/env-overrides.test.ts +0 -155
- package/src/config/__tests__/inherited-redaction.integration.test.ts +0 -210
- package/src/config/__tests__/pii-encrypted.integration.test.ts +0 -179
- package/src/config/__tests__/read-redaction.test.ts +0 -112
- package/src/config/__tests__/reencrypt-job-concurrent-write-race.integration.test.ts +0 -250
- package/src/config/__tests__/reencrypt-job-kek-rotation.integration.test.ts +0 -257
- package/src/config/__tests__/reencrypt-job-tenant-checks.integration.test.ts +0 -196
- package/src/config/__tests__/require-system-db.test.ts +0 -46
- package/src/config/__tests__/selected-extensions-query-name.test.ts +0 -18
- package/src/config/__tests__/selected-extensions.integration.test.ts +0 -247
- package/src/config/__tests__/settings-hub-feature-name.test.ts +0 -14
- package/src/config/__tests__/tz-resolution.integration.test.ts +0 -106
- package/src/config/__tests__/write-helpers.test.ts +0 -175
- package/src/config/constants.ts +0 -30
- package/src/config/db/queries/__tests__/resolver.test.ts +0 -77
- package/src/config/db/queries/resolver.ts +0 -49
- package/src/config/feature.ts +0 -169
- package/src/config/handlers/__tests__/prepare-config-write.test.ts +0 -330
- package/src/config/handlers/cascade.query.ts +0 -94
- package/src/config/handlers/readiness.query.ts +0 -164
- package/src/config/handlers/reencrypt.job.ts +0 -274
- package/src/config/handlers/reset.write.ts +0 -76
- package/src/config/handlers/schema.query.ts +0 -36
- package/src/config/handlers/selected-extensions.query.ts +0 -71
- package/src/config/handlers/set.write.ts +0 -204
- package/src/config/handlers/values.query.ts +0 -92
- package/src/config/i18n.ts +0 -4
- package/src/config/index.ts +0 -38
- package/src/config/read-redaction.ts +0 -64
- package/src/config/resolver.ts +0 -687
- package/src/config/table.ts +0 -40
- package/src/config/web/client-plugin.ts +0 -24
- package/src/config/web/i18n.ts +0 -36
- package/src/config/web/index.ts +0 -3
- package/src/config/write-helpers.ts +0 -365
- package/src/crypto-shredding/__tests__/forget-subject-record.integration.test.ts +0 -428
- package/src/crypto-shredding/__tests__/forget-subject.integration.test.ts +0 -767
- package/src/crypto-shredding/__tests__/subject-id-schema.test.ts +0 -42
- package/src/crypto-shredding/constants.ts +0 -11
- package/src/crypto-shredding/feature.ts +0 -29
- package/src/crypto-shredding/handlers/forget-subject.write.ts +0 -421
- package/src/crypto-shredding/index.ts +0 -13
- package/src/custom-fields/__tests__/audit-integration.integration.test.ts +0 -312
- package/src/custom-fields/__tests__/cross-tenant-field-delete.integration.test.ts +0 -175
- package/src/custom-fields/__tests__/cross-tenant-set-write.integration.test.ts +0 -176
- package/src/custom-fields/__tests__/custom-fields.integration.test.ts +0 -958
- package/src/custom-fields/__tests__/drift.test.ts +0 -43
- package/src/custom-fields/__tests__/feature.test.ts +0 -259
- package/src/custom-fields/__tests__/field-access.integration.test.ts +0 -350
- package/src/custom-fields/__tests__/field-definition-role-config.integration.test.ts +0 -137
- package/src/custom-fields/__tests__/field-definition-row.test.ts +0 -62
- package/src/custom-fields/__tests__/field-write-access.test.ts +0 -34
- package/src/custom-fields/__tests__/parse-serialized-field.test.ts +0 -53
- package/src/custom-fields/__tests__/quota.integration.test.ts +0 -160
- package/src/custom-fields/__tests__/retention.integration.test.ts +0 -378
- package/src/custom-fields/__tests__/user-data-rights.integration.test.ts +0 -391
- package/src/custom-fields/__tests__/value-schema.test.ts +0 -54
- package/src/custom-fields/__tests__/wire-for-entity.test.ts +0 -152
- package/src/custom-fields/aggregate-id.ts +0 -34
- package/src/custom-fields/constants.ts +0 -82
- package/src/custom-fields/db/queries/__tests__/unsafe-read-retrying.integration.test.ts +0 -94
- package/src/custom-fields/db/queries/field-access.ts +0 -17
- package/src/custom-fields/db/queries/projection.ts +0 -84
- package/src/custom-fields/db/queries/quota.ts +0 -20
- package/src/custom-fields/db/queries/retention.ts +0 -43
- package/src/custom-fields/db/queries/user-data-rights.ts +0 -39
- package/src/custom-fields/entity.ts +0 -112
- package/src/custom-fields/events.ts +0 -25
- package/src/custom-fields/executor.ts +0 -10
- package/src/custom-fields/feature.ts +0 -285
- package/src/custom-fields/handlers/clear-custom-field.write.ts +0 -81
- package/src/custom-fields/handlers/define-system-field.write.ts +0 -45
- package/src/custom-fields/handlers/define-tenant-field.write.ts +0 -107
- package/src/custom-fields/handlers/delete-system-field.write.ts +0 -49
- package/src/custom-fields/handlers/delete-tenant-field.write.ts +0 -74
- package/src/custom-fields/handlers/set-custom-field.write.ts +0 -123
- package/src/custom-fields/handlers/update-tenant-field.write.ts +0 -98
- package/src/custom-fields/index.ts +0 -40
- package/src/custom-fields/lib/define-or-resurrect.ts +0 -52
- package/src/custom-fields/lib/field-access.ts +0 -73
- package/src/custom-fields/lib/field-definition-row.ts +0 -33
- package/src/custom-fields/lib/parse-serialized-field.ts +0 -64
- package/src/custom-fields/lib/quota.ts +0 -5
- package/src/custom-fields/lib/value-schema.ts +0 -91
- package/src/custom-fields/run-retention.ts +0 -201
- package/src/custom-fields/schemas.ts +0 -98
- package/src/custom-fields/web/__tests__/custom-fields-form-section.test.tsx +0 -417
- package/src/custom-fields/web/client-plugin.tsx +0 -27
- package/src/custom-fields/web/custom-fields-form-section.tsx +0 -247
- package/src/custom-fields/web/i18n.ts +0 -22
- package/src/custom-fields/web/index.ts +0 -8
- package/src/custom-fields/wire-for-entity.ts +0 -226
- package/src/custom-fields/wire-user-data-rights.ts +0 -79
- package/src/data-retention/__tests__/cleanup-cron-registration.test.ts +0 -23
- package/src/data-retention/__tests__/data-retention.integration.test.ts +0 -49
- package/src/data-retention/__tests__/keep-for.test.ts +0 -77
- package/src/data-retention/__tests__/override-schema.test.ts +0 -96
- package/src/data-retention/__tests__/parse-override.test.ts +0 -57
- package/src/data-retention/__tests__/policy-for.integration.test.ts +0 -172
- package/src/data-retention/__tests__/resolve-tenant-preset.test.ts +0 -57
- package/src/data-retention/__tests__/resolver.test.ts +0 -203
- package/src/data-retention/__tests__/retention-cleanup-files.integration.test.ts +0 -456
- package/src/data-retention/__tests__/retention-cleanup-kms.integration.test.ts +0 -160
- package/src/data-retention/__tests__/retention-cleanup.integration.test.ts +0 -427
- package/src/data-retention/_internal/parse-override.ts +0 -34
- package/src/data-retention/feature.ts +0 -123
- package/src/data-retention/handlers/policy-for.query.ts +0 -46
- package/src/data-retention/index.ts +0 -20
- package/src/data-retention/keep-for.ts +0 -75
- package/src/data-retention/override-schema.ts +0 -37
- package/src/data-retention/presets.ts +0 -72
- package/src/data-retention/resolve-for-tenant.ts +0 -85
- package/src/data-retention/resolve-tenant-preset.ts +0 -54
- package/src/data-retention/resolver.ts +0 -107
- package/src/data-retention/run-retention-cleanup.ts +0 -746
- package/src/data-retention/schema/tenant-retention-override.ts +0 -50
- package/src/delivery/__tests__/delivery-events.integration.test.ts +0 -153
- package/src/delivery/__tests__/delivery-log-query.integration.test.ts +0 -164
- package/src/delivery/__tests__/delivery-pii-kms.integration.test.ts +0 -253
- package/src/delivery/__tests__/delivery-screens.boot.test.ts +0 -68
- package/src/delivery/__tests__/delivery-security.integration.test.ts +0 -384
- package/src/delivery/__tests__/delivery.integration.test.ts +0 -2503
- package/src/delivery/address-opt-out.ts +0 -204
- package/src/delivery/attempt-log.ts +0 -66
- package/src/delivery/channel-context.ts +0 -17
- package/src/delivery/constants.ts +0 -36
- package/src/delivery/db/queries/address-opt-outs.ts +0 -23
- package/src/delivery/db/queries/preferences.ts +0 -32
- package/src/delivery/delivery-service.ts +0 -631
- package/src/delivery/events.ts +0 -24
- package/src/delivery/feature.ts +0 -206
- package/src/delivery/handlers/log.query.ts +0 -155
- package/src/delivery/handlers/preferences.query.ts +0 -42
- package/src/delivery/handlers/resubscribe-address.write.ts +0 -42
- package/src/delivery/handlers/resubscribe-user.write.ts +0 -41
- package/src/delivery/handlers/set-preference.write.ts +0 -47
- package/src/delivery/handlers/unsubscribe-address.write.ts +0 -40
- package/src/delivery/handlers/unsubscribe-user.write.ts +0 -43
- package/src/delivery/i18n.ts +0 -11
- package/src/delivery/index.ts +0 -52
- package/src/delivery/jobs.ts +0 -164
- package/src/delivery/public-names.ts +0 -60
- package/src/delivery/tables.ts +0 -147
- package/src/delivery/testing.ts +0 -53
- package/src/delivery/types.ts +0 -118
- package/src/delivery/unsubscribe.ts +0 -436
- package/src/delivery/upsert-preference.ts +0 -154
- package/src/delivery/web/client-plugin.tsx +0 -19
- package/src/delivery/web/delivery-status-cell.tsx +0 -26
- package/src/delivery/web/index.ts +0 -3
- package/src/derivatives-sharp/__tests__/derivatives-sharp.integration.test.ts +0 -124
- package/src/derivatives-sharp/__tests__/render.test.ts +0 -546
- package/src/derivatives-sharp/feature.ts +0 -22
- package/src/derivatives-sharp/index.ts +0 -2
- package/src/derivatives-sharp/render.ts +0 -411
- package/src/document-ingest-foundation/__tests__/feature.integration.test.ts +0 -850
- package/src/document-ingest-foundation/__tests__/feature.test.ts +0 -140
- package/src/document-ingest-foundation/__tests__/pages-crypto-shredding.integration.test.ts +0 -111
- package/src/document-ingest-foundation/__tests__/pages.test.ts +0 -37
- package/src/document-ingest-foundation/__tests__/providers.test.ts +0 -204
- package/src/document-ingest-foundation/__tests__/tenant-destroy.integration.test.ts +0 -166
- package/src/document-ingest-foundation/boot-checks.ts +0 -58
- package/src/document-ingest-foundation/entity.ts +0 -59
- package/src/document-ingest-foundation/events.ts +0 -43
- package/src/document-ingest-foundation/executor.ts +0 -12
- package/src/document-ingest-foundation/feature.ts +0 -221
- package/src/document-ingest-foundation/file-ref-liveness.ts +0 -10
- package/src/document-ingest-foundation/forget-extract-with-file-ref.ts +0 -84
- package/src/document-ingest-foundation/index.ts +0 -34
- package/src/document-ingest-foundation/pages.ts +0 -34
- package/src/document-ingest-foundation/providers.ts +0 -78
- package/src/document-ingest-foundation/tenant-destroy-hook.ts +0 -34
- package/src/document-ingest-foundation/write-document-extract.ts +0 -48
- package/src/feature-toggles/__tests__/acknowledge-cross-tenant.test.ts +0 -23
- package/src/feature-toggles/__tests__/compose-tier-resolver.test.ts +0 -304
- package/src/feature-toggles/__tests__/feature-toggles.integration.test.ts +0 -685
- package/src/feature-toggles/__tests__/registered-system-tenant.test.ts +0 -91
- package/src/feature-toggles/__tests__/toggle-admin.boot.test.ts +0 -39
- package/src/feature-toggles/__tests__/toggle-admin.security.integration.test.ts +0 -70
- package/src/feature-toggles/compose-tier-resolver.ts +0 -134
- package/src/feature-toggles/constants.ts +0 -40
- package/src/feature-toggles/events.ts +0 -18
- package/src/feature-toggles/feature.ts +0 -170
- package/src/feature-toggles/global-feature-state-table.ts +0 -51
- package/src/feature-toggles/handlers/list.query.ts +0 -45
- package/src/feature-toggles/handlers/registered.query.ts +0 -87
- package/src/feature-toggles/handlers/set.write.ts +0 -194
- package/src/feature-toggles/i18n.ts +0 -11
- package/src/feature-toggles/index.ts +0 -20
- package/src/feature-toggles/toggle-runtime.ts +0 -122
- package/src/feature-toggles/toggle-sync-signal.ts +0 -57
- package/src/feature-toggles/web/client-plugin.tsx +0 -18
- package/src/feature-toggles/web/i18n.ts +0 -17
- package/src/feature-toggles/web/index.ts +0 -5
- package/src/file-derivatives/__tests__/public-variant-cross-tenant.integration.test.ts +0 -265
- package/src/file-derivatives/__tests__/public-variant-predicate-args.integration.test.ts +0 -142
- package/src/file-derivatives/__tests__/public-variant-query-gating.integration.test.ts +0 -45
- package/src/file-derivatives/__tests__/public-variant-query-validation.integration.test.ts +0 -64
- package/src/file-derivatives/__tests__/public-variant-route.integration.test.ts +0 -399
- package/src/file-derivatives/feature.ts +0 -236
- package/src/file-derivatives/handlers/public-variant-by-file-ref.query.ts +0 -57
- package/src/file-derivatives/handlers/public-variant.query.ts +0 -156
- package/src/file-derivatives/index.ts +0 -11
- package/src/file-derivatives/presets.ts +0 -10
- package/src/file-foundation/__tests__/feature.test.ts +0 -35
- package/src/file-foundation/__tests__/file-foundation.integration.test.ts +0 -418
- package/src/file-foundation/feature.ts +0 -72
- package/src/file-foundation/index.ts +0 -9
- package/src/file-provider-inmemory/__tests__/feature.test.ts +0 -87
- package/src/file-provider-inmemory/feature.ts +0 -84
- package/src/file-provider-inmemory/index.ts +0 -3
- package/src/file-provider-s3/__tests__/feature.test.ts +0 -79
- package/src/file-provider-s3/feature.ts +0 -176
- package/src/file-provider-s3/index.ts +0 -3
- package/src/file-provider-s3-env/feature.ts +0 -58
- package/src/file-provider-s3-env/index.ts +0 -3
- package/src/files/README.md +0 -50
- package/src/files/__tests__/files.integration.test.ts +0 -148
- package/src/files/index.ts +0 -1
- package/src/files-provider-s3/__tests__/env-helper.test.ts +0 -161
- package/src/files-provider-s3/__tests__/s3-provider.integration.test.ts +0 -228
- package/src/files-provider-s3/__tests__/s3-provider.test.ts +0 -152
- package/src/files-provider-s3/env-helper.ts +0 -49
- package/src/files-provider-s3/index.ts +0 -3
- package/src/files-provider-s3/s3-provider.ts +0 -196
- package/src/files-tenant-data/__tests__/hooks.integration.test.ts +0 -364
- package/src/files-tenant-data/__tests__/sweep-orphaned-derivatives.job.integration.test.ts +0 -281
- package/src/files-tenant-data/handlers/sweep-orphaned-derivatives.job.ts +0 -168
- package/src/files-tenant-data/hooks.ts +0 -192
- package/src/files-tenant-data/index.ts +0 -67
- package/src/folders/__tests__/drift.test.ts +0 -43
- package/src/folders/__tests__/feature.test.ts +0 -177
- package/src/folders/__tests__/folders-parent-visibility.integration.test.ts +0 -251
- package/src/folders/__tests__/folders-read-gate.integration.test.ts +0 -182
- package/src/folders/__tests__/folders.integration.test.ts +0 -444
- package/src/folders/aggregate-id.ts +0 -23
- package/src/folders/constants.ts +0 -40
- package/src/folders/entity.ts +0 -87
- package/src/folders/executor.ts +0 -11
- package/src/folders/feature.ts +0 -192
- package/src/folders/handlers/clear-folder.write.ts +0 -61
- package/src/folders/handlers/delete-folder.write.ts +0 -43
- package/src/folders/handlers/set-folder.write.ts +0 -108
- package/src/folders/index.ts +0 -23
- package/src/folders/schemas.ts +0 -18
- package/src/folders/web/__tests__/folder-manager.test.tsx +0 -334
- package/src/folders/web/__tests__/folder-section.test.tsx +0 -181
- package/src/folders/web/__tests__/tree.test.ts +0 -66
- package/src/folders/web/client-plugin.tsx +0 -16
- package/src/folders/web/folder-manager.tsx +0 -562
- package/src/folders/web/folder-section.tsx +0 -198
- package/src/folders/web/i18n.ts +0 -34
- package/src/folders/web/index.ts +0 -6
- package/src/folders/web/tree.ts +0 -65
- package/src/folders-user-data/__tests__/hooks.integration.test.ts +0 -100
- package/src/folders-user-data/hooks.ts +0 -76
- package/src/folders-user-data/index.ts +0 -33
- package/src/form-draft/__tests__/cleanup.integration.test.ts +0 -373
- package/src/form-draft/__tests__/discard-file-refs.integration.test.ts +0 -235
- package/src/form-draft/__tests__/feature-optional-config.integration.test.ts +0 -88
- package/src/form-draft/__tests__/form-draft.integration.test.ts +0 -255
- package/src/form-draft/__tests__/limits.integration.test.ts +0 -110
- package/src/form-draft/constants.ts +0 -50
- package/src/form-draft/db/queries/__tests__/unsafe-read-retrying.integration.test.ts +0 -90
- package/src/form-draft/db/queries/cleanup.ts +0 -72
- package/src/form-draft/db/queries/draft-count.ts +0 -21
- package/src/form-draft/db/queries/owned-file-refs.ts +0 -74
- package/src/form-draft/entity.ts +0 -59
- package/src/form-draft/executor.ts +0 -7
- package/src/form-draft/feature.ts +0 -57
- package/src/form-draft/handlers/__tests__/cleanup.job.test.ts +0 -56
- package/src/form-draft/handlers/__tests__/list.query.test.ts +0 -26
- package/src/form-draft/handlers/cleanup.job.ts +0 -200
- package/src/form-draft/handlers/discard.write.ts +0 -114
- package/src/form-draft/handlers/get.query.ts +0 -30
- package/src/form-draft/handlers/list.query.ts +0 -54
- package/src/form-draft/handlers/save.write.ts +0 -85
- package/src/form-draft/index.ts +0 -28
- package/src/form-draft/lookup.ts +0 -62
- package/src/form-draft/release-file-refs.ts +0 -69
- package/src/form-draft/schemas.ts +0 -61
- package/src/form-draft-user-data/__tests__/hooks-delete-failure.integration.test.ts +0 -64
- package/src/form-draft-user-data/__tests__/hooks.integration.test.ts +0 -155
- package/src/form-draft-user-data/hooks.ts +0 -57
- package/src/form-draft-user-data/index.ts +0 -21
- package/src/foundation-shared/__tests__/config-helpers.test.ts +0 -89
- package/src/foundation-shared/__tests__/mail-host-policy.test.ts +0 -68
- package/src/foundation-shared/config-helpers.ts +0 -97
- package/src/foundation-shared/index.ts +0 -13
- package/src/foundation-shared/mail-host-policy.ts +0 -70
- package/src/inbound-mail-foundation/__tests__/account-state.test.ts +0 -30
- package/src/inbound-mail-foundation/__tests__/connect-routes.integration.test.ts +0 -273
- package/src/inbound-mail-foundation/__tests__/feature.test.ts +0 -169
- package/src/inbound-mail-foundation/__tests__/inbound-mail-foundation.integration.test.ts +0 -646
- package/src/inbound-mail-foundation/__tests__/inbound-mail-provider-contract.ts +0 -111
- package/src/inbound-mail-foundation/__tests__/retention.integration.test.ts +0 -235
- package/src/inbound-mail-foundation/__tests__/tenant-destroy.integration.test.ts +0 -173
- package/src/inbound-mail-foundation/__tests__/watch-supervisor.integration.test.ts +0 -632
- package/src/inbound-mail-foundation/aggregate-id.ts +0 -40
- package/src/inbound-mail-foundation/connect-routes.ts +0 -251
- package/src/inbound-mail-foundation/constants.ts +0 -80
- package/src/inbound-mail-foundation/db/queries/inbound-projections.ts +0 -38
- package/src/inbound-mail-foundation/entities.ts +0 -222
- package/src/inbound-mail-foundation/events.ts +0 -147
- package/src/inbound-mail-foundation/feature.ts +0 -265
- package/src/inbound-mail-foundation/handlers/account-state.ts +0 -23
- package/src/inbound-mail-foundation/handlers/connect-account.write.ts +0 -118
- package/src/inbound-mail-foundation/handlers/disconnect-account.write.ts +0 -72
- package/src/inbound-mail-foundation/handlers/ingest-message.write.ts +0 -338
- package/src/inbound-mail-foundation/handlers/list-accounts.query.ts +0 -44
- package/src/inbound-mail-foundation/handlers/list-messages.query.ts +0 -59
- package/src/inbound-mail-foundation/handlers/scope-visibility.ts +0 -14
- package/src/inbound-mail-foundation/handlers/update-account.write.ts +0 -80
- package/src/inbound-mail-foundation/index.ts +0 -96
- package/src/inbound-mail-foundation/oauth-state.ts +0 -103
- package/src/inbound-mail-foundation/projection.ts +0 -152
- package/src/inbound-mail-foundation/provider-factory.ts +0 -53
- package/src/inbound-mail-foundation/retention-sweep.ts +0 -168
- package/src/inbound-mail-foundation/tenant-destroy-hook.ts +0 -88
- package/src/inbound-mail-foundation/types.ts +0 -257
- package/src/inbound-mail-foundation/watch-supervisor.ts +0 -658
- package/src/inbound-provider-imap/__tests__/feature.test.ts +0 -115
- package/src/inbound-provider-imap/__tests__/imap-foundation.integration.test.ts +0 -308
- package/src/inbound-provider-imap/__tests__/imap-live.integration.test.ts +0 -219
- package/src/inbound-provider-imap/__tests__/plugin-mocked.test.ts +0 -441
- package/src/inbound-provider-imap/credential-document.ts +0 -51
- package/src/inbound-provider-imap/feature.ts +0 -286
- package/src/inbound-provider-imap/imap-client.ts +0 -216
- package/src/inbound-provider-imap/index.ts +0 -17
- package/src/inbound-provider-inmemory/__tests__/feature.test.ts +0 -52
- package/src/inbound-provider-inmemory/feature.ts +0 -154
- package/src/inbound-provider-inmemory/index.ts +0 -12
- package/src/jobs/__tests__/entity-ddl.test.ts +0 -15
- package/src/jobs/__tests__/job-instant.test.ts +0 -15
- package/src/jobs/__tests__/job-system-user.integration.test.ts +0 -204
- package/src/jobs/__tests__/jobs-catalog.integration.test.ts +0 -97
- package/src/jobs/__tests__/jobs-events.integration.test.ts +0 -161
- package/src/jobs/__tests__/jobs-feature.integration.test.ts +0 -397
- package/src/jobs/__tests__/jobs-pii-kms.integration.test.ts +0 -705
- package/src/jobs/__tests__/jobs-retention.integration.test.ts +0 -124
- package/src/jobs/__tests__/jobs-screens.boot.test.ts +0 -42
- package/src/jobs/__tests__/jobs-security.integration.test.ts +0 -149
- package/src/jobs/__tests__/jobs-stale-run-sweep.integration.test.ts +0 -148
- package/src/jobs/__tests__/projection-rebuild-job.integration.test.ts +0 -230
- package/src/jobs/__tests__/reindex-entity-job.integration.test.ts +0 -232
- package/src/jobs/__tests__/tenant-job-failures.integration.test.ts +0 -273
- package/src/jobs/constants.ts +0 -32
- package/src/jobs/db/queries/retention.ts +0 -60
- package/src/jobs/db/queries/stale-run-sweep.ts +0 -73
- package/src/jobs/events.ts +0 -36
- package/src/jobs/feature.ts +0 -252
- package/src/jobs/handlers/catalog.query.ts +0 -42
- package/src/jobs/handlers/detail.query.ts +0 -69
- package/src/jobs/handlers/list.query.ts +0 -70
- package/src/jobs/handlers/projection-rebuild.job.ts +0 -43
- package/src/jobs/handlers/reindex-entity.job.ts +0 -56
- package/src/jobs/handlers/retention-cleanup.job.ts +0 -23
- package/src/jobs/handlers/retry.write.ts +0 -99
- package/src/jobs/handlers/stale-run-sweep.job.ts +0 -30
- package/src/jobs/handlers/tenant-failures.query.ts +0 -82
- package/src/jobs/handlers/trigger.write.ts +0 -79
- package/src/jobs/i18n.ts +0 -45
- package/src/jobs/index.ts +0 -7
- package/src/jobs/is-manual-trigger.test.ts +0 -17
- package/src/jobs/is-manual-trigger.ts +0 -5
- package/src/jobs/job-instant.ts +0 -9
- package/src/jobs/job-run-logger.ts +0 -428
- package/src/jobs/job-run-table.ts +0 -100
- package/src/jobs/tenant-job-failure-table.ts +0 -39
- package/src/jobs/web/client-plugin.tsx +0 -16
- package/src/jobs/web/i18n.ts +0 -8
- package/src/jobs/web/index.ts +0 -2
- package/src/ledger/__tests__/feature.test.ts +0 -169
- package/src/ledger/__tests__/ledger-reports-tenant-isolation.integration.test.ts +0 -146
- package/src/ledger/__tests__/ledger.integration.test.ts +0 -742
- package/src/ledger/__tests__/recurring.test.ts +0 -136
- package/src/ledger/__tests__/reports.test.ts +0 -142
- package/src/ledger/constants.ts +0 -60
- package/src/ledger/entity.ts +0 -163
- package/src/ledger/executor.ts +0 -18
- package/src/ledger/feature.ts +0 -180
- package/src/ledger/handlers/confirm-schedule-period.write.ts +0 -132
- package/src/ledger/handlers/create-transaction.write.ts +0 -48
- package/src/ledger/handlers/reports.query.ts +0 -84
- package/src/ledger/handlers/reverse-transaction.write.ts +0 -96
- package/src/ledger/index.ts +0 -71
- package/src/ledger/recurring.ts +0 -149
- package/src/ledger/reports.ts +0 -164
- package/src/ledger/schemas.ts +0 -71
- package/src/ledger/web/index.ts +0 -36
- package/src/legal-pages/README.md +0 -238
- package/src/legal-pages/__tests__/legal-pages.integration.test.ts +0 -656
- package/src/legal-pages/constants.ts +0 -54
- package/src/legal-pages/feature.ts +0 -275
- package/src/legal-pages/index.ts +0 -16
- package/src/legal-pages/markdown.ts +0 -7
- package/src/legal-pages/web/__tests__/client-plugin.test.ts +0 -53
- package/src/legal-pages/web/client-plugin.ts +0 -81
- package/src/legal-pages/web/index.ts +0 -4
- package/src/mail-foundation/__tests__/feature.test.ts +0 -45
- package/src/mail-foundation/__tests__/mail-foundation.integration.test.ts +0 -370
- package/src/mail-foundation/__tests__/mail-transport-contract.ts +0 -58
- package/src/mail-foundation/feature.ts +0 -233
- package/src/mail-foundation/index.ts +0 -17
- package/src/mail-transport-inmemory/__tests__/feature.test.ts +0 -60
- package/src/mail-transport-inmemory/feature.ts +0 -97
- package/src/mail-transport-inmemory/index.ts +0 -3
- package/src/mail-transport-smtp/__tests__/feature.test.ts +0 -246
- package/src/mail-transport-smtp/feature.ts +0 -268
- package/src/mail-transport-smtp/index.ts +0 -8
- package/src/managed-pages/__tests__/branding-coerce.test.ts +0 -75
- package/src/managed-pages/__tests__/i18n-surface.boot.test.ts +0 -30
- package/src/managed-pages/__tests__/managed-pages.integration.test.ts +0 -806
- package/src/managed-pages/branding.ts +0 -173
- package/src/managed-pages/css-gate.ts +0 -24
- package/src/managed-pages/feature.ts +0 -267
- package/src/managed-pages/handlers/branding.query.ts +0 -37
- package/src/managed-pages/handlers/by-slug.query.ts +0 -40
- package/src/managed-pages/handlers/by-tenant-published.query.ts +0 -55
- package/src/managed-pages/handlers/page-crud.ts +0 -49
- package/src/managed-pages/handlers/set.write.ts +0 -132
- package/src/managed-pages/i18n.ts +0 -62
- package/src/managed-pages/index.ts +0 -30
- package/src/managed-pages/screens/branding-screen.ts +0 -115
- package/src/managed-pages/screens/page-screens.ts +0 -89
- package/src/managed-pages/seeding.ts +0 -99
- package/src/managed-pages/table.ts +0 -80
- package/src/managed-pages/web/client-plugin.tsx +0 -22
- package/src/managed-pages/web/i18n.ts +0 -19
- package/src/managed-pages/web/index.ts +0 -3
- package/src/notes-history/__tests__/add-note-author-name-kms.integration.test.ts +0 -122
- package/src/notes-history/__tests__/notes-history-ownership.integration.test.ts +0 -338
- package/src/notes-history/__tests__/notes-history-parent-visibility.integration.test.ts +0 -241
- package/src/notes-history/__tests__/notes-history.integration.test.ts +0 -202
- package/src/notes-history/__tests__/notes-read-gate.integration.test.ts +0 -248
- package/src/notes-history/__tests__/notes-section.test.tsx +0 -331
- package/src/notes-history/constants.ts +0 -34
- package/src/notes-history/entity.ts +0 -128
- package/src/notes-history/executor.ts +0 -12
- package/src/notes-history/feature.ts +0 -150
- package/src/notes-history/handlers/add-note.write.ts +0 -102
- package/src/notes-history/i18n.ts +0 -3
- package/src/notes-history/index.ts +0 -25
- package/src/notes-history/schemas.ts +0 -17
- package/src/notes-history/web/client-plugin.tsx +0 -16
- package/src/notes-history/web/i18n.ts +0 -22
- package/src/notes-history/web/index.ts +0 -8
- package/src/notes-history/web/notes-section.tsx +0 -185
- package/src/notes-history-user-data/__tests__/hooks.integration.test.ts +0 -119
- package/src/notes-history-user-data/__tests__/mention-forget.integration.test.ts +0 -249
- package/src/notes-history-user-data/hooks.ts +0 -97
- package/src/notes-history-user-data/index.ts +0 -34
- package/src/page-render/__tests__/branding.test.ts +0 -57
- package/src/page-render/__tests__/css-sanitize.test.ts +0 -215
- package/src/page-render/__tests__/layout.test.ts +0 -63
- package/src/page-render/__tests__/markdown.test.ts +0 -70
- package/src/page-render/__tests__/security-headers.test.ts +0 -22
- package/src/page-render/branding.ts +0 -100
- package/src/page-render/cached-page-response.ts +0 -25
- package/src/page-render/css-sanitize.ts +0 -344
- package/src/page-render/index.ts +0 -17
- package/src/page-render/layout.ts +0 -115
- package/src/page-render/markdown.ts +0 -31
- package/src/page-render/security-headers.ts +0 -19
- package/src/page-render/web.ts +0 -14
- package/src/personal-access-tokens/__tests__/expiry.test.ts +0 -19
- package/src/personal-access-tokens/__tests__/feature.test.ts +0 -135
- package/src/personal-access-tokens/__tests__/pat.integration.test.ts +0 -611
- package/src/personal-access-tokens/__tests__/scopes.test.ts +0 -42
- package/src/personal-access-tokens/constants.ts +0 -44
- package/src/personal-access-tokens/expiry.ts +0 -7
- package/src/personal-access-tokens/feature.ts +0 -176
- package/src/personal-access-tokens/handlers/available-scopes.query.ts +0 -29
- package/src/personal-access-tokens/handlers/create.write.ts +0 -124
- package/src/personal-access-tokens/handlers/list.query.ts +0 -117
- package/src/personal-access-tokens/handlers/revoke.write.ts +0 -62
- package/src/personal-access-tokens/hash.ts +0 -17
- package/src/personal-access-tokens/i18n.ts +0 -59
- package/src/personal-access-tokens/index.ts +0 -43
- package/src/personal-access-tokens/pat-revoked-event.ts +0 -23
- package/src/personal-access-tokens/resolver.ts +0 -53
- package/src/personal-access-tokens/revoke-for-user.ts +0 -49
- package/src/personal-access-tokens/roles.ts +0 -37
- package/src/personal-access-tokens/schema/api-token.ts +0 -92
- package/src/personal-access-tokens/scopes.ts +0 -43
- package/src/personal-access-tokens/screens.ts +0 -120
- package/src/presets/__tests__/dsgvo-self-service.test.ts +0 -35
- package/src/presets/__tests__/security-baseline.test.ts +0 -94
- package/src/presets/dsgvo-self-service.ts +0 -30
- package/src/presets/index.ts +0 -2
- package/src/presets/security-baseline.ts +0 -19
- package/src/rate-limiting/__tests__/rate-limiting.integration.test.ts +0 -163
- package/src/rate-limiting/constants.ts +0 -10
- package/src/rate-limiting/feature.ts +0 -28
- package/src/rate-limiting/handlers/bucket-access.ts +0 -39
- package/src/rate-limiting/handlers/status.query.ts +0 -60
- package/src/rate-limiting/index.ts +0 -2
- package/src/readiness/__tests__/readiness.integration.test.ts +0 -373
- package/src/readiness/constants.ts +0 -7
- package/src/readiness/feature.ts +0 -31
- package/src/readiness/handlers/status.query.ts +0 -55
- package/src/readiness/index.ts +0 -3
- package/src/renderer-foundation/README.md +0 -86
- package/src/renderer-foundation/__tests__/api.test.ts +0 -188
- package/src/renderer-foundation/__tests__/collect-plugins.integration.test.ts +0 -123
- package/src/renderer-foundation/api.ts +0 -106
- package/src/renderer-foundation/constants.ts +0 -25
- package/src/renderer-foundation/feature.ts +0 -52
- package/src/renderer-foundation/index.ts +0 -28
- package/src/renderer-foundation/types.ts +0 -131
- package/src/renderer-simple/__tests__/adapter.test.ts +0 -69
- package/src/renderer-simple/__tests__/resolve-variables.test.ts +0 -37
- package/src/renderer-simple/__tests__/simple-renderer.test.ts +0 -97
- package/src/renderer-simple/__tests__/template-resolver.integration.test.ts +0 -102
- package/src/renderer-simple/feature.ts +0 -57
- package/src/renderer-simple/index.ts +0 -2
- package/src/renderer-simple/resolve-variables.ts +0 -57
- package/src/renderer-simple/simple-renderer.ts +0 -65
- package/src/secrets/__tests__/access-options-precedence.test.ts +0 -25
- package/src/secrets/__tests__/access-options.integration.test.ts +0 -126
- package/src/secrets/__tests__/require-secrets-context.test.ts +0 -83
- package/src/secrets/__tests__/rotate.integration.test.ts +0 -270
- package/src/secrets/__tests__/secrets-events.integration.test.ts +0 -118
- package/src/secrets/__tests__/secrets.integration.test.ts +0 -111
- package/src/secrets/__tests__/settings-hub-i18n.test.ts +0 -27
- package/src/secrets/constants.ts +0 -12
- package/src/secrets/db/queries/read.ts +0 -16
- package/src/secrets/feature.ts +0 -195
- package/src/secrets/handlers/delete.write.ts +0 -26
- package/src/secrets/handlers/list.query.ts +0 -40
- package/src/secrets/handlers/rotate.job.ts +0 -166
- package/src/secrets/handlers/set.write.ts +0 -58
- package/src/secrets/index.ts +0 -23
- package/src/secrets/secrets-context.ts +0 -261
- package/src/secrets/table.ts +0 -69
- package/src/seo/__tests__/llms-txt.test.ts +0 -38
- package/src/seo/__tests__/robots-txt.test.ts +0 -39
- package/src/seo/__tests__/schema-builders.test.ts +0 -57
- package/src/seo/__tests__/seo.integration.test.ts +0 -347
- package/src/seo/__tests__/sitemap.test.ts +0 -38
- package/src/seo/constants.ts +0 -60
- package/src/seo/feature.ts +0 -317
- package/src/seo/handlers/seo-config.query.ts +0 -38
- package/src/seo/index.ts +0 -19
- package/src/seo/llms-txt.ts +0 -33
- package/src/seo/robots-txt.ts +0 -33
- package/src/seo/schema-builders.ts +0 -57
- package/src/seo/sitemap.ts +0 -33
- package/src/sessions/__tests__/auto-revoke-binding.test.ts +0 -71
- package/src/sessions/__tests__/cleanup.integration.test.ts +0 -181
- package/src/sessions/__tests__/membership-revoke.integration.test.ts +0 -195
- package/src/sessions/__tests__/password-auto-revoke.integration.test.ts +0 -207
- package/src/sessions/__tests__/rebuild-survival.integration.test.ts +0 -103
- package/src/sessions/__tests__/role-rederivation.integration.test.ts +0 -137
- package/src/sessions/__tests__/session-last-seen.integration.test.ts +0 -165
- package/src/sessions/__tests__/session-store-registration.test.ts +0 -21
- package/src/sessions/__tests__/sessions-screens.boot.test.ts +0 -68
- package/src/sessions/__tests__/sessions.integration.test.ts +0 -977
- package/src/sessions/__tests__/test-helpers.ts +0 -79
- package/src/sessions/constants.ts +0 -57
- package/src/sessions/db/queries/cleanup.ts +0 -21
- package/src/sessions/feature.ts +0 -237
- package/src/sessions/handlers/cleanup.job.ts +0 -83
- package/src/sessions/handlers/detail.query.ts +0 -51
- package/src/sessions/handlers/list.query.ts +0 -92
- package/src/sessions/handlers/mine.query.ts +0 -67
- package/src/sessions/handlers/revoke-all-for-user.write.ts +0 -111
- package/src/sessions/handlers/revoke-all-others.write.ts +0 -65
- package/src/sessions/handlers/revoke.write.ts +0 -91
- package/src/sessions/i18n.ts +0 -33
- package/src/sessions/index.ts +0 -25
- package/src/sessions/schema/user-session.ts +0 -89
- package/src/sessions/screens.ts +0 -152
- package/src/sessions/session-callbacks.ts +0 -287
- package/src/sessions/session-checker-fail-open.test.ts +0 -189
- package/src/sessions/session-revoked-event.ts +0 -37
- package/src/sessions/testing.ts +0 -55
- package/src/shared/__tests__/chunked-entity-migration.test.ts +0 -145
- package/src/shared/__tests__/row-bound-grant.integration.test.ts +0 -184
- package/src/shared/assert-erased.ts +0 -15
- package/src/shared/chunked-entity-migration.ts +0 -89
- package/src/shared/classify-stored-envelope.ts +0 -21
- package/src/shared/decrypt-stored-pii.ts +0 -26
- package/src/shared/encrypt-for-direct-write.ts +0 -29
- package/src/shared/entities-of.ts +0 -17
- package/src/shared/grace-period.test.ts +0 -26
- package/src/shared/grace-period.ts +0 -20
- package/src/shared/has-where-rule.ts +0 -11
- package/src/shared/identity-v3-hash.test.ts +0 -174
- package/src/shared/identity-v3-hash.ts +0 -97
- package/src/shared/index.ts +0 -50
- package/src/shared/is-tenant-db.ts +0 -9
- package/src/shared/lockout-counter.test.ts +0 -91
- package/src/shared/lockout-counter.ts +0 -108
- package/src/shared/map-with-concurrency.test.ts +0 -104
- package/src/shared/map-with-concurrency.ts +0 -38
- package/src/shared/parent-visibility.ts +0 -78
- package/src/shared/password-hashing.test.ts +0 -43
- package/src/shared/password-hashing.ts +0 -55
- package/src/shared/row-bound-grant.test.ts +0 -294
- package/src/shared/row-bound-grant.ts +0 -115
- package/src/shared/run-in-sub-transaction.ts +0 -35
- package/src/shared/session-field.ts +0 -10
- package/src/shared/session-locale-field.test.ts +0 -25
- package/src/shared/session-locale-field.ts +0 -10
- package/src/shared/session-timezone-field.test.ts +0 -16
- package/src/shared/session-timezone-field.ts +0 -8
- package/src/shared/signed-token.test.ts +0 -78
- package/src/shared/signed-token.ts +0 -101
- package/src/shared/signup-handover.ts +0 -67
- package/src/shared/single-use-token-store.test.ts +0 -75
- package/src/shared/single-use-token-store.ts +0 -156
- package/src/shared/system-query.ts +0 -5
- package/src/shared/token-burn-store.ts +0 -57
- package/src/step-dispatcher/__tests__/feature.boot.test.ts +0 -20
- package/src/step-dispatcher/__tests__/step-dispatcher-pii.integration.test.ts +0 -268
- package/src/step-dispatcher/__tests__/webhook-runner.test.ts +0 -297
- package/src/step-dispatcher/feature.ts +0 -292
- package/src/step-dispatcher/index.ts +0 -25
- package/src/step-dispatcher/mail-runner.ts +0 -33
- package/src/step-dispatcher/webhook-runner.ts +0 -212
- package/src/subscription-mollie/__tests__/feature.test.ts +0 -203
- package/src/subscription-mollie/__tests__/mollie-foundation.integration.test.ts +0 -401
- package/src/subscription-mollie/__tests__/plugin-methods.test.ts +0 -86
- package/src/subscription-mollie/__tests__/verify-webhook.test.ts +0 -410
- package/src/subscription-mollie/constants.ts +0 -33
- package/src/subscription-mollie/feature.ts +0 -169
- package/src/subscription-mollie/index.ts +0 -14
- package/src/subscription-mollie/plugin-methods.ts +0 -87
- package/src/subscription-mollie/verify-webhook.ts +0 -249
- package/src/subscription-stripe/__tests__/feature.test.ts +0 -254
- package/src/subscription-stripe/__tests__/payment-checkout.test.ts +0 -167
- package/src/subscription-stripe/__tests__/plugin-methods.test.ts +0 -949
- package/src/subscription-stripe/__tests__/runtime.test.ts +0 -261
- package/src/subscription-stripe/__tests__/stripe-foundation.integration.test.ts +0 -590
- package/src/subscription-stripe/__tests__/verify-webhook.test.ts +0 -392
- package/src/subscription-stripe/constants.ts +0 -35
- package/src/subscription-stripe/feature.ts +0 -251
- package/src/subscription-stripe/index.ts +0 -18
- package/src/subscription-stripe/plugin-methods.ts +0 -524
- package/src/subscription-stripe/runtime.ts +0 -193
- package/src/subscription-stripe/verify-webhook.ts +0 -402
- package/src/tags/__tests__/drift.test.ts +0 -46
- package/src/tags/__tests__/feature.test.ts +0 -274
- package/src/tags/__tests__/schemas.test.ts +0 -34
- package/src/tags/__tests__/tag-screens.boot.test.ts +0 -64
- package/src/tags/__tests__/tags-ownership.test.ts +0 -22
- package/src/tags/__tests__/tags-parent-visibility.integration.test.ts +0 -232
- package/src/tags/__tests__/tags-read-gate.integration.test.ts +0 -368
- package/src/tags/__tests__/tags.integration.test.ts +0 -522
- package/src/tags/aggregate-id.ts +0 -23
- package/src/tags/constants.ts +0 -61
- package/src/tags/entity.ts +0 -99
- package/src/tags/executor.ts +0 -11
- package/src/tags/feature.ts +0 -216
- package/src/tags/handlers/assign-tag.write.ts +0 -101
- package/src/tags/handlers/create-tag.write.ts +0 -27
- package/src/tags/handlers/delete-tag.write.ts +0 -60
- package/src/tags/handlers/remove-tag.write.ts +0 -54
- package/src/tags/handlers/update-tag.write.ts +0 -36
- package/src/tags/i18n.ts +0 -9
- package/src/tags/index.ts +0 -48
- package/src/tags/schemas.ts +0 -61
- package/src/tags/screens.ts +0 -70
- package/src/tags/web/__tests__/entity-tags.test.tsx +0 -116
- package/src/tags/web/__tests__/tag-chip.test.ts +0 -34
- package/src/tags/web/__tests__/tag-filter.test.tsx +0 -124
- package/src/tags/web/__tests__/tag-manager.test.tsx +0 -333
- package/src/tags/web/__tests__/tag-picker.test.tsx +0 -153
- package/src/tags/web/__tests__/tag-section.test.tsx +0 -227
- package/src/tags/web/__tests__/tags-cell.test.tsx +0 -94
- package/src/tags/web/client-plugin.tsx +0 -30
- package/src/tags/web/entity-tags.tsx +0 -54
- package/src/tags/web/i18n.ts +0 -34
- package/src/tags/web/index.ts +0 -18
- package/src/tags/web/tag-chip.tsx +0 -65
- package/src/tags/web/tag-filter.tsx +0 -100
- package/src/tags/web/tag-manager.tsx +0 -391
- package/src/tags/web/tag-picker.tsx +0 -55
- package/src/tags/web/tag-section.tsx +0 -179
- package/src/tags/web/tags-cell.tsx +0 -46
- package/src/template-resolver/README.md +0 -255
- package/src/template-resolver/__tests__/collection-kinds.integration.test.ts +0 -287
- package/src/template-resolver/__tests__/collection-ownership.integration.test.ts +0 -334
- package/src/template-resolver/__tests__/conformance.integration.test.ts +0 -98
- package/src/template-resolver/__tests__/handlers.integration.test.ts +0 -460
- package/src/template-resolver/__tests__/seed-legal-content.integration.test.ts +0 -192
- package/src/template-resolver/__tests__/seeding.integration.test.ts +0 -107
- package/src/template-resolver/__tests__/template-resolver.integration.test.ts +0 -571
- package/src/template-resolver/__tests__/text-blocks.integration.test.ts +0 -562
- package/src/template-resolver/api.ts +0 -202
- package/src/template-resolver/constants.ts +0 -54
- package/src/template-resolver/feature.ts +0 -99
- package/src/template-resolver/handlers/by-slug.query.ts +0 -61
- package/src/template-resolver/handlers/by-tenant.query.ts +0 -62
- package/src/template-resolver/handlers/collection-item.query.ts +0 -53
- package/src/template-resolver/handlers/collection-list.query.ts +0 -56
- package/src/template-resolver/handlers/collection-set.write.ts +0 -117
- package/src/template-resolver/handlers/collection-shared.ts +0 -89
- package/src/template-resolver/handlers/find-by-id.query.ts +0 -44
- package/src/template-resolver/handlers/list.query.ts +0 -60
- package/src/template-resolver/handlers/set.write.ts +0 -126
- package/src/template-resolver/handlers/shared.ts +0 -51
- package/src/template-resolver/handlers/toggle-status.write.ts +0 -46
- package/src/template-resolver/handlers/upsert-system.write.ts +0 -81
- package/src/template-resolver/handlers/upsert-tenant.write.ts +0 -105
- package/src/template-resolver/index.ts +0 -40
- package/src/template-resolver/qualified-names.ts +0 -40
- package/src/template-resolver/seeding.ts +0 -324
- package/src/template-resolver/table.ts +0 -79
- package/src/template-resolver/testing.ts +0 -199
- package/src/template-resolver/user-content-table.ts +0 -71
- package/src/template-resolver/web/__tests__/client-plugin.test.tsx +0 -334
- package/src/template-resolver/web/__tests__/editor-read-only.test.tsx +0 -188
- package/src/template-resolver/web/__tests__/group-blocks.test.ts +0 -229
- package/src/template-resolver/web/client-plugin.tsx +0 -516
- package/src/template-resolver/web/i18n.ts +0 -25
- package/src/template-resolver/web/index.ts +0 -8
- package/src/template-resolver-user-data/hooks.ts +0 -40
- package/src/template-resolver-user-data/index.ts +0 -25
- package/src/tenant/__tests__/is-tenant-serving-public-content.test.ts +0 -21
- package/src/tenant/__tests__/member-directory.integration.test.ts +0 -179
- package/src/tenant/__tests__/members-facet-i18n.test.ts +0 -105
- package/src/tenant/__tests__/members-query-kms.integration.test.ts +0 -97
- package/src/tenant/__tests__/members-screens.boot.test.ts +0 -208
- package/src/tenant/__tests__/multi-tenant.integration.test.ts +0 -405
- package/src/tenant/__tests__/seed-testing.integration.test.ts +0 -230
- package/src/tenant/__tests__/tenant-directory.integration.test.ts +0 -124
- package/src/tenant/__tests__/tenant-security.integration.test.ts +0 -1073
- package/src/tenant/__tests__/tenant-timezone-boot.integration.test.ts +0 -225
- package/src/tenant/__tests__/tenant.integration.test.ts +0 -505
- package/src/tenant/__tests__/update-cross-tenant.integration.test.ts +0 -81
- package/src/tenant/command-schemas.ts +0 -37
- package/src/tenant/constants.ts +0 -71
- package/src/tenant/feature.ts +0 -194
- package/src/tenant/handlers/active-tenant-ids.query.ts +0 -30
- package/src/tenant/handlers/add-member.write.ts +0 -64
- package/src/tenant/handlers/cancel-invitation.write.ts +0 -89
- package/src/tenant/handlers/create.write.ts +0 -37
- package/src/tenant/handlers/invitations.query.ts +0 -58
- package/src/tenant/handlers/is-system-admin.ts +0 -5
- package/src/tenant/handlers/list.query.ts +0 -30
- package/src/tenant/handlers/me.query.ts +0 -38
- package/src/tenant/handlers/member-directory.query.ts +0 -74
- package/src/tenant/handlers/members.query.ts +0 -73
- package/src/tenant/handlers/memberships.query.ts +0 -58
- package/src/tenant/handlers/remove-member.write.ts +0 -84
- package/src/tenant/handlers/resolve-user-ids.query.ts +0 -44
- package/src/tenant/handlers/team-list.query.ts +0 -257
- package/src/tenant/handlers/tenant-directory.query.ts +0 -53
- package/src/tenant/handlers/toggle-enabled.write.ts +0 -37
- package/src/tenant/handlers/update-member-roles.write.ts +0 -175
- package/src/tenant/handlers/update.write.ts +0 -55
- package/src/tenant/i18n.ts +0 -55
- package/src/tenant/index.ts +0 -18
- package/src/tenant/invitation-table.ts +0 -104
- package/src/tenant/is-tenant-serving-public-content.ts +0 -13
- package/src/tenant/last-tenant-admin.ts +0 -39
- package/src/tenant/membership-roles.test.ts +0 -29
- package/src/tenant/membership-roles.ts +0 -34
- package/src/tenant/membership-table.ts +0 -32
- package/src/tenant/schema/tenant.ts +0 -73
- package/src/tenant/screens.ts +0 -199
- package/src/tenant/seeding.ts +0 -328
- package/src/tenant/testing.ts +0 -8
- package/src/tenant/web/__tests__/member-roles-cell.test.tsx +0 -59
- package/src/tenant/web/__tests__/member-status-cell.test.tsx +0 -46
- package/src/tenant/web/client-plugin.tsx +0 -25
- package/src/tenant/web/index.ts +0 -4
- package/src/tenant/web/member-roles-cell.tsx +0 -21
- package/src/tenant/web/member-status-cell.tsx +0 -27
- package/src/tenant/web/translate-or-raw.ts +0 -13
- package/src/tenant-handover/__tests__/claim-storage-usage.integration.test.ts +0 -201
- package/src/tenant-handover/__tests__/claim.integration.test.ts +0 -794
- package/src/tenant-handover/__tests__/transfer-graph.test.ts +0 -193
- package/src/tenant-handover/events.ts +0 -32
- package/src/tenant-handover/feature.ts +0 -46
- package/src/tenant-handover/grant.ts +0 -43
- package/src/tenant-handover/handlers/claim.write.ts +0 -127
- package/src/tenant-handover/index.ts +0 -9
- package/src/tenant-handover/move-entity-graph.ts +0 -348
- package/src/tenant-handover/root-anchor.ts +0 -50
- package/src/tenant-handover/signup-handover-provider.ts +0 -62
- package/src/tenant-handover/transfer-graph.ts +0 -128
- package/src/tenant-lifecycle/__tests__/stages.test.ts +0 -73
- package/src/tenant-lifecycle/__tests__/tenant-lifecycle.integration.test.ts +0 -554
- package/src/tenant-lifecycle/boot-checks.ts +0 -45
- package/src/tenant-lifecycle/constants.ts +0 -56
- package/src/tenant-lifecycle/events.ts +0 -46
- package/src/tenant-lifecycle/feature.ts +0 -149
- package/src/tenant-lifecycle/handlers/cancel-destruction.write.ts +0 -85
- package/src/tenant-lifecycle/handlers/request-destruction.write.ts +0 -93
- package/src/tenant-lifecycle/index.ts +0 -7
- package/src/tenant-lifecycle/lib/revoke-tenant-sessions.ts +0 -16
- package/src/tenant-lifecycle/lifecycle-gate.ts +0 -65
- package/src/tenant-lifecycle/run-tenant-destroy.ts +0 -382
- package/src/tenant-lifecycle/stages.ts +0 -239
- package/src/tenant-settings/__tests__/config.test.ts +0 -19
- package/src/tenant-settings/__tests__/settings-hub-i18n.test.ts +0 -110
- package/src/tenant-settings/__tests__/tenant-currency-read-access.integration.test.ts +0 -50
- package/src/tenant-settings/__tests__/tenant-settings.integration.test.ts +0 -101
- package/src/tenant-settings/config.ts +0 -43
- package/src/tenant-settings/constants.ts +0 -21
- package/src/tenant-settings/feature.ts +0 -52
- package/src/tenant-settings/index.ts +0 -8
- package/src/tenant-settings/tenant-defaults.ts +0 -78
- package/src/tier-engine/__tests__/auto-default-tier.integration.test.ts +0 -112
- package/src/tier-engine/__tests__/compose-app.test.ts +0 -182
- package/src/tier-engine/__tests__/drift.test.ts +0 -46
- package/src/tier-engine/__tests__/resolver.integration.test.ts +0 -280
- package/src/tier-engine/__tests__/tier-engine-screens.boot.test.ts +0 -82
- package/src/tier-engine/__tests__/tier-engine.integration.test.ts +0 -415
- package/src/tier-engine/__tests__/tier-resolver.integration.test.ts +0 -138
- package/src/tier-engine/__tests__/trial-config-validation.test.ts +0 -30
- package/src/tier-engine/__tests__/trial.test.ts +0 -27
- package/src/tier-engine/aggregate-id.ts +0 -28
- package/src/tier-engine/compose-app.ts +0 -153
- package/src/tier-engine/constants.ts +0 -28
- package/src/tier-engine/entity.ts +0 -55
- package/src/tier-engine/feature.ts +0 -551
- package/src/tier-engine/handlers/active-tier.query.ts +0 -25
- package/src/tier-engine/handlers/get-tenant-tier.query.ts +0 -31
- package/src/tier-engine/handlers/set-tenant-tier.write.ts +0 -107
- package/src/tier-engine/i18n.ts +0 -28
- package/src/tier-engine/index.ts +0 -32
- package/src/tier-engine/tier-resolver.ts +0 -38
- package/src/tier-engine/trial.ts +0 -26
- package/src/tier-engine/web/client-plugin.tsx +0 -21
- package/src/tier-engine/web/index.ts +0 -7
- package/src/user/__tests__/admin-screens.boot.test.ts +0 -95
- package/src/user/__tests__/email-unique-blind-index.integration.test.ts +0 -150
- package/src/user/__tests__/email-unique-plaintext-soft-delete.integration.test.ts +0 -137
- package/src/user/__tests__/roles-input-schema.test.ts +0 -20
- package/src/user/__tests__/seed-testing.integration.test.ts +0 -139
- package/src/user/__tests__/stream-tenant-backfill.integration.test.ts +0 -185
- package/src/user/__tests__/user-global-tenancy.integration.test.ts +0 -97
- package/src/user/__tests__/user-status.test.ts +0 -39
- package/src/user/__tests__/user.integration.test.ts +0 -927
- package/src/user/command-schemas.ts +0 -15
- package/src/user/constants.ts +0 -32
- package/src/user/db/queries/__tests__/unsafe-read-retrying.integration.test.ts +0 -54
- package/src/user/db/queries/stream-tenant-backfill.ts +0 -113
- package/src/user/feature.ts +0 -61
- package/src/user/handlers/create.write.ts +0 -130
- package/src/user/handlers/detail.query.ts +0 -33
- package/src/user/handlers/find-for-auth.query.ts +0 -51
- package/src/user/handlers/list.query.ts +0 -122
- package/src/user/handlers/me.query.ts +0 -38
- package/src/user/handlers/update-roles.ts +0 -203
- package/src/user/handlers/update.write.ts +0 -106
- package/src/user/i18n.ts +0 -23
- package/src/user/index.ts +0 -19
- package/src/user/principal-status.ts +0 -47
- package/src/user/roles-input-schema.ts +0 -20
- package/src/user/schema/user.ts +0 -214
- package/src/user/screens.ts +0 -54
- package/src/user/seeding.ts +0 -139
- package/src/user/testing.ts +0 -5
- package/src/user-data-rights/COMPLIANCE.md +0 -202
- package/src/user-data-rights/README.md +0 -109
- package/src/user-data-rights/__tests__/anonymous-deletion-kms.integration.test.ts +0 -146
- package/src/user-data-rights/__tests__/anonymous-deletion.integration.test.ts +0 -429
- package/src/user-data-rights/__tests__/audit-log.integration.test.ts +0 -288
- package/src/user-data-rights/__tests__/boot-checks.test.ts +0 -288
- package/src/user-data-rights/__tests__/cross-data-matrix.integration.test.ts +0 -375
- package/src/user-data-rights/__tests__/default-mailers.test.ts +0 -170
- package/src/user-data-rights/__tests__/deletion-token-compat.test.ts +0 -36
- package/src/user-data-rights/__tests__/download-by-token-ip-bucket.integration.test.ts +0 -170
- package/src/user-data-rights/__tests__/download-by-token-resolver-trust.integration.test.ts +0 -167
- package/src/user-data-rights/__tests__/download.integration.test.ts +0 -647
- package/src/user-data-rights/__tests__/email-templates.test.ts +0 -104
- package/src/user-data-rights/__tests__/escape-hatch-audit.integration.test.ts +0 -131
- package/src/user-data-rights/__tests__/escape-hatch-declaration.integration.test.ts +0 -196
- package/src/user-data-rights/__tests__/export-encrypted-fields.integration.test.ts +0 -153
- package/src/user-data-rights/__tests__/export-job-idempotency.integration.test.ts +0 -249
- package/src/user-data-rights/__tests__/export-job-list-cross-tenant.integration.test.ts +0 -85
- package/src/user-data-rights/__tests__/export-job-schema.test.ts +0 -163
- package/src/user-data-rights/__tests__/extract-audit-meta.test.ts +0 -36
- package/src/user-data-rights/__tests__/file-binary-forget-cleanup.integration.test.ts +0 -227
- package/src/user-data-rights/__tests__/file-binary-forget-failure.integration.test.ts +0 -261
- package/src/user-data-rights/__tests__/file-retention.integration.test.ts +0 -234
- package/src/user-data-rights/__tests__/file-storage-unification.integration.test.ts +0 -167
- package/src/user-data-rights/__tests__/forget-cleanup-hook-ordering.integration.test.ts +0 -262
- package/src/user-data-rights/__tests__/forget-cleanup-search-purge-ordering.integration.test.ts +0 -178
- package/src/user-data-rights/__tests__/forget-hook-registry.integration.test.ts +0 -110
- package/src/user-data-rights/__tests__/forget-test-helpers.ts +0 -103
- package/src/user-data-rights/__tests__/inspector-screens.boot.test.ts +0 -186
- package/src/user-data-rights/__tests__/mail-default-bridge.integration.test.ts +0 -178
- package/src/user-data-rights/__tests__/policy-to-strategy.test.ts +0 -30
- package/src/user-data-rights/__tests__/read-users-rebuild-survives-lifecycle.integration.test.ts +0 -304
- package/src/user-data-rights/__tests__/request-cancel-deletion.integration.test.ts +0 -367
- package/src/user-data-rights/__tests__/request-deletion-callback.integration.test.ts +0 -181
- package/src/user-data-rights/__tests__/request-deletion-url.test.ts +0 -24
- package/src/user-data-rights/__tests__/request-export.integration.test.ts +0 -274
- package/src/user-data-rights/__tests__/restriction-flow.integration.test.ts +0 -480
- package/src/user-data-rights/__tests__/retention-preset-forget.integration.test.ts +0 -272
- package/src/user-data-rights/__tests__/run-export-jobs-cron-context.integration.test.ts +0 -185
- package/src/user-data-rights/__tests__/run-export-jobs.integration.test.ts +0 -1452
- package/src/user-data-rights/__tests__/run-forget-cleanup.integration.test.ts +0 -1131
- package/src/user-data-rights/__tests__/run-user-export.integration.test.ts +0 -605
- package/src/user-data-rights/__tests__/tenant-model-erasure.integration.test.ts +0 -504
- package/src/user-data-rights/__tests__/token-helpers.test.ts +0 -63
- package/src/user-data-rights/__tests__/user-data-rights.integration.test.ts +0 -67
- package/src/user-data-rights/__tests__/zip-path.test.ts +0 -119
- package/src/user-data-rights/audit-download.ts +0 -125
- package/src/user-data-rights/boot-checks.ts +0 -71
- package/src/user-data-rights/constants.ts +0 -63
- package/src/user-data-rights/db/queries/__tests__/forget-cleanup.integration.test.ts +0 -69
- package/src/user-data-rights/db/queries/export-jobs.ts +0 -26
- package/src/user-data-rights/db/queries/forget-cleanup.ts +0 -25
- package/src/user-data-rights/deletion-token.ts +0 -54
- package/src/user-data-rights/email-templates.ts +0 -175
- package/src/user-data-rights/feature.ts +0 -787
- package/src/user-data-rights/handlers/cancel-deletion.write.ts +0 -82
- package/src/user-data-rights/handlers/confirm-deletion-by-token.write.ts +0 -120
- package/src/user-data-rights/handlers/deletion-grace-period.ts +0 -97
- package/src/user-data-rights/handlers/download-attempt-list.query.ts +0 -19
- package/src/user-data-rights/handlers/download-by-job.query.ts +0 -219
- package/src/user-data-rights/handlers/download-by-token.query.ts +0 -258
- package/src/user-data-rights/handlers/export-job-detail.query.ts +0 -13
- package/src/user-data-rights/handlers/export-job-list.query.ts +0 -14
- package/src/user-data-rights/handlers/export-status.query.ts +0 -74
- package/src/user-data-rights/handlers/lift-restriction.write.ts +0 -87
- package/src/user-data-rights/handlers/list-download-attempts.query.ts +0 -49
- package/src/user-data-rights/handlers/my-audit-log.query.ts +0 -86
- package/src/user-data-rights/handlers/request-deletion-by-email.write.ts +0 -126
- package/src/user-data-rights/handlers/request-deletion.write.ts +0 -125
- package/src/user-data-rights/handlers/request-export.write.ts +0 -164
- package/src/user-data-rights/handlers/restrict-account.write.ts +0 -133
- package/src/user-data-rights/handlers/run-forget-cleanup.write.ts +0 -94
- package/src/user-data-rights/i18n.ts +0 -39
- package/src/user-data-rights/index.ts +0 -33
- package/src/user-data-rights/lib/default-mailers.ts +0 -120
- package/src/user-data-rights/lib/deny-if-target-outside-admin-tenant.ts +0 -32
- package/src/user-data-rights/lib/is-admin-actor.ts +0 -19
- package/src/user-data-rights/lib/mail-transport-resolver.ts +0 -50
- package/src/user-data-rights/lib/resolve-tenant-model.ts +0 -34
- package/src/user-data-rights/lib/storage-provider-resolver.ts +0 -49
- package/src/user-data-rights/lib/update-user-lifecycle.ts +0 -135
- package/src/user-data-rights/run-export-jobs.ts +0 -966
- package/src/user-data-rights/run-forget-cleanup.ts +0 -635
- package/src/user-data-rights/run-user-export.ts +0 -338
- package/src/user-data-rights/schema/download-attempt.ts +0 -57
- package/src/user-data-rights/schema/download-token.ts +0 -119
- package/src/user-data-rights/schema/export-job.ts +0 -174
- package/src/user-data-rights/screens.ts +0 -77
- package/src/user-data-rights/token-helpers.ts +0 -67
- package/src/user-data-rights/web/__tests__/deletion-screens.test.tsx +0 -116
- package/src/user-data-rights/web/__tests__/privacy-center-screen.test.tsx +0 -287
- package/src/user-data-rights/web/__tests__/public-deletion-gate.test.tsx +0 -102
- package/src/user-data-rights/web/client-plugin.tsx +0 -52
- package/src/user-data-rights/web/confirm-deletion-screen.tsx +0 -96
- package/src/user-data-rights/web/i18n.ts +0 -91
- package/src/user-data-rights/web/index.ts +0 -15
- package/src/user-data-rights/web/privacy-center-screen.tsx +0 -185
- package/src/user-data-rights/web/public-deletion-gate.tsx +0 -42
- package/src/user-data-rights/web/request-deletion-screen.tsx +0 -103
- package/src/user-data-rights/zip-path.ts +0 -94
- package/src/user-data-rights-defaults/__tests__/bundled-entities.userdata-hooks.integration.test.ts +0 -456
- package/src/user-data-rights-defaults/__tests__/feature-mounted.test.ts +0 -24
- package/src/user-data-rights-defaults/__tests__/user-data-rights-defaults.integration.test.ts +0 -715
- package/src/user-data-rights-defaults/feature.ts +0 -130
- package/src/user-data-rights-defaults/hooks/api-token.userdata-hook.ts +0 -36
- package/src/user-data-rights-defaults/hooks/config-value.userdata-hook.ts +0 -50
- package/src/user-data-rights-defaults/hooks/delivery-attempt.userdata-hook.ts +0 -36
- package/src/user-data-rights-defaults/hooks/feature-mounted.ts +0 -10
- package/src/user-data-rights-defaults/hooks/file-ref.userdata-hook.ts +0 -277
- package/src/user-data-rights-defaults/hooks/in-app-message.userdata-hook.ts +0 -37
- package/src/user-data-rights-defaults/hooks/job-run.userdata-hook.ts +0 -34
- package/src/user-data-rights-defaults/hooks/notification-preference.userdata-hook.ts +0 -53
- package/src/user-data-rights-defaults/hooks/tenant-invitation.userdata-hook.ts +0 -132
- package/src/user-data-rights-defaults/hooks/user-session.userdata-hook.ts +0 -41
- package/src/user-data-rights-defaults/hooks/user.userdata-hook.ts +0 -126
- package/src/user-data-rights-defaults/index.ts +0 -32
- package/src/user-profile/__tests__/change-email.integration.test.ts +0 -227
- package/src/user-profile/__tests__/profile-screen.boot.test.ts +0 -102
- package/src/user-profile/__tests__/profile-screen.test.tsx +0 -338
- package/src/user-profile/constants.ts +0 -35
- package/src/user-profile/feature.ts +0 -149
- package/src/user-profile/handlers/change-email.write.ts +0 -97
- package/src/user-profile/i18n.ts +0 -44
- package/src/user-profile/index.ts +0 -11
- package/src/user-profile/web/client-plugin.ts +0 -45
- package/src/user-profile/web/index.ts +0 -6
- package/src/user-profile/web/profile-screen.tsx +0 -234
- package/src/workflow-runner/__tests__/event-wakeup.integration.test.ts +0 -338
- package/src/workflow-runner/__tests__/pending-projection.integration.test.ts +0 -292
- package/src/workflow-runner/__tests__/resume-loop.integration.test.ts +0 -354
- package/src/workflow-runner/__tests__/workflow-runner.integration.test.ts +0 -307
- package/src/workflow-runner/aggregate-id.ts +0 -20
- package/src/workflow-runner/db/queries/due-runs.ts +0 -23
- package/src/workflow-runner/event-subscriber.ts +0 -93
- package/src/workflow-runner/event-trigger.ts +0 -121
- package/src/workflow-runner/feature.ts +0 -96
- package/src/workflow-runner/handlers/resume-run.write.ts +0 -355
- package/src/workflow-runner/index.ts +0 -12
- package/src/workflow-runner/pending-projection.ts +0 -148
- package/src/workflow-runner/runner.ts +0 -153
- package/src/workflow-runner/tables.ts +0 -95
- package/src/workflow-runner/workflow-registry.ts +0 -23
- /package/{src/files/feature.ts → dist/files/feature.js} +0 -0
|
@@ -1,966 +0,0 @@
|
|
|
1
|
-
// Async Export-Job Worker (S2.U3 Atom 3b) — pure Pipeline-Function.
|
|
2
|
-
//
|
|
3
|
-
// Spec: docs/plans/architecture/user-data-rights.md "Async Export-Pipeline".
|
|
4
|
-
// Cron-getriggert (siehe r.job-Wrap im feature.ts), iteriert ueber alle
|
|
5
|
-
// pending-Jobs in einem Pass, fuehrt pro Job aus:
|
|
6
|
-
//
|
|
7
|
-
// 1. Claim: `crud.update({status: running, startedAt})` mit
|
|
8
|
-
// optimistic-locking via version-Spalte. Wenn 2 Worker-Replicas
|
|
9
|
-
// denselben Job picken wollen, gewinnt der erste, der zweite
|
|
10
|
-
// kriegt VersionConflictError + skippt.
|
|
11
|
-
//
|
|
12
|
-
// 2. Bundle bauen: runUserExport({db, registry, userId, now}) →
|
|
13
|
-
// UserExportBundle (siehe run-user-export.ts). Cross-Tenant-
|
|
14
|
-
// Iteration ueber Memberships ist dort implementiert.
|
|
15
|
-
//
|
|
16
|
-
// 3. Profile-Resolution: `resolveProfileForTenant(requestedFromTenantId)`
|
|
17
|
-
// liefert effective compliance-profile. exportDownloadTtl wird
|
|
18
|
-
// fuer expiresAt-Berechnung gebraucht.
|
|
19
|
-
//
|
|
20
|
-
// 4. Storage-Provider builden: `buildStorageProvider(ctx, requestedFromTenantId)`
|
|
21
|
-
// — file-foundation's createFileProviderForTenant-Pattern.
|
|
22
|
-
// Pro Tenant unterschiedlicher Provider moeglich (S3 vs lokal).
|
|
23
|
-
//
|
|
24
|
-
// 5. ZIP-Stream: `createZipStream(bundleAsZipEntries(bundle))` →
|
|
25
|
-
// AsyncIterable<Uint8Array>. Wir wrappen das in einen tracking-
|
|
26
|
-
// Iterator der bytesWritten zaehlt.
|
|
27
|
-
//
|
|
28
|
-
// 6. Storage-Write: provider.writeStream(storageKey, zipStream).
|
|
29
|
-
// Atomar via tmp+rename (lokal) bzw. multipart-upload (S3).
|
|
30
|
-
//
|
|
31
|
-
// 7. Job=done: `crud.update({status: "done", completedAt, expiresAt,
|
|
32
|
-
// downloadStorageKey, bytesWritten})`.
|
|
33
|
-
//
|
|
34
|
-
// Bei Throw zwischen 2-7: Job=failed mit errorMessage. Storage-Write
|
|
35
|
-
// ist atomar (writeStream rollback bei Error im Source-Stream), keine
|
|
36
|
-
// halb-fertigen ZIPs am final-Pfad.
|
|
37
|
-
//
|
|
38
|
-
// **Stale-Detection:** vor dem Pickup-Pass laeuft ein separater
|
|
39
|
-
// Stale-Pass: Jobs in `running` mit `startedAt + exportStaleTimeoutMinutes
|
|
40
|
-
// < now` werden auf `failed` geflippt. Worker-Crashes / OOM-Kills /
|
|
41
|
-
// Replica-Restarts hinterlassen sonst stuck-running-Jobs.
|
|
42
|
-
//
|
|
43
|
-
// **Storage-Cleanup:** dritter Pass loescht abgelaufene downloadStorageKeys
|
|
44
|
-
// (`expiresAt + exportStorageCleanupGraceHours < now`) — abgelaufene ZIPs
|
|
45
|
-
// auf S3 sollen nicht ewig liegen.
|
|
46
|
-
|
|
47
|
-
import { fetchOne, selectMany } from "@cosmicdrift/kumiko-framework/bun-db";
|
|
48
|
-
import { addDurationSpec } from "@cosmicdrift/kumiko-framework/compliance";
|
|
49
|
-
import { PII_ERASED_SENTINEL } from "@cosmicdrift/kumiko-framework/crypto";
|
|
50
|
-
import type { DbConnection, DbRunner } from "@cosmicdrift/kumiko-framework/db";
|
|
51
|
-
import { createEventStoreExecutor, createTenantDb } from "@cosmicdrift/kumiko-framework/db";
|
|
52
|
-
import type {
|
|
53
|
-
EscapeHatchAuditSink,
|
|
54
|
-
Registry,
|
|
55
|
-
TenantId,
|
|
56
|
-
} from "@cosmicdrift/kumiko-framework/engine";
|
|
57
|
-
import { createSystemUser } from "@cosmicdrift/kumiko-framework/engine";
|
|
58
|
-
import {
|
|
59
|
-
createZipStream,
|
|
60
|
-
type FileStorageProvider,
|
|
61
|
-
tenantExportPrefix,
|
|
62
|
-
type ZipEntry,
|
|
63
|
-
} from "@cosmicdrift/kumiko-framework/files";
|
|
64
|
-
import type { MetricsHandle } from "@cosmicdrift/kumiko-framework/observability";
|
|
65
|
-
import type { getTemporal } from "@cosmicdrift/kumiko-framework/time";
|
|
66
|
-
import { resolveProfileForTenant } from "../compliance-profiles";
|
|
67
|
-
import { decryptStoredPii } from "../shared";
|
|
68
|
-
import { userTable } from "../user";
|
|
69
|
-
import { selectExportJobsForStorageCleanup } from "./db/queries/export-jobs";
|
|
70
|
-
import { runUserExport, type UserExportBundle } from "./run-user-export";
|
|
71
|
-
import { exportDownloadTokenEntity, exportDownloadTokensTable } from "./schema/download-token";
|
|
72
|
-
import { EXPORT_JOB_STATUS, exportJobEntity, exportJobsTable } from "./schema/export-job";
|
|
73
|
-
import { generateDownloadToken } from "./token-helpers";
|
|
74
|
-
|
|
75
|
-
type Instant = InstanceType<ReturnType<typeof getTemporal>["Instant"]>;
|
|
76
|
-
|
|
77
|
-
// Gauge short name (feature.ts registers it via r.metric + resolves ctx.meter
|
|
78
|
-
// into a MetricsHandle — jobs get no bound ctx.metrics, see feature.ts).
|
|
79
|
-
// No "_seconds"/"_total" suffix: validateMetricName rejects both on a gauge.
|
|
80
|
-
// Unit lives in the r.metric() `unit: "seconds"` declaration instead.
|
|
81
|
-
export const EXPORT_CLEANUP_BACKLOG_AGE_METRIC = "export_cleanup_backlog_age";
|
|
82
|
-
|
|
83
|
-
const crud = createEventStoreExecutor(exportJobsTable, exportJobEntity, {
|
|
84
|
-
entityName: "export-job",
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
// Atom 4a — separater ES-Executor fuer Download-Tokens. crud.create
|
|
88
|
-
// emittiert `exportDownloadToken.created`-Event in den event-store +
|
|
89
|
-
// projected synchron auf read_export_download_tokens. KEIN direct-INSERT
|
|
90
|
-
// (Memory `feedback_no_fake_dispatcher`).
|
|
91
|
-
//
|
|
92
|
-
// Exportiert weil Atom 4b's download-handler tokenCrud.update fuer
|
|
93
|
-
// Audit-Felder (useCount, lastUsedAt, IP, UA) nutzt — ES-konsistent.
|
|
94
|
-
export const tokenCrud = createEventStoreExecutor(
|
|
95
|
-
exportDownloadTokensTable,
|
|
96
|
-
exportDownloadTokenEntity,
|
|
97
|
-
{ entityName: "export-download-token" },
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Notification-Callback fuer den done-Pfad. Pattern matched
|
|
102
|
-
* auth-routes.PasswordResetConfig.sendResetEmail. Plain-Token bleibt
|
|
103
|
-
* ephemeral (nicht in DB/event-store/jobRunsTable). App-Author wired
|
|
104
|
-
* den Callback an seinen Email-Provider:
|
|
105
|
-
* - existing `delivery.notify` (multi-channel + delivery_attempts-Log)
|
|
106
|
-
* - `mailFoundation.send` direkt
|
|
107
|
-
* - Custom Resend/SES/etc.
|
|
108
|
-
*
|
|
109
|
-
* **Best-effort:** Throw vom Callback bubbelt zum r.job-Wrap; jobs-
|
|
110
|
-
* Feature persistiert den Worker-Run als failed in jobRunsTable. Der
|
|
111
|
-
* Failed-Pfad wird in `jobs/__tests__/jobs-feature.integration.ts`
|
|
112
|
-
* Scenario 2 gepinnt — wir verweisen darauf statt end-zu-end zu
|
|
113
|
-
* duplizieren. Operator sieht's im /jobs-Dashboard, kann via
|
|
114
|
-
* jobs:write:retry den Worker-Run erneut anstossen (Job selbst bleibt
|
|
115
|
-
* done; retry findet keinen pending mehr, aber Audit-Log zeigt den
|
|
116
|
-
* Failure).
|
|
117
|
-
*
|
|
118
|
-
* **Plain-Token-Recovery bei Email-Fail:** plain ist ephemeral. Wenn
|
|
119
|
-
* der Callback throwt, ist der plain verloren. Operator-Eingriff
|
|
120
|
-
* noetig: Job auf pending flippen — NUR das. Die Token-Row NICHT
|
|
121
|
-
* loeschen (eventloser Read-Side-Delete → Rebuild-Kollision, fw#832);
|
|
122
|
-
* der naechste Worker-Run rotiert das Token in place auf demselben
|
|
123
|
-
* Aggregat. Atom 5b (Re-issue-handler) wird das automatisieren.
|
|
124
|
-
*/
|
|
125
|
-
export type SendExportReadyEmailFn = (args: {
|
|
126
|
-
readonly userId: string;
|
|
127
|
-
readonly userEmail: string;
|
|
128
|
-
/** Stored user.locale (free-form, e.g. "de"/"en"/"de-DE"/null) — lets the
|
|
129
|
-
* default mailer render in the recipient's language. */
|
|
130
|
-
readonly userLocale: string | null;
|
|
131
|
-
readonly tenantId: TenantId;
|
|
132
|
-
readonly jobId: string;
|
|
133
|
-
readonly downloadUrl: string;
|
|
134
|
-
readonly expiresAt: string;
|
|
135
|
-
readonly bytesWritten: number | null;
|
|
136
|
-
}) => Promise<void>;
|
|
137
|
-
|
|
138
|
-
export type SendExportFailedEmailFn = (args: {
|
|
139
|
-
readonly userId: string;
|
|
140
|
-
readonly userEmail: string;
|
|
141
|
-
readonly userLocale: string | null;
|
|
142
|
-
readonly tenantId: TenantId;
|
|
143
|
-
readonly jobId: string;
|
|
144
|
-
readonly errorMessage: string;
|
|
145
|
-
}) => Promise<void>;
|
|
146
|
-
|
|
147
|
-
export interface RunExportJobsArgs {
|
|
148
|
-
readonly db: DbConnection;
|
|
149
|
-
readonly registry: Registry;
|
|
150
|
-
/**
|
|
151
|
-
* Per-Tenant Storage-Provider-Builder. App-Bootstrap liefert den
|
|
152
|
-
* file-foundation-Resolver via `createFileProviderForTenant` —
|
|
153
|
-
* Worker bekommt eine kleinere Surface ohne HandlerContext-Dep.
|
|
154
|
-
*/
|
|
155
|
-
readonly buildStorageProvider: (tenantId: TenantId) => Promise<FileStorageProvider>;
|
|
156
|
-
/** Now-Injection — Tests pinnen den Wert ohne Date-Mock. */
|
|
157
|
-
readonly now: Instant;
|
|
158
|
-
|
|
159
|
-
/** S2.U3 Atom 5 — Email-Notification beim done-flip. Optional;
|
|
160
|
-
* wenn nicht gesetzt, sendet der Worker keine notification (User
|
|
161
|
-
* kann aber via export-status.query polln + UI-Klick). */
|
|
162
|
-
readonly sendExportReadyEmail?: SendExportReadyEmailFn;
|
|
163
|
-
/** Optional Email beim failed-flip. */
|
|
164
|
-
readonly sendExportFailedEmail?: SendExportFailedEmailFn;
|
|
165
|
-
/** Base-URL fuer den Magic-Link. App-Author setzt das (z.B.
|
|
166
|
-
* "https://app.example.com/user-export/by-token"). Worker baut
|
|
167
|
-
* a URL fragment (not a query param — see issue #1271) and passes that
|
|
168
|
-
* Callback durch. Required wenn sendExportReadyEmail gesetzt. */
|
|
169
|
-
readonly appExportDownloadUrl?: string;
|
|
170
|
-
|
|
171
|
-
// fw#2914 — sourced from the owning job's ctx (_escapeHatchAuditSink,
|
|
172
|
-
// systemUser.id); threaded into runUserExport's per-hook TenantDb.
|
|
173
|
-
readonly escapeHatchAuditSink?: EscapeHatchAuditSink;
|
|
174
|
-
readonly actor?: string;
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Reports EXPORT_CLEANUP_BACKLOG_AGE_METRIC after the storage-cleanup
|
|
178
|
-
* pass. Optional so callers without an observability provider still work.
|
|
179
|
-
*/
|
|
180
|
-
readonly metrics?: MetricsHandle;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export interface ExportJobError {
|
|
184
|
-
readonly jobId: string;
|
|
185
|
-
readonly userId: string;
|
|
186
|
-
readonly phase: "claim" | "bundle" | "zip-write" | "complete";
|
|
187
|
-
readonly message: string;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export interface RunExportJobsResult {
|
|
191
|
-
/** Job-IDs die in diesem Pass von pending → done geflippt wurden. */
|
|
192
|
-
readonly completedJobIds: readonly string[];
|
|
193
|
-
/** Job-IDs die in diesem Pass von pending → failed geflippt wurden. */
|
|
194
|
-
readonly failedJobIds: readonly string[];
|
|
195
|
-
/** Job-IDs die als stuck-running auf failed geflippt wurden (Stale-Pass). */
|
|
196
|
-
readonly staleFailedJobIds: readonly string[];
|
|
197
|
-
/** Job-IDs deren downloadStorageKey im Cleanup-Pass geloescht wurde. */
|
|
198
|
-
readonly cleanedJobIds: readonly string[];
|
|
199
|
-
readonly errors: readonly ExportJobError[];
|
|
200
|
-
/**
|
|
201
|
-
* Plain-Tokens fuer in diesem Pass completed-Jobs. Map<jobId, plain>.
|
|
202
|
-
* Atom 5 (Notification) liest das + versendet plain per Email.
|
|
203
|
-
* NIEMALS persistiert — nur in-memory zwischen Worker-Run und
|
|
204
|
-
* Notification-Hook. NACH dem Run ist plain nur via DB-Hash
|
|
205
|
-
* verifizierbar (Atom 4b's Download-Endpoint).
|
|
206
|
-
*/
|
|
207
|
-
readonly tokenByJobId: ReadonlyMap<string, string>;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export async function runExportJobs(args: RunExportJobsArgs): Promise<RunExportJobsResult> {
|
|
211
|
-
const { db, registry, buildStorageProvider, now, sendExportReadyEmail, sendExportFailedEmail } =
|
|
212
|
-
args;
|
|
213
|
-
|
|
214
|
-
// Boot-Misconfig-Check: wer sendExportReadyEmail setzt aber URL
|
|
215
|
-
// vergisst, soll einen klaren Error sehen — VOR dem Pass-Loop, damit
|
|
216
|
-
// der Throw nicht vom per-Job-try/catch (Atom 5.fix3) geschluckt wird.
|
|
217
|
-
// Runtime-Callback-Failures sind best-effort, Boot-Misconfig ist hard-
|
|
218
|
-
// fail (App-Author-Bug, kein Network-Hiccup).
|
|
219
|
-
if (sendExportReadyEmail && args.appExportDownloadUrl === undefined) {
|
|
220
|
-
throw new Error(
|
|
221
|
-
"user-data-rights: sendExportReadyEmail gesetzt aber appExportDownloadUrl fehlt — beide muessen zusammen konfiguriert sein",
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
// Pass 1: Stale-Detection — running jobs die laenger als das tenant-
|
|
226
|
-
// spezifische exportStaleTimeoutMinutes haengen werden gefailed.
|
|
227
|
-
// Wird VOR dem pickup-pass ausgefuehrt damit ein neuer Worker-Run
|
|
228
|
-
// den vorhergehenden Crash erstmal als failed markiert.
|
|
229
|
-
const staleFailedJobIds = await staleDetectionPass({ db, now });
|
|
230
|
-
|
|
231
|
-
// Pass 2: Pickup pending jobs + Process them.
|
|
232
|
-
const completedJobIds: string[] = [];
|
|
233
|
-
const failedJobIds: string[] = [];
|
|
234
|
-
const errors: ExportJobError[] = [];
|
|
235
|
-
const tokenByJobId = new Map<string, string>();
|
|
236
|
-
|
|
237
|
-
const pendingJobs = await fetchPendingJobs(db);
|
|
238
|
-
for (const job of pendingJobs) {
|
|
239
|
-
const outcome = await processJob({
|
|
240
|
-
db,
|
|
241
|
-
registry,
|
|
242
|
-
buildStorageProvider,
|
|
243
|
-
now,
|
|
244
|
-
job,
|
|
245
|
-
escapeHatchAuditSink: args.escapeHatchAuditSink,
|
|
246
|
-
actor: args.actor,
|
|
247
|
-
});
|
|
248
|
-
if (outcome.kind === "done") {
|
|
249
|
-
completedJobIds.push(job.id);
|
|
250
|
-
// Worker hat plain im Memory; weitergeben fuer downstream-callbacks
|
|
251
|
-
// + Atom-5-Tests (RunExportJobsResult.tokenByJobId). Plain landet
|
|
252
|
-
// NICHT in Logs/Telemetry/jobRunsTable.
|
|
253
|
-
tokenByJobId.set(job.id, outcome.tokenPlain);
|
|
254
|
-
|
|
255
|
-
// Atom 5: Email-Notification beim done-flip.
|
|
256
|
-
//
|
|
257
|
-
// Best-effort (Atom 5.fix3): Throw fuer Job A darf den Batch nicht
|
|
258
|
-
// abwuergen — Job-Status ist bereits done committed, restliche
|
|
259
|
-
// pending-Jobs muessen noch verarbeitet werden. Throw waere ein
|
|
260
|
-
// Bug: r.job-Wrap markiert den Run failed, retry findet keinen
|
|
261
|
-
// pending-Job mehr (Status=done) → silent miss + ZIP laeuft nach
|
|
262
|
-
// TTL ab ohne dass der User die Email je bekommt. console.warn ist
|
|
263
|
-
// die einzige Operator-Sichtbarkeit (runExportJobs-args fuehren
|
|
264
|
-
// AppContext.log nicht durch — pure-function-Pattern).
|
|
265
|
-
if (sendExportReadyEmail) {
|
|
266
|
-
try {
|
|
267
|
-
await fireExportReadyCallback({
|
|
268
|
-
db,
|
|
269
|
-
job,
|
|
270
|
-
plainToken: outcome.tokenPlain,
|
|
271
|
-
bytesWritten: outcome.bytesWritten,
|
|
272
|
-
expiresAt: outcome.expiresAt,
|
|
273
|
-
appExportDownloadUrl: args.appExportDownloadUrl,
|
|
274
|
-
send: sendExportReadyEmail,
|
|
275
|
-
});
|
|
276
|
-
} catch (err) {
|
|
277
|
-
// biome-ignore lint/suspicious/noConsole: operator-visibility for email-send-failure
|
|
278
|
-
console.warn(
|
|
279
|
-
`[user-data-rights:run-export-jobs] sendExportReadyEmail failed jobId=${job.id} userId=${job.userId} err=${err instanceof Error ? err.message : String(err)}`,
|
|
280
|
-
);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
} else if (outcome.kind === "failed") {
|
|
284
|
-
failedJobIds.push(job.id);
|
|
285
|
-
errors.push(outcome.error);
|
|
286
|
-
|
|
287
|
-
// Atom 5: Email-Notification beim failed-flip — User soll wissen
|
|
288
|
-
// dass er neuen Export anfordern muss. Best-effort analog
|
|
289
|
-
// sendExportReadyEmail (Atom 5.fix3) — Email-Send-Throw darf den
|
|
290
|
-
// Batch nicht killen.
|
|
291
|
-
if (sendExportFailedEmail) {
|
|
292
|
-
try {
|
|
293
|
-
await fireExportFailedCallback({
|
|
294
|
-
db,
|
|
295
|
-
job,
|
|
296
|
-
errorMessage: outcome.error.message,
|
|
297
|
-
send: sendExportFailedEmail,
|
|
298
|
-
});
|
|
299
|
-
} catch (err) {
|
|
300
|
-
// biome-ignore lint/suspicious/noConsole: operator-visibility for email-send-failure
|
|
301
|
-
console.warn(
|
|
302
|
-
`[user-data-rights:run-export-jobs] sendExportFailedEmail failed jobId=${job.id} userId=${job.userId} err=${err instanceof Error ? err.message : String(err)}`,
|
|
303
|
-
);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
// "skipped" (claim race lost) wird still passiert — kein error,
|
|
308
|
-
// anderer Worker hat den Job bereits.
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
// Pass 3: Storage-Cleanup — abgelaufene done-Jobs (expiresAt+grace < now)
|
|
312
|
-
// bekommen ihren downloadStorageKey aus dem Storage-Provider geloescht
|
|
313
|
-
// + im DB-Row genullt.
|
|
314
|
-
const cleanedJobIds = await storageCleanupPass({
|
|
315
|
-
db,
|
|
316
|
-
buildStorageProvider,
|
|
317
|
-
now,
|
|
318
|
-
metrics: args.metrics,
|
|
319
|
-
});
|
|
320
|
-
|
|
321
|
-
return {
|
|
322
|
-
completedJobIds,
|
|
323
|
-
failedJobIds,
|
|
324
|
-
staleFailedJobIds,
|
|
325
|
-
cleanedJobIds,
|
|
326
|
-
errors,
|
|
327
|
-
tokenByJobId,
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
interface JobRow {
|
|
332
|
-
readonly id: string;
|
|
333
|
-
readonly version: number;
|
|
334
|
-
readonly userId: string;
|
|
335
|
-
readonly requestedFromTenantId: TenantId;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
// @wrapper-known semantic-alias
|
|
339
|
-
async function fetchPendingJobs(db: DbRunner): Promise<readonly JobRow[]> {
|
|
340
|
-
return selectMany<JobRow>(
|
|
341
|
-
db,
|
|
342
|
-
exportJobsTable,
|
|
343
|
-
{ status: EXPORT_JOB_STATUS.Pending },
|
|
344
|
-
{
|
|
345
|
-
orderBy: { col: "requestedAt", direction: "asc" },
|
|
346
|
-
},
|
|
347
|
-
);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
type ProcessOutcome =
|
|
351
|
-
| {
|
|
352
|
-
kind: "done";
|
|
353
|
-
tokenPlain: string;
|
|
354
|
-
expiresAt: Instant;
|
|
355
|
-
bytesWritten: number;
|
|
356
|
-
}
|
|
357
|
-
| { kind: "failed"; error: ExportJobError }
|
|
358
|
-
| { kind: "skipped" }; // claim-race-loss (anderer Worker)
|
|
359
|
-
|
|
360
|
-
async function processJob(args: {
|
|
361
|
-
db: DbConnection;
|
|
362
|
-
registry: Registry;
|
|
363
|
-
buildStorageProvider: (tenantId: TenantId) => Promise<FileStorageProvider>;
|
|
364
|
-
now: Instant;
|
|
365
|
-
job: JobRow;
|
|
366
|
-
escapeHatchAuditSink?: EscapeHatchAuditSink;
|
|
367
|
-
actor?: string;
|
|
368
|
-
}): Promise<ProcessOutcome> {
|
|
369
|
-
const { db, registry, buildStorageProvider, now, job } = args;
|
|
370
|
-
const executor = createSystemUser(job.requestedFromTenantId);
|
|
371
|
-
// crud.update braucht TenantDb fuer Stream-Identity (Memory
|
|
372
|
-
// feedback_event_store_tenant_consistency). system-mode bypassed
|
|
373
|
-
// den auto-tenant-filter; Stream wird ueber requestedFromTenantId
|
|
374
|
-
// konsistent gehalten.
|
|
375
|
-
const tdb = systemTenantDb(db, job.requestedFromTenantId);
|
|
376
|
-
|
|
377
|
-
// Phase 1: Claim — version-bumped update, scheitert via VersionConflict
|
|
378
|
-
// wenn paralleler Worker schon claimed hat.
|
|
379
|
-
//
|
|
380
|
-
// **Path-pre-claim** (Atom 4a.fix): downloadStorageKey wird HIER schon
|
|
381
|
-
// persistiert (deterministischer Pfad aus job.id). Begründung: wenn
|
|
382
|
-
// Worker zwischen ZIP-write und done-flip crashed, hat der Job-Row
|
|
383
|
-
// bereits den Pfad → storageCleanupPass kann den orphan-ZIP via
|
|
384
|
-
// failed-Job-Cleanup-Pass loeschen (sonst forever-leak im S3).
|
|
385
|
-
const storageKey = buildExportStorageKey(job);
|
|
386
|
-
const claimResult = await crud.update(
|
|
387
|
-
{
|
|
388
|
-
id: job.id,
|
|
389
|
-
version: job.version,
|
|
390
|
-
changes: {
|
|
391
|
-
status: EXPORT_JOB_STATUS.Running,
|
|
392
|
-
startedAt: now,
|
|
393
|
-
downloadStorageKey: storageKey,
|
|
394
|
-
},
|
|
395
|
-
},
|
|
396
|
-
executor,
|
|
397
|
-
tdb,
|
|
398
|
-
);
|
|
399
|
-
if (!claimResult.isSuccess) {
|
|
400
|
-
// Race-Loss: anderer Worker hat den Job claimed. Skip silently.
|
|
401
|
-
return { kind: "skipped" };
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
// Phase 2-6: Bundle bauen + ZIP-streamen + Storage-Write.
|
|
405
|
-
// Errors bis zur completion werden als job=failed materialisiert.
|
|
406
|
-
try {
|
|
407
|
-
const bundle = await runUserExport({
|
|
408
|
-
db,
|
|
409
|
-
registry,
|
|
410
|
-
userId: job.userId,
|
|
411
|
-
now,
|
|
412
|
-
escapeHatchAuditSink: args.escapeHatchAuditSink,
|
|
413
|
-
actor: args.actor,
|
|
414
|
-
});
|
|
415
|
-
|
|
416
|
-
const profile = await resolveProfileForTenant({
|
|
417
|
-
db,
|
|
418
|
-
tenantId: job.requestedFromTenantId,
|
|
419
|
-
});
|
|
420
|
-
const ttl = profile.profile.userRights.exportDownloadTtl;
|
|
421
|
-
|
|
422
|
-
// Per-Tenant-Provider-Cache: Cross-Tenant-fileRefs (Alice Member von
|
|
423
|
-
// Tenant A + B → File-Refs aus beiden) brauchen pro Tenant separat
|
|
424
|
-
// einen Provider-Build (S3-Bucket pro Tenant, andere config). Job-
|
|
425
|
-
// Tenant ist die Identitaet fuer den write-Pfad; read-Pfade gehen
|
|
426
|
-
// ueber den fileRef.tenantId.
|
|
427
|
-
const providerCache = new Map<TenantId, FileStorageProvider>();
|
|
428
|
-
const cachedProvider = async (tenantId: TenantId): Promise<FileStorageProvider> => {
|
|
429
|
-
let p = providerCache.get(tenantId);
|
|
430
|
-
if (!p) {
|
|
431
|
-
p = await buildStorageProvider(tenantId);
|
|
432
|
-
providerCache.set(tenantId, p);
|
|
433
|
-
}
|
|
434
|
-
return p;
|
|
435
|
-
};
|
|
436
|
-
|
|
437
|
-
const writeProvider = await cachedProvider(job.requestedFromTenantId);
|
|
438
|
-
// writeStream + readStream sind im FileStorageProvider-Type required
|
|
439
|
-
// (Atom 3c.fix Type-Honesty) — keine Runtime-Optional-Checks mehr noetig.
|
|
440
|
-
|
|
441
|
-
const tracker = countingStream(
|
|
442
|
-
createZipStream(bundleToZipEntries(bundle, now, cachedProvider)),
|
|
443
|
-
);
|
|
444
|
-
|
|
445
|
-
await writeProvider.writeStream(storageKey, tracker.stream, {
|
|
446
|
-
mimeType: "application/zip",
|
|
447
|
-
});
|
|
448
|
-
|
|
449
|
-
// Phase 7: Token VOR done-flip (Atom 4a.fix Sequencing).
|
|
450
|
-
//
|
|
451
|
-
// Wenn Token-Create failt, bleibt Job in `running` → catch-Pfad
|
|
452
|
-
// flippt auf failed (monotone Status-Transition). Wenn Token-Create
|
|
453
|
-
// VOR und done-flip NACH: tightes Race-Window in dem ein Worker-
|
|
454
|
-
// Crash zwischen den zwei calls einen Token + ZIP orphans. Beides
|
|
455
|
-
// catched die Stale-Detection im naechsten Pass — Job=failed,
|
|
456
|
-
// Storage-Cleanup-Pass clearted den ZIP (path-pre-claim oben).
|
|
457
|
-
//
|
|
458
|
-
// Plain-Token bleibt im Worker-Memory + wird via RunExportJobsResult
|
|
459
|
-
// an Atom 5 (Notification) weitergegeben. NUR der hash landet in DB.
|
|
460
|
-
// ES via tokenCrud.create — kein direct-INSERT.
|
|
461
|
-
//
|
|
462
|
-
// **Re-Run (fw#832):** Flippt ein Operator einen done/failed-Job
|
|
463
|
-
// zurueck auf pending (Plain-Token verloren, Email-Fail), existiert
|
|
464
|
-
// fuers jobId schon eine Token-Row. Ein zweites create wuerde ein
|
|
465
|
-
// zweites `created`-Event auf frischem Aggregat emittieren — der
|
|
466
|
-
// Projection-Rebuild kollidiert dann dauerhaft am one_per_job-Index.
|
|
467
|
-
// Stattdessen: Token-Rotation in place auf demselben Aggregat
|
|
468
|
-
// (update mit frischem Hash + Reset der Audit-Felder).
|
|
469
|
-
const expiresAt = addDurationSpec(now, ttl);
|
|
470
|
-
const { plain: tokenPlain, hash: tokenHash } = await generateDownloadToken();
|
|
471
|
-
const existingToken = await fetchOne<{ id: string; version: number }>(
|
|
472
|
-
db,
|
|
473
|
-
exportDownloadTokensTable,
|
|
474
|
-
{ jobId: job.id },
|
|
475
|
-
);
|
|
476
|
-
const tokenCreateResult = existingToken
|
|
477
|
-
? await tokenCrud.update(
|
|
478
|
-
{
|
|
479
|
-
id: existingToken.id,
|
|
480
|
-
version: existingToken.version,
|
|
481
|
-
changes: {
|
|
482
|
-
tokenHash,
|
|
483
|
-
issuedAt: now,
|
|
484
|
-
expiresAt,
|
|
485
|
-
useCount: 0,
|
|
486
|
-
lastUsedAt: null,
|
|
487
|
-
lastUsedFromIp: null,
|
|
488
|
-
lastUsedUserAgent: null,
|
|
489
|
-
},
|
|
490
|
-
},
|
|
491
|
-
executor,
|
|
492
|
-
tdb,
|
|
493
|
-
)
|
|
494
|
-
: await tokenCrud.create(
|
|
495
|
-
{
|
|
496
|
-
jobId: job.id,
|
|
497
|
-
tokenHash,
|
|
498
|
-
issuedAt: now,
|
|
499
|
-
expiresAt,
|
|
500
|
-
// Atom 4a.fix: useCount explizit 0 statt default null. 4b's
|
|
501
|
-
// Verify-Pfad incrementiert via `useCount + 1` ohne COALESCE-
|
|
502
|
-
// Defensiv-Code.
|
|
503
|
-
useCount: 0,
|
|
504
|
-
},
|
|
505
|
-
executor,
|
|
506
|
-
tdb,
|
|
507
|
-
);
|
|
508
|
-
if (!tokenCreateResult.isSuccess) {
|
|
509
|
-
// Token-Creation failed VOR done-flip → Job bleibt running.
|
|
510
|
-
// Catch-Pfad flippt auf failed mit klarer Diagnose. Storage-
|
|
511
|
-
// Cleanup-Pass clearted den orphan-ZIP (path bereits via claim
|
|
512
|
-
// persistiert).
|
|
513
|
-
throw new Error(
|
|
514
|
-
`Job ${job.id}: Token-Creation failed before done-flip. ` +
|
|
515
|
-
`${(tokenCreateResult as { error?: { code?: string } }).error?.code ?? "unknown"}`, // @cast-boundary engine-payload
|
|
516
|
-
);
|
|
517
|
-
}
|
|
518
|
-
|
|
519
|
-
// Phase 8: Job=done. expiresAt wurde oben fuer Token gesetzt; identisch
|
|
520
|
-
// hier persistiert (denormalisiert in beiden Tabellen).
|
|
521
|
-
const doneResult = await crud.update(
|
|
522
|
-
{
|
|
523
|
-
id: job.id,
|
|
524
|
-
version: job.version + 1, // +1 weil wir bereits via claim einen update gemacht haben
|
|
525
|
-
changes: {
|
|
526
|
-
status: EXPORT_JOB_STATUS.Done,
|
|
527
|
-
completedAt: now,
|
|
528
|
-
// downloadStorageKey ist beim claim bereits gesetzt — kein
|
|
529
|
-
// Re-Set hier noetig (waere identisch).
|
|
530
|
-
expiresAt,
|
|
531
|
-
bytesWritten: tracker.bytes,
|
|
532
|
-
},
|
|
533
|
-
},
|
|
534
|
-
executor,
|
|
535
|
-
tdb,
|
|
536
|
-
);
|
|
537
|
-
if (!doneResult.isSuccess) {
|
|
538
|
-
// Sehr unerwartet — wir haben gerade claimed (version+1), niemand
|
|
539
|
-
// sollte den Job zwischenzeitlich aendern. Materialisieren als
|
|
540
|
-
// failed damit der Operator das sieht. Token-Row bleibt orphan
|
|
541
|
-
// bis Atom-spaeter-Cleanup; Storage-ZIP wird via failed-Cleanup
|
|
542
|
-
// gecleared.
|
|
543
|
-
throw new Error(
|
|
544
|
-
`Job ${job.id}: failed to flip status=done after successful Token-Create. ` +
|
|
545
|
-
`${(doneResult as { error?: { code?: string } }).error?.code ?? "unknown"}`, // @cast-boundary engine-payload
|
|
546
|
-
);
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
return { kind: "done", tokenPlain, expiresAt, bytesWritten: tracker.bytes };
|
|
550
|
-
} catch (e) {
|
|
551
|
-
const message = e instanceof Error ? e.message : String(e);
|
|
552
|
-
// Best-effort failure-flip. Wenn auch das failed (DB down etc.),
|
|
553
|
-
// bleibt der Job in running stehen — Stale-Detection im naechsten
|
|
554
|
-
// Worker-Run faengt ihn dann auf.
|
|
555
|
-
await crud
|
|
556
|
-
.update(
|
|
557
|
-
{
|
|
558
|
-
id: job.id,
|
|
559
|
-
version: job.version + 1,
|
|
560
|
-
changes: {
|
|
561
|
-
status: EXPORT_JOB_STATUS.Failed,
|
|
562
|
-
completedAt: now,
|
|
563
|
-
errorMessage: message,
|
|
564
|
-
},
|
|
565
|
-
},
|
|
566
|
-
executor,
|
|
567
|
-
tdb,
|
|
568
|
-
)
|
|
569
|
-
.catch(() => {
|
|
570
|
-
/* swallow — stale-detection kommt im nachsten Pass */
|
|
571
|
-
});
|
|
572
|
-
return {
|
|
573
|
-
kind: "failed",
|
|
574
|
-
error: {
|
|
575
|
-
jobId: job.id,
|
|
576
|
-
userId: job.userId,
|
|
577
|
-
phase: "zip-write",
|
|
578
|
-
message,
|
|
579
|
-
},
|
|
580
|
-
};
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
async function staleDetectionPass(args: {
|
|
585
|
-
db: DbConnection;
|
|
586
|
-
now: Instant;
|
|
587
|
-
}): Promise<readonly string[]> {
|
|
588
|
-
const { db, now } = args;
|
|
589
|
-
|
|
590
|
-
// **Kein Coarse-Filter** — der vorherige `startedAt <= now-1h` Filter
|
|
591
|
-
// war fragile: profile.exportStaleTimeoutMinutes hat Default 30min und
|
|
592
|
-
// erlaubt per-Tenant-Override auf z.B. 5min. Ein 60min-Coarse-Filter
|
|
593
|
-
// wuerde 30-60min-alte stale-Jobs UNERKANNT lassen. Cron laeuft alle
|
|
594
|
-
// 60s, zu jedem Zeitpunkt sind nur wenige Jobs in `running` —
|
|
595
|
-
// alle fetchen + profile-resolve im Loop ist bezahlbar + korrekt.
|
|
596
|
-
const candidates = await selectMany<{
|
|
597
|
-
id: string;
|
|
598
|
-
version: number;
|
|
599
|
-
userId: string;
|
|
600
|
-
requestedFromTenantId: TenantId;
|
|
601
|
-
startedAt: Instant | null;
|
|
602
|
-
}>(db, exportJobsTable, { status: EXPORT_JOB_STATUS.Running });
|
|
603
|
-
|
|
604
|
-
const failed: string[] = [];
|
|
605
|
-
for (const c of candidates) {
|
|
606
|
-
const profile = await resolveProfileForTenant({
|
|
607
|
-
db,
|
|
608
|
-
tenantId: c.requestedFromTenantId,
|
|
609
|
-
});
|
|
610
|
-
const cutoffMs =
|
|
611
|
-
now.epochMilliseconds - profile.profile.userRights.exportStaleTimeoutMinutes * 60 * 1000;
|
|
612
|
-
const startedMs = c.startedAt?.epochMilliseconds ?? Number.MAX_SAFE_INTEGER;
|
|
613
|
-
if (startedMs < cutoffMs) {
|
|
614
|
-
const result = await crud.update(
|
|
615
|
-
{
|
|
616
|
-
id: c.id,
|
|
617
|
-
version: c.version,
|
|
618
|
-
changes: {
|
|
619
|
-
status: EXPORT_JOB_STATUS.Failed,
|
|
620
|
-
completedAt: now,
|
|
621
|
-
errorMessage: "stale: worker crashed mid-run",
|
|
622
|
-
},
|
|
623
|
-
},
|
|
624
|
-
createSystemUser(c.requestedFromTenantId),
|
|
625
|
-
systemTenantDb(db, c.requestedFromTenantId),
|
|
626
|
-
);
|
|
627
|
-
if (result.isSuccess) failed.push(c.id);
|
|
628
|
-
// Race-loss (Worker hat das Job parallel completed) → skip
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
return failed;
|
|
632
|
-
}
|
|
633
|
-
|
|
634
|
-
async function storageCleanupPass(args: {
|
|
635
|
-
db: DbConnection;
|
|
636
|
-
buildStorageProvider: (tenantId: TenantId) => Promise<FileStorageProvider>;
|
|
637
|
-
now: Instant;
|
|
638
|
-
metrics?: MetricsHandle;
|
|
639
|
-
}): Promise<readonly string[]> {
|
|
640
|
-
const { db, buildStorageProvider, now, metrics } = args;
|
|
641
|
-
|
|
642
|
-
// Zwei Cleanup-Pfade:
|
|
643
|
-
//
|
|
644
|
-
// 1. **Done-Jobs** (TTL-expired): expiresAt + grace < now → cleanup.
|
|
645
|
-
// Per-Tenant-Grace aus Profile (default 24h post-expiry damit
|
|
646
|
-
// gleichzeitige Re-Downloads bei Connection-Abbrueche moeglich).
|
|
647
|
-
//
|
|
648
|
-
// 2. **Failed-Jobs mit downloadStorageKey** (Atom 4a.fix orphan-cleanup):
|
|
649
|
-
// Worker hat ZIP geschrieben, dann ist VOR done-flip etwas
|
|
650
|
-
// schiefgegangen (Token-Create-Fail, done-flip-Fail, Stale-
|
|
651
|
-
// Detection mid-write). Job=failed mit gesetztem downloadStorageKey =
|
|
652
|
-
// ZIP-Orphan in Storage, kein User-Pfad zum download.
|
|
653
|
-
//
|
|
654
|
-
// **Strategie failed-Jobs: SOFORTIGE Cleanup ohne Grace.**
|
|
655
|
-
//
|
|
656
|
-
// Trade-off (DSGVO vs Audit-Forensik):
|
|
657
|
-
// - DSGVO: User-Daten-ZIP einer failed-export-Anfrage hat keinen
|
|
658
|
-
// legitimen Aufbewahrungs-Grund — hier ueberwiegt das Recht auf
|
|
659
|
-
// Loeschung
|
|
660
|
-
// - Audit-Forensik: forensische Untersuchung ("was ist im ZIP gelandet,
|
|
661
|
-
// warum failed der Job") wuerde von einer Grace-Periode profitieren —
|
|
662
|
-
// ABER: Token wurde nie ausgegeben (kein User hat das ZIP gesehen),
|
|
663
|
-
// also keine User-Schaden-Forensik. Operator-Audit hat job.errorMessage
|
|
664
|
-
// + Stack-Trace, das reicht
|
|
665
|
-
// → Trade-off zugunsten DSGVO entschieden. Wenn ein Operator forensik
|
|
666
|
-
// braucht, muss er das vor dem Cleanup-Pass capturen (out-of-band).
|
|
667
|
-
//
|
|
668
|
-
// **SQL-Filter:** status IN (done, failed) + downloadStorageKey IS NOT NULL
|
|
669
|
-
// via selectMany (db/queries/export-jobs.ts).
|
|
670
|
-
const candidates = await selectExportJobsForStorageCleanup(
|
|
671
|
-
db,
|
|
672
|
-
EXPORT_JOB_STATUS.Done,
|
|
673
|
-
EXPORT_JOB_STATUS.Failed,
|
|
674
|
-
);
|
|
675
|
-
|
|
676
|
-
const cleaned: string[] = [];
|
|
677
|
-
// Done-status candidates past expiresAt+grace, keyed by that due-instant —
|
|
678
|
-
// used below to report how far cleanup has fallen behind if a candidate
|
|
679
|
-
// is still standing (delete threw, or the version-checked null-out lost
|
|
680
|
-
// a race) once the pass is done. Failed-status jobs have no expiresAt
|
|
681
|
-
// (immediate cleanup, no TTL) so they're out of scope for this signal —
|
|
682
|
-
// see EXPORT_CLEANUP_BACKLOG_AGE_METRIC's r.metric() description.
|
|
683
|
-
const overdueDoneCleanupAfterMs = new Map<string, number>();
|
|
684
|
-
for (const c of candidates) {
|
|
685
|
-
if (!c.downloadStorageKey) continue;
|
|
686
|
-
|
|
687
|
-
// Done-Jobs brauchen expiresAt+grace-Check. Failed-Jobs gehen direkt
|
|
688
|
-
// durch (kein User-Pfad → sofort cleanup).
|
|
689
|
-
if (c.status === EXPORT_JOB_STATUS.Done) {
|
|
690
|
-
if (!c.expiresAt) continue;
|
|
691
|
-
const profile = await resolveProfileForTenant({
|
|
692
|
-
db,
|
|
693
|
-
tenantId: c.requestedFromTenantId,
|
|
694
|
-
});
|
|
695
|
-
const cleanupAfter =
|
|
696
|
-
c.expiresAt.epochMilliseconds +
|
|
697
|
-
profile.profile.userRights.exportStorageCleanupGraceHours * 60 * 60 * 1000;
|
|
698
|
-
if (now.epochMilliseconds < cleanupAfter) continue;
|
|
699
|
-
overdueDoneCleanupAfterMs.set(c.id, cleanupAfter);
|
|
700
|
-
}
|
|
701
|
-
// Failed-Job-Branch: kein TTL-Check, sofort cleanup.
|
|
702
|
-
|
|
703
|
-
// Storage-Datei loeschen + DB-Spalte nullen.
|
|
704
|
-
try {
|
|
705
|
-
const provider = await buildStorageProvider(c.requestedFromTenantId);
|
|
706
|
-
await provider.delete(c.downloadStorageKey);
|
|
707
|
-
} catch {
|
|
708
|
-
// best-effort; wenn Storage-Delete failed, retry beim naechsten Pass
|
|
709
|
-
continue;
|
|
710
|
-
}
|
|
711
|
-
const result = await crud.update(
|
|
712
|
-
{
|
|
713
|
-
id: c.id,
|
|
714
|
-
version: c.version,
|
|
715
|
-
changes: { downloadStorageKey: null },
|
|
716
|
-
},
|
|
717
|
-
createSystemUser(c.requestedFromTenantId),
|
|
718
|
-
systemTenantDb(db, c.requestedFromTenantId),
|
|
719
|
-
);
|
|
720
|
-
if (result.isSuccess) cleaned.push(c.id);
|
|
721
|
-
}
|
|
722
|
-
|
|
723
|
-
reportOldestOverdueAge(metrics, overdueDoneCleanupAfterMs, cleaned, now);
|
|
724
|
-
|
|
725
|
-
return cleaned;
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
// Seconds since the longest-overdue Done-status bundle should have been
|
|
729
|
-
// deleted (expiresAt+grace passed) but still isn't — 0 when the pass
|
|
730
|
-
// cleaned everything that was due, or nothing was due.
|
|
731
|
-
function oldestOverdueAgeSeconds(
|
|
732
|
-
overdueDoneCleanupAfterMs: ReadonlyMap<string, number>,
|
|
733
|
-
cleanedIds: readonly string[],
|
|
734
|
-
now: Instant,
|
|
735
|
-
): number {
|
|
736
|
-
const cleaned = new Set(cleanedIds);
|
|
737
|
-
let oldestAgeSeconds = 0;
|
|
738
|
-
for (const [id, cleanupAfterMs] of overdueDoneCleanupAfterMs) {
|
|
739
|
-
if (cleaned.has(id)) continue;
|
|
740
|
-
const ageSeconds = (now.epochMilliseconds - cleanupAfterMs) / 1000;
|
|
741
|
-
if (ageSeconds > oldestAgeSeconds) oldestAgeSeconds = ageSeconds;
|
|
742
|
-
}
|
|
743
|
-
return oldestAgeSeconds;
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
// Best-effort like the email callbacks above: an observability hiccup
|
|
747
|
-
// (metric not yet registered on this meter, provider misconfig) must not
|
|
748
|
-
// fail a pass that otherwise cleaned up fine.
|
|
749
|
-
function reportOldestOverdueAge(
|
|
750
|
-
metrics: MetricsHandle | undefined,
|
|
751
|
-
overdueDoneCleanupAfterMs: ReadonlyMap<string, number>,
|
|
752
|
-
cleanedIds: readonly string[],
|
|
753
|
-
now: Instant,
|
|
754
|
-
): void {
|
|
755
|
-
// skip: no meter configured means there is nothing to report — the cleanup pass itself already ran to completion.
|
|
756
|
-
if (!metrics) return;
|
|
757
|
-
try {
|
|
758
|
-
metrics.set(
|
|
759
|
-
EXPORT_CLEANUP_BACKLOG_AGE_METRIC,
|
|
760
|
-
oldestOverdueAgeSeconds(overdueDoneCleanupAfterMs, cleanedIds, now),
|
|
761
|
-
);
|
|
762
|
-
} catch (err) {
|
|
763
|
-
// biome-ignore lint/suspicious/noConsole: operator-visibility for observability-emit-failure
|
|
764
|
-
console.warn(
|
|
765
|
-
`[user-data-rights:run-export-jobs] metrics.set(${EXPORT_CLEANUP_BACKLOG_AGE_METRIC}) failed err=${err instanceof Error ? err.message : String(err)}`,
|
|
766
|
-
);
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
// Wrapper: crud.update braucht TenantDb. ExportJob ist tenant-agnostisch
|
|
771
|
-
// (1 Job pro userId), aber der event-store-Stream-Lookup erwartet einen
|
|
772
|
-
// Tenant-Context. system-mode TenantDb bypassed den auto-tenant-filter
|
|
773
|
-
// — wir nutzen `requestedFromTenantId` als Stream-Identity damit der
|
|
774
|
-
// Stream-Counter konsistent bleibt (Memory feedback_event_store_tenant_consistency).
|
|
775
|
-
// @wrapper-known semantic-alias
|
|
776
|
-
function systemTenantDb(db: DbConnection, tenantId: TenantId) {
|
|
777
|
-
return createTenantDb(db, tenantId, "system");
|
|
778
|
-
}
|
|
779
|
-
|
|
780
|
-
function buildExportStorageKey(job: JobRow): string {
|
|
781
|
-
return `${tenantExportPrefix(job.requestedFromTenantId)}${job.id}.zip`;
|
|
782
|
-
}
|
|
783
|
-
|
|
784
|
-
/**
|
|
785
|
-
* Konvertiert das UserExportBundle in eine `AsyncIterable<ZipEntry>`
|
|
786
|
-
* fuer createZipStream.
|
|
787
|
-
*
|
|
788
|
-
* Bundle-Layout (Atom 3c):
|
|
789
|
-
* bundle.json — Top-Level-Bundle-Metadata
|
|
790
|
-
* + tenant-sections + flat
|
|
791
|
-
* fileRefs[] mit zipPath
|
|
792
|
-
* pro Datei
|
|
793
|
-
* files/<tenantId>/<fileRefId>-<name> — File-Binaries, Pfad
|
|
794
|
-
* identisch zu fileRef.zipPath
|
|
795
|
-
* im JSON. Bytes via
|
|
796
|
-
* provider.readStream — kein
|
|
797
|
-
* Memory-Spike, auch grosse
|
|
798
|
-
* PDFs streamen durch.
|
|
799
|
-
*
|
|
800
|
-
* `getProvider` ist ein async-cached Resolver pro tenantId. Caller
|
|
801
|
-
* (processJob) baut die Caching-Map damit jeder Tenant nur EINMAL
|
|
802
|
-
* via `buildStorageProvider` materialisiert wird.
|
|
803
|
-
*/
|
|
804
|
-
async function* bundleToZipEntries(
|
|
805
|
-
bundle: UserExportBundle,
|
|
806
|
-
mtime: Instant,
|
|
807
|
-
getProvider: (tenantId: TenantId) => Promise<FileStorageProvider>,
|
|
808
|
-
): AsyncIterable<ZipEntry> {
|
|
809
|
-
// bundle.json zuerst — Reader-Tools koennen das frueh parsen.
|
|
810
|
-
const bundleJson = JSON.stringify(bundle, null, 2);
|
|
811
|
-
yield {
|
|
812
|
-
path: "bundle.json",
|
|
813
|
-
data: oneShot(new TextEncoder().encode(bundleJson)),
|
|
814
|
-
mtime,
|
|
815
|
-
};
|
|
816
|
-
|
|
817
|
-
// File-Binaries: pro fileRef einen ZIP-Entry. data ist der readStream
|
|
818
|
-
// direkt — der ZIP-Builder konsumiert chunk-fuer-chunk, kein Upfront-
|
|
819
|
-
// Memory-Spike pro File. Bei 50 PDFs à 10MB werden trotzdem max. ~64KB
|
|
820
|
-
// (default highWaterMark) gleichzeitig im Heap gehalten.
|
|
821
|
-
for (const ref of bundle.fileRefs) {
|
|
822
|
-
const provider = await getProvider(ref.tenantId);
|
|
823
|
-
// readStream ist required im FileStorageProvider-Type (Atom 3c.fix
|
|
824
|
-
// Type-Honesty) — kein Runtime-Optional-Check noetig.
|
|
825
|
-
yield {
|
|
826
|
-
path: ref.zipPath,
|
|
827
|
-
data: provider.readStream(ref.storageKey),
|
|
828
|
-
mtime,
|
|
829
|
-
};
|
|
830
|
-
}
|
|
831
|
-
}
|
|
832
|
-
|
|
833
|
-
async function* oneShot(bytes: Uint8Array): AsyncIterable<Uint8Array> {
|
|
834
|
-
yield bytes;
|
|
835
|
-
}
|
|
836
|
-
|
|
837
|
-
/**
|
|
838
|
-
* Wraps an `AsyncIterable<Uint8Array>` und zaehlt total-bytes. Nach
|
|
839
|
-
* `for await` ist `tracker.bytes` der finale Wert. Verwendet fuer
|
|
840
|
-
* bytesWritten im Job-Row.
|
|
841
|
-
*/
|
|
842
|
-
function countingStream(source: AsyncIterable<Uint8Array>): {
|
|
843
|
-
stream: AsyncIterable<Uint8Array>;
|
|
844
|
-
readonly bytes: number;
|
|
845
|
-
} {
|
|
846
|
-
const tracker = { bytes: 0 };
|
|
847
|
-
const stream: AsyncIterable<Uint8Array> = {
|
|
848
|
-
async *[Symbol.asyncIterator]() {
|
|
849
|
-
for await (const chunk of source) {
|
|
850
|
-
tracker.bytes += chunk.byteLength;
|
|
851
|
-
yield chunk;
|
|
852
|
-
}
|
|
853
|
-
},
|
|
854
|
-
};
|
|
855
|
-
return {
|
|
856
|
-
stream,
|
|
857
|
-
get bytes() {
|
|
858
|
-
return tracker.bytes;
|
|
859
|
-
},
|
|
860
|
-
};
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
// Atom 5 — userEmail-Lookup fuer notification-callback.
|
|
864
|
-
//
|
|
865
|
-
// **Direct-DB statt queryAs:** Worker-AppContext hat kein queryAs
|
|
866
|
-
// (anders als HandlerContext im request-Pfad). Pattern matched
|
|
867
|
-
// runUserExport's Cross-Tenant-Iteration die ebenso direkt
|
|
868
|
-
// tenantMembershipsTable liest. Cross-feature-API via dispatcher
|
|
869
|
-
// haette einen JobContext-Wrapper gebraucht den der framework noch
|
|
870
|
-
// nicht hat — wenn das mal kommt, ist der hier Refactor-Kandidat.
|
|
871
|
-
//
|
|
872
|
-
// **tenant-agnostic:** userTable.id ist UNIQUE (PK). Cross-Tenant
|
|
873
|
-
// (Alice in Tenant A+B) hat trotzdem nur 1 user-Row mit ihrer
|
|
874
|
-
// Heim-Tenant als tenantId. Lookup ohne tenantId-filter findet sie
|
|
875
|
-
// aus jedem Worker-Tenant-Context.
|
|
876
|
-
async function lookupUserContact(
|
|
877
|
-
db: DbConnection,
|
|
878
|
-
userId: string,
|
|
879
|
-
): Promise<{ email: string; locale: string | null } | null> {
|
|
880
|
-
// @cast-boundary db-row.
|
|
881
|
-
const row = (await fetchOne(db, userTable, { id: userId })) as {
|
|
882
|
-
email: string | null;
|
|
883
|
-
locale: string | null;
|
|
884
|
-
} | null;
|
|
885
|
-
if (!row?.email) return null;
|
|
886
|
-
const email = await decryptStoredPii(row.email, "email", "user-data-rights:export-ready");
|
|
887
|
-
if (email === PII_ERASED_SENTINEL) return null;
|
|
888
|
-
return { email, locale: row.locale ?? null };
|
|
889
|
-
}
|
|
890
|
-
|
|
891
|
-
// Atom 5 — Email-Notification beim done-flip. Best-effort:
|
|
892
|
-
// Throw vom Callback bubbelt zum r.job-handler hoch + Worker-Run wird
|
|
893
|
-
// als failed in jobRunsTable gemerkt. Operator kann via jobs:write:retry
|
|
894
|
-
// den Worker-Run erneut anstossen — der Job selbst bleibt done, das
|
|
895
|
-
// retry findet keinen pending-Job mehr aber die Audit-Log zeigt den
|
|
896
|
-
// Failure.
|
|
897
|
-
async function fireExportReadyCallback(args: {
|
|
898
|
-
readonly db: DbConnection;
|
|
899
|
-
readonly job: JobRow;
|
|
900
|
-
readonly plainToken: string;
|
|
901
|
-
readonly expiresAt: Instant;
|
|
902
|
-
readonly bytesWritten: number;
|
|
903
|
-
readonly appExportDownloadUrl: string | undefined;
|
|
904
|
-
readonly send: SendExportReadyEmailFn;
|
|
905
|
-
}): Promise<void> {
|
|
906
|
-
const contact = await lookupUserContact(args.db, args.job.userId);
|
|
907
|
-
if (!contact) {
|
|
908
|
-
// User-Row fehlt (z.B. forget-Pfad mid-export). Skip-Notification mit
|
|
909
|
-
// Operator-Alert via job-run-Log statt Throw — Job bleibt done, User
|
|
910
|
-
// hat ja seinen Token via export-status.query erreichbar (UI-Pfad).
|
|
911
|
-
// **console.warn statt ctx.log:** runExportJobs-args fuehren AppContext.log
|
|
912
|
-
// aktuell nicht durch (Worker-pure-function-Pattern). console.warn ist
|
|
913
|
-
// die einzige Operator-Sichtbarkeit fuer den missing-user-edge-case.
|
|
914
|
-
// Wenn jobs-Feature spaeter ctx.log threadet oder Worker-args erweitert
|
|
915
|
-
// werden, hier Refactor-Kandidat.
|
|
916
|
-
// biome-ignore lint/suspicious/noConsole: operator-visibility for missing-user edge-case
|
|
917
|
-
console.warn(
|
|
918
|
-
`[user-data-rights:run-export-jobs] userId=${args.job.userId} hat kein userEmail — sendExportReadyEmail skipped`,
|
|
919
|
-
);
|
|
920
|
-
// skip: missing user-email row; console.warn above provides operator visibility
|
|
921
|
-
return;
|
|
922
|
-
}
|
|
923
|
-
const baseUrl = args.appExportDownloadUrl;
|
|
924
|
-
if (!baseUrl) {
|
|
925
|
-
throw new Error(
|
|
926
|
-
"user-data-rights: sendExportReadyEmail gesetzt aber appExportDownloadUrl fehlt — beide muessen zusammen konfiguriert sein",
|
|
927
|
-
);
|
|
928
|
-
}
|
|
929
|
-
const downloadUrl = `${baseUrl}#token=${encodeURIComponent(args.plainToken)}`;
|
|
930
|
-
await args.send({
|
|
931
|
-
userId: args.job.userId,
|
|
932
|
-
userEmail: contact.email,
|
|
933
|
-
userLocale: contact.locale,
|
|
934
|
-
tenantId: args.job.requestedFromTenantId,
|
|
935
|
-
jobId: args.job.id,
|
|
936
|
-
downloadUrl,
|
|
937
|
-
expiresAt: args.expiresAt.toString(),
|
|
938
|
-
bytesWritten: args.bytesWritten,
|
|
939
|
-
});
|
|
940
|
-
}
|
|
941
|
-
|
|
942
|
-
// Atom 5 — Email-Notification beim failed-flip.
|
|
943
|
-
async function fireExportFailedCallback(args: {
|
|
944
|
-
readonly db: DbConnection;
|
|
945
|
-
readonly job: JobRow;
|
|
946
|
-
readonly errorMessage: string;
|
|
947
|
-
readonly send: SendExportFailedEmailFn;
|
|
948
|
-
}): Promise<void> {
|
|
949
|
-
const contact = await lookupUserContact(args.db, args.job.userId);
|
|
950
|
-
if (!contact) {
|
|
951
|
-
// biome-ignore lint/suspicious/noConsole: operator-visibility
|
|
952
|
-
console.warn(
|
|
953
|
-
`[user-data-rights:run-export-jobs] userId=${args.job.userId} hat kein userEmail — sendExportFailedEmail skipped`,
|
|
954
|
-
);
|
|
955
|
-
// skip: missing user-email row; console.warn above provides operator visibility
|
|
956
|
-
return;
|
|
957
|
-
}
|
|
958
|
-
await args.send({
|
|
959
|
-
userId: args.job.userId,
|
|
960
|
-
userEmail: contact.email,
|
|
961
|
-
userLocale: contact.locale,
|
|
962
|
-
tenantId: args.job.requestedFromTenantId,
|
|
963
|
-
jobId: args.job.id,
|
|
964
|
-
errorMessage: args.errorMessage,
|
|
965
|
-
});
|
|
966
|
-
}
|