@cosmicdrift/kumiko-bundled-features 0.392.2 → 0.394.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/feature.d.ts +2 -0
- package/dist/account-security/feature.js +3 -1
- package/dist/audit/event-classification.js +1 -0
- package/dist/auth-email-password/handlers/change-password.write.d.ts +1 -1
- package/dist/auth-email-password/handlers/confirm-account-unlock.write.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-accept.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/logout.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/reset-password.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 +1 -1
- package/dist/auth-email-password/handlers/verify-email.write.d.ts +1 -1
- package/dist/auth-email-password/web/auth-client.d.ts +3 -7
- package/dist/auth-email-password/web/auth-client.js +3 -24
- package/dist/auth-email-password/web/auth-gate.d.ts +2 -4
- package/dist/auth-email-password/web/auth-redirect.d.ts +2 -2
- package/dist/auth-email-password/web/auth-redirect.js +3 -12
- package/dist/auth-email-password/web/index.d.ts +2 -1
- package/dist/auth-email-password/web/index.js +1 -0
- package/dist/auth-email-password/web/login-failure.d.ts +9 -0
- package/dist/auth-email-password/web/login-failure.js +32 -0
- package/dist/auth-email-password/web/login-url.d.ts +5 -0
- package/dist/auth-email-password/web/login-url.js +13 -0
- package/dist/auth-email-password/web/static-login.d.ts +42 -0
- package/dist/auth-email-password/web/static-login.js +122 -0
- package/dist/auth-mfa/handlers/disable.write.d.ts +1 -1
- package/dist/auth-mfa/handlers/enable-confirm-preauth.write.d.ts +1 -1
- package/dist/auth-mfa/handlers/enable-confirm.write.d.ts +1 -1
- package/dist/auth-mfa/handlers/enable-start-preauth.write.d.ts +1 -1
- package/dist/auth-mfa/handlers/enable-start.write.d.ts +1 -1
- package/dist/auth-mfa/handlers/regenerate-recovery.write.d.ts +1 -1
- package/dist/auth-mfa/handlers/verify.write.d.ts +1 -1
- package/dist/auth-mfa/web/mfa-client.js +4 -43
- package/dist/billing-foundation/checkout-core.d.ts +2 -1
- package/dist/billing-foundation/checkout-core.js +2 -11
- package/dist/billing-foundation/events.d.ts +1 -0
- package/dist/billing-foundation/events.js +2 -0
- package/dist/billing-foundation/feature.js +1 -1
- package/dist/billing-foundation/handlers/create-checkout-session.write.js +9 -2
- package/dist/billing-foundation/handlers/process-payment-event.write.d.ts +1 -0
- package/dist/billing-foundation/handlers/process-payment-event.write.js +2 -0
- package/dist/billing-foundation/index.d.ts +1 -1
- package/dist/billing-foundation/one-off-checkout-gate.d.ts +9 -0
- package/dist/billing-foundation/one-off-checkout-gate.js +30 -0
- package/dist/billing-foundation/one-off-customer.d.ts +6 -0
- package/dist/billing-foundation/one-off-customer.js +12 -0
- package/dist/billing-foundation/plan-catalog.js +1 -0
- package/dist/billing-foundation/types.d.ts +25 -0
- package/dist/billing-foundation/web/billing-plans-panel.js +1 -0
- package/dist/billing-foundation/web/plan-switch-confirm-dialog.js +7 -3
- package/dist/billing-foundation/web/plan-switch-recurring.d.ts +16 -0
- package/dist/billing-foundation/web/plan-switch-recurring.js +10 -0
- package/dist/billing-foundation/webhook-handler.js +1 -0
- package/dist/cap-overview/handlers/caps-usage.query.js +3 -3
- package/dist/cap-overview/types.d.ts +2 -0
- package/dist/channel-in-app/handlers/mark-all-read.write.d.ts +1 -1
- package/dist/channel-in-app/handlers/mark-read.write.d.ts +1 -1
- package/dist/compliance-profiles/handlers/set-profile.write.d.ts +1 -1
- package/dist/compliance-profiles/web/compliance-profile-catalog.js +8 -1
- package/dist/config/handlers/reset.write.d.ts +1 -1
- package/dist/config/handlers/set.write.d.ts +1 -1
- package/dist/crypto-shredding/handlers/forget-subject.write.d.ts +1 -1
- package/dist/delivery/handlers/resubscribe-address.write.d.ts +1 -1
- package/dist/delivery/handlers/resubscribe-user.write.d.ts +1 -1
- package/dist/delivery/handlers/set-preference.write.d.ts +1 -1
- package/dist/delivery/handlers/unsubscribe-address.write.d.ts +1 -1
- package/dist/delivery/handlers/unsubscribe-user.write.d.ts +1 -1
- package/dist/feature-toggles/handlers/set.write.d.ts +1 -1
- package/dist/file-foundation/read-file-ref-content.d.ts +2 -0
- package/dist/file-foundation/read-file-ref-content.js +9 -3
- package/dist/form-draft/handlers/discard.write.d.ts +1 -1
- package/dist/form-draft/handlers/save.write.d.ts +1 -1
- package/dist/inbound-mail-foundation/account-health.d.ts +17 -0
- package/dist/inbound-mail-foundation/account-health.js +101 -0
- package/dist/inbound-mail-foundation/account-poll-schedule.d.ts +19 -0
- package/dist/inbound-mail-foundation/account-poll-schedule.js +44 -0
- package/dist/inbound-mail-foundation/account-poll.d.ts +24 -0
- package/dist/inbound-mail-foundation/account-poll.js +157 -0
- package/dist/inbound-mail-foundation/account-record.d.ts +1 -0
- package/dist/inbound-mail-foundation/account-record.js +1 -0
- package/dist/inbound-mail-foundation/account-wake.d.ts +3 -0
- package/dist/inbound-mail-foundation/account-wake.js +17 -0
- package/dist/inbound-mail-foundation/connect-callback-verify.d.ts +10 -0
- package/dist/inbound-mail-foundation/connect-callback-verify.js +31 -0
- package/dist/inbound-mail-foundation/connect-route-responses.d.ts +13 -0
- package/dist/inbound-mail-foundation/connect-route-responses.js +16 -0
- package/dist/inbound-mail-foundation/connect-routes.js +52 -33
- package/dist/inbound-mail-foundation/constants.d.ts +50 -2
- package/dist/inbound-mail-foundation/constants.js +53 -3
- package/dist/inbound-mail-foundation/content-refetch.d.ts +14 -0
- package/dist/inbound-mail-foundation/content-refetch.js +93 -0
- package/dist/inbound-mail-foundation/describe-error.d.ts +1 -0
- package/dist/inbound-mail-foundation/describe-error.js +5 -0
- package/dist/inbound-mail-foundation/entities.d.ts +26 -0
- package/dist/inbound-mail-foundation/entities.js +43 -3
- package/dist/inbound-mail-foundation/events.d.ts +97 -0
- package/dist/inbound-mail-foundation/events.js +57 -2
- package/dist/inbound-mail-foundation/feature.d.ts +5 -2
- package/dist/inbound-mail-foundation/feature.js +122 -106
- package/dist/inbound-mail-foundation/file-storage-failure.d.ts +8 -0
- package/dist/inbound-mail-foundation/file-storage-failure.js +19 -0
- package/dist/inbound-mail-foundation/handlers/account-address.d.ts +16 -0
- package/dist/inbound-mail-foundation/handlers/account-address.js +51 -0
- package/dist/inbound-mail-foundation/handlers/acknowledge-quarantine.write.d.ts +8 -0
- package/dist/inbound-mail-foundation/handlers/acknowledge-quarantine.write.js +39 -0
- package/dist/inbound-mail-foundation/handlers/attach-message-content.write.d.ts +60 -0
- package/dist/inbound-mail-foundation/handlers/attach-message-content.write.js +128 -0
- package/dist/inbound-mail-foundation/handlers/connect-account.write.d.ts +3 -2
- package/dist/inbound-mail-foundation/handlers/connect-account.write.js +97 -56
- package/dist/inbound-mail-foundation/handlers/disconnect-account.write.d.ts +2 -1
- package/dist/inbound-mail-foundation/handlers/disconnect-account.write.js +55 -42
- package/dist/inbound-mail-foundation/handlers/ingest-message-prepare.d.ts +26 -0
- package/dist/inbound-mail-foundation/handlers/ingest-message-prepare.js +131 -0
- package/dist/inbound-mail-foundation/handlers/ingest-message-schema.d.ts +64 -0
- package/dist/inbound-mail-foundation/handlers/ingest-message-schema.js +39 -0
- package/dist/inbound-mail-foundation/handlers/ingest-message.write.d.ts +74 -21
- package/dist/inbound-mail-foundation/handlers/ingest-message.write.js +57 -134
- package/dist/inbound-mail-foundation/handlers/list-accounts.query.d.ts +2 -1
- package/dist/inbound-mail-foundation/handlers/list-accounts.query.js +60 -26
- package/dist/inbound-mail-foundation/handlers/list-messages.query.d.ts +2 -1
- package/dist/inbound-mail-foundation/handlers/list-messages.query.js +43 -29
- package/dist/inbound-mail-foundation/handlers/list-quarantine.query.d.ts +3 -0
- package/dist/inbound-mail-foundation/handlers/list-quarantine.query.js +75 -0
- package/dist/inbound-mail-foundation/handlers/mark-credential-stored.write.d.ts +7 -0
- package/dist/inbound-mail-foundation/handlers/mark-credential-stored.write.js +38 -0
- package/dist/inbound-mail-foundation/handlers/message-content.d.ts +70 -0
- package/dist/inbound-mail-foundation/handlers/message-content.js +137 -0
- package/dist/inbound-mail-foundation/handlers/message-content.query.d.ts +19 -0
- package/dist/inbound-mail-foundation/handlers/message-content.query.js +59 -0
- package/dist/inbound-mail-foundation/handlers/message-detail.query.d.ts +3 -0
- package/dist/inbound-mail-foundation/handlers/message-detail.query.js +23 -0
- package/dist/inbound-mail-foundation/handlers/reactivate-account.write.d.ts +8 -0
- package/dist/inbound-mail-foundation/handlers/reactivate-account.write.js +84 -0
- package/dist/inbound-mail-foundation/handlers/retry-quarantined-message.write.d.ts +8 -0
- package/dist/inbound-mail-foundation/handlers/retry-quarantined-message.write.js +34 -0
- package/dist/inbound-mail-foundation/handlers/scope-visibility.d.ts +10 -2
- package/dist/inbound-mail-foundation/handlers/scope-visibility.js +27 -8
- package/dist/inbound-mail-foundation/handlers/set-trusted-authserv-id.write.d.ts +13 -0
- package/dist/inbound-mail-foundation/handlers/set-trusted-authserv-id.write.js +54 -0
- package/dist/inbound-mail-foundation/handlers/thread-rollup.d.ts +24 -0
- package/dist/inbound-mail-foundation/handlers/thread-rollup.js +98 -0
- package/dist/inbound-mail-foundation/handlers/trusted-authserv-id.d.ts +3 -0
- package/dist/inbound-mail-foundation/handlers/trusted-authserv-id.js +3 -0
- package/dist/inbound-mail-foundation/handlers/update-account.write.d.ts +13 -3
- package/dist/inbound-mail-foundation/handlers/update-account.write.js +62 -46
- package/dist/inbound-mail-foundation/i18n.js +72 -2
- package/dist/inbound-mail-foundation/inbound-oauth-flow.d.ts +43 -0
- package/dist/inbound-mail-foundation/inbound-oauth-flow.js +1 -0
- package/dist/inbound-mail-foundation/index.d.ts +19 -6
- package/dist/inbound-mail-foundation/index.js +17 -6
- package/dist/inbound-mail-foundation/ingest-failures.d.ts +77 -0
- package/dist/inbound-mail-foundation/ingest-failures.js +79 -0
- package/dist/inbound-mail-foundation/ingest-payload.d.ts +7 -0
- package/dist/inbound-mail-foundation/ingest-payload.js +34 -0
- package/dist/inbound-mail-foundation/mail-roles.d.ts +21 -0
- package/dist/inbound-mail-foundation/mail-roles.js +83 -0
- package/dist/inbound-mail-foundation/normalize-inbound-message.d.ts +17 -0
- package/dist/inbound-mail-foundation/normalize-inbound-message.js +90 -0
- package/dist/inbound-mail-foundation/oauth-access-token.d.ts +3 -1
- package/dist/inbound-mail-foundation/oauth-access-token.js +13 -2
- package/dist/inbound-mail-foundation/outbound-attachment-access.d.ts +5 -0
- package/dist/inbound-mail-foundation/outbound-attachment-access.js +16 -0
- package/dist/inbound-mail-foundation/outbound-attachments.d.ts +18 -0
- package/dist/inbound-mail-foundation/outbound-attachments.js +77 -0
- package/dist/inbound-mail-foundation/outbound-mail.d.ts +15 -1
- package/dist/inbound-mail-foundation/outbound-mail.js +4 -0
- package/dist/inbound-mail-foundation/probe.js +1 -1
- package/dist/inbound-mail-foundation/projection.d.ts +28 -0
- package/dist/inbound-mail-foundation/projection.js +25 -3
- package/dist/inbound-mail-foundation/provider-errors.d.ts +28 -0
- package/dist/inbound-mail-foundation/provider-errors.js +66 -0
- package/dist/inbound-mail-foundation/quarantine-entities.d.ts +61 -0
- package/dist/inbound-mail-foundation/quarantine-entities.js +47 -0
- package/dist/inbound-mail-foundation/quarantine-header-import.d.ts +9 -0
- package/dist/inbound-mail-foundation/quarantine-header-import.js +53 -0
- package/dist/inbound-mail-foundation/quarantine-retry.d.ts +13 -0
- package/dist/inbound-mail-foundation/quarantine-retry.js +97 -0
- package/dist/inbound-mail-foundation/quarantine-screens.d.ts +4 -0
- package/dist/inbound-mail-foundation/quarantine-screens.js +57 -0
- package/dist/inbound-mail-foundation/quarantine.d.ts +13 -0
- package/dist/inbound-mail-foundation/quarantine.js +46 -0
- package/dist/inbound-mail-foundation/retention-job.d.ts +2 -0
- package/dist/inbound-mail-foundation/retention-job.js +62 -0
- package/dist/inbound-mail-foundation/retention-sweep.d.ts +4 -0
- package/dist/inbound-mail-foundation/retention-sweep.js +35 -8
- package/dist/inbound-mail-foundation/screens.d.ts +14 -2
- package/dist/inbound-mail-foundation/screens.js +217 -79
- package/dist/inbound-mail-foundation/send-from-account.d.ts +11 -1
- package/dist/inbound-mail-foundation/send-from-account.js +19 -2
- package/dist/inbound-mail-foundation/sender-auth.d.ts +63 -0
- package/dist/inbound-mail-foundation/sender-auth.js +198 -0
- package/dist/inbound-mail-foundation/supervisor-ingest.d.ts +43 -0
- package/dist/inbound-mail-foundation/supervisor-ingest.js +195 -0
- package/dist/inbound-mail-foundation/sync-account-now.d.ts +22 -0
- package/dist/inbound-mail-foundation/sync-account-now.js +29 -0
- package/dist/inbound-mail-foundation/sync-cursor-store.d.ts +9 -0
- package/dist/inbound-mail-foundation/sync-cursor-store.js +54 -0
- package/dist/inbound-mail-foundation/syncable-accounts.d.ts +16 -0
- package/dist/inbound-mail-foundation/syncable-accounts.js +79 -0
- package/dist/inbound-mail-foundation/tenant-destroy-hook.js +5 -1
- package/dist/inbound-mail-foundation/types.d.ts +61 -62
- package/dist/inbound-mail-foundation/types.js +0 -54
- package/dist/inbound-mail-foundation/wake-consumer.d.ts +2 -0
- package/dist/inbound-mail-foundation/wake-consumer.js +30 -0
- package/dist/inbound-mail-foundation/watch-catch-up.d.ts +19 -0
- package/dist/inbound-mail-foundation/watch-catch-up.js +33 -0
- package/dist/inbound-mail-foundation/watch-lease.d.ts +15 -0
- package/dist/inbound-mail-foundation/watch-lease.js +81 -0
- package/dist/inbound-mail-foundation/watch-supervisor-types.d.ts +83 -0
- package/dist/inbound-mail-foundation/watch-supervisor-types.js +1 -0
- package/dist/inbound-mail-foundation/watch-supervisor.d.ts +1 -53
- package/dist/inbound-mail-foundation/watch-supervisor.js +123 -290
- package/dist/inbound-mail-foundation/web/client-plugin.d.ts +14 -0
- package/dist/inbound-mail-foundation/web/client-plugin.js +40 -0
- package/dist/inbound-mail-foundation/web/constants.d.ts +5 -0
- package/dist/inbound-mail-foundation/web/constants.js +6 -0
- package/dist/inbound-mail-foundation/web/index.d.ts +1 -0
- package/dist/inbound-mail-foundation/web/index.js +1 -0
- package/dist/inbound-provider-imap/connect-mailbox.d.ts +28 -5
- package/dist/inbound-provider-imap/connect-mailbox.js +91 -41
- package/dist/inbound-provider-imap/connect-my-mailbox.d.ts +13 -0
- package/dist/inbound-provider-imap/connect-my-mailbox.js +25 -0
- package/dist/inbound-provider-imap/constants.d.ts +12 -1
- package/dist/inbound-provider-imap/constants.js +12 -1
- package/dist/inbound-provider-imap/credential-document.js +2 -2
- package/dist/inbound-provider-imap/download-batch.d.ts +6 -0
- package/dist/inbound-provider-imap/download-batch.js +24 -0
- package/dist/inbound-provider-imap/feature.d.ts +2 -2
- package/dist/inbound-provider-imap/feature.js +49 -32
- package/dist/inbound-provider-imap/fetch-content.d.ts +4 -0
- package/dist/inbound-provider-imap/fetch-content.js +68 -0
- package/dist/inbound-provider-imap/i18n.js +18 -2
- package/dist/inbound-provider-imap/imap-client.d.ts +27 -23
- package/dist/inbound-provider-imap/imap-client.js +30 -68
- package/dist/inbound-provider-imap/index.d.ts +2 -1
- package/dist/inbound-provider-imap/index.js +2 -1
- package/dist/inbound-provider-imap/mime-content.d.ts +11 -0
- package/dist/inbound-provider-imap/mime-content.js +66 -0
- package/dist/inbound-provider-imap/parse-message.d.ts +35 -0
- package/dist/inbound-provider-imap/parse-message.js +113 -0
- package/dist/inbound-provider-imap/reconnect-account.d.ts +17 -0
- package/dist/inbound-provider-imap/reconnect-account.js +18 -0
- package/dist/inbound-provider-imap/reconnect-mailbox.d.ts +14 -0
- package/dist/inbound-provider-imap/reconnect-mailbox.js +71 -0
- package/dist/inbound-provider-imap/reconnect-prefill.query.d.ts +3 -0
- package/dist/inbound-provider-imap/reconnect-prefill.query.js +34 -0
- package/dist/inbound-provider-imap/screens.d.ts +6 -1
- package/dist/inbound-provider-imap/screens.js +174 -41
- package/dist/inbound-provider-imap/send-mail.d.ts +2 -2
- package/dist/inbound-provider-imap/send-mail.js +8 -1
- package/dist/inbound-provider-imap/sender-auth-headers.d.ts +3 -0
- package/dist/inbound-provider-imap/sender-auth-headers.js +18 -0
- package/dist/inbound-provider-inmemory/feature.d.ts +15 -0
- package/dist/inbound-provider-inmemory/feature.js +57 -2
- package/dist/inbound-provider-inmemory/index.d.ts +1 -1
- package/dist/inbound-provider-inmemory/index.js +1 -1
- package/dist/jobs/handlers/consumer.write.d.ts +4 -4
- package/dist/jobs/handlers/retry.write.d.ts +1 -1
- package/dist/jobs/handlers/trigger.write.d.ts +1 -1
- package/dist/managed-pages/handlers/set.write.d.ts +1 -1
- package/dist/managed-pages/web/i18n.js +1 -0
- package/dist/personal-access-tokens/handlers/create.write.d.ts +1 -1
- package/dist/personal-access-tokens/handlers/revoke.write.d.ts +1 -1
- package/dist/readiness/handlers/run-probes.write.d.ts +1 -1
- package/dist/secrets/handlers/delete.write.d.ts +1 -1
- package/dist/secrets/handlers/set.write.d.ts +1 -1
- package/dist/sessions/handlers/revoke-all-for-user.write.d.ts +1 -1
- package/dist/sessions/handlers/revoke-all-others.write.d.ts +1 -1
- package/dist/sessions/handlers/revoke.write.d.ts +1 -1
- package/dist/subscription-paddle/checkout-config.query.d.ts +3 -0
- package/dist/subscription-paddle/checkout-config.query.js +14 -0
- package/dist/subscription-paddle/checkout-methods.d.ts +6 -0
- package/dist/subscription-paddle/checkout-methods.js +85 -0
- package/dist/subscription-paddle/checkout-page.d.ts +19 -0
- package/dist/subscription-paddle/checkout-page.js +126 -0
- package/dist/subscription-paddle/client.d.ts +24 -0
- package/dist/subscription-paddle/client.js +60 -0
- package/dist/subscription-paddle/constants.d.ts +16 -0
- package/dist/subscription-paddle/constants.js +25 -0
- package/dist/subscription-paddle/feature.d.ts +49 -0
- package/dist/subscription-paddle/feature.js +192 -0
- package/dist/subscription-paddle/index.d.ts +2 -0
- package/dist/subscription-paddle/index.js +4 -0
- package/dist/subscription-paddle/plan-switch-methods.d.ts +6 -0
- package/dist/subscription-paddle/plan-switch-methods.js +114 -0
- package/dist/subscription-paddle/price-methods.d.ts +15 -0
- package/dist/subscription-paddle/price-methods.js +105 -0
- package/dist/subscription-paddle/runtime.d.ts +42 -0
- package/dist/subscription-paddle/runtime.js +109 -0
- package/dist/subscription-paddle/subscription-state.d.ts +34 -0
- package/dist/subscription-paddle/subscription-state.js +48 -0
- package/dist/subscription-paddle/tenant-binding.d.ts +8 -0
- package/dist/subscription-paddle/tenant-binding.js +26 -0
- package/dist/subscription-paddle/verify-webhook.d.ts +4 -0
- package/dist/subscription-paddle/verify-webhook.js +55 -0
- package/dist/subscription-paddle/webhook-events.d.ts +9 -0
- package/dist/subscription-paddle/webhook-events.js +124 -0
- package/dist/template-resolver/handlers/collection-item.query.js +2 -2
- package/dist/template-resolver/handlers/collection-list.query.js +4 -2
- package/dist/template-resolver/handlers/collection-set.write.d.ts +1 -1
- package/dist/template-resolver/handlers/collection-shared.d.ts +11 -0
- package/dist/template-resolver/handlers/collection-shared.js +16 -0
- package/dist/template-resolver/handlers/copy-locale.write.d.ts +1 -1
- package/dist/template-resolver/handlers/discard-draft.write.d.ts +2 -2
- 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/patch-draft.write.d.ts +1 -1
- package/dist/template-resolver/handlers/reset-to-system.write.d.ts +1 -1
- package/dist/template-resolver/handlers/resource-link-pdf.write.d.ts +1 -1
- package/dist/template-resolver/handlers/resource-remove.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/set.write.d.ts +1 -1
- package/dist/template-resolver/handlers/toggle-status.write.d.ts +4 -4
- 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/web/client-plugin.d.ts +4 -0
- package/dist/template-resolver/web/client-plugin.js +134 -52
- package/dist/template-resolver/web/i18n.js +1 -1
- package/dist/tenant/handlers/add-member.write.d.ts +1 -1
- package/dist/tenant/handlers/cancel-invitation.write.d.ts +1 -1
- package/dist/tenant/handlers/create.write.d.ts +1 -1
- package/dist/tenant/handlers/remove-member.write.d.ts +1 -1
- package/dist/tenant/handlers/toggle-enabled.write.d.ts +2 -2
- package/dist/tenant/handlers/update-member-roles.write.d.ts +1 -1
- package/dist/tenant/handlers/update.write.d.ts +1 -1
- package/dist/tenant-handover/handlers/claim.write.d.ts +1 -1
- package/dist/tenant-lifecycle/handlers/cancel-destruction.write.d.ts +1 -1
- package/dist/tenant-lifecycle/handlers/request-destruction.write.d.ts +1 -1
- package/dist/tier-engine/handlers/set-tenant-tier.write.d.ts +1 -1
- package/dist/user/handlers/create.write.d.ts +1 -1
- package/dist/user/handlers/update.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/cancel-deletion.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/confirm-deletion-by-token.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/lift-restriction.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/request-deletion-by-email.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/request-deletion.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/request-export.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/restrict-account.write.d.ts +1 -1
- package/dist/user-data-rights/handlers/run-forget-cleanup.write.d.ts +1 -1
- package/dist/user-data-rights-defaults/hooks/file-ref.userdata-hook.js +2 -1
- package/dist/user-profile/handlers/change-email.write.d.ts +1 -1
- package/dist/waitlist/handlers/export-purge.write.d.ts +2 -2
- package/dist/waitlist/handlers/invite.write.d.ts +1 -1
- package/dist/waitlist/handlers/reject.write.d.ts +1 -1
- package/dist/waitlist/handlers/submit.write.d.ts +1 -1
- package/package.json +33 -17
- package/src/account-security/changes.json +6 -0
- package/src/auth-email-password/changes.json +6 -0
- package/src/billing-foundation/changes.json +30 -0
- package/src/cap-overview/changes.json +6 -0
- package/src/files/changes.json +18 -0
- package/src/inbound-mail-foundation/changes.json +155 -0
- package/src/inbound-provider-imap/changes.json +42 -0
- package/src/jobs/changes.json +18 -0
- package/src/subscription-paddle/changes.json +15 -0
- package/src/template-resolver/changes.json +12 -0
- package/dist/subscription-dodo/client.d.ts +0 -17
- package/dist/subscription-dodo/client.js +0 -31
- package/dist/subscription-dodo/constants.d.ts +0 -12
- package/dist/subscription-dodo/constants.js +0 -19
- package/dist/subscription-dodo/feature.d.ts +0 -37
- package/dist/subscription-dodo/feature.js +0 -144
- package/dist/subscription-dodo/index.d.ts +0 -2
- package/dist/subscription-dodo/index.js +0 -4
- package/dist/subscription-dodo/plugin-methods.d.ts +0 -23
- package/dist/subscription-dodo/plugin-methods.js +0 -260
- package/dist/subscription-dodo/runtime.d.ts +0 -27
- package/dist/subscription-dodo/runtime.js +0 -89
- package/dist/subscription-dodo/verify-webhook.d.ts +0 -37
- package/dist/subscription-dodo/verify-webhook.js +0 -189
- package/src/subscription-dodo/changes.json +0 -14
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { EMPTY_VALUE_PLACEHOLDER } from "@cosmicdrift/kumiko-renderer/headless";
|
|
3
3
|
// Client feature factory for the text-block content tree. Apps mount it via
|
|
4
4
|
// createKumikoApp({ clientFeatures: [textBlocksClient()] }); it loads the
|
|
@@ -11,10 +11,12 @@ import { EMPTY_VALUE_PLACEHOLDER } from "@cosmicdrift/kumiko-renderer/headless";
|
|
|
11
11
|
// **State**: TreeNode.state = "filled" when content is set, otherwise "stub"
|
|
12
12
|
// (a hint that the slug exists but is empty).
|
|
13
13
|
import { useShellUser } from "@cosmicdrift/kumiko-bundled-features/auth-email-password/web";
|
|
14
|
+
import { isUiAccessGranted } from "@cosmicdrift/kumiko-framework/ui-types";
|
|
14
15
|
import { ContentPreview, useAppFeatures, useContentEditor, useDispatcher, usePrimitives, useQuery, useTranslation, } from "@cosmicdrift/kumiko-renderer";
|
|
15
16
|
import { CSRF_HEADER_NAME, readCsrfToken } from "@cosmicdrift/kumiko-renderer/live";
|
|
16
17
|
import { PlainContentEditor, RichContentEditor, } from "@cosmicdrift/kumiko-renderer/web";
|
|
17
18
|
import { useEffect, useId, useState } from "react";
|
|
19
|
+
import { DEFAULT_COLLECTION_ACCESS } from "./constants.js";
|
|
18
20
|
import { DocumentBlocksContext, DocumentContentEditor } from "./document-editor.js";
|
|
19
21
|
import { documentBlocksForKind } from "./document-toolbar-blocks.js";
|
|
20
22
|
import { defaultTranslations } from "./i18n.js";
|
|
@@ -89,58 +91,122 @@ export function groupBlocksByFolder(blocks, tenantIdOverride, collectionId) {
|
|
|
89
91
|
},
|
|
90
92
|
];
|
|
91
93
|
}
|
|
94
|
+
// A save in the editor re-fires the tree of the collection it wrote to. The
|
|
95
|
+
// SSE refresh does not cover every collection: per-user entries carry no
|
|
96
|
+
// entity signal, because naming their ids to every collection reader would
|
|
97
|
+
// reveal when colleagues change their own entries.
|
|
98
|
+
const TEXT_BLOCK_TREE_KEY = "";
|
|
99
|
+
const treeRefreshListeners = new Map();
|
|
100
|
+
function onTreeRefresh(treeKey, listener) {
|
|
101
|
+
const listeners = treeRefreshListeners.get(treeKey) ?? new Set();
|
|
102
|
+
listeners.add(listener);
|
|
103
|
+
treeRefreshListeners.set(treeKey, listeners);
|
|
104
|
+
return () => listeners.delete(listener);
|
|
105
|
+
}
|
|
106
|
+
function refreshTree(treeKey) {
|
|
107
|
+
for (const listener of treeRefreshListeners.get(treeKey) ?? [])
|
|
108
|
+
listener();
|
|
109
|
+
}
|
|
110
|
+
async function postBlockList(queryType, tenantIdOverride) {
|
|
111
|
+
// CSRF header is mandatory on authenticated requests (auth-middleware
|
|
112
|
+
// double-submit pattern). Anonymous/pre-login has no token → header
|
|
113
|
+
// omitted → the server takes the anonymous path.
|
|
114
|
+
const headers = { "content-type": "application/json" };
|
|
115
|
+
const csrf = readCsrfToken();
|
|
116
|
+
if (csrf !== undefined)
|
|
117
|
+
headers[CSRF_HEADER_NAME] = csrf;
|
|
118
|
+
// kumiko-lint-ignore no-raw-hooks not yet converted to the framework hook set
|
|
119
|
+
const response = await fetch("/api/query", {
|
|
120
|
+
method: "POST",
|
|
121
|
+
headers,
|
|
122
|
+
body: JSON.stringify({
|
|
123
|
+
type: queryType,
|
|
124
|
+
payload: tenantIdOverride !== undefined ? { tenantIdOverride } : {},
|
|
125
|
+
}),
|
|
126
|
+
});
|
|
127
|
+
if (!response.ok) {
|
|
128
|
+
return {
|
|
129
|
+
ok: false,
|
|
130
|
+
status: response.status,
|
|
131
|
+
body: await response.text().catch(() => response.statusText),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
const data = await response.json();
|
|
135
|
+
return { ok: true, blocks: data.data.blocks };
|
|
136
|
+
}
|
|
137
|
+
const TENANT_OVERRIDE_DENIED_REASON = "tenant_override_requires_system_admin";
|
|
138
|
+
// The dispatcher accepts tenantIdOverride from a SystemAdmin only, and the
|
|
139
|
+
// provider cannot see the session roles. Everyone else gets this exact denial
|
|
140
|
+
// and reads their session tenant instead, which is the only tenant they may
|
|
141
|
+
// edit anyway.
|
|
142
|
+
function isTenantOverrideDenied(result) {
|
|
143
|
+
return !result.ok && result.status === 403 && result.body.includes(TENANT_OVERRIDE_DENIED_REASON);
|
|
144
|
+
}
|
|
145
|
+
async function loadBlocks(queryType, tenantIdOverride) {
|
|
146
|
+
let result = await postBlockList(queryType, tenantIdOverride);
|
|
147
|
+
let effectiveOverride = tenantIdOverride;
|
|
148
|
+
if (tenantIdOverride !== undefined && isTenantOverrideDenied(result)) {
|
|
149
|
+
result = await postBlockList(queryType, undefined);
|
|
150
|
+
effectiveOverride = undefined;
|
|
151
|
+
}
|
|
152
|
+
if (!result.ok) {
|
|
153
|
+
// 403 (CSRF/auth) or 5xx — explicit error instead of silent empty.
|
|
154
|
+
throw new Error(`text-block load failed: ${result.status} ${result.body}`);
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
blocks: result.blocks,
|
|
158
|
+
...(effectiveOverride !== undefined && { tenantIdOverride: effectiveOverride }),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
92
161
|
// tenantIdOverride (SystemAdmin-only) lets an app point the content tree at a
|
|
93
162
|
// tenant other than the session's — publicstatus seeds marketing/legal blocks
|
|
94
163
|
// on SYSTEM_TENANT_ID, so its SystemAdmin must read that tenant, not their own.
|
|
95
|
-
// Without a collection
|
|
164
|
+
// Without a collection: the anonymous-capable by-tenant query, so a public
|
|
96
165
|
// page keeps its content sidebar without a session. With one: that
|
|
97
166
|
// collection's own list handler, which carries the collection's access rule.
|
|
98
|
-
function makeTreeProvider(tenantIdOverride,
|
|
167
|
+
function makeTreeProvider(tenantIdOverride, collection) {
|
|
168
|
+
const collectionId = collection?.id;
|
|
99
169
|
const queryType = collectionId === undefined
|
|
100
170
|
? TemplateResolverQueries.byTenant
|
|
101
171
|
: collectionQueryName(collectionId, "list");
|
|
172
|
+
// A per-user entry belongs to its author in the session tenant; pointing the
|
|
173
|
+
// tree at another tenant would only hide the author's own entries.
|
|
174
|
+
const requestedOverride = collection?.ownership === "user" ? undefined : tenantIdOverride;
|
|
102
175
|
return () => (emit, emitError) => {
|
|
103
|
-
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
})
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
//
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
emitError(e instanceof Error ? e : new Error(String(e)));
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
emit([]);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
return () => { };
|
|
176
|
+
let active = true;
|
|
177
|
+
// Each denial logs a client-fault warning on the server, so a reload after a
|
|
178
|
+
// save does not ask again once this subscription learned the answer.
|
|
179
|
+
let override = requestedOverride;
|
|
180
|
+
const load = () => {
|
|
181
|
+
loadBlocks(queryType, override)
|
|
182
|
+
.then(({ blocks, tenantIdOverride: effectiveOverride }) => {
|
|
183
|
+
if (!active)
|
|
184
|
+
return;
|
|
185
|
+
override = effectiveOverride;
|
|
186
|
+
// The app-side r.nav node IS the "Content" container → the provider's
|
|
187
|
+
// children are the folders/leaves below it, not the wrapper.
|
|
188
|
+
const content = groupBlocksByFolder(blocks, effectiveOverride, collectionId)[0];
|
|
189
|
+
emit(content !== undefined && Array.isArray(content.children) ? content.children : []);
|
|
190
|
+
})
|
|
191
|
+
.catch((e) => {
|
|
192
|
+
if (!active)
|
|
193
|
+
return;
|
|
194
|
+
// Explicit error signal via emitError; ProviderBranch shows a banner
|
|
195
|
+
// plus retry. Falls back to emit([]) for consumers without emitError.
|
|
196
|
+
if (emitError) {
|
|
197
|
+
emitError(e instanceof Error ? e : new Error(String(e)));
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
emit([]);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
load();
|
|
205
|
+
const unsubscribe = onTreeRefresh(collectionId ?? TEXT_BLOCK_TREE_KEY, load);
|
|
206
|
+
return () => {
|
|
207
|
+
active = false;
|
|
208
|
+
unsubscribe();
|
|
209
|
+
};
|
|
144
210
|
};
|
|
145
211
|
}
|
|
146
212
|
// A node without a collectionId (the hand-wired text-block tree) has no
|
|
@@ -165,6 +231,16 @@ function findContentFormat(features, collectionId) {
|
|
|
165
231
|
function findVariableExamples(features, collectionId) {
|
|
166
232
|
return findCollection(features, collectionId)?.variableSchema ?? {};
|
|
167
233
|
}
|
|
234
|
+
// Edit form: loads the current values, dispatches set on submit. Who may save
|
|
235
|
+
// follows the server: a collection's set handler carries the collection's own
|
|
236
|
+
// access rule (one rule for list, item and set), the public text-block pair
|
|
237
|
+
// stays TenantAdmin/SystemAdmin. Other users see the form read-only.
|
|
238
|
+
export function canWriteContent(collection, roles) {
|
|
239
|
+
if (collection !== undefined) {
|
|
240
|
+
return isUiAccessGranted(collection.access ?? DEFAULT_COLLECTION_ACCESS, roles);
|
|
241
|
+
}
|
|
242
|
+
return roles?.includes("TenantAdmin") === true || roles?.includes("SystemAdmin") === true;
|
|
243
|
+
}
|
|
168
244
|
// The collection's declared contentFormat ("plain" | "rich" | "markdown" |
|
|
169
245
|
// "document", see ContentCollectionDefinition.contentFormat) uses a different vocabulary
|
|
170
246
|
// than the stored entry's contentFormat ("plain" | "html" | "markdown" |
|
|
@@ -197,7 +273,7 @@ function TextBlockEditor({ target, }) {
|
|
|
197
273
|
// Which collection the node came from. Absent → the public text-block pair,
|
|
198
274
|
// which is what the hand-wired content tree uses.
|
|
199
275
|
const collectionId = args?.collectionId;
|
|
200
|
-
const { Form, Field, Input, Button, Banner } = usePrimitives();
|
|
276
|
+
const { Form, Field, Input, Button, Banner, PageHeader } = usePrimitives();
|
|
201
277
|
const dispatcher = useDispatcher();
|
|
202
278
|
const user = useShellUser();
|
|
203
279
|
const t = useTranslation();
|
|
@@ -206,9 +282,10 @@ function TextBlockEditor({ target, }) {
|
|
|
206
282
|
const contentFormat = findContentFormat(features, collectionId);
|
|
207
283
|
const variableExamples = findVariableExamples(features, collectionId);
|
|
208
284
|
const variables = Object.keys(variableExamples);
|
|
209
|
-
const
|
|
285
|
+
const collection = findCollection(features, collectionId);
|
|
286
|
+
const documentBlocks = documentBlocksForKind(collection?.kind);
|
|
210
287
|
const ContentEditor = useContentEditor(contentFormat);
|
|
211
|
-
const canWrite =
|
|
288
|
+
const canWrite = canWriteContent(collection, user?.roles);
|
|
212
289
|
// Same split as the tree provider: a node without a collection reads through
|
|
213
290
|
// the public by-slug, a collection node through that collection's handlers.
|
|
214
291
|
const readQuery = collectionId === undefined
|
|
@@ -249,6 +326,7 @@ function TextBlockEditor({ target, }) {
|
|
|
249
326
|
...(tenantIdOverride !== undefined && { tenantIdOverride }),
|
|
250
327
|
});
|
|
251
328
|
if (result.isSuccess) {
|
|
329
|
+
refreshTree(collectionId ?? TEXT_BLOCK_TREE_KEY);
|
|
252
330
|
setSavedMsg(result.data.isNew
|
|
253
331
|
? t("template-resolver.editor.created")
|
|
254
332
|
: t("template-resolver.editor.saved"));
|
|
@@ -270,16 +348,20 @@ function TextBlockEditor({ target, }) {
|
|
|
270
348
|
void handleSave();
|
|
271
349
|
};
|
|
272
350
|
const disabled = submitting || loading || !canWrite;
|
|
273
|
-
|
|
351
|
+
const headerTitle = title || slug || undefined;
|
|
352
|
+
return (_jsxs(_Fragment, { children: [PageHeader !== undefined && headerTitle !== undefined && _jsx(PageHeader, { title: headerTitle }), _jsxs(Form, { onSubmit: onSubmit, testId: "text-block-editor", title: title || slug || EMPTY_VALUE_PLACEHOLDER, subtitle: locale !== "" ? `${slug} · (${locale})` : slug, actions: canWrite ? (_jsx(Button, { type: "submit", loading: submitting, disabled: disabled, children: submitting
|
|
353
|
+
? t("template-resolver.editor.saving")
|
|
354
|
+
: t("template-resolver.editor.save") })) : undefined, children: [loading && _jsx(Banner, { variant: "loading", children: t("template-resolver.editor.loading") }), loadError !== null && (_jsxs(Banner, { variant: "error", children: [t("template-resolver.editor.loadFailed"), ": ", loadError.code] })), !canWrite && !loading && (_jsx(Banner, { variant: "info", children: t("template-resolver.editor.readOnly") })), _jsx(Field, { id: "text-block-title", label: t("template-resolver.editor.titleLabel"), required: true, children: _jsx(Input, { kind: "text", id: "text-block-title", name: "text-block-title", value: title, onChange: setTitle, disabled: disabled, required: true }) }), _jsx(Field, { id: contentEditorId, label: t("template-resolver.editor.contentLabel"), labelAppendix: _jsx(Button, { type: "button", variant: "secondary", size: "sm", onClick: () => setPreviewing((p) => !p), children: previewing ? t("kumiko.contentEditor.editMode") : t("kumiko.contentEditor.preview") }), children: previewing ? (_jsx(ContentPreview, { content: content, variables: variableExamples, contentFormat: contentFormat })) : (_jsx(DocumentBlocksContext.Provider, { value: documentBlocks, children: _jsx(ContentEditor, { id: contentEditorId, value: content, onChange: setContent, variables: variables, readOnly: disabled }) })) }), saveError !== null && _jsx(Banner, { variant: "error", children: saveError }), savedMsg !== null && _jsx(Banner, { variant: "info", children: savedMsg })] })] }));
|
|
274
355
|
}
|
|
275
356
|
// `navId` = the QN of the r.nav({ provider: true }) node the app registers for
|
|
276
357
|
// the content tree (e.g. "publicstatus:nav:content"). The app owns the node's
|
|
277
358
|
// label/icon/access, the feature only supplies children plus the editor.
|
|
278
359
|
// Without navId: resolver only, no sidebar node (server-only consumers such as
|
|
279
360
|
// money-horse leak nothing).
|
|
280
|
-
// `tenantId
|
|
281
|
-
// SYSTEM_TENANT_ID for apps that seed marketing/legal there.
|
|
282
|
-
// session tenant
|
|
361
|
+
// `tenantId`: which tenant a SystemAdmin's trees and editor serve —
|
|
362
|
+
// SYSTEM_TENANT_ID for apps that seed marketing/legal there. Other users and
|
|
363
|
+
// per-user collections always stay on the session tenant. Omit for the
|
|
364
|
+
// session tenant everywhere.
|
|
283
365
|
//
|
|
284
366
|
// Beyond that single tree, this client also serves every content collection
|
|
285
367
|
// the app declares via r.contentCollection() — one provider per collection,
|
|
@@ -299,7 +381,7 @@ export function textBlocksClient(opts) {
|
|
|
299
381
|
// that collection's kind. The explicit navId above stays independent of
|
|
300
382
|
// this — an app can have both a hand-wired content tree and collections.
|
|
301
383
|
navProvidersFromCollections: (collections) => ({
|
|
302
|
-
providers: Object.fromEntries(collections.map((c) => [c.navQn, makeTreeProvider(tenantId, c
|
|
384
|
+
providers: Object.fromEntries(collections.map((c) => [c.navQn, makeTreeProvider(tenantId, c)])),
|
|
303
385
|
entities: Object.fromEntries(collections.map((c) => [c.navQn, ["template-resource"]])),
|
|
304
386
|
}),
|
|
305
387
|
resolvers: {
|
|
@@ -134,6 +134,6 @@ export const defaultTranslations = {
|
|
|
134
134
|
"template-resolver.editor.networkError": "Network error while saving.",
|
|
135
135
|
"template-resolver.editor.loading": "Loading current version…",
|
|
136
136
|
"template-resolver.editor.loadFailed": "Could not load block",
|
|
137
|
-
"template-resolver.editor.readOnly": "Read-only
|
|
137
|
+
"template-resolver.editor.readOnly": "Read-only. Your role does not allow changes here.",
|
|
138
138
|
},
|
|
139
139
|
};
|
|
@@ -3,4 +3,4 @@ export declare const addMemberWrite: import("@cosmicdrift/kumiko-types/define-ha
|
|
|
3
3
|
userId: z.ZodString;
|
|
4
4
|
tenantId: z.ZodString;
|
|
5
5
|
roles: z.ZodArray<z.ZodString>;
|
|
6
|
-
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
6
|
+
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -4,4 +4,4 @@ export declare const cancelInvitationWrite: import("@cosmicdrift/kumiko-types/de
|
|
|
4
4
|
}, z.core.$strip>, {
|
|
5
5
|
id: string;
|
|
6
6
|
alreadyDone: boolean;
|
|
7
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
7
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -3,4 +3,4 @@ export declare const createWrite: import("@cosmicdrift/kumiko-types/define-handl
|
|
|
3
3
|
id: z.ZodOptional<z.ZodUUID>;
|
|
4
4
|
key: z.ZodString;
|
|
5
5
|
name: z.ZodString;
|
|
6
|
-
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
6
|
+
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -5,4 +5,4 @@ export declare const removeMemberWrite: import("@cosmicdrift/kumiko-types/define
|
|
|
5
5
|
}, z.core.$strip>, {
|
|
6
6
|
userId: string;
|
|
7
7
|
tenantId: string;
|
|
8
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
8
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
2
|
export declare const enableWrite: import("@cosmicdrift/kumiko-types/define-handler").WriteHandlerDefinition<"disable" | "enable", z.ZodObject<{
|
|
3
3
|
id: z.ZodUUID;
|
|
4
|
-
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
4
|
+
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
5
5
|
export declare const disableWrite: import("@cosmicdrift/kumiko-types/define-handler").WriteHandlerDefinition<"disable" | "enable", z.ZodObject<{
|
|
6
6
|
id: z.ZodUUID;
|
|
7
|
-
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
7
|
+
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -7,4 +7,4 @@ export declare const updateMemberRolesWrite: import("@cosmicdrift/kumiko-types/d
|
|
|
7
7
|
userId: string;
|
|
8
8
|
roles: readonly string[];
|
|
9
9
|
tenantId: string;
|
|
10
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
10
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -5,4 +5,4 @@ export declare const updateWrite: import("@cosmicdrift/kumiko-types/define-handl
|
|
|
5
5
|
changes: z.ZodObject<{
|
|
6
6
|
name: z.ZodOptional<z.ZodString>;
|
|
7
7
|
}, z.core.$strip>;
|
|
8
|
-
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
8
|
+
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -11,4 +11,4 @@ export declare function createClaimTenantHandoverHandler(opts?: ClaimTenantHando
|
|
|
11
11
|
sourceTenantId: string;
|
|
12
12
|
destinationTenantId: string;
|
|
13
13
|
movedEntities: Readonly<Record<string, number>>;
|
|
14
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
14
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -3,4 +3,4 @@ export declare const cancelDestructionWrite: import("@cosmicdrift/kumiko-types/d
|
|
|
3
3
|
tenantId: string;
|
|
4
4
|
status: "active";
|
|
5
5
|
gracePeriodEnd: null;
|
|
6
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
6
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -3,4 +3,4 @@ export declare const requestDestructionWrite: import("@cosmicdrift/kumiko-types/
|
|
|
3
3
|
tenantId: string;
|
|
4
4
|
status: "destroyRequested";
|
|
5
5
|
gracePeriodEnd: string;
|
|
6
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
6
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -23,4 +23,4 @@ export declare function createSetTenantTierWrite(opts?: SetTenantTierOptions): i
|
|
|
23
23
|
tenantId: string;
|
|
24
24
|
tier: string;
|
|
25
25
|
isNew: boolean;
|
|
26
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
26
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -6,4 +6,4 @@ export declare const createWrite: import("@cosmicdrift/kumiko-types/define-handl
|
|
|
6
6
|
locale: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
7
7
|
timezone: z.ZodOptional<z.ZodString>;
|
|
8
8
|
roles: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>>;
|
|
9
|
-
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
9
|
+
}, z.core.$strip>, import("@cosmicdrift/kumiko-types/hooks").SaveContext, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -12,4 +12,4 @@ export declare const updateWrite: import("@cosmicdrift/kumiko-types/define-handl
|
|
|
12
12
|
emailVerified: z.ZodOptional<z.ZodBoolean>;
|
|
13
13
|
roles: z.ZodOptional<z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>]>>;
|
|
14
14
|
}, z.core.$strip>;
|
|
15
|
-
}, z.core.$strip>, unknown, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
15
|
+
}, z.core.$strip>, unknown, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -3,4 +3,4 @@ export declare const cancelDeletionWrite: import("@cosmicdrift/kumiko-types/defi
|
|
|
3
3
|
userId: string;
|
|
4
4
|
status: "active";
|
|
5
5
|
gracePeriodEnd: null;
|
|
6
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
6
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -7,4 +7,4 @@ export declare function createConfirmDeletionByTokenHandler(opts?: ConfirmDeleti
|
|
|
7
7
|
}, z.core.$strip>, {
|
|
8
8
|
status: "deletionRequested";
|
|
9
9
|
gracePeriodEnd: string;
|
|
10
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
10
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -4,4 +4,4 @@ export declare const liftRestrictionWrite: import("@cosmicdrift/kumiko-types/def
|
|
|
4
4
|
}, z.core.$strip>, {
|
|
5
5
|
userId: string;
|
|
6
6
|
status: "active";
|
|
7
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
7
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -19,4 +19,4 @@ export declare function createRequestDeletionByEmailHandler(opts?: RequestDeleti
|
|
|
19
19
|
email: z.ZodEmail;
|
|
20
20
|
}, z.core.$strip>, {
|
|
21
21
|
kind: "requested";
|
|
22
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
22
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -19,4 +19,4 @@ export declare function createRequestDeletionHandler(opts?: RequestDeletionOptio
|
|
|
19
19
|
userId: string;
|
|
20
20
|
status: "deletionRequested";
|
|
21
21
|
gracePeriodEnd: string;
|
|
22
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
22
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -3,4 +3,4 @@ export declare const requestExportWrite: import("@cosmicdrift/kumiko-types/defin
|
|
|
3
3
|
jobId: string;
|
|
4
4
|
status: string;
|
|
5
5
|
isExisting: boolean;
|
|
6
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
6
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -4,4 +4,4 @@ export declare const restrictAccountWrite: import("@cosmicdrift/kumiko-types/def
|
|
|
4
4
|
}, z.core.$strip>, {
|
|
5
5
|
userId: string;
|
|
6
6
|
status: "restricted";
|
|
7
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
7
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -10,4 +10,4 @@ export declare function createRunForgetCleanupHandler(opts?: RunForgetCleanupOpt
|
|
|
10
10
|
errors: readonly import("../run-forget-cleanup.ts").ForgetCleanupError[];
|
|
11
11
|
incompleteCount: number;
|
|
12
12
|
incomplete: readonly import("../run-forget-cleanup.ts").ForgetCleanupIncomplete[];
|
|
13
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
13
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -154,7 +154,8 @@ function isPersonalFileRow(registry, row) {
|
|
|
154
154
|
if (row["entityId"] === null && resolveActionFormFileField(registry, entityType, fieldName)) {
|
|
155
155
|
return true;
|
|
156
156
|
}
|
|
157
|
-
const
|
|
157
|
+
const entity = registry.getEntity(entityType) ?? registry.getReadModelEntity(entityType);
|
|
158
|
+
const fieldDef = entity?.fields[fieldName];
|
|
158
159
|
return isPersonalPiiField(fieldDef);
|
|
159
160
|
}
|
|
160
161
|
// Delete every row's binary (original + any derivatives) via the provider.
|
|
@@ -5,4 +5,4 @@ export declare const changeEmailWrite: import("@cosmicdrift/kumiko-types/define-
|
|
|
5
5
|
}, z.core.$strip>, {
|
|
6
6
|
kind: string;
|
|
7
7
|
email: string;
|
|
8
|
-
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
8
|
+
}, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -6,7 +6,7 @@ export type WaitlistExportData = {
|
|
|
6
6
|
export type WaitlistPurgeData = {
|
|
7
7
|
readonly purged: number;
|
|
8
8
|
};
|
|
9
|
-
export declare const exportHandler: import("@cosmicdrift/kumiko-types/define-handler").WriteHandlerDefinition<"export", z.ZodObject<{}, z.core.$strict>, WaitlistExportData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
9
|
+
export declare const exportHandler: import("@cosmicdrift/kumiko-types/define-handler").WriteHandlerDefinition<"export", z.ZodObject<{}, z.core.$strict>, WaitlistExportData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
10
10
|
export declare const purgeHandler: import("@cosmicdrift/kumiko-types/define-handler").WriteHandlerDefinition<"purge", z.ZodObject<{
|
|
11
11
|
confirmCount: z.ZodNumber;
|
|
12
|
-
}, z.core.$strict>, WaitlistPurgeData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
12
|
+
}, z.core.$strict>, WaitlistPurgeData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -6,4 +6,4 @@ export type WaitlistInviteData = {
|
|
|
6
6
|
};
|
|
7
7
|
export declare function createInviteHandler(invite?: WaitlistInviteOptions): import("@cosmicdrift/kumiko-types/define-handler").WriteHandlerDefinition<"invite", import("zod").ZodObject<{
|
|
8
8
|
id: import("zod").ZodUUID;
|
|
9
|
-
}, import("zod/v4/core").$strict>, WaitlistInviteData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
9
|
+
}, import("zod/v4/core").$strict>, WaitlistInviteData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -4,4 +4,4 @@ export type WaitlistRejectData = {
|
|
|
4
4
|
};
|
|
5
5
|
export declare const rejectHandler: import("@cosmicdrift/kumiko-types/define-handler").WriteHandlerDefinition<"reject", import("zod").ZodObject<{
|
|
6
6
|
id: import("zod").ZodUUID;
|
|
7
|
-
}, import("zod/v4/core").$strict>, WaitlistRejectData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
7
|
+
}, import("zod/v4/core").$strict>, WaitlistRejectData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
|
@@ -10,4 +10,4 @@ export declare function createSubmitHandler(opts: WaitlistOptions): import("@cos
|
|
|
10
10
|
message: import("zod").ZodOptional<import("zod").ZodString>;
|
|
11
11
|
locale: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
|
|
12
12
|
website: import("zod").ZodOptional<import("zod").ZodString>;
|
|
13
|
-
}, import("zod/v4/core").$strict>, WaitlistSubmitData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined>;
|
|
13
|
+
}, import("zod/v4/core").$strict>, WaitlistSubmitData, import("@cosmicdrift/kumiko-types/event-type-map").KumikoEventTypeMap, undefined, undefined>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-bundled-features",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.394.0",
|
|
4
4
|
"description": "Built-in features — tenant, user, auth, delivery. The stuff you'd rewrite anyway, already typed.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -188,9 +188,9 @@
|
|
|
188
188
|
"types": "./dist/subscription-stripe/index.d.ts",
|
|
189
189
|
"default": "./dist/subscription-stripe/index.js"
|
|
190
190
|
},
|
|
191
|
-
"./subscription-
|
|
192
|
-
"types": "./dist/subscription-
|
|
193
|
-
"default": "./dist/subscription-
|
|
191
|
+
"./subscription-paddle": {
|
|
192
|
+
"types": "./dist/subscription-paddle/index.d.ts",
|
|
193
|
+
"default": "./dist/subscription-paddle/index.js"
|
|
194
194
|
},
|
|
195
195
|
"./subscription-mollie": {
|
|
196
196
|
"types": "./dist/subscription-mollie/index.d.ts",
|
|
@@ -212,6 +212,10 @@
|
|
|
212
212
|
"types": "./dist/inbound-mail-foundation/index.d.ts",
|
|
213
213
|
"default": "./dist/inbound-mail-foundation/index.js"
|
|
214
214
|
},
|
|
215
|
+
"./inbound-mail-foundation/web": {
|
|
216
|
+
"types": "./dist/inbound-mail-foundation/web/index.d.ts",
|
|
217
|
+
"default": "./dist/inbound-mail-foundation/web/index.js"
|
|
218
|
+
},
|
|
215
219
|
"./inbound-provider-inmemory": {
|
|
216
220
|
"types": "./dist/inbound-provider-inmemory/index.d.ts",
|
|
217
221
|
"default": "./dist/inbound-provider-inmemory/index.js"
|
|
@@ -348,6 +352,10 @@
|
|
|
348
352
|
"types": "./dist/auth-email-password/web/return-path.d.ts",
|
|
349
353
|
"default": "./dist/auth-email-password/web/return-path.js"
|
|
350
354
|
},
|
|
355
|
+
"./auth-email-password/static-login": {
|
|
356
|
+
"types": "./dist/auth-email-password/web/static-login.d.ts",
|
|
357
|
+
"default": "./dist/auth-email-password/web/static-login.js"
|
|
358
|
+
},
|
|
351
359
|
"./auth-email-password/seeding": {
|
|
352
360
|
"types": "./dist/auth-email-password/seeding.d.ts",
|
|
353
361
|
"default": "./dist/auth-email-password/seeding.js"
|
|
@@ -558,9 +566,9 @@
|
|
|
558
566
|
}
|
|
559
567
|
},
|
|
560
568
|
"dependencies": {
|
|
561
|
-
"@cosmicdrift/kumiko-framework": "0.
|
|
562
|
-
"@cosmicdrift/kumiko-renderer": "0.
|
|
563
|
-
"@cosmicdrift/kumiko-types": "0.
|
|
569
|
+
"@cosmicdrift/kumiko-framework": "0.394.0",
|
|
570
|
+
"@cosmicdrift/kumiko-renderer": "0.394.0",
|
|
571
|
+
"@cosmicdrift/kumiko-types": "0.394.0",
|
|
564
572
|
"@mollie/api-client": "^4.5.0",
|
|
565
573
|
"@node-rs/argon2": "^2.0.2",
|
|
566
574
|
"@tiptap/core": "^3.31.3",
|
|
@@ -763,9 +771,9 @@
|
|
|
763
771
|
"types": "./dist/subscription-stripe/index.d.ts",
|
|
764
772
|
"default": "./dist/subscription-stripe/index.js"
|
|
765
773
|
},
|
|
766
|
-
"./subscription-
|
|
767
|
-
"types": "./dist/subscription-
|
|
768
|
-
"default": "./dist/subscription-
|
|
774
|
+
"./subscription-paddle": {
|
|
775
|
+
"types": "./dist/subscription-paddle/index.d.ts",
|
|
776
|
+
"default": "./dist/subscription-paddle/index.js"
|
|
769
777
|
},
|
|
770
778
|
"./subscription-mollie": {
|
|
771
779
|
"types": "./dist/subscription-mollie/index.d.ts",
|
|
@@ -787,6 +795,10 @@
|
|
|
787
795
|
"types": "./dist/inbound-mail-foundation/index.d.ts",
|
|
788
796
|
"default": "./dist/inbound-mail-foundation/index.js"
|
|
789
797
|
},
|
|
798
|
+
"./inbound-mail-foundation/web": {
|
|
799
|
+
"types": "./dist/inbound-mail-foundation/web/index.d.ts",
|
|
800
|
+
"default": "./dist/inbound-mail-foundation/web/index.js"
|
|
801
|
+
},
|
|
790
802
|
"./inbound-provider-inmemory": {
|
|
791
803
|
"types": "./dist/inbound-provider-inmemory/index.d.ts",
|
|
792
804
|
"default": "./dist/inbound-provider-inmemory/index.js"
|
|
@@ -923,6 +935,10 @@
|
|
|
923
935
|
"types": "./dist/auth-email-password/web/return-path.d.ts",
|
|
924
936
|
"default": "./dist/auth-email-password/web/return-path.js"
|
|
925
937
|
},
|
|
938
|
+
"./auth-email-password/static-login": {
|
|
939
|
+
"types": "./dist/auth-email-password/web/static-login.d.ts",
|
|
940
|
+
"default": "./dist/auth-email-password/web/static-login.js"
|
|
941
|
+
},
|
|
926
942
|
"./auth-email-password/seeding": {
|
|
927
943
|
"types": "./dist/auth-email-password/seeding.d.ts",
|
|
928
944
|
"default": "./dist/auth-email-password/seeding.js"
|
|
@@ -1142,17 +1158,17 @@
|
|
|
1142
1158
|
],
|
|
1143
1159
|
"devDependencies": {
|
|
1144
1160
|
"@testing-library/user-event": "^14.6.1",
|
|
1145
|
-
"@cosmicdrift/kumiko-locale-de": "0.
|
|
1146
|
-
"@cosmicdrift/kumiko-locale-es": "0.
|
|
1147
|
-
"@cosmicdrift/kumiko-locale-fr": "0.
|
|
1148
|
-
"@cosmicdrift/kumiko-locale-it": "0.
|
|
1149
|
-
"@cosmicdrift/kumiko-renderer-mail-html": "0.
|
|
1161
|
+
"@cosmicdrift/kumiko-locale-de": "0.394.0",
|
|
1162
|
+
"@cosmicdrift/kumiko-locale-es": "0.394.0",
|
|
1163
|
+
"@cosmicdrift/kumiko-locale-fr": "0.394.0",
|
|
1164
|
+
"@cosmicdrift/kumiko-locale-it": "0.394.0",
|
|
1165
|
+
"@cosmicdrift/kumiko-renderer-mail-html": "0.394.0",
|
|
1150
1166
|
"jsqr": "^1.4.0",
|
|
1151
1167
|
"unpdf": "^1.8.1",
|
|
1152
|
-
"@cosmicdrift/kumiko-testing": "0.
|
|
1168
|
+
"@cosmicdrift/kumiko-testing": "0.394.0"
|
|
1153
1169
|
},
|
|
1154
1170
|
"peerDependencies": {
|
|
1155
|
-
"@cosmicdrift/kumiko-testing": "0.
|
|
1171
|
+
"@cosmicdrift/kumiko-testing": "0.394.0"
|
|
1156
1172
|
},
|
|
1157
1173
|
"peerDependenciesMeta": {
|
|
1158
1174
|
"@cosmicdrift/kumiko-testing": {
|