@cosmicdrift/kumiko-bundled-features 0.368.0 → 0.370.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/account-security/constants.d.ts +4 -0
- package/dist/account-security/constants.js +5 -0
- package/dist/account-security/feature.d.ts +14 -0
- package/dist/account-security/feature.js +62 -0
- package/dist/account-security/i18n.d.ts +6 -0
- package/dist/account-security/i18n.js +6 -0
- package/dist/account-security/index.d.ts +3 -0
- package/dist/account-security/index.js +3 -0
- package/dist/admin-shell/feature.d.ts +1 -1
- package/dist/admin-shell/index.d.ts +4 -4
- package/dist/admin-shell/overview-panels.d.ts +1 -1
- package/dist/admin-shell/web/index.d.ts +1 -1
- package/dist/agent-tools/agent-manifest.d.ts +1 -1
- package/dist/agent-tools/index.d.ts +8 -8
- package/dist/agent-tools/manifest-deny-qns.d.ts +1 -1
- package/dist/agent-tools/tool-catalog.d.ts +1 -1
- package/dist/agent-tools/tool-dispatch.d.ts +1 -1
- package/dist/audit/handlers/resolve-audit-tenant.d.ts +1 -1
- package/dist/audit/index.d.ts +3 -3
- package/dist/audit/web/index.d.ts +1 -1
- package/dist/auth-email-password/bootstrap.d.ts +1 -1
- package/dist/auth-email-password/feature.d.ts +7 -6
- package/dist/auth-email-password/feature.js +3 -1
- package/dist/auth-email-password/handlers/confirm-token-flow.d.ts +1 -1
- package/dist/auth-email-password/handlers/invite-accept-with-login.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/invite-create.write.d.ts +2 -2
- package/dist/auth-email-password/handlers/invite-signup-complete.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/login.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/request-account-unlock.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/request-email-verification.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/request-password-reset.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/signup-confirm.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/signup-request.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/switch-tenant-mfa-gate.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/token-request-handler.d.ts +2 -2
- package/dist/auth-email-password/index.d.ts +13 -13
- package/dist/auth-email-password/lockout-store.d.ts +1 -1
- package/dist/auth-email-password/magic-link-mail.d.ts +1 -1
- package/dist/auth-email-password/seeding.d.ts +3 -3
- package/dist/auth-email-password/signed-token.d.ts +1 -1
- package/dist/auth-email-password/signup-token-store.d.ts +1 -1
- package/dist/auth-email-password/testing.d.ts +1 -1
- package/dist/auth-email-password/web/auth-gate.d.ts +1 -1
- package/dist/auth-email-password/web/client-plugin.d.ts +2 -2
- package/dist/auth-email-password/web/index.d.ts +42 -42
- package/dist/auth-email-password/web/session-bootstrap-error.d.ts +1 -1
- package/dist/auth-email-password/web/session.d.ts +1 -1
- package/dist/auth-email-password/web/signup-complete-screen.d.ts +1 -1
- package/dist/auth-foundation/feature.d.ts +2 -6
- package/dist/auth-foundation/feature.js +0 -2
- package/dist/auth-foundation/index.d.ts +3 -3
- package/dist/auth-foundation/index.js +1 -1
- package/dist/auth-foundation/resolve-anonymous-access.d.ts +1 -1
- package/dist/auth-mfa/env.d.ts +13 -0
- package/dist/auth-mfa/env.js +24 -0
- package/dist/auth-mfa/errors.d.ts +1 -1
- package/dist/auth-mfa/feature-exports.d.ts +12 -0
- package/dist/auth-mfa/feature-exports.js +72 -0
- package/dist/auth-mfa/feature.d.ts +6 -12
- package/dist/auth-mfa/feature.js +53 -70
- package/dist/auth-mfa/handlers/reencrypt.job.d.ts +1 -1
- package/dist/auth-mfa/index.d.ts +12 -9
- package/dist/auth-mfa/index.js +4 -2
- package/dist/auth-mfa/mfa-challenge-token.d.ts +1 -1
- package/dist/auth-mfa/mfa-preauth-setup-token.d.ts +1 -1
- package/dist/auth-mfa/mfa-status-checker.d.ts +1 -1
- package/dist/auth-mfa/mfa-verify-attempts.d.ts +1 -1
- package/dist/auth-mfa/testing.d.ts +1 -1
- package/dist/auth-mfa/token-secrets.d.ts +7 -0
- package/dist/auth-mfa/token-secrets.js +13 -0
- package/dist/auth-mfa/verify-factor.d.ts +1 -1
- package/dist/auth-mfa/web/index.d.ts +15 -15
- package/dist/auth-mfa/web/mfa-client.d.ts +1 -1
- package/dist/auth-mfa-user-data/index.d.ts +0 -4
- package/dist/auth-mfa-user-data/index.js +0 -2
- package/dist/billing-foundation/checkout-core.d.ts +2 -2
- package/dist/billing-foundation/consumer-protection/confirmation-mail.d.ts +2 -2
- package/dist/billing-foundation/consumer-protection/consent-gate.d.ts +1 -1
- package/dist/billing-foundation/consumer-protection/consent-text.d.ts +2 -2
- package/dist/billing-foundation/consumer-protection/issue-confirmation.d.ts +1 -1
- package/dist/billing-foundation/consumer-protection/register-consent.d.ts +1 -1
- package/dist/billing-foundation/consumer-protection/register-termination.d.ts +1 -1
- package/dist/billing-foundation/consumer-protection/termination-mail.d.ts +3 -3
- package/dist/billing-foundation/consumer-protection/termination-notify.d.ts +5 -5
- package/dist/billing-foundation/consumer-protection/termination-pages.d.ts +2 -2
- package/dist/billing-foundation/consumer-protection/termination-record.d.ts +3 -3
- package/dist/billing-foundation/consumer-protection/termination-request.d.ts +2 -2
- package/dist/billing-foundation/consumer-protection/termination-texts.d.ts +2 -2
- package/dist/billing-foundation/feature.d.ts +1 -3
- package/dist/billing-foundation/feature.js +0 -2
- package/dist/billing-foundation/handlers/billing-plans.query.d.ts +1 -1
- package/dist/billing-foundation/handlers/create-checkout-session.write.d.ts +1 -1
- package/dist/billing-foundation/handlers/create-portal-session.write.d.ts +1 -1
- package/dist/billing-foundation/handlers/start-plan-checkout.write.d.ts +1 -1
- package/dist/billing-foundation/handlers/switch-plan.write.d.ts +1 -1
- package/dist/billing-foundation/index.d.ts +16 -16
- package/dist/billing-foundation/index.js +1 -1
- package/dist/billing-foundation/plan-catalog.d.ts +1 -1
- package/dist/billing-foundation/subscription-tier-sync.d.ts +3 -1
- package/dist/billing-foundation/subscription-tier-sync.js +3 -2
- package/dist/billing-foundation/types.d.ts +3 -3
- package/dist/billing-foundation/validate-options.d.ts +1 -1
- package/dist/billing-foundation/web/checkout-consent-dialog.d.ts +1 -1
- package/dist/billing-foundation/web/index.d.ts +6 -6
- package/dist/cap-counter/calendar-cap-usage-reservation.d.ts +4 -4
- package/dist/cap-counter/cap-reservation.d.ts +1 -1
- package/dist/cap-counter/enforce-cap.d.ts +1 -1
- package/dist/cap-counter/feature.d.ts +0 -4
- package/dist/cap-counter/feature.js +0 -2
- package/dist/cap-counter/index.d.ts +13 -13
- package/dist/cap-counter/index.js +1 -1
- package/dist/cap-counter/value-cap-guard.d.ts +1 -1
- package/dist/cap-counter/with-cap-enforcement.d.ts +1 -1
- package/dist/cap-overview/feature.d.ts +1 -1
- package/dist/cap-overview/handlers/caps-usage.query.d.ts +1 -1
- package/dist/cap-overview/handlers/tenant-caps-list.query.d.ts +1 -1
- package/dist/cap-overview/index.d.ts +6 -6
- package/dist/cap-overview/screens.d.ts +1 -1
- package/dist/cap-overview/types.d.ts +1 -1
- package/dist/cap-overview/usage-math.d.ts +1 -1
- package/dist/cap-overview/web/cap-usage-bar.d.ts +1 -1
- package/dist/cap-overview/web/index.d.ts +4 -4
- package/dist/channel-discord/discord-channel.d.ts +1 -1
- package/dist/channel-discord/feature.d.ts +1 -1
- package/dist/channel-discord/index.d.ts +2 -2
- package/dist/channel-email/email-channel.d.ts +15 -7
- package/dist/channel-email/email-channel.js +17 -3
- package/dist/channel-email/env.d.ts +14 -0
- package/dist/channel-email/env.js +27 -0
- package/dist/channel-email/feature.d.ts +14 -3
- package/dist/channel-email/feature.js +6 -2
- package/dist/channel-email/index.d.ts +6 -5
- package/dist/channel-email/index.js +2 -1
- package/dist/channel-email/pii-guard.d.ts +1 -1
- package/dist/channel-email/smtp-transport.d.ts +1 -1
- package/dist/channel-email/types.d.ts +1 -1
- package/dist/channel-in-app/in-app-channel.d.ts +1 -1
- package/dist/channel-in-app/index.d.ts +4 -4
- package/dist/channel-push/feature.d.ts +1 -1
- package/dist/channel-push/index.d.ts +3 -3
- package/dist/channel-push/push-channel.d.ts +2 -2
- package/dist/channel-slack/feature.d.ts +1 -1
- package/dist/channel-slack/index.d.ts +2 -2
- package/dist/channel-slack/slack-channel.d.ts +1 -1
- package/dist/channel-teams/feature.d.ts +1 -1
- package/dist/channel-teams/index.d.ts +2 -2
- package/dist/channel-teams/teams-channel.d.ts +1 -1
- package/dist/channel-telegram/feature.d.ts +1 -1
- package/dist/channel-telegram/index.d.ts +2 -2
- package/dist/channel-telegram/telegram-channel.d.ts +1 -1
- package/dist/compliance-profiles/feature.d.ts +1 -1
- package/dist/compliance-profiles/index.d.ts +3 -3
- package/dist/compliance-profiles/web/index.d.ts +2 -2
- package/dist/compliance-profiles-ops/index.d.ts +0 -8
- package/dist/compliance-profiles-ops/index.js +0 -2
- package/dist/config/feature.d.ts +1 -1
- package/dist/config/handlers/reencrypt.job.d.ts +1 -1
- package/dist/config/index.d.ts +8 -8
- package/dist/config/web/client-plugin.d.ts +1 -1
- package/dist/config/web/i18n.js +1 -2
- package/dist/config/web/index.d.ts +2 -2
- package/dist/crypto-shredding/env/index.d.ts +21 -0
- package/dist/crypto-shredding/env/index.js +78 -0
- package/dist/crypto-shredding/feature.d.ts +17 -2
- package/dist/crypto-shredding/feature.js +5 -1
- package/dist/crypto-shredding/index.d.ts +4 -3
- package/dist/crypto-shredding/index.js +1 -0
- package/dist/custom-fields/feature.d.ts +0 -17
- package/dist/custom-fields/feature.js +0 -2
- package/dist/custom-fields/index.d.ts +10 -10
- package/dist/custom-fields/index.js +1 -1
- package/dist/custom-fields/lib/define-or-resurrect.d.ts +2 -2
- package/dist/custom-fields/lib/field-access.d.ts +1 -1
- package/dist/custom-fields/lib/field-definition-row.d.ts +1 -1
- package/dist/custom-fields/lib/quota.d.ts +1 -1
- package/dist/custom-fields/web/index.d.ts +3 -3
- package/dist/data-retention/_internal/parse-override.d.ts +1 -1
- package/dist/data-retention/feature.d.ts +7 -7
- package/dist/data-retention/handlers/policy-for.query.d.ts +1 -1
- package/dist/data-retention/index.d.ts +3 -3
- package/dist/data-retention/resolve-for-tenant.d.ts +2 -2
- package/dist/data-retention/resolve-tenant-preset.d.ts +1 -1
- package/dist/data-retention/resolver.d.ts +1 -1
- package/dist/data-retention/run-retention-cleanup.d.ts +2 -2
- package/dist/delivery/attachment-ref.d.ts +1 -1
- package/dist/delivery/attempt-log.d.ts +1 -1
- package/dist/delivery/channel-context.d.ts +2 -2
- package/dist/delivery/chat-webhook-channel.d.ts +2 -2
- package/dist/delivery/constants.d.ts +1 -1
- package/dist/delivery/delivery-service.d.ts +2 -2
- package/dist/delivery/feature.js +3 -1
- package/dist/delivery/handlers/log.query.d.ts +1 -1
- package/dist/delivery/handlers/unsubscribe-page-chrome.query.d.ts +5 -0
- package/dist/delivery/handlers/unsubscribe-page-chrome.query.js +44 -0
- package/dist/delivery/index.d.ts +20 -19
- package/dist/delivery/index.js +3 -2
- package/dist/delivery/notify-factory.d.ts +1 -1
- package/dist/delivery/public-names.d.ts +1 -0
- package/dist/delivery/public-names.js +1 -0
- package/dist/delivery/testing.d.ts +3 -3
- package/dist/delivery/types.d.ts +3 -3
- package/dist/delivery/unsubscribe-link.d.ts +1 -1
- package/dist/delivery/unsubscribe-page-strings.d.ts +4 -0
- package/dist/delivery/unsubscribe-page-strings.js +4 -0
- package/dist/delivery/unsubscribe-page.d.ts +27 -0
- package/dist/delivery/unsubscribe-page.js +192 -0
- package/dist/delivery/unsubscribe.d.ts +22 -1
- package/dist/delivery/unsubscribe.js +152 -65
- package/dist/delivery/web/index.d.ts +2 -2
- package/dist/derivatives-sharp/feature.d.ts +0 -4
- package/dist/derivatives-sharp/feature.js +0 -2
- package/dist/derivatives-sharp/index.d.ts +2 -2
- package/dist/derivatives-sharp/index.js +1 -1
- package/dist/document-ingest-foundation/feature.d.ts +0 -7
- package/dist/document-ingest-foundation/feature.js +0 -2
- package/dist/document-ingest-foundation/index.d.ts +7 -7
- package/dist/document-ingest-foundation/index.js +1 -1
- package/dist/document-ingest-foundation/pages.d.ts +1 -1
- package/dist/document-ingest-foundation/providers.d.ts +1 -1
- package/dist/document-ingest-foundation/write-document-extract.d.ts +1 -1
- package/dist/feature-toggles/compose-tier-resolver.d.ts +1 -1
- package/dist/feature-toggles/feature.d.ts +5 -5
- package/dist/feature-toggles/handlers/set.write.d.ts +1 -1
- package/dist/feature-toggles/index.d.ts +3 -3
- package/dist/feature-toggles/toggle-sync-signal.d.ts +1 -1
- package/dist/feature-toggles/web/index.d.ts +1 -1
- package/dist/file-derivatives/feature.d.ts +0 -2
- package/dist/file-derivatives/feature.js +0 -2
- package/dist/file-derivatives/index.d.ts +4 -4
- package/dist/file-derivatives/index.js +1 -1
- package/dist/file-foundation/feature.d.ts +0 -6
- package/dist/file-foundation/feature.js +0 -2
- package/dist/file-foundation/index.d.ts +2 -2
- package/dist/file-foundation/index.js +1 -1
- package/dist/file-provider-inmemory/feature.d.ts +0 -4
- package/dist/file-provider-inmemory/feature.js +0 -2
- package/dist/file-provider-inmemory/index.d.ts +1 -1
- package/dist/file-provider-inmemory/index.js +1 -1
- package/dist/file-provider-s3/env-feature.d.ts +12 -2
- package/dist/file-provider-s3/env-feature.js +9 -6
- package/dist/file-provider-s3/env-schema.d.ts +38 -0
- package/dist/file-provider-s3/env-schema.js +51 -0
- package/dist/file-provider-s3/feature.d.ts +1 -14
- package/dist/file-provider-s3/feature.js +0 -2
- package/dist/file-provider-s3/index.d.ts +2 -1
- package/dist/file-provider-s3/index.js +2 -1
- package/dist/file-provider-s3/lib/env-helper.d.ts +1 -1
- package/dist/file-provider-s3/lib/index.d.ts +3 -3
- package/dist/files/index.d.ts +1 -1
- package/dist/files-tenant-data/index.d.ts +2 -2
- package/dist/folders/feature.d.ts +0 -4
- package/dist/folders/feature.js +0 -2
- package/dist/folders/index.d.ts +7 -7
- package/dist/folders/index.js +1 -1
- package/dist/folders/web/folder-manager.d.ts +1 -1
- package/dist/folders/web/index.d.ts +5 -5
- package/dist/folders-user-data/index.d.ts +0 -4
- package/dist/folders-user-data/index.js +0 -2
- package/dist/form-draft/db/queries/cleanup.d.ts +1 -1
- package/dist/form-draft/feature.d.ts +0 -4
- package/dist/form-draft/feature.js +0 -2
- package/dist/form-draft/handlers/cleanup.job.d.ts +1 -1
- package/dist/form-draft/handlers/get.query.d.ts +1 -1
- package/dist/form-draft/index.d.ts +10 -10
- package/dist/form-draft/index.js +1 -1
- package/dist/form-draft/lookup.d.ts +1 -1
- package/dist/form-draft/release-file-refs.d.ts +1 -1
- package/dist/form-draft-user-data/index.d.ts +0 -4
- package/dist/form-draft-user-data/index.js +0 -2
- package/dist/foundation-shared/build-info-env.d.ts +7 -0
- package/dist/foundation-shared/build-info-env.js +15 -0
- package/dist/foundation-shared/demo-admin-env.d.ts +12 -0
- package/dist/foundation-shared/demo-admin-env.js +21 -0
- package/dist/foundation-shared/index.d.ts +5 -3
- package/dist/foundation-shared/index.js +2 -0
- package/dist/host-routing/constants.d.ts +8 -0
- package/dist/host-routing/constants.js +19 -0
- package/dist/host-routing/dispatch.d.ts +24 -0
- package/dist/host-routing/dispatch.js +102 -0
- package/dist/host-routing/feature.d.ts +3 -0
- package/dist/host-routing/feature.js +102 -0
- package/dist/host-routing/host.d.ts +14 -0
- package/dist/host-routing/host.js +37 -0
- package/dist/host-routing/index.d.ts +5 -0
- package/dist/host-routing/index.js +4 -0
- package/dist/host-routing/options.d.ts +27 -0
- package/dist/host-routing/options.js +1 -0
- package/dist/host-routing/validate-options.d.ts +2 -0
- package/dist/host-routing/validate-options.js +29 -0
- package/dist/inbound-mail-foundation/connect-routes.d.ts +2 -2
- package/dist/inbound-mail-foundation/feature.d.ts +0 -4
- package/dist/inbound-mail-foundation/feature.js +0 -2
- package/dist/inbound-mail-foundation/handlers/account-state.d.ts +1 -1
- package/dist/inbound-mail-foundation/index.d.ts +12 -12
- package/dist/inbound-mail-foundation/index.js +1 -1
- package/dist/inbound-mail-foundation/oauth-access-token.d.ts +1 -1
- package/dist/inbound-mail-foundation/provider-factory.d.ts +1 -1
- package/dist/inbound-mail-foundation/types.d.ts +1 -1
- package/dist/inbound-mail-foundation/watch-supervisor.d.ts +2 -2
- package/dist/inbound-provider-imap/feature.d.ts +1 -5
- package/dist/inbound-provider-imap/feature.js +0 -2
- package/dist/inbound-provider-imap/imap-client.d.ts +1 -1
- package/dist/inbound-provider-imap/index.d.ts +3 -3
- package/dist/inbound-provider-imap/index.js +1 -1
- package/dist/inbound-provider-inmemory/feature.d.ts +0 -4
- package/dist/inbound-provider-inmemory/feature.js +0 -2
- package/dist/inbound-provider-inmemory/index.d.ts +1 -1
- package/dist/inbound-provider-inmemory/index.js +1 -1
- package/dist/jobs/handlers/tenant-runs.query.d.ts +1 -1
- package/dist/jobs/index.d.ts +9 -9
- package/dist/jobs/web/index.d.ts +1 -1
- package/dist/ledger/feature.d.ts +0 -4
- package/dist/ledger/feature.js +0 -2
- package/dist/ledger/index.d.ts +10 -10
- package/dist/ledger/index.js +1 -1
- package/dist/ledger/recurring.d.ts +2 -2
- package/dist/ledger/reports.d.ts +2 -2
- package/dist/ledger/web/index.d.ts +3 -3
- package/dist/legal-pages/constants.d.ts +12 -0
- package/dist/legal-pages/constants.js +16 -0
- package/dist/legal-pages/feature.d.ts +6 -3
- package/dist/legal-pages/feature.js +5 -2
- package/dist/legal-pages/index.d.ts +5 -3
- package/dist/legal-pages/index.js +3 -1
- package/dist/legal-pages/layout.d.ts +10 -0
- package/dist/legal-pages/layout.js +32 -0
- package/dist/legal-pages/lib/boot-check.d.ts +1 -1
- package/dist/legal-pages/lib/validate-routes.d.ts +1 -1
- package/dist/legal-pages/markdown.d.ts +2 -2
- package/dist/legal-pages/seed.d.ts +12 -0
- package/dist/legal-pages/seed.js +38 -0
- package/dist/legal-pages/web/index.d.ts +1 -1
- package/dist/mail-foundation/feature.d.ts +4 -7
- package/dist/mail-foundation/feature.js +16 -14
- package/dist/mail-foundation/i18n.d.ts +14 -0
- package/dist/mail-foundation/i18n.js +8 -0
- package/dist/mail-foundation/index.d.ts +1 -1
- package/dist/mail-foundation/index.js +1 -1
- package/dist/mail-transport-inmemory/feature.d.ts +0 -4
- package/dist/mail-transport-inmemory/feature.js +6 -2
- package/dist/mail-transport-inmemory/index.d.ts +1 -1
- package/dist/mail-transport-inmemory/index.js +1 -1
- package/dist/mail-transport-smtp/config-keys.d.ts +7 -0
- package/dist/mail-transport-smtp/config-keys.js +65 -0
- package/dist/mail-transport-smtp/feature.d.ts +0 -16
- package/dist/mail-transport-smtp/feature.js +5 -35
- package/dist/mail-transport-smtp/i18n.d.ts +41 -0
- package/dist/mail-transport-smtp/i18n.js +28 -0
- package/dist/mail-transport-smtp/index.d.ts +1 -1
- package/dist/mail-transport-smtp/index.js +1 -1
- package/dist/managed-pages/branding.d.ts +1 -1
- package/dist/managed-pages/feature.d.ts +1 -1
- package/dist/managed-pages/handlers/branding.query.d.ts +1 -1
- package/dist/managed-pages/index.d.ts +5 -5
- package/dist/managed-pages/web/index.d.ts +2 -2
- package/dist/metrics/compute.d.ts +2 -2
- package/dist/metrics/default-metrics.d.ts +9 -9
- package/dist/metrics/feature.d.ts +1 -1
- package/dist/metrics/filters.d.ts +1 -1
- package/dist/metrics/index.d.ts +5 -5
- package/dist/metrics/types.d.ts +1 -1
- package/dist/metrics/validate.d.ts +1 -1
- package/dist/metrics/window.d.ts +2 -2
- package/dist/notes-history/feature.d.ts +0 -4
- package/dist/notes-history/feature.js +0 -2
- package/dist/notes-history/handlers/add-note.write.d.ts +1 -1
- package/dist/notes-history/index.d.ts +6 -6
- package/dist/notes-history/index.js +1 -1
- package/dist/notes-history/web/index.d.ts +3 -3
- package/dist/notes-history-user-data/index.d.ts +1 -5
- package/dist/notes-history-user-data/index.js +0 -2
- package/dist/page-render/index.d.ts +7 -7
- package/dist/page-render/layout.d.ts +1 -1
- package/dist/page-render/web.d.ts +5 -5
- package/dist/personal-access-tokens/feature.d.ts +3 -3
- package/dist/personal-access-tokens/handlers/available-scopes.query.d.ts +1 -1
- package/dist/personal-access-tokens/i18n.d.ts +1 -1
- package/dist/personal-access-tokens/index.d.ts +13 -13
- package/dist/personal-access-tokens/resolver.d.ts +1 -1
- package/dist/personal-access-tokens/screens.d.ts +1 -1
- package/dist/presets/dsgvo-self-service.d.ts +3 -1
- package/dist/presets/dsgvo-self-service.js +2 -0
- package/dist/presets/index.d.ts +2 -2
- package/dist/presets/security-baseline.d.ts +2 -0
- package/dist/presets/security-baseline.js +2 -0
- package/dist/rate-limiting/index.d.ts +2 -2
- package/dist/readiness/feature.d.ts +0 -8
- package/dist/readiness/feature.js +0 -2
- package/dist/readiness/index.d.ts +3 -3
- package/dist/readiness/index.js +1 -1
- package/dist/renderer-foundation/api.d.ts +2 -2
- package/dist/renderer-foundation/constants.d.ts +2 -2
- package/dist/renderer-foundation/feature.d.ts +1 -1
- package/dist/renderer-foundation/index.d.ts +5 -5
- package/dist/renderer-foundation/types.d.ts +24 -2
- package/dist/renderer-pdf/feature.d.ts +1 -1
- package/dist/renderer-pdf/index.d.ts +2 -2
- package/dist/renderer-pdf/render-table-pdf.d.ts +1 -1
- package/dist/secrets/constants.d.ts +7 -0
- package/dist/secrets/constants.js +7 -0
- package/dist/secrets/db/queries/read.d.ts +1 -1
- package/dist/secrets/feature.d.ts +5 -3
- package/dist/secrets/feature.js +19 -5
- package/dist/secrets/handlers/delete.write.js +4 -3
- package/dist/secrets/handlers/rotate.job.d.ts +1 -1
- package/dist/secrets/handlers/set.write.js +4 -3
- package/dist/secrets/index.d.ts +7 -7
- package/dist/secrets/index.js +1 -1
- package/dist/secrets/secrets-context.d.ts +1 -1
- package/dist/seo/feature.d.ts +3 -3
- package/dist/seo/index.d.ts +6 -6
- package/dist/sessions/feature.d.ts +1 -1
- package/dist/sessions/index.d.ts +8 -8
- package/dist/sessions/session-callbacks.d.ts +1 -1
- package/dist/sessions/testing.d.ts +1 -1
- package/dist/shared/index.d.ts +31 -31
- package/dist/step-dispatcher/dispatch-payload.d.ts +2 -2
- package/dist/step-dispatcher/index.d.ts +3 -3
- package/dist/subscription-mollie/feature.d.ts +2 -2
- package/dist/subscription-mollie/index.d.ts +3 -3
- package/dist/subscription-mollie/verify-webhook.d.ts +1 -1
- package/dist/subscription-stripe/feature.d.ts +17 -1
- package/dist/subscription-stripe/feature.js +19 -1
- package/dist/subscription-stripe/index.d.ts +2 -2
- package/dist/subscription-stripe/index.js +1 -1
- package/dist/subscription-stripe/plugin-methods.d.ts +1 -1
- package/dist/subscription-stripe/verify-webhook.d.ts +1 -1
- package/dist/tags/feature.d.ts +0 -4
- package/dist/tags/feature.js +0 -2
- package/dist/tags/handlers/assign-tag.write.d.ts +1 -1
- package/dist/tags/handlers/remove-tag.write.d.ts +1 -1
- package/dist/tags/index.d.ts +11 -11
- package/dist/tags/index.js +1 -1
- package/dist/tags/web/index.d.ts +9 -9
- package/dist/template-resolver/api.d.ts +4 -4
- package/dist/template-resolver/constants.d.ts +1 -2
- package/dist/template-resolver/constants.js +0 -1
- package/dist/template-resolver/document-sanitizer.d.ts +1 -1
- package/dist/template-resolver/handlers/bundle-import.d.ts +3 -3
- package/dist/template-resolver/handlers/collection-shared.d.ts +2 -2
- package/dist/template-resolver/handlers/copy-locale.write.d.ts +1 -1
- package/dist/template-resolver/handlers/diff-to-system.query.d.ts +1 -1
- package/dist/template-resolver/handlers/find-by-id.query.d.ts +1 -1
- package/dist/template-resolver/handlers/import-bundle-system.write.d.ts +1 -1
- package/dist/template-resolver/handlers/import-bundle.write.d.ts +1 -1
- package/dist/template-resolver/handlers/layout-source.query.d.ts +3 -3
- package/dist/template-resolver/handlers/override-diff.d.ts +2 -2
- package/dist/template-resolver/handlers/overview.query.d.ts +3 -3
- package/dist/template-resolver/handlers/preview.query.d.ts +1 -1
- package/dist/template-resolver/handlers/resource-link-pdf.write.d.ts +1 -1
- package/dist/template-resolver/handlers/resource-upload.write.d.ts +1 -1
- package/dist/template-resolver/handlers/send-test.write.d.ts +1 -1
- package/dist/template-resolver/handlers/send-test.write.js +4 -2
- package/dist/template-resolver/handlers/shared.d.ts +1 -1
- package/dist/template-resolver/handlers/template-gates.d.ts +4 -4
- package/dist/template-resolver/handlers/template-write.d.ts +4 -4
- package/dist/template-resolver/handlers/tenant-overrides.query.d.ts +1 -1
- package/dist/template-resolver/handlers/toggle-status.write.d.ts +1 -1
- package/dist/template-resolver/handlers/upsert-system.write.d.ts +1 -1
- package/dist/template-resolver/handlers/upsert-tenant.write.d.ts +1 -1
- package/dist/template-resolver/handlers/usage.query.d.ts +1 -1
- package/dist/template-resolver/handlers/validate.query.d.ts +3 -3
- package/dist/template-resolver/index.d.ts +25 -25
- package/dist/template-resolver/layout-appearance.d.ts +1 -1
- package/dist/template-resolver/layout-regions.d.ts +2 -2
- package/dist/template-resolver/linked-resources.d.ts +1 -1
- package/dist/template-resolver/preview-display-html.d.ts +1 -1
- package/dist/template-resolver/resource-image.d.ts +1 -1
- package/dist/template-resolver/seeding.d.ts +2 -2
- package/dist/template-resolver/store-template-resource.d.ts +1 -1
- package/dist/template-resolver/template-draft.d.ts +2 -2
- package/dist/template-resolver/template-meta.d.ts +2 -2
- package/dist/template-resolver/template-preview.d.ts +7 -6
- package/dist/template-resolver/template-preview.js +19 -12
- package/dist/template-resolver/template-resources.d.ts +1 -1
- package/dist/template-resolver/template-usage.d.ts +3 -1
- package/dist/template-resolver/template-usage.js +1 -0
- package/dist/template-resolver/template-validation.d.ts +1 -1
- package/dist/template-resolver/testing.d.ts +1 -1
- package/dist/template-resolver/user-content-table.d.ts +1 -1
- package/dist/template-resolver/web/document-editor-extensions.d.ts +1 -1
- package/dist/template-resolver/web/document-editor-extensions.js +6 -2
- package/dist/template-resolver/web/document-editor.d.ts +1 -1
- package/dist/template-resolver/web/document-tiptap-editor.d.ts +1 -1
- package/dist/template-resolver/web/document-tiptap-editor.js +13 -10
- package/dist/template-resolver/web/editor-handle.d.ts +1 -1
- package/dist/template-resolver/web/index.d.ts +7 -7
- package/dist/template-resolver/web/placeholder-line-editor-lazy.d.ts +2 -2
- package/dist/template-resolver/web/placeholder-line-editor.d.ts +1 -1
- package/dist/template-resolver-user-data/index.d.ts +0 -4
- package/dist/template-resolver-user-data/index.js +0 -2
- package/dist/tenant/feature.d.ts +1 -1
- package/dist/tenant/index.d.ts +10 -10
- package/dist/tenant/is-tenant-serving-public-content.d.ts +1 -1
- package/dist/tenant/testing.d.ts +1 -1
- package/dist/tenant/web/index.d.ts +3 -3
- package/dist/tenant-handover/feature.d.ts +1 -1
- package/dist/tenant-handover/index.d.ts +3 -3
- package/dist/tenant-handover/signup-handover-provider.d.ts +1 -1
- package/dist/tenant-lifecycle/feature.d.ts +2 -2
- package/dist/tenant-lifecycle/index.d.ts +3 -3
- package/dist/tenant-lifecycle/run-tenant-destroy.d.ts +1 -1
- package/dist/tenant-lifecycle/stages.d.ts +1 -1
- package/dist/tenant-lifecycle/testing.d.ts +1 -1
- package/dist/tenant-settings/feature.d.ts +1 -3
- package/dist/tenant-settings/feature.js +0 -2
- package/dist/tenant-settings/index.d.ts +4 -4
- package/dist/tenant-settings/index.js +1 -1
- package/dist/tier-engine/entity.d.ts +1 -1
- package/dist/tier-engine/feature.d.ts +2 -4
- package/dist/tier-engine/feature.js +0 -2
- package/dist/tier-engine/handlers/get-tenant-tier.query.d.ts +1 -1
- package/dist/tier-engine/i18n.d.ts +0 -2
- package/dist/tier-engine/i18n.js +4 -4
- package/dist/tier-engine/index.d.ts +8 -8
- package/dist/tier-engine/index.js +1 -1
- package/dist/tier-engine/tier-option-gate.d.ts +1 -1
- package/dist/tier-engine/tier-resolver.d.ts +1 -1
- package/dist/tier-engine/web/client-plugin.js +3 -2
- package/dist/tier-engine/web/index.d.ts +1 -1
- package/dist/user/index.d.ts +8 -8
- package/dist/user/invited-global-roles.d.ts +1 -1
- package/dist/user/principal-status.d.ts +1 -1
- package/dist/user/seeding.d.ts +1 -1
- package/dist/user/testing.d.ts +1 -1
- package/dist/user-data-rights/deletion-token.d.ts +1 -1
- package/dist/user-data-rights/feature.d.ts +5 -5
- package/dist/user-data-rights/feature.js +7 -4
- package/dist/user-data-rights/handlers/request-deletion.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/run-forget-cleanup.write.d.ts +3 -3
- package/dist/user-data-rights/index.d.ts +13 -13
- package/dist/user-data-rights/lib/default-mailers.d.ts +7 -4
- package/dist/user-data-rights/lib/default-mailers.js +25 -3
- package/dist/user-data-rights/web/client-plugin.d.ts +1 -1
- package/dist/user-data-rights/web/index.d.ts +8 -8
- package/dist/user-data-rights-defaults/index.d.ts +11 -11
- package/dist/user-profile/index.d.ts +2 -2
- package/dist/user-profile/web/index.d.ts +2 -2
- package/dist/waitlist/constants.d.ts +9 -0
- package/dist/waitlist/constants.js +11 -0
- package/dist/waitlist/entity.d.ts +38 -6
- package/dist/waitlist/entity.js +4 -2
- package/dist/waitlist/entries-admin.d.ts +4 -0
- package/dist/waitlist/entries-admin.js +42 -0
- package/dist/waitlist/feature.d.ts +1 -1
- package/dist/waitlist/feature.js +16 -1
- package/dist/waitlist/handlers/export-purge.write.d.ts +12 -0
- package/dist/waitlist/handlers/export-purge.write.js +61 -0
- package/dist/waitlist/handlers/invite.write.d.ts +1 -1
- package/dist/waitlist/handlers/submit.write.d.ts +1 -1
- package/dist/waitlist/i18n.js +4 -0
- package/dist/waitlist/import.d.ts +24 -0
- package/dist/waitlist/import.js +51 -0
- package/dist/waitlist/index.d.ts +7 -5
- package/dist/waitlist/index.js +2 -0
- package/dist/waitlist/legacy-migrate.d.ts +27 -0
- package/dist/waitlist/legacy-migrate.js +173 -0
- package/dist/waitlist/lib.d.ts +2 -2
- package/dist/waitlist/link-on-signup.d.ts +3 -0
- package/dist/waitlist/link-on-signup.js +83 -0
- package/dist/waitlist/options.d.ts +11 -3
- package/dist/waitlist/payloads.d.ts +3 -0
- package/dist/waitlist/payloads.js +1 -0
- package/dist/workflow-runner/feature.d.ts +0 -4
- package/dist/workflow-runner/feature.js +0 -2
- package/dist/workflow-runner/index.d.ts +4 -4
- package/dist/workflow-runner/index.js +1 -1
- package/package.json +43 -27
- package/src/account-security/changes.json +8 -0
- package/src/auth-email-password/changes.json +6 -0
- package/src/auth-foundation/changes.json +8 -0
- package/src/auth-mfa/changes.json +6 -0
- package/src/auth-mfa-user-data/changes.json +10 -1
- package/src/billing-foundation/changes.json +8 -0
- package/src/cap-counter/changes.json +8 -0
- package/src/channel-email/changes.json +13 -0
- package/src/compliance-profiles-ops/changes.json +10 -0
- package/src/crypto-shredding/changes.json +6 -0
- package/src/custom-fields/changes.json +8 -0
- package/src/delivery/changes.json +12 -0
- package/src/derivatives-sharp/changes.json +8 -0
- package/src/document-ingest-foundation/changes.json +8 -0
- package/src/file-derivatives/changes.json +8 -0
- package/src/file-foundation/changes.json +8 -0
- package/src/file-provider-inmemory/changes.json +10 -1
- package/src/file-provider-s3/changes.json +22 -0
- package/src/folders/changes.json +8 -0
- package/src/folders-user-data/changes.json +10 -1
- package/src/form-draft/changes.json +8 -0
- package/src/form-draft-user-data/changes.json +10 -1
- package/src/foundation-shared/changes.json +8 -1
- package/src/host-routing/changes.json +8 -0
- package/src/inbound-mail-foundation/changes.json +8 -0
- package/src/inbound-provider-imap/changes.json +8 -0
- package/src/inbound-provider-inmemory/changes.json +10 -1
- package/src/ledger/changes.json +8 -0
- package/src/legal-pages/changes.json +6 -0
- package/src/mail-foundation/changes.json +10 -1
- package/src/mail-transport-inmemory/changes.json +10 -1
- package/src/mail-transport-smtp/changes.json +15 -0
- package/src/notes-history/changes.json +8 -0
- package/src/notes-history-user-data/changes.json +8 -0
- package/src/presets/changes.json +6 -0
- package/src/readiness/changes.json +10 -1
- package/src/secrets/changes.json +18 -0
- package/src/subscription-stripe/changes.json +6 -0
- package/src/tags/changes.json +8 -0
- package/src/template-resolver/changes.json +6 -0
- package/src/template-resolver-user-data/changes.json +10 -0
- package/src/tenant-settings/changes.json +10 -1
- package/src/tier-engine/changes.json +8 -0
- package/src/user-data-rights/changes.json +6 -0
- package/src/waitlist/changes.json +7 -0
- package/src/workflow-runner/changes.json +8 -0
- package/dist/file-provider-s3-env/index.d.ts +0 -8
- package/dist/file-provider-s3-env/index.js +0 -7
- package/dist/files-provider-s3/index.d.ts +0 -5
- package/dist/files-provider-s3/index.js +0 -5
- package/src/file-provider-s3-env/changes.json +0 -1
- package/src/files-provider-s3/changes.json +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
2
|
import * as z from "zod";
|
|
3
|
-
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.
|
|
3
|
+
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
|
|
4
4
|
export declare const issueContractConfirmationSchema: z.ZodObject<{
|
|
5
5
|
consentId: z.ZodString;
|
|
6
6
|
sourceAggregateId: z.ZodUUID;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { FeatureRegistrar } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.
|
|
2
|
+
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
|
|
3
3
|
export declare function registerConsumerProtection(r: FeatureRegistrar, options: ResolvedBillingFoundationOptions, consumerProtection: ConsumerProtectionOptions): void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { FeatureRegistrar } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.
|
|
2
|
+
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
|
|
3
3
|
export declare function registerContractTermination(r: FeatureRegistrar, options: ResolvedBillingFoundationOptions, consumerProtection: ConsumerProtectionOptions): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ContractTerminationDeclarationType, ContractTerminationKind, ProviderCancelOutcome } from "../events.
|
|
2
|
-
import type { ConsentLocale } from "./consent-text.
|
|
3
|
-
import { type OperatorNoticeReason } from "./termination-texts.
|
|
1
|
+
import type { ContractTerminationDeclarationType, ContractTerminationKind, ProviderCancelOutcome } from "../events.ts";
|
|
2
|
+
import type { ConsentLocale } from "./consent-text.ts";
|
|
3
|
+
import { type OperatorNoticeReason } from "./termination-texts.ts";
|
|
4
4
|
type TextRow = {
|
|
5
5
|
readonly text: string;
|
|
6
6
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { HandlerContext } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { ProviderCancelOutcome } from "../events.
|
|
3
|
-
import type { ConsumerProtectionOptions } from "../types.
|
|
4
|
-
import type { ConsentLocale } from "./consent-text.
|
|
5
|
-
import { type OperatorNoticeDeclaration } from "./termination-mail.
|
|
6
|
-
import type { OperatorNoticeReason } from "./termination-texts.
|
|
2
|
+
import type { ProviderCancelOutcome } from "../events.ts";
|
|
3
|
+
import type { ConsumerProtectionOptions } from "../types.ts";
|
|
4
|
+
import type { ConsentLocale } from "./consent-text.ts";
|
|
5
|
+
import { type OperatorNoticeDeclaration } from "./termination-mail.ts";
|
|
6
|
+
import type { OperatorNoticeReason } from "./termination-texts.ts";
|
|
7
7
|
export type OperatorNoticePlan = {
|
|
8
8
|
readonly locale: ConsentLocale;
|
|
9
9
|
readonly requestId: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AnonymousExtraRoute } from "@cosmicdrift/kumiko-framework/api";
|
|
2
|
-
import { type PublicPageWrapLayout } from "../../page-render/index.
|
|
3
|
-
import type { ConsentLocale } from "./consent-text.
|
|
2
|
+
import { type PublicPageWrapLayout } from "../../page-render/index.ts";
|
|
3
|
+
import type { ConsentLocale } from "./consent-text.ts";
|
|
4
4
|
export type ContractTerminationRoutesOptions = {
|
|
5
5
|
readonly paths?: Readonly<Partial<Record<ConsentLocale, string>>>;
|
|
6
6
|
/** Layout around every page (form, review, result, 429, error). Default:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type QueryHandlerDef, type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
2
|
import * as z from "zod";
|
|
3
|
-
import { type ProviderCancelOutcome } from "../events.
|
|
4
|
-
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.
|
|
5
|
-
import type { OperatorNoticeReason } from "./termination-texts.
|
|
3
|
+
import { type ProviderCancelOutcome } from "../events.ts";
|
|
4
|
+
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
|
|
5
|
+
import type { OperatorNoticeReason } from "./termination-texts.ts";
|
|
6
6
|
export declare const recordContractTerminationSchema: z.ZodObject<{
|
|
7
7
|
requestId: z.ZodString;
|
|
8
8
|
declarationType: z.ZodEnum<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
2
|
import * as z from "zod";
|
|
3
|
-
import { type ProviderCancelOutcome } from "../events.
|
|
4
|
-
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.
|
|
3
|
+
import { type ProviderCancelOutcome } from "../events.ts";
|
|
4
|
+
import type { ConsumerProtectionOptions, ResolvedBillingFoundationOptions } from "../types.ts";
|
|
5
5
|
export declare const requestContractTerminationSchema: z.ZodObject<{
|
|
6
6
|
declarationType: z.ZodEnum<{
|
|
7
7
|
termination: "termination";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ContractTerminationDeclarationType, ContractTerminationKind } from "../events.
|
|
2
|
-
import type { ConsentLocale } from "./consent-text.
|
|
1
|
+
import type { ContractTerminationDeclarationType, ContractTerminationKind } from "../events.ts";
|
|
2
|
+
import type { ConsentLocale } from "./consent-text.ts";
|
|
3
3
|
export type TerminationTexts = {
|
|
4
4
|
readonly declarationTypeLabel: Readonly<Record<ContractTerminationDeclarationType, string>>;
|
|
5
5
|
readonly terminationKindLabel: Readonly<Record<ContractTerminationKind, string>>;
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import { type FeatureDefinition } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { BillingFoundationOptions } from "./types.
|
|
2
|
+
import type { BillingFoundationOptions } from "./types.ts";
|
|
3
3
|
export declare function createBillingFoundationFeature<TTier extends string = string>(options?: BillingFoundationOptions<TTier>): FeatureDefinition;
|
|
4
|
-
/** @deprecated Use createBillingFoundationFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
|
|
5
|
-
export declare const billingFoundationFeature: FeatureDefinition;
|
|
@@ -219,5 +219,3 @@ export function createBillingFoundationFeature(options = {}) {
|
|
|
219
219
|
});
|
|
220
220
|
}, Object.keys(options).length === 0 ? { dedupeOptions: {} } : undefined);
|
|
221
221
|
}
|
|
222
|
-
/** @deprecated Use createBillingFoundationFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
|
|
223
|
-
export const billingFoundationFeature = createBillingFoundationFeature();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { QueryHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import { type BillingPlanCatalog, type ResolvedBillingFoundationOptions } from "../types.
|
|
2
|
+
import { type BillingPlanCatalog, type ResolvedBillingFoundationOptions } from "../types.ts";
|
|
3
3
|
export declare function createBillingPlansQuery(options: ResolvedBillingFoundationOptions, catalog: BillingPlanCatalog): QueryHandlerDef;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { ResolvedBillingFoundationOptions } from "../types.
|
|
2
|
+
import type { ResolvedBillingFoundationOptions } from "../types.ts";
|
|
3
3
|
export declare function createCheckoutSessionHandler(options: ResolvedBillingFoundationOptions): WriteHandlerDef;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { BillingFoundationOptions } from "../types.
|
|
2
|
+
import type { BillingFoundationOptions } from "../types.ts";
|
|
3
3
|
export declare function createPortalSessionHandler(options: BillingFoundationOptions): WriteHandlerDef;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { BillingPlanCatalog, ResolvedBillingFoundationOptions } from "../types.
|
|
2
|
+
import type { BillingPlanCatalog, ResolvedBillingFoundationOptions } from "../types.ts";
|
|
3
3
|
export declare function createStartPlanCheckoutHandler(options: ResolvedBillingFoundationOptions, catalog: BillingPlanCatalog): WriteHandlerDef;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { BillingFoundationOptions, BillingPlanCatalog } from "../types.
|
|
2
|
+
import type { BillingFoundationOptions, BillingPlanCatalog } from "../types.ts";
|
|
3
3
|
export declare function createSwitchPlanHandler(options: BillingFoundationOptions, catalog: BillingPlanCatalog): WriteHandlerDef;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { paymentAggregateId, subscriptionAggregateId } from "./aggregate-id.
|
|
2
|
-
export { type BillingInfo, type BillingInfoQueryDeps, createBillingInfoQueryConfig, } from "./billing-info-query.
|
|
3
|
-
export { isBillingEnabled, type ResolvedProvider, resolveProviderPlugin, } from "./checkout-core.
|
|
4
|
-
export { BILLING_FOUNDATION_FEATURE, BILLING_PLANS_PANEL_COMPONENT, BILLING_PLANS_SCREEN_ID, type BillingEventKind, BillingEventKinds, type BillingPlanAction, BillingPlanActions, DEFAULT_PURCHASE_ROLES, isSwitchableSubscriptionStatus, isTerminalSubscriptionStatus, parseProviderConsentId, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, SubscriptionCancelTimings, type SubscriptionEventType, SubscriptionEventTypes, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "./constants.
|
|
5
|
-
export { type ConsentPayload, consentPayloadSchema, type OrderItem, } from "./consumer-protection/consent-gate.
|
|
6
|
-
export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "./consumer-protection/consent-locale.
|
|
7
|
-
export { type ContractTerminationRoutesOptions, createContractTerminationRoutes, } from "./consumer-protection/termination-pages.
|
|
8
|
-
export { paymentEntity, subscriptionEntity } from "./entities.
|
|
9
|
-
export { INVOICE_PAID_EVENT_QN, INVOICE_PAID_EVENT_SHORT, INVOICE_PAYMENT_FAILED_EVENT_QN, INVOICE_PAYMENT_FAILED_EVENT_SHORT, PAYMENT_AGGREGATE_TYPE, PAYMENT_RECEIVED_EVENT_QN, PAYMENT_RECEIVED_EVENT_SHORT, type PaymentEventHeaders, type PaymentEventPayload, paymentEventPayloadSchema, SUBSCRIPTION_AGGREGATE_TYPE, SUBSCRIPTION_CANCELED_EVENT_QN, SUBSCRIPTION_CANCELED_EVENT_SHORT, SUBSCRIPTION_CREATED_EVENT_QN, SUBSCRIPTION_CREATED_EVENT_SHORT, SUBSCRIPTION_UPDATED_EVENT_QN, SUBSCRIPTION_UPDATED_EVENT_SHORT, type SubscriptionEventHeaders, type SubscriptionEventPayload, subscriptionEventPayloadSchema, } from "./events.
|
|
10
|
-
export {
|
|
11
|
-
export { getSubscriptionForTenant, type SubscriptionView } from "./get-subscription-for-tenant.
|
|
12
|
-
export { paymentsProjectionTable, subscriptionsProjectionTable } from "./projection.
|
|
13
|
-
export { billingPlansPanel, createBillingPlansScreen } from "./screens.
|
|
14
|
-
export { createSubscriptionTierSync, effectiveTierFromSubscription, SUBSCRIPTION_WEBHOOK_PATH, type SubscriptionTierSyncDeps, } from "./subscription-tier-sync.
|
|
15
|
-
export { type BillingFoundationOptions, type BillingPlanBenefit, type BillingPlanCatalog, type BillingPlanPrice, type BillingPlansResult, type BillingPlanView, type ConsumerProtectionOptions, KNOWN_RECURRING_INTERVALS, type LegalLinkSet, type PaymentEvent, type ProviderPrice, type ProviderSubscriptionSnapshot, type RecurringInterval, type SubscriptionEvent, type SubscriptionProviderPlugin, } from "./types.
|
|
16
|
-
export { createSubscriptionWebhookRoute, type SubscriptionWebhookRouteOptions, } from "./webhook-handler.
|
|
1
|
+
export { paymentAggregateId, subscriptionAggregateId } from "./aggregate-id.ts";
|
|
2
|
+
export { type BillingInfo, type BillingInfoQueryDeps, createBillingInfoQueryConfig, } from "./billing-info-query.ts";
|
|
3
|
+
export { isBillingEnabled, type ResolvedProvider, resolveProviderPlugin, } from "./checkout-core.ts";
|
|
4
|
+
export { BILLING_FOUNDATION_FEATURE, BILLING_PLANS_PANEL_COMPONENT, BILLING_PLANS_SCREEN_ID, type BillingEventKind, BillingEventKinds, type BillingPlanAction, BillingPlanActions, DEFAULT_PURCHASE_ROLES, isSwitchableSubscriptionStatus, isTerminalSubscriptionStatus, parseProviderConsentId, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, SubscriptionCancelTimings, type SubscriptionEventType, SubscriptionEventTypes, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "./constants.ts";
|
|
5
|
+
export { type ConsentPayload, consentPayloadSchema, type OrderItem, } from "./consumer-protection/consent-gate.ts";
|
|
6
|
+
export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "./consumer-protection/consent-locale.ts";
|
|
7
|
+
export { type ContractTerminationRoutesOptions, createContractTerminationRoutes, } from "./consumer-protection/termination-pages.ts";
|
|
8
|
+
export { paymentEntity, subscriptionEntity } from "./entities.ts";
|
|
9
|
+
export { INVOICE_PAID_EVENT_QN, INVOICE_PAID_EVENT_SHORT, INVOICE_PAYMENT_FAILED_EVENT_QN, INVOICE_PAYMENT_FAILED_EVENT_SHORT, PAYMENT_AGGREGATE_TYPE, PAYMENT_RECEIVED_EVENT_QN, PAYMENT_RECEIVED_EVENT_SHORT, type PaymentEventHeaders, type PaymentEventPayload, paymentEventPayloadSchema, SUBSCRIPTION_AGGREGATE_TYPE, SUBSCRIPTION_CANCELED_EVENT_QN, SUBSCRIPTION_CANCELED_EVENT_SHORT, SUBSCRIPTION_CREATED_EVENT_QN, SUBSCRIPTION_CREATED_EVENT_SHORT, SUBSCRIPTION_UPDATED_EVENT_QN, SUBSCRIPTION_UPDATED_EVENT_SHORT, type SubscriptionEventHeaders, type SubscriptionEventPayload, subscriptionEventPayloadSchema, } from "./events.ts";
|
|
10
|
+
export { createBillingFoundationFeature } from "./feature.ts";
|
|
11
|
+
export { getSubscriptionForTenant, type SubscriptionView } from "./get-subscription-for-tenant.ts";
|
|
12
|
+
export { paymentsProjectionTable, subscriptionsProjectionTable } from "./projection.ts";
|
|
13
|
+
export { billingPlansPanel, createBillingPlansScreen } from "./screens.ts";
|
|
14
|
+
export { createSubscriptionTierSync, effectiveTierFromSubscription, SUBSCRIPTION_WEBHOOK_PATH, type SubscriptionTierSyncDeps, } from "./subscription-tier-sync.ts";
|
|
15
|
+
export { type BillingFoundationOptions, type BillingPlanBenefit, type BillingPlanCatalog, type BillingPlanPrice, type BillingPlansResult, type BillingPlanView, type ConsumerProtectionOptions, KNOWN_RECURRING_INTERVALS, type LegalLinkSet, type PaymentEvent, type ProviderPrice, type ProviderSubscriptionSnapshot, type RecurringInterval, type SubscriptionEvent, type SubscriptionProviderPlugin, } from "./types.ts";
|
|
16
|
+
export { createSubscriptionWebhookRoute, type SubscriptionWebhookRouteOptions, } from "./webhook-handler.ts";
|
|
@@ -8,7 +8,7 @@ export { CONSENT_LOCALES, resolveConsentLocale, } from "./consumer-protection/co
|
|
|
8
8
|
export { createContractTerminationRoutes, } from "./consumer-protection/termination-pages.js";
|
|
9
9
|
export { paymentEntity, subscriptionEntity } from "./entities.js";
|
|
10
10
|
export { INVOICE_PAID_EVENT_QN, INVOICE_PAID_EVENT_SHORT, INVOICE_PAYMENT_FAILED_EVENT_QN, INVOICE_PAYMENT_FAILED_EVENT_SHORT, PAYMENT_AGGREGATE_TYPE, PAYMENT_RECEIVED_EVENT_QN, PAYMENT_RECEIVED_EVENT_SHORT, paymentEventPayloadSchema, SUBSCRIPTION_AGGREGATE_TYPE, SUBSCRIPTION_CANCELED_EVENT_QN, SUBSCRIPTION_CANCELED_EVENT_SHORT, SUBSCRIPTION_CREATED_EVENT_QN, SUBSCRIPTION_CREATED_EVENT_SHORT, SUBSCRIPTION_UPDATED_EVENT_QN, SUBSCRIPTION_UPDATED_EVENT_SHORT, subscriptionEventPayloadSchema, } from "./events.js";
|
|
11
|
-
export {
|
|
11
|
+
export { createBillingFoundationFeature } from "./feature.js";
|
|
12
12
|
export { getSubscriptionForTenant } from "./get-subscription-for-tenant.js";
|
|
13
13
|
export { paymentsProjectionTable, subscriptionsProjectionTable } from "./projection.js";
|
|
14
14
|
export { billingPlansPanel, createBillingPlansScreen } from "./screens.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HandlerContext } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { BillingPlanCatalog, BillingPlansResult, ProviderPrice, SubscriptionProviderPlugin } from "./types.
|
|
2
|
+
import type { BillingPlanCatalog, BillingPlansResult, ProviderPrice, SubscriptionProviderPlugin } from "./types.ts";
|
|
3
3
|
/** `catalog?.purchaseRoles ?? DEFAULT_PURCHASE_ROLES` — the one place this
|
|
4
4
|
* fallback is spelled out; plan-catalog.ts and the start-plan-checkout/
|
|
5
5
|
* switch-plan/create-portal-session handlers all call this instead of
|
|
@@ -9,7 +9,9 @@ export type SubscriptionTierSyncDeps<TTier extends string> = {
|
|
|
9
9
|
export declare const TIER_SYNC_MANUAL_GRANT_SKIPPED = "tier_sync_manual_grant_skipped";
|
|
10
10
|
export declare function effectiveTierFromSubscription<TTier extends string>(status: string | undefined, tier: string | undefined, isTierName: (value: string) => value is TTier, defaultTier: TTier): TTier;
|
|
11
11
|
export declare function createSubscriptionTierSync<TTier extends string>(deps: SubscriptionTierSyncDeps<TTier>): {
|
|
12
|
-
createWebhookRoute: (
|
|
12
|
+
createWebhookRoute: (options?: {
|
|
13
|
+
readonly path?: string;
|
|
14
|
+
}) => ExtraRouteDefinition;
|
|
13
15
|
syncTierFromSubscription: (tenantId: TenantId, routeDeps: Pick<SignatureExtraRouteDeps, "dispatchSystemQuery" | "dispatchSystemWrite">) => Promise<{
|
|
14
16
|
code: string;
|
|
15
17
|
message: string;
|
|
@@ -114,9 +114,10 @@ export function createSubscriptionTierSync(deps) {
|
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
|
|
117
|
+
// `path` must keep the `:providerName` param the webhook route resolves the provider from.
|
|
118
|
+
function createWebhookRoute(options = {}) {
|
|
118
119
|
return createSubscriptionWebhookRoute({
|
|
119
|
-
path: SUBSCRIPTION_WEBHOOK_PATH,
|
|
120
|
+
path: options.path ?? SUBSCRIPTION_WEBHOOK_PATH,
|
|
120
121
|
afterDispatch: async (dispatched, tenantId, routeDeps) => {
|
|
121
122
|
const syncError = await syncTierFromSubscription(tenantId, routeDeps);
|
|
122
123
|
if (syncError) {
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import type { TenantDb } from "@cosmicdrift/kumiko-framework/db";
|
|
3
3
|
import type { HandlerContext, TenantId } from "@cosmicdrift/kumiko-framework/engine";
|
|
4
4
|
import type { SecretsContext } from "@cosmicdrift/kumiko-framework/secrets";
|
|
5
|
-
import { type BillingEventKinds, type BillingPlanAction, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, type SubscriptionEventType, type SubscriptionStatus, type TerminationScope } from "./constants.
|
|
6
|
-
import type { OrderItem } from "./consumer-protection/consent-gate.
|
|
7
|
-
import type { ConsentLocale } from "./consumer-protection/consent-locale.
|
|
5
|
+
import { type BillingEventKinds, type BillingPlanAction, SUBSCRIPTION_PROVIDER_EXTENSION, type SubscriptionCancelTiming, type SubscriptionEventType, type SubscriptionStatus, type TerminationScope } from "./constants.ts";
|
|
6
|
+
import type { OrderItem } from "./consumer-protection/consent-gate.ts";
|
|
7
|
+
import type { ConsentLocale } from "./consumer-protection/consent-locale.ts";
|
|
8
8
|
export type SubscriptionEvent = {
|
|
9
9
|
/** Discriminator against PaymentEvent. Optional (instead of required) so
|
|
10
10
|
* existing plugins like subscription-mollie, which don't set this field,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BillingFoundationOptions } from "./types.
|
|
1
|
+
import { type BillingFoundationOptions } from "./types.ts";
|
|
2
2
|
/** Validates `options` and throws a plain `Error` with a clear message at
|
|
3
3
|
* feature-definition time — same pattern as `createCapOverviewFeature`.
|
|
4
4
|
* `createBillingFoundationFeature()` (no options) always succeeds; the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { WriteResult } from "@cosmicdrift/kumiko-headless";
|
|
2
2
|
import { type ReactNode } from "react";
|
|
3
|
-
import type { BillingPlansResult } from "../types.
|
|
3
|
+
import type { BillingPlansResult } from "../types.ts";
|
|
4
4
|
export declare const CONSENT_TEXT_OUTDATED_CODE = "consent_text_outdated";
|
|
5
5
|
type ConsumerProtectionView = NonNullable<BillingPlansResult["consumerProtection"]>;
|
|
6
6
|
export type CheckoutConsentPayload = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { BILLING_PLANS_SCREEN_ID, type BillingPlanAction, BillingPlanActions, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "../constants.
|
|
2
|
-
export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "../consumer-protection/consent-locale.
|
|
3
|
-
export type { BillingPlanBenefit, BillingPlanCatalog, BillingPlansResult, BillingPlanView, LegalLinkSet, } from "../types.
|
|
4
|
-
export { BillingPlansPanel } from "./billing-plans-panel.
|
|
5
|
-
export { CheckoutConsentDialog, type CheckoutConsentDialogProps, type CheckoutConsentPayload, CONSENT_TEXT_OUTDATED_CODE, } from "./checkout-consent-dialog.
|
|
6
|
-
export { type BillingFoundationClientOptions, billingFoundationClient } from "./client-plugin.
|
|
1
|
+
export { BILLING_PLANS_SCREEN_ID, type BillingPlanAction, BillingPlanActions, SubscriptionFoundationHandlers, SubscriptionFoundationQueries, type SubscriptionStatus, SubscriptionStatuses, } from "../constants.ts";
|
|
2
|
+
export { CONSENT_LOCALES, type ConsentLocale, resolveConsentLocale, } from "../consumer-protection/consent-locale.ts";
|
|
3
|
+
export type { BillingPlanBenefit, BillingPlanCatalog, BillingPlansResult, BillingPlanView, LegalLinkSet, } from "../types.ts";
|
|
4
|
+
export { BillingPlansPanel } from "./billing-plans-panel.tsx";
|
|
5
|
+
export { CheckoutConsentDialog, type CheckoutConsentDialogProps, type CheckoutConsentPayload, CONSENT_TEXT_OUTDATED_CODE, } from "./checkout-consent-dialog.tsx";
|
|
6
|
+
export { type BillingFoundationClientOptions, billingFoundationClient } from "./client-plugin.tsx";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CapCounterContext } from "./book-cap-usage.
|
|
2
|
-
import { type CalendarCapReservation } from "./cap-reservation.
|
|
3
|
-
import { type SoftHitNotifier } from "./enforce-cap.
|
|
4
|
-
import type { CalendarCapDef } from "./with-cap-enforcement.
|
|
1
|
+
import type { CapCounterContext } from "./book-cap-usage.ts";
|
|
2
|
+
import { type CalendarCapReservation } from "./cap-reservation.ts";
|
|
3
|
+
import { type SoftHitNotifier } from "./enforce-cap.ts";
|
|
4
|
+
import type { CalendarCapDef } from "./with-cap-enforcement.ts";
|
|
5
5
|
export type CalendarCapUsageReservationSpec = Omit<CalendarCapDef, "amount" | "notify"> & {
|
|
6
6
|
readonly amount: number;
|
|
7
7
|
readonly notify?: SoftHitNotifier;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UnprocessableError } from "@cosmicdrift/kumiko-framework/errors";
|
|
2
2
|
import type { ReservationHandle } from "@cosmicdrift/kumiko-types/handlers";
|
|
3
|
-
import { type BookCapUsageOptions, type CapCounterContext, type ReadRollingCapUsageOptions } from "./book-cap-usage.
|
|
3
|
+
import { type BookCapUsageOptions, type CapCounterContext, type ReadRollingCapUsageOptions } from "./book-cap-usage.ts";
|
|
4
4
|
export type CalendarCapReservation = ReservationHandle & {
|
|
5
5
|
readonly reservationId: string;
|
|
6
6
|
readonly counterValue: number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { KumikoError } from "@cosmicdrift/kumiko-framework/errors";
|
|
2
2
|
import { Temporal } from "@cosmicdrift/kumiko-types/temporal";
|
|
3
|
-
import { type CapCounterContext } from "./book-cap-usage.
|
|
3
|
+
import { type CapCounterContext } from "./book-cap-usage.ts";
|
|
4
4
|
/**
|
|
5
5
|
* Cap-Toleranz-Profile — pro Cap-Typ asymmetrisch. Quelle: Memory
|
|
6
6
|
* `project_pricing_byok_caps` §3 + `docs/plans/marketing/produkt/
|
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
export declare function createCapCounterFeature(): import("@cosmicdrift/kumiko-types/feature").FeatureDefinition & {
|
|
2
2
|
readonly exports: void;
|
|
3
3
|
};
|
|
4
|
-
/** @deprecated Use createCapCounterFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
|
|
5
|
-
export declare const capCounterFeature: import("@cosmicdrift/kumiko-types/feature").FeatureDefinition & {
|
|
6
|
-
readonly exports: void;
|
|
7
|
-
};
|
|
@@ -125,5 +125,3 @@ export function createCapCounterFeature() {
|
|
|
125
125
|
});
|
|
126
126
|
}, { dedupeOptions: {} });
|
|
127
127
|
}
|
|
128
|
-
/** @deprecated Use createCapCounterFeature(). Run `bun kumiko-upgrade --apply`. Removed in the first release after 2026-10-29. */
|
|
129
|
-
export const capCounterFeature = createCapCounterFeature();
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { capCounterAggregateId, rollingCapAggregateId } from "./aggregate-id.
|
|
2
|
-
export { type BookCapUsageOptions, bookCapUsage, type MarkCapSoftWarnedOptions, markCapSoftWarned, type ReadRollingCapUsageOptions, readRollingCapUsage, } from "./book-cap-usage.
|
|
3
|
-
export { type CalendarCapReservationHandle, type CalendarCapReservationHandleSpec, type CalendarCapUsageReservation, type CalendarCapUsageReservationSpec, calendarCapReservationHandle, reserveCalendarCapUsage, } from "./calendar-cap-usage-reservation.
|
|
4
|
-
export { CapReservationOverConsumedError, CapReservationSettledError, CapSettleBelowConsumedError, } from "./cap-reservation.
|
|
5
|
-
export { CAP_COUNTER_FEATURE, CAP_COUNTER_ROLLING_AGGREGATE_TYPE, CapCounterHandlers, CapCounterQueries, ROLLING_INCREMENTED_EVENT_QN, ROLLING_INCREMENTED_EVENT_SHORT, ROLLING_RELEASED_EVENT_QN, ROLLING_RELEASED_EVENT_SHORT, } from "./constants.
|
|
6
|
-
export { CAP_TOLERANCES, CapExceededError, type CapToleranceProfile, type CapToleranceProfileName, calendarMonthPeriodEndIso, currentCalendarMonthStartIso, type EnforceCapResult, enforceCap, enforceCapAndMaybeNotify, enforceRollingCap, enforceRollingCapAndMaybeNotify, enforceStockCap, type SoftHitNotifier, type StockCapResult, } from "./enforce-cap.
|
|
7
|
-
export { capCounterEntity } from "./entity.
|
|
8
|
-
export {
|
|
9
|
-
export { readPayloadField } from "./payload-field.
|
|
10
|
-
export { type CapGuardContext, type CapLimitContext, createStockCapGuard, type StockCapGuard, type StockCapSpec, } from "./stock-cap-guard.
|
|
11
|
-
export { capReservationsTable, capReservationsTableMeta } from "./tables.
|
|
12
|
-
export { createValueCapGuard, type ValueCapGuard, type ValueCapSpec, } from "./value-cap-guard.
|
|
13
|
-
export { type CalendarCapDef, type CalendarCapResolver, type RollingCapDef, type RollingCapResolver, withCapEnforcement, withRollingCapEnforcement, } from "./with-cap-enforcement.
|
|
1
|
+
export { capCounterAggregateId, rollingCapAggregateId } from "./aggregate-id.ts";
|
|
2
|
+
export { type BookCapUsageOptions, bookCapUsage, type MarkCapSoftWarnedOptions, markCapSoftWarned, type ReadRollingCapUsageOptions, readRollingCapUsage, } from "./book-cap-usage.ts";
|
|
3
|
+
export { type CalendarCapReservationHandle, type CalendarCapReservationHandleSpec, type CalendarCapUsageReservation, type CalendarCapUsageReservationSpec, calendarCapReservationHandle, reserveCalendarCapUsage, } from "./calendar-cap-usage-reservation.ts";
|
|
4
|
+
export { CapReservationOverConsumedError, CapReservationSettledError, CapSettleBelowConsumedError, } from "./cap-reservation.ts";
|
|
5
|
+
export { CAP_COUNTER_FEATURE, CAP_COUNTER_ROLLING_AGGREGATE_TYPE, CapCounterHandlers, CapCounterQueries, ROLLING_INCREMENTED_EVENT_QN, ROLLING_INCREMENTED_EVENT_SHORT, ROLLING_RELEASED_EVENT_QN, ROLLING_RELEASED_EVENT_SHORT, } from "./constants.ts";
|
|
6
|
+
export { CAP_TOLERANCES, CapExceededError, type CapToleranceProfile, type CapToleranceProfileName, calendarMonthPeriodEndIso, currentCalendarMonthStartIso, type EnforceCapResult, enforceCap, enforceCapAndMaybeNotify, enforceRollingCap, enforceRollingCapAndMaybeNotify, enforceStockCap, type SoftHitNotifier, type StockCapResult, } from "./enforce-cap.ts";
|
|
7
|
+
export { capCounterEntity } from "./entity.ts";
|
|
8
|
+
export { createCapCounterFeature } from "./feature.ts";
|
|
9
|
+
export { readPayloadField } from "./payload-field.ts";
|
|
10
|
+
export { type CapGuardContext, type CapLimitContext, createStockCapGuard, type StockCapGuard, type StockCapSpec, } from "./stock-cap-guard.ts";
|
|
11
|
+
export { capReservationsTable, capReservationsTableMeta } from "./tables.ts";
|
|
12
|
+
export { createValueCapGuard, type ValueCapGuard, type ValueCapSpec, } from "./value-cap-guard.ts";
|
|
13
|
+
export { type CalendarCapDef, type CalendarCapResolver, type RollingCapDef, type RollingCapResolver, withCapEnforcement, withRollingCapEnforcement, } from "./with-cap-enforcement.ts";
|
|
@@ -6,7 +6,7 @@ export { CapReservationOverConsumedError, CapReservationSettledError, CapSettleB
|
|
|
6
6
|
export { CAP_COUNTER_FEATURE, CAP_COUNTER_ROLLING_AGGREGATE_TYPE, CapCounterHandlers, CapCounterQueries, ROLLING_INCREMENTED_EVENT_QN, ROLLING_INCREMENTED_EVENT_SHORT, ROLLING_RELEASED_EVENT_QN, ROLLING_RELEASED_EVENT_SHORT, } from "./constants.js";
|
|
7
7
|
export { CAP_TOLERANCES, CapExceededError, calendarMonthPeriodEndIso, currentCalendarMonthStartIso, enforceCap, enforceCapAndMaybeNotify, enforceRollingCap, enforceRollingCapAndMaybeNotify, enforceStockCap, } from "./enforce-cap.js";
|
|
8
8
|
export { capCounterEntity } from "./entity.js";
|
|
9
|
-
export {
|
|
9
|
+
export { createCapCounterFeature } from "./feature.js";
|
|
10
10
|
export { readPayloadField } from "./payload-field.js";
|
|
11
11
|
export { createStockCapGuard, } from "./stock-cap-guard.js";
|
|
12
12
|
export { capReservationsTable, capReservationsTableMeta } from "./tables.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { TenantDb } from "@cosmicdrift/kumiko-framework/db";
|
|
2
2
|
import type { WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
3
3
|
import { type WriteFailure } from "@cosmicdrift/kumiko-framework/errors";
|
|
4
|
-
import type { CapGuardContext, CapLimitContext } from "./stock-cap-guard.
|
|
4
|
+
import type { CapGuardContext, CapLimitContext } from "./stock-cap-guard.ts";
|
|
5
5
|
export type ValueCapSpec<TCaps> = {
|
|
6
6
|
readonly field: string;
|
|
7
7
|
/** `undefined` = no lower bound for this tier. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { HandlerContext, WriteEvent, WriteHandlerDef } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import { type CapToleranceProfileName, type SoftHitNotifier } from "./enforce-cap.
|
|
2
|
+
import { type CapToleranceProfileName, type SoftHitNotifier } from "./enforce-cap.ts";
|
|
3
3
|
/**
|
|
4
4
|
* Pro-call dynamische Cap-Definition. Wird vor jedem Handler-Aufruf
|
|
5
5
|
* neu evaluiert — typischer Caller liest hier den Tenant-Tier aus
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type FeatureDefinition } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { CapSpec } from "./types.
|
|
2
|
+
import type { CapSpec } from "./types.ts";
|
|
3
3
|
export type CreateCapOverviewOptions = {
|
|
4
4
|
readonly caps: readonly CapSpec[];
|
|
5
5
|
/** Caps shown as columns on the platform-wide tenant-cap-list screen.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type QueryHandlerDefinition } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { CapSpec } from "../types.
|
|
2
|
+
import type { CapSpec } from "../types.ts";
|
|
3
3
|
export declare function createCapsUsageQuery(caps: readonly CapSpec[], usageRoles: readonly string[]): QueryHandlerDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { DEFAULT_CAP_USAGE_ROLES } from "./access.
|
|
2
|
-
export { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./constants.
|
|
3
|
-
export { type CreateCapOverviewOptions, createCapOverviewFeature } from "./feature.
|
|
4
|
-
export { createMyCapsScreen, createTenantCapListScreen, platformTenantCapsScreen, } from "./screens.
|
|
5
|
-
export type { CapSpec, CapUsage, CapUsageTone, CapUsageWithMeta } from "./types.
|
|
6
|
-
export { computeFraction, computeTone } from "./usage-math.
|
|
1
|
+
export { DEFAULT_CAP_USAGE_ROLES } from "./access.ts";
|
|
2
|
+
export { CAP_CARDS_PANEL_COMPONENT, CAP_OVERVIEW_FEATURE, CAP_USAGE_CELL_COMPONENT, CapOverviewQueries, capFieldName, MY_CAPS_SCREEN_ID, PLATFORM_TENANT_CAPS_SCREEN_ID, TENANT_CAP_LIST_SCREEN_ID, } from "./constants.ts";
|
|
3
|
+
export { type CreateCapOverviewOptions, createCapOverviewFeature } from "./feature.ts";
|
|
4
|
+
export { createMyCapsScreen, createTenantCapListScreen, platformTenantCapsScreen, } from "./screens.ts";
|
|
5
|
+
export type { CapSpec, CapUsage, CapUsageTone, CapUsageWithMeta } from "./types.ts";
|
|
6
|
+
export { computeFraction, computeTone } from "./usage-math.ts";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ScreenDefinition } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import type { CapSpec } from "./types.
|
|
2
|
+
import type { CapSpec } from "./types.ts";
|
|
3
3
|
export declare function createTenantCapListScreen(caps: readonly CapSpec[], listCaps: readonly string[], tiers?: readonly string[]): ScreenDefinition;
|
|
4
4
|
export declare function createMyCapsScreen(usageRoles: readonly string[]): ScreenDefinition;
|
|
5
5
|
export declare const platformTenantCapsScreen: ScreenDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TenantDb } from "@cosmicdrift/kumiko-framework/db";
|
|
2
2
|
import type { TenantId } from "@cosmicdrift/kumiko-framework/engine";
|
|
3
|
-
import type { CapLimitContext } from "../cap-counter/index.
|
|
3
|
+
import type { CapLimitContext } from "../cap-counter/index.ts";
|
|
4
4
|
export type CapIconKey = "file" | "hash" | "database" | "users" | "mail" | "gauge";
|
|
5
5
|
export type CapSpec = {
|
|
6
6
|
readonly id: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CapUsageTone } from "./types.
|
|
1
|
+
import type { CapUsageTone } from "./types.ts";
|
|
2
2
|
export declare function computeFraction(used: number, limit: number | null): number;
|
|
3
3
|
export declare function computeUnclampedFraction(used: number, limit: number | null): number;
|
|
4
4
|
export declare function computeTone(fraction: number): CapUsageTone;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CapCardsPanel } from "./cap-cards-panel.
|
|
2
|
-
export { CapUsageBar } from "./cap-usage-bar.
|
|
3
|
-
export { CapUsageCell } from "./cap-usage-cell.
|
|
4
|
-
export { type CapOverviewClientOptions, capOverviewClient } from "./client-plugin.
|
|
1
|
+
export { CapCardsPanel } from "./cap-cards-panel.tsx";
|
|
2
|
+
export { CapUsageBar } from "./cap-usage-bar.tsx";
|
|
3
|
+
export { CapUsageCell } from "./cap-usage-cell.tsx";
|
|
4
|
+
export { type CapOverviewClientOptions, capOverviewClient } from "./client-plugin.tsx";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ChatWebhookChannelOptions, type DeliveryChannel } from "../delivery/index.
|
|
1
|
+
import { type ChatWebhookChannelOptions, type DeliveryChannel } from "../delivery/index.ts";
|
|
2
2
|
export type DiscordChannelOptions = ChatWebhookChannelOptions;
|
|
3
3
|
export declare const DISCORD_SECRET_KEYS: {
|
|
4
4
|
readonly webhookPrefix: "channel-discord:webhooks.";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type FeatureDefinition } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import { type DiscordChannelOptions } from "./discord-channel.
|
|
2
|
+
import { type DiscordChannelOptions } from "./discord-channel.ts";
|
|
3
3
|
export declare function createChannelDiscordFeature(options?: DiscordChannelOptions): FeatureDefinition;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { createDiscordChannel, DISCORD_DEFAULT_ALLOWED_HOSTS, DISCORD_SECRET_KEYS, DISCORD_WEBHOOK_PATH_PREFIX, type DiscordChannelOptions, } from "./discord-channel.
|
|
2
|
-
export { createChannelDiscordFeature } from "./feature.
|
|
1
|
+
export { createDiscordChannel, DISCORD_DEFAULT_ALLOWED_HOSTS, DISCORD_SECRET_KEYS, DISCORD_WEBHOOK_PATH_PREFIX, type DiscordChannelOptions, } from "./discord-channel.ts";
|
|
2
|
+
export { createChannelDiscordFeature } from "./feature.ts";
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import type { TenantId } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
|
-
import { type ChannelContext, type DeliveryChannel, type EmailAttachmentRef } from "../delivery/index.
|
|
3
|
-
import type { EmailTransport } from "./types.
|
|
2
|
+
import { type ChannelContext, type DeliveryChannel, type EmailAttachmentRef } from "../delivery/index.ts";
|
|
3
|
+
import type { EmailTransport } from "./types.ts";
|
|
4
4
|
export declare function fileAttachmentsFrom(data: Readonly<Record<string, unknown>> | undefined, messageLocale?: string): readonly EmailAttachmentRef[];
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** Resolves the sending tenant's own transport, null when it has none. Built per send and
|
|
6
|
+
* never cached, so a provider change applies to the next mail; a throw fails the send. */
|
|
7
|
+
export type TenantTransportResolver = (ctx: ChannelContext) => Promise<EmailTransport | null>;
|
|
8
|
+
type EmailChannelTransports = {
|
|
9
|
+
/** The app-wide transport for every mail that does not go through a tenant transport. */
|
|
7
10
|
readonly transport: EmailTransport;
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
/** Used only for notifications declared with `tenantTransport: true`. */
|
|
12
|
+
readonly tenantTransport?: TenantTransportResolver;
|
|
13
|
+
} | {
|
|
14
|
+
readonly transport?: undefined;
|
|
15
|
+
readonly tenantTransport: TenantTransportResolver;
|
|
16
|
+
};
|
|
17
|
+
export type EmailChannelOptions = EmailChannelTransports & {
|
|
11
18
|
readonly resolveEmail: (userId: string, ctx: {
|
|
12
19
|
db: unknown;
|
|
13
20
|
tenantId: TenantId;
|
|
14
21
|
}) => Promise<string | null>;
|
|
15
22
|
};
|
|
16
23
|
export declare function createEmailChannel(options: EmailChannelOptions): DeliveryChannel;
|
|
24
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PII_ERASED_SENTINEL } from "@cosmicdrift/kumiko-framework/crypto";
|
|
2
2
|
import { createFallbackLogger } from "@cosmicdrift/kumiko-framework/logging";
|
|
3
3
|
import * as z from "zod";
|
|
4
|
-
import { DELIVERY_UNSUBSCRIBE_ONE_CLICK_HEADER_VALUE, DELIVERY_UNSUBSCRIBE_PATH, EMAIL_CHANNEL_NAME, fileAttachmentRefSchema, MAX_EMAIL_ATTACHMENTS, renderedPdfAttachmentRefSchema, } from "../delivery/index.js";
|
|
4
|
+
import { currentNotificationType, DELIVERY_UNSUBSCRIBE_ONE_CLICK_HEADER_VALUE, DELIVERY_UNSUBSCRIBE_PATH, EMAIL_CHANNEL_NAME, fileAttachmentRefSchema, MAX_EMAIL_ATTACHMENTS, renderedPdfAttachmentRefSchema, } from "../delivery/index.js";
|
|
5
5
|
import { decryptStoredPii, extensionForResourceContentType } from "../shared/index.js";
|
|
6
6
|
import { guardEmailMessage } from "./pii-guard.js";
|
|
7
7
|
// Envelope (From / Reply-To / threading headers) rides on the channel data —
|
|
@@ -121,6 +121,10 @@ async function resolveAttachments(sources, ctx) {
|
|
|
121
121
|
}
|
|
122
122
|
return { kind: "resolved", attachments: resolved };
|
|
123
123
|
}
|
|
124
|
+
function isTenantTransportNotification(ctx, notificationType) {
|
|
125
|
+
const current = currentNotificationType(ctx.registry, notificationType);
|
|
126
|
+
return ctx.registry.getAllNotifications().get(current)?.tenantTransport === true;
|
|
127
|
+
}
|
|
124
128
|
export function createEmailChannel(options) {
|
|
125
129
|
const { transport, resolveEmail, tenantTransport } = options;
|
|
126
130
|
// Render runs in the delivery.render job, decoupled from the SMTP send so
|
|
@@ -150,9 +154,11 @@ export function createEmailChannel(options) {
|
|
|
150
154
|
...(attachments !== undefined && { attachments }),
|
|
151
155
|
};
|
|
152
156
|
}
|
|
153
|
-
async function transportFor(ctx) {
|
|
157
|
+
async function transportFor(message, ctx) {
|
|
154
158
|
if (tenantTransport === undefined)
|
|
155
159
|
return transport;
|
|
160
|
+
if (!isTenantTransportNotification(ctx, message.notificationType))
|
|
161
|
+
return transport;
|
|
156
162
|
return (await tenantTransport(ctx)) ?? transport;
|
|
157
163
|
}
|
|
158
164
|
return {
|
|
@@ -189,7 +195,15 @@ export function createEmailChannel(options) {
|
|
|
189
195
|
return { status: "failed", error: "send_failed", address };
|
|
190
196
|
}
|
|
191
197
|
const resolvedAttachments = resolution.attachments;
|
|
192
|
-
const sendTransport = await transportFor(ctx);
|
|
198
|
+
const sendTransport = await transportFor(message, ctx);
|
|
199
|
+
if (sendTransport === undefined) {
|
|
200
|
+
// Configuration, not a transient error: a retry cannot conjure a transport.
|
|
201
|
+
createFallbackLogger("delivery").warn("no mail transport for this mail, send failed", {
|
|
202
|
+
tenantId: ctx.tenantId,
|
|
203
|
+
notificationType: message.notificationType,
|
|
204
|
+
});
|
|
205
|
+
return { status: "failed", error: "missing_credentials", address };
|
|
206
|
+
}
|
|
193
207
|
await sendTransport.send(guardEmailMessage({
|
|
194
208
|
to: address,
|
|
195
209
|
subject,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
/** Env block `createSmtpTransportFromEnv` reads. All optional: without
|
|
3
|
+
* `SMTP_HOST` no app-level transport is built and auth mail flows stay off. */
|
|
4
|
+
export declare const smtpEnvSchema: z.ZodObject<{
|
|
5
|
+
SMTP_HOST: z.ZodOptional<z.ZodString>;
|
|
6
|
+
SMTP_PORT: z.ZodOptional<z.ZodString>;
|
|
7
|
+
SMTP_SECURE: z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
false: "false";
|
|
9
|
+
true: "true";
|
|
10
|
+
}>>;
|
|
11
|
+
SMTP_USER: z.ZodOptional<z.ZodString>;
|
|
12
|
+
SMTP_PASS: z.ZodOptional<z.ZodString>;
|
|
13
|
+
SMTP_FROM: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strip>;
|