@wildo-ai/saas-models 1.1.5 → 1.1.6
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/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +2 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications-context.schemas.d.ts +176 -2
- package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.js +3 -2
- package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.d.ts +7 -5
- package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.js +6 -4
- package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +10 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +49 -15
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/billing-account.shared.schemas.js +2 -2
- package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +25 -0
- package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.js +19 -0
- package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts +27 -5
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.js +30 -4
- package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.d.ts +37 -11
- package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.js +31 -19
- package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts +2 -0
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js +18 -7
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/credit-pool.shared.schemas.d.ts +2 -0
- package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/credit-pool.shared.schemas.js +7 -1
- package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js +6 -6
- package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.schemas.js +1 -1
- package/dist/esm/billing/invoice-ref.shared.schemas.js.map +1 -1
- package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/price.shared.schemas.js +5 -3
- package/dist/esm/billing/price.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts +11 -1
- package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product-behavior-policy.shared.schemas.js +39 -23
- package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product-definition.shared.schemas.d.ts +30 -2
- package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product-definition.shared.schemas.js +35 -0
- package/dist/esm/billing/product-definition.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +6 -3
- package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.schemas.d.ts +7 -3
- package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.schemas.js +22 -7
- package/dist/esm/billing/product.shared.schemas.js.map +1 -1
- package/dist/esm/billing/promotions.shared.resources-config.schemas.js +8 -8
- package/dist/esm/billing/promotions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts +135 -0
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts.map +1 -0
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.js +112 -0
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.js.map +1 -0
- package/dist/esm/billing/public-pricing-catalog.shared.d.ts +30 -0
- package/dist/esm/billing/public-pricing-catalog.shared.d.ts.map +1 -0
- package/dist/esm/billing/public-pricing-catalog.shared.js +53 -0
- package/dist/esm/billing/public-pricing-catalog.shared.js.map +1 -0
- package/dist/esm/billing/referral-reward.shared.schemas.d.ts +51 -0
- package/dist/esm/billing/referral-reward.shared.schemas.d.ts.map +1 -0
- package/dist/esm/billing/referral-reward.shared.schemas.js +92 -0
- package/dist/esm/billing/referral-reward.shared.schemas.js.map +1 -0
- package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts +54 -33
- package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.resources-config.schemas.js +56 -2
- package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.d.ts +22 -37
- package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.js +24 -44
- package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +9 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.js +55 -22
- package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.d.ts +80 -5
- package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.js +85 -25
- package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
- package/dist/esm/billing/usage-record.shared.schemas.js +5 -5
- package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +143 -2
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js +84 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +14 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +4 -0
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts +70 -0
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js +87 -0
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +34 -0
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +137 -3
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts +7 -0
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +28 -2
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +29 -8
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +29 -6
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +38 -9
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +1822 -146
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +1777 -87
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts +10 -0
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +148 -7
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +2 -0
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js +2 -0
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts +0 -8
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +0 -1
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.js.map +0 -1
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +17 -8
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +43 -20
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts +38 -0
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js +39 -0
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts +35 -0
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js +82 -0
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts +37 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js +223 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts +222 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js +331 -0
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +37 -3
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +33 -4
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts +52 -0
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js +116 -0
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts +11 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js +11 -0
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts +93 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.js +149 -0
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts +43 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js +106 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts +209 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js +226 -0
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts +129 -5
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js +128 -4
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts +53 -0
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js +74 -0
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js.map +1 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts +311 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js +355 -0
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +178 -39
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +145 -35
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js +26 -0
- package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts +9 -0
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +109 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.js +57 -0
- package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +69 -0
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.js +93 -0
- package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +16 -16
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +160 -61
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/navigation.shared.schemas.js +297 -65
- package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
- package/dist/esm/errors/caught-error-description.shared.utils.d.ts +69 -0
- package/dist/esm/errors/caught-error-description.shared.utils.d.ts.map +1 -0
- package/dist/esm/errors/caught-error-description.shared.utils.js +77 -0
- package/dist/esm/errors/caught-error-description.shared.utils.js.map +1 -0
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +76 -3
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +76 -2
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.d.ts +20 -1
- package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.js +16 -9
- package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
- package/dist/esm/errors/errors.shared.utils.d.ts +0 -24
- package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.utils.js +0 -39
- package/dist/esm/errors/errors.shared.utils.js.map +1 -1
- package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +6 -7
- package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/thrown-value-description.shared.utils.js +6 -7
- package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts +70 -0
- package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-description.shared.js +92 -0
- package/dist/esm/external-data/external-data-pipeline-description.shared.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts +154 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts.map +1 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js +161 -0
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +1071 -23
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.js +1065 -17
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
- package/dist/esm/external-data/external-data-provenance.shared.d.ts +71 -0
- package/dist/esm/external-data/external-data-provenance.shared.d.ts.map +1 -0
- package/dist/esm/external-data/external-data-provenance.shared.js +88 -0
- package/dist/esm/external-data/external-data-provenance.shared.js.map +1 -0
- package/dist/esm/external-data.exports.d.ts +5 -0
- package/dist/esm/external-data.exports.d.ts.map +1 -1
- package/dist/esm/external-data.exports.js +11 -0
- package/dist/esm/external-data.exports.js.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +17 -2
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +22 -4
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +3 -0
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
- package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capability-surface.shared.js +2 -0
- package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +152 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +4 -3
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +4 -3
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +45 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +14 -0
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -1
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +188 -4
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +76 -9
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +175 -33
- package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js +247 -42
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -1
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts +53 -0
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js +41 -0
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts +150 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js +22 -0
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js.map +1 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts +42 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js +49 -0
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +53 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +56 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +34 -0
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-capability.shared.schemas.js +34 -0
- package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +341 -4
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +270 -20
- package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +6 -2
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +6 -2
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -1
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +174 -1
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +125 -0
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +3 -3
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts +42 -0
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js +57 -0
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +6 -0
- package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-protocol.shared.schemas.js +6 -0
- package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts +58 -0
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js +35 -0
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts +115 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js +137 -0
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.d.ts +73 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.js +171 -0
- package/dist/esm/external-providers/provider-usage-cost.shared.js.map +1 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.d.ts +12 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.js +40 -0
- package/dist/esm/external-providers/provider-usage-pricing.example.js.map +1 -0
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts +68 -32
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js +63 -52
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js.map +1 -1
- package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +5 -5
- package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/features/application-features.shared.resources-config.schemas.js +13 -5
- package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/features/connected-feature.example.d.ts.map +1 -1
- package/dist/esm/features/connected-feature.example.js +2 -1
- package/dist/esm/features/connected-feature.example.js.map +1 -1
- package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
- package/dist/esm/features/core-feature-definitions.shared.js +2 -1
- package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
- package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
- package/dist/esm/features/feature-builders.shared.js.map +1 -1
- package/dist/esm/features/feature-definition.shared.schemas.d.ts +2 -11
- package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/feature-definition.shared.schemas.js +0 -12
- package/dist/esm/features/feature-definition.shared.schemas.js.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.d.ts +31 -17
- package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.js +27 -5
- package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
- package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +5 -5
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts +127 -11
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.js +32 -1
- package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +16 -0
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.js +7 -0
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts +68 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js +276 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts +468 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js +472 -0
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts +118 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js +144 -0
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +142 -8
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +209 -11
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +37 -2
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +30 -2
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts +0 -11
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js +12 -5
- package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts +45 -6
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js +31 -5
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +30 -30
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +15 -7
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts +15 -0
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +506 -0
- package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/human-decision.shared.schemas.js +502 -0
- package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts +46 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js +65 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts +120 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js +165 -0
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts +45 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js +127 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts +83 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js +97 -0
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts +136 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js +90 -0
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +5 -1
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +19 -4
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +13 -15
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +30 -17
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts +268 -0
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.js +576 -0
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +30 -0
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts +129 -0
- package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/work-attribution.shared.schemas.js +141 -0
- package/dist/esm/flows-actors/work-attribution.shared.schemas.js.map +1 -0
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts +22 -1
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts.map +1 -1
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js +23 -0
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +61 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +61 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.schemas.js +11 -10
- package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.schemas.js +6 -6
- package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.js +8 -7
- package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +1 -1
- package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +550 -30
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +498 -34
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts +62 -0
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts.map +1 -0
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js +66 -0
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js.map +1 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts +133 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts.map +1 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js +191 -0
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js.map +1 -0
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +37 -6
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +37 -6
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -1
- package/dist/esm/i18n/application-config-vocabulary.shared.d.ts +36 -0
- package/dist/esm/i18n/application-config-vocabulary.shared.d.ts.map +1 -0
- package/dist/esm/i18n/application-config-vocabulary.shared.js +39 -0
- package/dist/esm/i18n/application-config-vocabulary.shared.js.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts +11 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.js +14 -0
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.js.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts +20 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts.map +1 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.js +21 -0
- package/dist/esm/i18n/engine-open-vocabulary.shared.js.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts +94 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js +206 -0
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts +169 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.js +231 -0
- package/dist/esm/inbound/conversation-threads.shared.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts +195 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.js +244 -0
- package/dist/esm/inbound/inbound-channels.shared.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts +36 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js +169 -0
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts +404 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.js +449 -0
- package/dist/esm/inbound/inbound-delivery.shared.schemas.js.map +1 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts +46 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts.map +1 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.js +57 -0
- package/dist/esm/inbound/inbound-endpoint-env.shared.js.map +1 -0
- package/dist/esm/index.d.ts +58 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +67 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +28 -0
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js +29 -0
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +95 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +121 -0
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows.exports.d.ts +0 -1
- package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
- package/dist/esm/meta-workflows.exports.js +0 -1
- package/dist/esm/meta-workflows.exports.js.map +1 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +7 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.js +35 -0
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts +131 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js +258 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts +448 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts.map +1 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js +530 -0
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js.map +1 -0
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js +4 -3
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +16 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +46 -16
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +19 -12
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +77 -12
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.d.ts +35 -3
- package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.js +43 -3
- package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.d.ts +66 -399
- package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.js +111 -58
- package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +5 -5
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +6 -6
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts +3 -0
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +60 -14
- package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.d.ts +3 -0
- package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.js +30 -0
- package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.schemas.js +9 -9
- package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.js +4 -4
- package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts +0 -1
- package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +5 -5
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.js +15 -10
- package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.js +2 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts +63 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js +106 -5
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -0
- package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js +7 -2
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +3 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +12 -8
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.d.ts +7 -2
- package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.js +51 -1
- package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts +58 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js +188 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts +122 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js +136 -0
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts +36 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js +155 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts +229 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js +290 -0
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts +48 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js +50 -0
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts +97 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js +572 -0
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts +590 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.js +869 -0
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +36 -6
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +57 -16
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.d.ts +0 -1
- package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.js +0 -1
- package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
- package/dist/esm/public-runtime/index.d.ts +30 -11
- package/dist/esm/public-runtime/index.d.ts.map +1 -1
- package/dist/esm/public-runtime/index.js +30 -11
- package/dist/esm/public-runtime/index.js.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.d.ts +36 -8
- package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.js +12 -0
- package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
- package/dist/esm/requests/header-keys.shared.d.ts +6 -0
- package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
- package/dist/esm/requests/header-keys.shared.js +7 -0
- package/dist/esm/requests/header-keys.shared.js.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.js +147 -8
- package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts +51 -23
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.js +64 -0
- package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.d.ts +78 -13
- package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.js +91 -18
- package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
- package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts +21 -0
- package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/embedded-resource-mark.shared.utils.js +22 -0
- package/dist/esm/resources/embedded-resource-mark.shared.utils.js.map +1 -0
- package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.js +812 -32
- package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.d.ts +244 -48
- package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.js +151 -17
- package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
- package/dist/esm/resources/resources-registry.shared.core.definitions.js +353 -12
- package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.d.ts +45 -0
- package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.js +92 -0
- package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.d.ts +2 -17
- package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.js +24 -20
- package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources.shared.utils.d.ts +16 -8
- package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.utils.js +16 -8
- package/dist/esm/resources/resources.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/collection-export.shared.utils.d.ts +2 -2
- package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/collection-export.shared.utils.js +4 -2
- package/dist/esm/resources/utils/collection-export.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts +103 -0
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js +275 -0
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js.map +1 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts +51 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js +28 -0
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js.map +1 -0
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +30 -19
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts +2 -0
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js +33 -0
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js.map +1 -0
- package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts +15 -0
- package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.factory.js +6 -1
- package/dist/esm/resources/utils/resource-polymorphism.factory.js.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.schemas.js +30 -4
- package/dist/esm/resources/utils/resource-polymorphism.schemas.js.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +46 -0
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +205 -22
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-serialization.utils.d.ts +19 -2
- package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-serialization.utils.js +4 -0
- package/dist/esm/resources/utils/resources-serialization.utils.js.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js +15 -9
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
- package/dist/esm/resources/work-unit.shared.schemas.d.ts +20 -0
- package/dist/esm/resources/work-unit.shared.schemas.d.ts.map +1 -0
- package/dist/esm/resources/work-unit.shared.schemas.js +19 -0
- package/dist/esm/resources/work-unit.shared.schemas.js.map +1 -0
- package/dist/esm/runtime/execution-context.shared.schemas.d.ts +48 -1
- package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/execution-context.shared.schemas.js +101 -9
- package/dist/esm/runtime/execution-context.shared.schemas.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +37 -20
- package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +61 -48
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts +26 -0
- package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.shared.schemas.js +39 -5
- package/dist/esm/security/api-keys/api-keys.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +5 -3
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +6 -0
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +2 -2
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts +11 -0
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js +19 -8
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +5 -5
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js +11 -11
- package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts +2 -0
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js +9 -0
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts +169 -0
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js +162 -0
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js.map +1 -0
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js +10 -8
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +8 -8
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +17 -16
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +28 -25
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts +17 -6
- package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js +90 -38
- package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +0 -24
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +79 -68
- package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +8 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +7 -0
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +7 -7
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.defaults.js +56 -0
- package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +77 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.js +90 -0
- package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts +86 -0
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js +40 -0
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js.map +1 -0
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +2 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +46 -14
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +81 -21
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
- package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts +69 -0
- package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts.map +1 -0
- package/dist/esm/security/credential-rotation-grace.shared.utils.js +77 -0
- package/dist/esm/security/credential-rotation-grace.shared.utils.js.map +1 -0
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +28 -8
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +3 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +89 -14
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +1 -0
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +25 -4
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +7 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.js +6 -0
- package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -1
- package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts +143 -0
- package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts.map +1 -0
- package/dist/esm/security/submission-challenge/submission-challenge.shared.js +123 -0
- package/dist/esm/security/submission-challenge/submission-challenge.shared.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts +384 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js +327 -0
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +121 -8
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +83 -4
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +266 -8
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +291 -7
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +313 -3
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +369 -3
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +2 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +5 -3
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js +19 -10
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +6 -0
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/user-preferences-reset.shared.utils.js +2 -2
- package/dist/esm/users/user-preferences-reset.shared.utils.js.map +1 -1
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +0 -3
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +0 -3
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self.shared.resources-config.schemas.js +1 -1
- package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.js +82 -20
- package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/users.shared.schemas.d.ts +12 -9
- package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.schemas.js +49 -18
- package/dist/esm/users/users.shared.schemas.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.js +0 -7
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inbound deliveries — the durable record of every verified message an application RECEIVED from
|
|
3
|
+
* another system, and the named vocabularies the inbound pipeline speaks (#1596).
|
|
4
|
+
*
|
|
5
|
+
* ## What an inbound delivery is
|
|
6
|
+
*
|
|
7
|
+
* A webhook POST (or, later, another inbound channel) that arrived at the application, passed
|
|
8
|
+
* signature verification, and was written here BEFORE anything acted on it. The row is three things
|
|
9
|
+
* at once, like its outbound twin `m2mWebhookDeliveryLog`:
|
|
10
|
+
*
|
|
11
|
+
* 1. the DEDUPLICATION LEDGER — `(sourceKey, dedupKey)` is unique, so one provider event causes at
|
|
12
|
+
* most one handler run however many times the provider retries it (a Redis claim cannot promise
|
|
13
|
+
* that: its TTL is shorter than a provider's retry window — Stripe retries for three days);
|
|
14
|
+
* 2. the WORK QUEUE the dispatch worker drains — `status` + `nextAttemptAt`;
|
|
15
|
+
* 3. the OPERATOR'S LOG — an administrator lists deliveries, sees why one is `DEAD`, and replays it.
|
|
16
|
+
*
|
|
17
|
+
* ## Why it is polymorphic over ORGANIZATION and APPLICATION
|
|
18
|
+
*
|
|
19
|
+
* A delivery's payload usually carries a client organization's personal data. Storing the row in its
|
|
20
|
+
* resolved organization's variant means it is erased with that organization (COMPOSITION,
|
|
21
|
+
* `onParentDelete: IMMEDIATE`) and is visible to that organization's administrator — the same
|
|
22
|
+
* tenant-segregation argument as the outbound delivery log. A delivery that resolves to no
|
|
23
|
+
* organization (an APPLICATION-scope handler, or an `UNROUTABLE` delivery) lives in the application
|
|
24
|
+
* variant.
|
|
25
|
+
*
|
|
26
|
+
* The consequence, stated rather than hidden: the two variants are two tables, so the unique index is
|
|
27
|
+
* per variant. The pipeline therefore resolves scope BEFORE inserting, and checks the other variant
|
|
28
|
+
* for the same key first. See `inbound-delivery-store.backend.service.ts` for the residual that
|
|
29
|
+
* leaves (two concurrent copies of one event resolving to different scopes in the same instant).
|
|
30
|
+
*
|
|
31
|
+
* @see engine/saas-models/src/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.ts — the
|
|
32
|
+
* outbound twin this is modelled on.
|
|
33
|
+
*/
|
|
34
|
+
import { z } from 'zod';
|
|
35
|
+
import { addDataCategories } from '@wildo-ai/zod-decorators';
|
|
36
|
+
import { PersonalDataCategory } from '../compliance/privacy/personal-data-category.shared.schemas.js';
|
|
37
|
+
import { declarePolymorphicSchemas, optOutPolymorphicAutoBusinessKey, } from '../resources/utils/resource-polymorphism.schemas.js';
|
|
38
|
+
import { CoreResourceType, coreResourceShared_FieldIdentifier, } from '../resources/resources.shared.core.definitions.js';
|
|
39
|
+
import { InboundChannelKind, InboundSenderAssurance } from './inbound-channels.shared.schemas.js';
|
|
40
|
+
// =============================================================================
|
|
41
|
+
// NAMED VOCABULARIES
|
|
42
|
+
// =============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Where an inbound delivery came from — decides which route receives it and who owns its
|
|
45
|
+
* verification.
|
|
46
|
+
*/
|
|
47
|
+
export var InboundSourceKind;
|
|
48
|
+
(function (InboundSourceKind) {
|
|
49
|
+
/**
|
|
50
|
+
* A PROVIDER declared the endpoint (`Hook_Endpoint` under `WEBHOOK_ORIGINATOR`) and owns its
|
|
51
|
+
* verification — Stripe's SDK `constructEvent`, for one. Route: `POST /webhooks/{providerRef}/{endpointKey}`.
|
|
52
|
+
*/
|
|
53
|
+
InboundSourceKind["PROVIDER_ENDPOINT"] = "provider_endpoint";
|
|
54
|
+
/**
|
|
55
|
+
* The APPLICATION declared the endpoint on a handler and chose an engine-owned verification
|
|
56
|
+
* scheme. Route: `POST /webhooks/app/{endpointKey}` — the provider ref `app` is reserved so the
|
|
57
|
+
* two route families can never collide.
|
|
58
|
+
*/
|
|
59
|
+
InboundSourceKind["APPLICATION_ENDPOINT"] = "application_endpoint";
|
|
60
|
+
/**
|
|
61
|
+
* A message received on an inbound CHANNEL (#1630) — email today — routed to an organization and
|
|
62
|
+
* handed to the channel handler selected for it. The handler names the channel, never the provider
|
|
63
|
+
* that received the message: that is the application's `EMAIL_INBOUND` selection.
|
|
64
|
+
*/
|
|
65
|
+
InboundSourceKind["CHANNEL"] = "channel";
|
|
66
|
+
})(InboundSourceKind || (InboundSourceKind = {}));
|
|
67
|
+
/**
|
|
68
|
+
* Which scope a handler's deliveries run in. Declared by the handler, enforced by the pipeline: a
|
|
69
|
+
* delivery never runs in a scope its handler did not declare, and nothing ever FALLS BACK to the
|
|
70
|
+
* application scope.
|
|
71
|
+
*/
|
|
72
|
+
export var InboundHandlerScopeMode;
|
|
73
|
+
(function (InboundHandlerScopeMode) {
|
|
74
|
+
/**
|
|
75
|
+
* Every delivery must resolve to one organization. One that does not is `UNROUTABLE` — recorded,
|
|
76
|
+
* audited, acknowledged with 200 and never run. It is NOT run at application scope, because the
|
|
77
|
+
* handler was written for a tenant and application scope would give it every tenant.
|
|
78
|
+
*/
|
|
79
|
+
InboundHandlerScopeMode["ORGANIZATION_REQUIRED"] = "organization_required";
|
|
80
|
+
/** Deliveries run at application scope; no organization is resolved. */
|
|
81
|
+
InboundHandlerScopeMode["APPLICATION"] = "application";
|
|
82
|
+
/**
|
|
83
|
+
* The handler's `resolveScope` decides per delivery, because the source's events genuinely belong to
|
|
84
|
+
* different scopes (billing: a subscription event belongs to an organization's billing account, or to one
|
|
85
|
+
* person's). `resolveScope` must answer one of {@link InboundResolvedScopeKind}; there is no default.
|
|
86
|
+
*
|
|
87
|
+
* The handler is admitted to exactly the scopes it declares `actingRoles` for, and must declare at least
|
|
88
|
+
* one (#1629). A resolver answering a scope the handler holds no roles in makes the delivery `UNROUTABLE`
|
|
89
|
+
* (`SCOPE_NOT_ADMITTED_BY_HANDLER`). The `USER` scope is reachable only through this mode.
|
|
90
|
+
*/
|
|
91
|
+
InboundHandlerScopeMode["RESOLVED_PER_DELIVERY"] = "resolved_per_delivery";
|
|
92
|
+
})(InboundHandlerScopeMode || (InboundHandlerScopeMode = {}));
|
|
93
|
+
/** What scope resolution concluded for one delivery. */
|
|
94
|
+
export var InboundResolvedScopeKind;
|
|
95
|
+
(function (InboundResolvedScopeKind) {
|
|
96
|
+
InboundResolvedScopeKind["ORGANIZATION"] = "organization";
|
|
97
|
+
InboundResolvedScopeKind["APPLICATION"] = "application";
|
|
98
|
+
/**
|
|
99
|
+
* The delivery belongs to ONE person — their personal (`USER_SELF`) data, such as a personal billing
|
|
100
|
+
* account (#1629). The handler acts with its declared `actingRoles.user` (application roles, since
|
|
101
|
+
* personal resources gate on them), confined to that person's rows. The person is the delivery's SCOPE:
|
|
102
|
+
* nobody authenticated as them. Stored in the application variant, where the application's operators
|
|
103
|
+
* see it.
|
|
104
|
+
*/
|
|
105
|
+
InboundResolvedScopeKind["USER"] = "user";
|
|
106
|
+
/** No admissible scope — the delivery is recorded and acknowledged, never run. */
|
|
107
|
+
InboundResolvedScopeKind["UNROUTABLE"] = "unroutable";
|
|
108
|
+
})(InboundResolvedScopeKind || (InboundResolvedScopeKind = {}));
|
|
109
|
+
/**
|
|
110
|
+
* The engine-owned signature schemes an APPLICATION endpoint may declare. Each is implemented by the
|
|
111
|
+
* engine; an application picks one and supplies a secret. A scheme is added with its first user.
|
|
112
|
+
*/
|
|
113
|
+
export var InboundVerificationScheme;
|
|
114
|
+
(function (InboundVerificationScheme) {
|
|
115
|
+
/**
|
|
116
|
+
* Svix (also used by Resend and the Standard Webhooks convention): HMAC-SHA256 over
|
|
117
|
+
* `{id}.{timestamp}.{body}` with a base64 `whsec_` secret, a versioned space-delimited signature
|
|
118
|
+
* header, and a five-minute timestamp window.
|
|
119
|
+
*/
|
|
120
|
+
InboundVerificationScheme["SVIX_V1"] = "svix_v1";
|
|
121
|
+
/**
|
|
122
|
+
* HMAC-SHA256 of the raw body (or of `{timestamp}.{body}` when a timestamp header is declared)
|
|
123
|
+
* carried in one declared header.
|
|
124
|
+
*/
|
|
125
|
+
InboundVerificationScheme["HMAC_SHA256_HEADER"] = "hmac_sha256_header";
|
|
126
|
+
})(InboundVerificationScheme || (InboundVerificationScheme = {}));
|
|
127
|
+
/** How an {@link InboundVerificationScheme.HMAC_SHA256_HEADER} signature is encoded in its header. */
|
|
128
|
+
export var HmacSignatureEncoding;
|
|
129
|
+
(function (HmacSignatureEncoding) {
|
|
130
|
+
HmacSignatureEncoding["HEX"] = "hex";
|
|
131
|
+
HmacSignatureEncoding["BASE64"] = "base64";
|
|
132
|
+
})(HmacSignatureEncoding || (HmacSignatureEncoding = {}));
|
|
133
|
+
/**
|
|
134
|
+
* The lifecycle of one stored delivery.
|
|
135
|
+
*
|
|
136
|
+
* ```
|
|
137
|
+
* RECEIVED → PROCESSING → PROCESSED
|
|
138
|
+
* → RETRY_SCHEDULED → PROCESSING → …
|
|
139
|
+
* → DEAD (attempts or window exhausted)
|
|
140
|
+
* DEAD → RECEIVED (operator replay, justified and audited)
|
|
141
|
+
* UNROUTABLE (terminal: no admissible scope, never run)
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
export var InboundDeliveryStatus;
|
|
145
|
+
(function (InboundDeliveryStatus) {
|
|
146
|
+
/** Verified and stored; waiting for the dispatch worker. */
|
|
147
|
+
InboundDeliveryStatus["RECEIVED"] = "received";
|
|
148
|
+
/** A worker holds it and is running the handler. */
|
|
149
|
+
InboundDeliveryStatus["PROCESSING"] = "processing";
|
|
150
|
+
/** The last attempt failed; `nextAttemptAt` says when the next one runs. */
|
|
151
|
+
InboundDeliveryStatus["RETRY_SCHEDULED"] = "retry_scheduled";
|
|
152
|
+
/** The handler completed. Terminal. */
|
|
153
|
+
InboundDeliveryStatus["PROCESSED"] = "processed";
|
|
154
|
+
/** Every attempt the handler's retry policy allows has failed. Terminal until an operator replays it. */
|
|
155
|
+
InboundDeliveryStatus["DEAD"] = "dead";
|
|
156
|
+
/** No admissible scope was resolved, so the handler never ran. Terminal. */
|
|
157
|
+
InboundDeliveryStatus["UNROUTABLE"] = "unroutable";
|
|
158
|
+
})(InboundDeliveryStatus || (InboundDeliveryStatus = {}));
|
|
159
|
+
/** Statuses a row never leaves on its own — the retention clock starts at the instant a row reaches one. */
|
|
160
|
+
export const INBOUND_DELIVERY_TERMINAL_STATUSES = Object.freeze([
|
|
161
|
+
InboundDeliveryStatus.PROCESSED,
|
|
162
|
+
InboundDeliveryStatus.DEAD,
|
|
163
|
+
InboundDeliveryStatus.UNROUTABLE,
|
|
164
|
+
]);
|
|
165
|
+
/** Why an inbound request was refused BEFORE it became a delivery. Carried on `INBOUND_DELIVERY_REJECTED`. */
|
|
166
|
+
export var InboundDeliveryRejectionReason;
|
|
167
|
+
(function (InboundDeliveryRejectionReason) {
|
|
168
|
+
/** The signature did not verify under the configured secret, or was absent. */
|
|
169
|
+
InboundDeliveryRejectionReason["SIGNATURE_INVALID"] = "signature_invalid";
|
|
170
|
+
/** The signed timestamp is outside the scheme's window — a stale or replayed message. */
|
|
171
|
+
InboundDeliveryRejectionReason["TIMESTAMP_OUT_OF_WINDOW"] = "timestamp_out_of_window";
|
|
172
|
+
/** No verification secret is configured, so nothing can be verified. */
|
|
173
|
+
InboundDeliveryRejectionReason["SECRET_NOT_CONFIGURED"] = "secret_not_configured";
|
|
174
|
+
/** The body exceeds the endpoint's `maxBodyBytes`. */
|
|
175
|
+
InboundDeliveryRejectionReason["BODY_TOO_LARGE"] = "body_too_large";
|
|
176
|
+
/** The endpoint accepts `application/json` only. */
|
|
177
|
+
InboundDeliveryRejectionReason["UNSUPPORTED_MEDIA_TYPE"] = "unsupported_media_type";
|
|
178
|
+
/** The body verified but is not what the handler declared (not JSON, or its payload schema refused it). */
|
|
179
|
+
InboundDeliveryRejectionReason["MALFORMED"] = "malformed";
|
|
180
|
+
})(InboundDeliveryRejectionReason || (InboundDeliveryRejectionReason = {}));
|
|
181
|
+
/** Why a verified delivery was never run. Carried on the row and on `INBOUND_DELIVERY_UNROUTABLE`. */
|
|
182
|
+
export var InboundDeliveryUnroutableReason;
|
|
183
|
+
(function (InboundDeliveryUnroutableReason) {
|
|
184
|
+
/** An `ORGANIZATION_REQUIRED` handler's resolver found no organization. */
|
|
185
|
+
InboundDeliveryUnroutableReason["NO_ORGANIZATION_RESOLVED"] = "no_organization_resolved";
|
|
186
|
+
/** The handler's `resolveScope` itself answered `UNROUTABLE`. */
|
|
187
|
+
InboundDeliveryUnroutableReason["RESOLVER_DECLARED_UNROUTABLE"] = "resolver_declared_unroutable";
|
|
188
|
+
/** A resolver answered a scope the handler's scope mode does not admit. */
|
|
189
|
+
InboundDeliveryUnroutableReason["SCOPE_NOT_ADMITTED_BY_HANDLER"] = "scope_not_admitted_by_handler";
|
|
190
|
+
/** The resolver named an organization that does not exist. */
|
|
191
|
+
InboundDeliveryUnroutableReason["ORGANIZATION_NOT_FOUND"] = "organization_not_found";
|
|
192
|
+
/**
|
|
193
|
+
* The resolver named an organization whose status confers no authority (suspended, marked for
|
|
194
|
+
* deletion). Its own members could not act there either, so a handler must not.
|
|
195
|
+
*/
|
|
196
|
+
InboundDeliveryUnroutableReason["ORGANIZATION_WITHOUT_AUTHORITY"] = "organization_without_authority";
|
|
197
|
+
/**
|
|
198
|
+
* A channel message arrived on a reply token that belongs to ANOTHER organization than the one its
|
|
199
|
+
* address routed to (#1630, I12). Either a misconfiguration or an attempt to reach across tenants; in
|
|
200
|
+
* both cases it must not run in either.
|
|
201
|
+
*/
|
|
202
|
+
InboundDeliveryUnroutableReason["REPLY_TOKEN_OF_ANOTHER_ORGANIZATION"] = "reply_token_of_another_organization";
|
|
203
|
+
/** The resolver named a person who does not exist (#1629). */
|
|
204
|
+
InboundDeliveryUnroutableReason["USER_NOT_FOUND"] = "user_not_found";
|
|
205
|
+
/**
|
|
206
|
+
* The resolver named a person whose status confers no authority (anything but active). They could not
|
|
207
|
+
* act on their own data either, so a handler must not act on it for them (#1629).
|
|
208
|
+
*/
|
|
209
|
+
InboundDeliveryUnroutableReason["USER_WITHOUT_AUTHORITY"] = "user_without_authority";
|
|
210
|
+
/** An email recipient no route reaches: no reply token, client mailbox, verified organization domain or shared-domain slug matched it (#1600). */
|
|
211
|
+
InboundDeliveryUnroutableReason["EMAIL_ADDRESS_NOT_ROUTED"] = "email_address_not_routed";
|
|
212
|
+
/** An email recipient on a claimed organization domain that is not VERIFIED — pending, failed or suspended (#1600, E3). */
|
|
213
|
+
InboundDeliveryUnroutableReason["EMAIL_DOMAIN_NOT_VERIFIED"] = "email_domain_not_verified";
|
|
214
|
+
/**
|
|
215
|
+
* An email recipient on a client mailbox whose authority does not hold right now: the relationship is not ACTIVE,
|
|
216
|
+
* or the domain is not VERIFIED, or it is not the firm's (#1600, E4).
|
|
217
|
+
*/
|
|
218
|
+
InboundDeliveryUnroutableReason["CLIENT_MAILBOX_NOT_AUTHORIZED"] = "client_mailbox_not_authorized";
|
|
219
|
+
/** An email recipient on the shared domain whose slug belonged to a DELETED organization (#1600, L3). */
|
|
220
|
+
InboundDeliveryUnroutableReason["SHARED_DOMAIN_SLUG_TOMBSTONED"] = "shared_domain_slug_tombstoned";
|
|
221
|
+
})(InboundDeliveryUnroutableReason || (InboundDeliveryUnroutableReason = {}));
|
|
222
|
+
/** How the wait between a handler's failed attempts grows. */
|
|
223
|
+
export var InboundRetryBackoffKind;
|
|
224
|
+
(function (InboundRetryBackoffKind) {
|
|
225
|
+
/** `baseSeconds × 2^(attempt−1)`, capped at `maxSeconds`. The default: a failing dependency gets room to recover. */
|
|
226
|
+
InboundRetryBackoffKind["EXPONENTIAL"] = "exponential";
|
|
227
|
+
/** `baseSeconds` every time. */
|
|
228
|
+
InboundRetryBackoffKind["FIXED"] = "fixed";
|
|
229
|
+
})(InboundRetryBackoffKind || (InboundRetryBackoffKind = {}));
|
|
230
|
+
/** The outcome of one handler attempt, recorded on the row. */
|
|
231
|
+
export var InboundDeliveryAttemptOutcome;
|
|
232
|
+
(function (InboundDeliveryAttemptOutcome) {
|
|
233
|
+
InboundDeliveryAttemptOutcome["PROCESSED"] = "processed";
|
|
234
|
+
InboundDeliveryAttemptOutcome["FAILED"] = "failed";
|
|
235
|
+
})(InboundDeliveryAttemptOutcome || (InboundDeliveryAttemptOutcome = {}));
|
|
236
|
+
// =============================================================================
|
|
237
|
+
// VERIFICATION CONFIGURATION (declared by an APPLICATION endpoint)
|
|
238
|
+
// =============================================================================
|
|
239
|
+
export const InboundSvixVerificationConfigSchema = z.strictObject({
|
|
240
|
+
scheme: z.literal(InboundVerificationScheme.SVIX_V1).systemEnum('InboundVerificationScheme'),
|
|
241
|
+
});
|
|
242
|
+
export const InboundHmacSha256HeaderVerificationConfigSchema = z.strictObject({
|
|
243
|
+
scheme: z.literal(InboundVerificationScheme.HMAC_SHA256_HEADER).systemEnum('InboundVerificationScheme'),
|
|
244
|
+
/** Header carrying the signature, e.g. `x-hub-signature-256`. Matched case-insensitively. */
|
|
245
|
+
signatureHeader: z.string().min(1),
|
|
246
|
+
encoding: z.enum(HmacSignatureEncoding).systemEnum('HmacSignatureEncoding'),
|
|
247
|
+
/**
|
|
248
|
+
* A literal the sender puts in front of the signature, e.g. `sha256=`. Stripped before comparison;
|
|
249
|
+
* a header that does not start with it is refused.
|
|
250
|
+
*/
|
|
251
|
+
signaturePrefix: z.string().min(1).optional(),
|
|
252
|
+
/**
|
|
253
|
+
* Header carrying the send time in seconds since the epoch. When declared, the SIGNED content is
|
|
254
|
+
* `{timestamp}.{rawBody}` and the timestamp must fall within `toleranceSeconds` of now.
|
|
255
|
+
*
|
|
256
|
+
* A timestamp that is checked but not signed would be a control that does nothing: whoever
|
|
257
|
+
* replays a captured message rewrites the header too. So declaring one changes what is signed.
|
|
258
|
+
*/
|
|
259
|
+
timestampHeader: z.string().min(1).optional(),
|
|
260
|
+
/** Window for `timestampHeader`, in seconds. Defaults to 300 (five minutes). */
|
|
261
|
+
toleranceSeconds: z.number().int().positive().max(3600).optional(),
|
|
262
|
+
});
|
|
263
|
+
/** The verification an APPLICATION endpoint declares. Discriminated on `scheme`. */
|
|
264
|
+
export const InboundVerificationConfigSchema = z.discriminatedUnion('scheme', [
|
|
265
|
+
InboundSvixVerificationConfigSchema,
|
|
266
|
+
InboundHmacSha256HeaderVerificationConfigSchema,
|
|
267
|
+
]);
|
|
268
|
+
/** Engine default for an application endpoint's body cap: 256 KB. Per endpoint, never per route prefix. */
|
|
269
|
+
export const INBOUND_APPLICATION_ENDPOINT_DEFAULT_MAX_BODY_BYTES = 256 * 1024;
|
|
270
|
+
/** The provider ref reserved for application endpoints: `/webhooks/app/{endpointKey}`. */
|
|
271
|
+
export const INBOUND_APPLICATION_ENDPOINT_PROVIDER_REF = 'app';
|
|
272
|
+
// =============================================================================
|
|
273
|
+
// STORED DELIVERY
|
|
274
|
+
// =============================================================================
|
|
275
|
+
/** The scope a stored delivery resolved to. Discriminated on `kind`; never absent. */
|
|
276
|
+
export const InboundDeliveryResolvedScopeSchema = z.discriminatedUnion('kind', [
|
|
277
|
+
z.strictObject({
|
|
278
|
+
kind: z
|
|
279
|
+
.literal(InboundResolvedScopeKind.ORGANIZATION)
|
|
280
|
+
.systemEnum('InboundResolvedScopeKind')
|
|
281
|
+
.describe('The delivery resolved to one organization and runs in that organization.'),
|
|
282
|
+
organizationId: z.string().min(1),
|
|
283
|
+
}),
|
|
284
|
+
z.strictObject({
|
|
285
|
+
kind: z
|
|
286
|
+
.literal(InboundResolvedScopeKind.APPLICATION)
|
|
287
|
+
.systemEnum('InboundResolvedScopeKind')
|
|
288
|
+
.describe('The delivery runs at application scope, with no organization.'),
|
|
289
|
+
}),
|
|
290
|
+
z.strictObject({
|
|
291
|
+
kind: z
|
|
292
|
+
.literal(InboundResolvedScopeKind.USER)
|
|
293
|
+
.systemEnum('InboundResolvedScopeKind')
|
|
294
|
+
.describe('The delivery belongs to one person and runs on that person\'s own data, with the handler\'s roles; nobody signed in as them.'),
|
|
295
|
+
userId: z.string().min(1).describe('The person the delivery belongs to.'),
|
|
296
|
+
}),
|
|
297
|
+
z.strictObject({
|
|
298
|
+
kind: z
|
|
299
|
+
.literal(InboundResolvedScopeKind.UNROUTABLE)
|
|
300
|
+
.systemEnum('InboundResolvedScopeKind')
|
|
301
|
+
.describe('No admissible scope was resolved, so the handler never runs this delivery.'),
|
|
302
|
+
reason: z
|
|
303
|
+
.enum(InboundDeliveryUnroutableReason)
|
|
304
|
+
.systemEnum('InboundDeliveryUnroutableReason')
|
|
305
|
+
.describe('Why no admissible scope was resolved.'),
|
|
306
|
+
}),
|
|
307
|
+
]);
|
|
308
|
+
export const InboundDeliveryAttemptSchema = z.strictObject({
|
|
309
|
+
at: z.date().describe('When the attempt ended.'),
|
|
310
|
+
outcome: z
|
|
311
|
+
.enum(InboundDeliveryAttemptOutcome)
|
|
312
|
+
.systemEnum('InboundDeliveryAttemptOutcome')
|
|
313
|
+
.describe('Whether the handler completed (`processed`) or failed (`failed`) on this attempt.'),
|
|
314
|
+
/** A classified code, never the error message: a message can quote the payload. */
|
|
315
|
+
errorCode: z
|
|
316
|
+
.string()
|
|
317
|
+
.max(200)
|
|
318
|
+
.optional()
|
|
319
|
+
.describe('For a failed attempt, a classified error code — the error type and message reference joined by a colon, or the error name. Never the error message, which could quote the payload. At most 200 characters.'),
|
|
320
|
+
});
|
|
321
|
+
export const InboundDeliveryReplaySchema = z.strictObject({
|
|
322
|
+
/** The user who replayed the delivery. */
|
|
323
|
+
by: z.string().min(1).describe('The id of the user who replayed the delivery.'),
|
|
324
|
+
at: z.date().describe('When the delivery was replayed.'),
|
|
325
|
+
justification: z.string().min(1).max(2000).describe('Why the delivery was replayed, as written by that user. Also recorded on the audit trail.'),
|
|
326
|
+
});
|
|
327
|
+
const INBOUND_DELIVERY_SCOPE_VARIANTS = [
|
|
328
|
+
{
|
|
329
|
+
parentResourceType: CoreResourceType.ORGANIZATIONS,
|
|
330
|
+
parentFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.ORGANIZATIONS],
|
|
331
|
+
isPrimaryScope: true,
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
parentResourceType: CoreResourceType.APPLICATION,
|
|
335
|
+
parentFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.APPLICATION],
|
|
336
|
+
isPrimaryScope: true,
|
|
337
|
+
},
|
|
338
|
+
];
|
|
339
|
+
/**
|
|
340
|
+
* One stored delivery. Written by the pipeline only (CREATE and UPDATE are REPOSITORY_ONLY); an
|
|
341
|
+
* administrator reads it and may REPLAY a `DEAD` one.
|
|
342
|
+
*/
|
|
343
|
+
export const InboundDeliveryBaseSchema = z.object({
|
|
344
|
+
_id: z.string().min(1).isPrimaryKey().isSummaryField(),
|
|
345
|
+
sourceKind: z.enum(InboundSourceKind).systemEnum('InboundSourceKind').isSummaryField(),
|
|
346
|
+
/**
|
|
347
|
+
* The source's stable identity: `{providerRef}:{endpointKey}`, with `app` as the provider ref of an
|
|
348
|
+
* application endpoint. Half of the dedup key.
|
|
349
|
+
*/
|
|
350
|
+
sourceKey: z.string().min(1).isDBIndexed().isSummaryField(),
|
|
351
|
+
/** The handler that owns the delivery — the `ref` it was declared with. */
|
|
352
|
+
handlerRef: z.string().min(1).isDBIndexed().isSummaryField(),
|
|
353
|
+
/**
|
|
354
|
+
* The provider's delivery id (`svix-id`, Stripe's event id), or the handler's `dedupKey`. The other
|
|
355
|
+
* half of the unique key: one event, one run.
|
|
356
|
+
*/
|
|
357
|
+
dedupKey: z.string().min(1).max(512).isSummaryField(),
|
|
358
|
+
/** Deliveries sharing a non-null ordering key run one at a time, in receive order. */
|
|
359
|
+
orderingKey: z.string().min(1).max(512).isDBIndexed().nullable().default(null),
|
|
360
|
+
/** The id the provider signed, when its scheme carries one. */
|
|
361
|
+
providerDeliveryId: z.string().max(512).optional(),
|
|
362
|
+
/** When the provider says it signed the message, when the scheme carries a timestamp. */
|
|
363
|
+
signedAt: z.date().optional(),
|
|
364
|
+
receivedAt: z.date().isDBIndexed().isSummaryField(),
|
|
365
|
+
/**
|
|
366
|
+
* The exact bytes that were verified, base64-encoded. Kept because a replay must run the handler on
|
|
367
|
+
* what was actually signed, not on a re-serialization of it. USER_CONTENT: a delivery carries
|
|
368
|
+
* whatever the sending system put in it, which is routinely a client's personal data.
|
|
369
|
+
*/
|
|
370
|
+
rawBody: addDataCategories(z.string(), PersonalDataCategory.USER_CONTENT),
|
|
371
|
+
/** Only the headers the verification scheme and the handler need; never cookies or authorization. */
|
|
372
|
+
headers: z.record(z.string(), z.string()).default({}),
|
|
373
|
+
resolvedScope: InboundDeliveryResolvedScopeSchema,
|
|
374
|
+
/**
|
|
375
|
+
* The channel the delivery arrived on (#1630). `WEBHOOK` for every endpoint delivery (#1596) — derived,
|
|
376
|
+
* never declared — and the default, which is EXACT for every row stored before channels existed: only
|
|
377
|
+
* signed endpoint deliveries were ever stored.
|
|
378
|
+
*/
|
|
379
|
+
channel: z.enum(InboundChannelKind).systemEnum('InboundChannelKind').default(InboundChannelKind.WEBHOOK).isSummaryField()
|
|
380
|
+
.describe('The channel the delivery arrived on: a signed webhook, or a received email.'),
|
|
381
|
+
/**
|
|
382
|
+
* How much is known about who sent it, on the channel's own ladder. `SOURCE_SIGNED` for a webhook — a
|
|
383
|
+
* delivery is stored only after its signature verified — and the default for the same reason as above.
|
|
384
|
+
* Identification only: it grants the handler nothing.
|
|
385
|
+
*/
|
|
386
|
+
senderAssurance: z.enum(InboundSenderAssurance).systemEnum('InboundSenderAssurance').default(InboundSenderAssurance.SOURCE_SIGNED)
|
|
387
|
+
.describe('How much is known about who sent the message, on its channel\'s own ladder. It identifies the sender and grants the handler nothing.'),
|
|
388
|
+
/** The conversation thread a channel delivery was correlated into; null for a webhook. */
|
|
389
|
+
threadId: z.string().isDBIndexed().nullable().default(null)
|
|
390
|
+
.describe('The conversation thread the message was recorded in; null for a webhook delivery.'),
|
|
391
|
+
status: z
|
|
392
|
+
.enum(InboundDeliveryStatus)
|
|
393
|
+
.systemEnum('InboundDeliveryStatus')
|
|
394
|
+
.default(InboundDeliveryStatus.RECEIVED)
|
|
395
|
+
.isDBIndexed()
|
|
396
|
+
.isSummaryField(),
|
|
397
|
+
/**
|
|
398
|
+
* Attempts started, ever. Incremented by every lease, so it is also the FENCING token: a worker
|
|
399
|
+
* whose lease expired and was taken over can no longer settle the row, because the takeover moved
|
|
400
|
+
* the count. Never reset — a replay starts a new budget instead (see `budgetBaseAttemptCount`).
|
|
401
|
+
*/
|
|
402
|
+
attemptCount: z.number().int().nonnegative().default(0).isSummaryField(),
|
|
403
|
+
/** The attempts' outcomes, oldest first. */
|
|
404
|
+
attempts: z.array(InboundDeliveryAttemptSchema).default([]),
|
|
405
|
+
/** When the next attempt may start; set while `RECEIVED` or `RETRY_SCHEDULED`. */
|
|
406
|
+
nextAttemptAt: z.date().isDBIndexed().nullable().default(null),
|
|
407
|
+
/** While `PROCESSING`: when a worker that stopped answering loses the row to the sweep. */
|
|
408
|
+
leaseExpiresAt: z.date().isDBIndexed().nullable().default(null),
|
|
409
|
+
/**
|
|
410
|
+
* The start of the current retry budget: receipt, or the last replay. The handler's retry window
|
|
411
|
+
* is measured from here, so a replay after the handler is fixed gets a whole policy again.
|
|
412
|
+
*/
|
|
413
|
+
budgetStartedAt: z.date(),
|
|
414
|
+
/** `attemptCount` when the current budget started; attempts in the budget are the difference. */
|
|
415
|
+
budgetBaseAttemptCount: z.number().int().nonnegative().default(0),
|
|
416
|
+
/** Set when the row reached a terminal status — the retention clock's start point. */
|
|
417
|
+
/*
|
|
418
|
+
* `.isDBIndexed()` sits on the INNER type on these four nullable-with-default fields. That placement
|
|
419
|
+
* was required until #1647: behind two wrappers a decorator used to stop on the middle wrapper, and the
|
|
420
|
+
* PostgreSQL planner reads the innermost type, so the index was silently not planned (#1644). Mirroring
|
|
421
|
+
* now reaches the leaf either way; the placement is kept because it states the index on the type indexed.
|
|
422
|
+
*/
|
|
423
|
+
terminalAt: z.date().isDBIndexed().nullable().default(null),
|
|
424
|
+
replays: z.array(InboundDeliveryReplaySchema).default([]),
|
|
425
|
+
createdAt: z
|
|
426
|
+
.date()
|
|
427
|
+
.default(() => new Date())
|
|
428
|
+
.isDBIndexed()
|
|
429
|
+
.excludeFromCreate()
|
|
430
|
+
.excludeFromUpdate(),
|
|
431
|
+
updatedAt: z
|
|
432
|
+
.date()
|
|
433
|
+
.default(() => new Date())
|
|
434
|
+
.excludeFromCreate()
|
|
435
|
+
.excludeFromUpdate(),
|
|
436
|
+
}).businessKeySet(['sourceKey', 'dedupKey']);
|
|
437
|
+
/**
|
|
438
|
+
* Yields `organizationInboundDeliveries` (FK `organizationId`) and `applicationInboundDeliveries`
|
|
439
|
+
* (FK `applicationId`). Many rows per scope, so the singleton business-key default is opted out of;
|
|
440
|
+
* the row's identity is the `(sourceKey, dedupKey)` set above.
|
|
441
|
+
*/
|
|
442
|
+
export const inboundDeliveryPolymorphicDeclaration = declarePolymorphicSchemas({
|
|
443
|
+
baseResourceType: 'inboundDeliveries',
|
|
444
|
+
baseFieldIdentifier: 'inboundDeliveryId',
|
|
445
|
+
baseEnumKey: 'INBOUND_DELIVERIES',
|
|
446
|
+
baseSchema: InboundDeliveryBaseSchema,
|
|
447
|
+
variants: INBOUND_DELIVERY_SCOPE_VARIANTS.map(optOutPolymorphicAutoBusinessKey),
|
|
448
|
+
});
|
|
449
|
+
//# sourceMappingURL=inbound-delivery.shared.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound-delivery.shared.schemas.js","sourceRoot":"","sources":["../../../../src/inbound/inbound-delivery.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Inbound deliveries — the durable record of every verified message an application RECEIVED from\n * another system, and the named vocabularies the inbound pipeline speaks (#1596).\n *\n * ## What an inbound delivery is\n *\n * A webhook POST (or, later, another inbound channel) that arrived at the application, passed\n * signature verification, and was written here BEFORE anything acted on it. The row is three things\n * at once, like its outbound twin `m2mWebhookDeliveryLog`:\n *\n * 1. the DEDUPLICATION LEDGER — `(sourceKey, dedupKey)` is unique, so one provider event causes at\n * most one handler run however many times the provider retries it (a Redis claim cannot promise\n * that: its TTL is shorter than a provider's retry window — Stripe retries for three days);\n * 2. the WORK QUEUE the dispatch worker drains — `status` + `nextAttemptAt`;\n * 3. the OPERATOR'S LOG — an administrator lists deliveries, sees why one is `DEAD`, and replays it.\n *\n * ## Why it is polymorphic over ORGANIZATION and APPLICATION\n *\n * A delivery's payload usually carries a client organization's personal data. Storing the row in its\n * resolved organization's variant means it is erased with that organization (COMPOSITION,\n * `onParentDelete: IMMEDIATE`) and is visible to that organization's administrator — the same\n * tenant-segregation argument as the outbound delivery log. A delivery that resolves to no\n * organization (an APPLICATION-scope handler, or an `UNROUTABLE` delivery) lives in the application\n * variant.\n *\n * The consequence, stated rather than hidden: the two variants are two tables, so the unique index is\n * per variant. The pipeline therefore resolves scope BEFORE inserting, and checks the other variant\n * for the same key first. See `inbound-delivery-store.backend.service.ts` for the residual that\n * leaves (two concurrent copies of one event resolving to different scopes in the same instant).\n *\n * @see engine/saas-models/src/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.ts — the\n * outbound twin this is modelled on.\n */\n\nimport { z } from 'zod';\nimport { addDataCategories } from '@wildo-ai/zod-decorators';\nimport { PersonalDataCategory } from '../compliance/privacy/personal-data-category.shared.schemas';\nimport {\n declarePolymorphicSchemas,\n optOutPolymorphicAutoBusinessKey,\n type PolymorphicVariantDefinition,\n} from '../resources/utils/resource-polymorphism.schemas';\nimport {\n CoreResourceType,\n coreResourceShared_FieldIdentifier,\n} from '../resources/resources.shared.core.definitions';\nimport { InboundChannelKind, InboundSenderAssurance } from './inbound-channels.shared.schemas';\n\n// =============================================================================\n// NAMED VOCABULARIES\n// =============================================================================\n\n/**\n * Where an inbound delivery came from — decides which route receives it and who owns its\n * verification.\n */\nexport enum InboundSourceKind {\n /**\n * A PROVIDER declared the endpoint (`Hook_Endpoint` under `WEBHOOK_ORIGINATOR`) and owns its\n * verification — Stripe's SDK `constructEvent`, for one. Route: `POST /webhooks/{providerRef}/{endpointKey}`.\n */\n PROVIDER_ENDPOINT = 'provider_endpoint',\n /**\n * The APPLICATION declared the endpoint on a handler and chose an engine-owned verification\n * scheme. Route: `POST /webhooks/app/{endpointKey}` — the provider ref `app` is reserved so the\n * two route families can never collide.\n */\n APPLICATION_ENDPOINT = 'application_endpoint',\n /**\n * A message received on an inbound CHANNEL (#1630) — email today — routed to an organization and\n * handed to the channel handler selected for it. The handler names the channel, never the provider\n * that received the message: that is the application's `EMAIL_INBOUND` selection.\n */\n CHANNEL = 'channel',\n}\n\n/**\n * Which scope a handler's deliveries run in. Declared by the handler, enforced by the pipeline: a\n * delivery never runs in a scope its handler did not declare, and nothing ever FALLS BACK to the\n * application scope.\n */\nexport enum InboundHandlerScopeMode {\n /**\n * Every delivery must resolve to one organization. One that does not is `UNROUTABLE` — recorded,\n * audited, acknowledged with 200 and never run. It is NOT run at application scope, because the\n * handler was written for a tenant and application scope would give it every tenant.\n */\n ORGANIZATION_REQUIRED = 'organization_required',\n /** Deliveries run at application scope; no organization is resolved. */\n APPLICATION = 'application',\n /**\n * The handler's `resolveScope` decides per delivery, because the source's events genuinely belong to\n * different scopes (billing: a subscription event belongs to an organization's billing account, or to one\n * person's). `resolveScope` must answer one of {@link InboundResolvedScopeKind}; there is no default.\n *\n * The handler is admitted to exactly the scopes it declares `actingRoles` for, and must declare at least\n * one (#1629). A resolver answering a scope the handler holds no roles in makes the delivery `UNROUTABLE`\n * (`SCOPE_NOT_ADMITTED_BY_HANDLER`). The `USER` scope is reachable only through this mode.\n */\n RESOLVED_PER_DELIVERY = 'resolved_per_delivery',\n}\n\n/** What scope resolution concluded for one delivery. */\nexport enum InboundResolvedScopeKind {\n ORGANIZATION = 'organization',\n APPLICATION = 'application',\n /**\n * The delivery belongs to ONE person — their personal (`USER_SELF`) data, such as a personal billing\n * account (#1629). The handler acts with its declared `actingRoles.user` (application roles, since\n * personal resources gate on them), confined to that person's rows. The person is the delivery's SCOPE:\n * nobody authenticated as them. Stored in the application variant, where the application's operators\n * see it.\n */\n USER = 'user',\n /** No admissible scope — the delivery is recorded and acknowledged, never run. */\n UNROUTABLE = 'unroutable',\n}\n\n/**\n * The engine-owned signature schemes an APPLICATION endpoint may declare. Each is implemented by the\n * engine; an application picks one and supplies a secret. A scheme is added with its first user.\n */\nexport enum InboundVerificationScheme {\n /**\n * Svix (also used by Resend and the Standard Webhooks convention): HMAC-SHA256 over\n * `{id}.{timestamp}.{body}` with a base64 `whsec_` secret, a versioned space-delimited signature\n * header, and a five-minute timestamp window.\n */\n SVIX_V1 = 'svix_v1',\n /**\n * HMAC-SHA256 of the raw body (or of `{timestamp}.{body}` when a timestamp header is declared)\n * carried in one declared header.\n */\n HMAC_SHA256_HEADER = 'hmac_sha256_header',\n}\n\n/** How an {@link InboundVerificationScheme.HMAC_SHA256_HEADER} signature is encoded in its header. */\nexport enum HmacSignatureEncoding {\n HEX = 'hex',\n BASE64 = 'base64',\n}\n\n/**\n * The lifecycle of one stored delivery.\n *\n * ```\n * RECEIVED → PROCESSING → PROCESSED\n * → RETRY_SCHEDULED → PROCESSING → …\n * → DEAD (attempts or window exhausted)\n * DEAD → RECEIVED (operator replay, justified and audited)\n * UNROUTABLE (terminal: no admissible scope, never run)\n * ```\n */\nexport enum InboundDeliveryStatus {\n /** Verified and stored; waiting for the dispatch worker. */\n RECEIVED = 'received',\n /** A worker holds it and is running the handler. */\n PROCESSING = 'processing',\n /** The last attempt failed; `nextAttemptAt` says when the next one runs. */\n RETRY_SCHEDULED = 'retry_scheduled',\n /** The handler completed. Terminal. */\n PROCESSED = 'processed',\n /** Every attempt the handler's retry policy allows has failed. Terminal until an operator replays it. */\n DEAD = 'dead',\n /** No admissible scope was resolved, so the handler never ran. Terminal. */\n UNROUTABLE = 'unroutable',\n}\n\n/** Statuses a row never leaves on its own — the retention clock starts at the instant a row reaches one. */\nexport const INBOUND_DELIVERY_TERMINAL_STATUSES: readonly InboundDeliveryStatus[] = Object.freeze([\n InboundDeliveryStatus.PROCESSED,\n InboundDeliveryStatus.DEAD,\n InboundDeliveryStatus.UNROUTABLE,\n]);\n\n/** Why an inbound request was refused BEFORE it became a delivery. Carried on `INBOUND_DELIVERY_REJECTED`. */\nexport enum InboundDeliveryRejectionReason {\n /** The signature did not verify under the configured secret, or was absent. */\n SIGNATURE_INVALID = 'signature_invalid',\n /** The signed timestamp is outside the scheme's window — a stale or replayed message. */\n TIMESTAMP_OUT_OF_WINDOW = 'timestamp_out_of_window',\n /** No verification secret is configured, so nothing can be verified. */\n SECRET_NOT_CONFIGURED = 'secret_not_configured',\n /** The body exceeds the endpoint's `maxBodyBytes`. */\n BODY_TOO_LARGE = 'body_too_large',\n /** The endpoint accepts `application/json` only. */\n UNSUPPORTED_MEDIA_TYPE = 'unsupported_media_type',\n /** The body verified but is not what the handler declared (not JSON, or its payload schema refused it). */\n MALFORMED = 'malformed',\n}\n\n/** Why a verified delivery was never run. Carried on the row and on `INBOUND_DELIVERY_UNROUTABLE`. */\nexport enum InboundDeliveryUnroutableReason {\n /** An `ORGANIZATION_REQUIRED` handler's resolver found no organization. */\n NO_ORGANIZATION_RESOLVED = 'no_organization_resolved',\n /** The handler's `resolveScope` itself answered `UNROUTABLE`. */\n RESOLVER_DECLARED_UNROUTABLE = 'resolver_declared_unroutable',\n /** A resolver answered a scope the handler's scope mode does not admit. */\n SCOPE_NOT_ADMITTED_BY_HANDLER = 'scope_not_admitted_by_handler',\n /** The resolver named an organization that does not exist. */\n ORGANIZATION_NOT_FOUND = 'organization_not_found',\n /**\n * The resolver named an organization whose status confers no authority (suspended, marked for\n * deletion). Its own members could not act there either, so a handler must not.\n */\n ORGANIZATION_WITHOUT_AUTHORITY = 'organization_without_authority',\n /**\n * A channel message arrived on a reply token that belongs to ANOTHER organization than the one its\n * address routed to (#1630, I12). Either a misconfiguration or an attempt to reach across tenants; in\n * both cases it must not run in either.\n */\n REPLY_TOKEN_OF_ANOTHER_ORGANIZATION = 'reply_token_of_another_organization',\n /** The resolver named a person who does not exist (#1629). */\n USER_NOT_FOUND = 'user_not_found',\n /**\n * The resolver named a person whose status confers no authority (anything but active). They could not\n * act on their own data either, so a handler must not act on it for them (#1629).\n */\n USER_WITHOUT_AUTHORITY = 'user_without_authority',\n /** An email recipient no route reaches: no reply token, client mailbox, verified organization domain or shared-domain slug matched it (#1600). */\n EMAIL_ADDRESS_NOT_ROUTED = 'email_address_not_routed',\n /** An email recipient on a claimed organization domain that is not VERIFIED — pending, failed or suspended (#1600, E3). */\n EMAIL_DOMAIN_NOT_VERIFIED = 'email_domain_not_verified',\n /**\n * An email recipient on a client mailbox whose authority does not hold right now: the relationship is not ACTIVE,\n * or the domain is not VERIFIED, or it is not the firm's (#1600, E4).\n */\n CLIENT_MAILBOX_NOT_AUTHORIZED = 'client_mailbox_not_authorized',\n /** An email recipient on the shared domain whose slug belonged to a DELETED organization (#1600, L3). */\n SHARED_DOMAIN_SLUG_TOMBSTONED = 'shared_domain_slug_tombstoned',\n}\n\n/** How the wait between a handler's failed attempts grows. */\nexport enum InboundRetryBackoffKind {\n /** `baseSeconds × 2^(attempt−1)`, capped at `maxSeconds`. The default: a failing dependency gets room to recover. */\n EXPONENTIAL = 'exponential',\n /** `baseSeconds` every time. */\n FIXED = 'fixed',\n}\n\n/** The outcome of one handler attempt, recorded on the row. */\nexport enum InboundDeliveryAttemptOutcome {\n PROCESSED = 'processed',\n FAILED = 'failed',\n}\n\n// =============================================================================\n// VERIFICATION CONFIGURATION (declared by an APPLICATION endpoint)\n// =============================================================================\n\nexport const InboundSvixVerificationConfigSchema = z.strictObject({\n scheme: z.literal(InboundVerificationScheme.SVIX_V1).systemEnum('InboundVerificationScheme'),\n});\n\nexport const InboundHmacSha256HeaderVerificationConfigSchema = z.strictObject({\n scheme: z.literal(InboundVerificationScheme.HMAC_SHA256_HEADER).systemEnum('InboundVerificationScheme'),\n /** Header carrying the signature, e.g. `x-hub-signature-256`. Matched case-insensitively. */\n signatureHeader: z.string().min(1),\n encoding: z.enum(HmacSignatureEncoding).systemEnum('HmacSignatureEncoding'),\n /**\n * A literal the sender puts in front of the signature, e.g. `sha256=`. Stripped before comparison;\n * a header that does not start with it is refused.\n */\n signaturePrefix: z.string().min(1).optional(),\n /**\n * Header carrying the send time in seconds since the epoch. When declared, the SIGNED content is\n * `{timestamp}.{rawBody}` and the timestamp must fall within `toleranceSeconds` of now.\n *\n * A timestamp that is checked but not signed would be a control that does nothing: whoever\n * replays a captured message rewrites the header too. So declaring one changes what is signed.\n */\n timestampHeader: z.string().min(1).optional(),\n /** Window for `timestampHeader`, in seconds. Defaults to 300 (five minutes). */\n toleranceSeconds: z.number().int().positive().max(3600).optional(),\n});\n\n/** The verification an APPLICATION endpoint declares. Discriminated on `scheme`. */\nexport const InboundVerificationConfigSchema = z.discriminatedUnion('scheme', [\n InboundSvixVerificationConfigSchema,\n InboundHmacSha256HeaderVerificationConfigSchema,\n]);\n\nexport type InboundVerificationConfig = z.infer<typeof InboundVerificationConfigSchema>;\n\n/** Engine default for an application endpoint's body cap: 256 KB. Per endpoint, never per route prefix. */\nexport const INBOUND_APPLICATION_ENDPOINT_DEFAULT_MAX_BODY_BYTES = 256 * 1024;\n\n/** The provider ref reserved for application endpoints: `/webhooks/app/{endpointKey}`. */\nexport const INBOUND_APPLICATION_ENDPOINT_PROVIDER_REF = 'app';\n\n// =============================================================================\n// STORED DELIVERY\n// =============================================================================\n\n/** The scope a stored delivery resolved to. Discriminated on `kind`; never absent. */\nexport const InboundDeliveryResolvedScopeSchema = z.discriminatedUnion('kind', [\n z.strictObject({\n kind: z\n .literal(InboundResolvedScopeKind.ORGANIZATION)\n .systemEnum('InboundResolvedScopeKind')\n .describe('The delivery resolved to one organization and runs in that organization.'),\n organizationId: z.string().min(1),\n }),\n z.strictObject({\n kind: z\n .literal(InboundResolvedScopeKind.APPLICATION)\n .systemEnum('InboundResolvedScopeKind')\n .describe('The delivery runs at application scope, with no organization.'),\n }),\n z.strictObject({\n kind: z\n .literal(InboundResolvedScopeKind.USER)\n .systemEnum('InboundResolvedScopeKind')\n .describe('The delivery belongs to one person and runs on that person\\'s own data, with the handler\\'s roles; nobody signed in as them.'),\n userId: z.string().min(1).describe('The person the delivery belongs to.'),\n }),\n z.strictObject({\n kind: z\n .literal(InboundResolvedScopeKind.UNROUTABLE)\n .systemEnum('InboundResolvedScopeKind')\n .describe('No admissible scope was resolved, so the handler never runs this delivery.'),\n reason: z\n .enum(InboundDeliveryUnroutableReason)\n .systemEnum('InboundDeliveryUnroutableReason')\n .describe('Why no admissible scope was resolved.'),\n }),\n]);\n\nexport type InboundDeliveryResolvedScope = z.infer<typeof InboundDeliveryResolvedScopeSchema>;\n\nexport const InboundDeliveryAttemptSchema = z.strictObject({\n at: z.date().describe('When the attempt ended.'),\n outcome: z\n .enum(InboundDeliveryAttemptOutcome)\n .systemEnum('InboundDeliveryAttemptOutcome')\n .describe('Whether the handler completed (`processed`) or failed (`failed`) on this attempt.'),\n /** A classified code, never the error message: a message can quote the payload. */\n errorCode: z\n .string()\n .max(200)\n .optional()\n .describe(\n 'For a failed attempt, a classified error code — the error type and message reference joined by a colon, or the error name. Never the error message, which could quote the payload. At most 200 characters.',\n ),\n});\n\nexport type InboundDeliveryAttempt = z.infer<typeof InboundDeliveryAttemptSchema>;\n\nexport const InboundDeliveryReplaySchema = z.strictObject({\n /** The user who replayed the delivery. */\n by: z.string().min(1).describe('The id of the user who replayed the delivery.'),\n at: z.date().describe('When the delivery was replayed.'),\n justification: z.string().min(1).max(2000).describe('Why the delivery was replayed, as written by that user. Also recorded on the audit trail.'),\n});\n\nexport type InboundDeliveryReplay = z.infer<typeof InboundDeliveryReplaySchema>;\n\nconst INBOUND_DELIVERY_SCOPE_VARIANTS: PolymorphicVariantDefinition[] = [\n {\n parentResourceType: CoreResourceType.ORGANIZATIONS,\n parentFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.ORGANIZATIONS],\n isPrimaryScope: true,\n },\n {\n parentResourceType: CoreResourceType.APPLICATION,\n parentFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.APPLICATION],\n isPrimaryScope: true,\n },\n];\n\n/**\n * One stored delivery. Written by the pipeline only (CREATE and UPDATE are REPOSITORY_ONLY); an\n * administrator reads it and may REPLAY a `DEAD` one.\n */\nexport const InboundDeliveryBaseSchema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n\n sourceKind: z.enum(InboundSourceKind).systemEnum('InboundSourceKind').isSummaryField(),\n /**\n * The source's stable identity: `{providerRef}:{endpointKey}`, with `app` as the provider ref of an\n * application endpoint. Half of the dedup key.\n */\n sourceKey: z.string().min(1).isDBIndexed().isSummaryField(),\n /** The handler that owns the delivery — the `ref` it was declared with. */\n handlerRef: z.string().min(1).isDBIndexed().isSummaryField(),\n /**\n * The provider's delivery id (`svix-id`, Stripe's event id), or the handler's `dedupKey`. The other\n * half of the unique key: one event, one run.\n */\n dedupKey: z.string().min(1).max(512).isSummaryField(),\n /** Deliveries sharing a non-null ordering key run one at a time, in receive order. */\n orderingKey: z.string().min(1).max(512).isDBIndexed().nullable().default(null),\n /** The id the provider signed, when its scheme carries one. */\n providerDeliveryId: z.string().max(512).optional(),\n /** When the provider says it signed the message, when the scheme carries a timestamp. */\n signedAt: z.date().optional(),\n receivedAt: z.date().isDBIndexed().isSummaryField(),\n\n /**\n * The exact bytes that were verified, base64-encoded. Kept because a replay must run the handler on\n * what was actually signed, not on a re-serialization of it. USER_CONTENT: a delivery carries\n * whatever the sending system put in it, which is routinely a client's personal data.\n */\n rawBody: addDataCategories(z.string(), PersonalDataCategory.USER_CONTENT),\n /** Only the headers the verification scheme and the handler need; never cookies or authorization. */\n headers: z.record(z.string(), z.string()).default({}),\n\n resolvedScope: InboundDeliveryResolvedScopeSchema,\n\n /**\n * The channel the delivery arrived on (#1630). `WEBHOOK` for every endpoint delivery (#1596) — derived,\n * never declared — and the default, which is EXACT for every row stored before channels existed: only\n * signed endpoint deliveries were ever stored.\n */\n channel: z.enum(InboundChannelKind).systemEnum('InboundChannelKind').default(InboundChannelKind.WEBHOOK).isSummaryField()\n .describe('The channel the delivery arrived on: a signed webhook, or a received email.'),\n /**\n * How much is known about who sent it, on the channel's own ladder. `SOURCE_SIGNED` for a webhook — a\n * delivery is stored only after its signature verified — and the default for the same reason as above.\n * Identification only: it grants the handler nothing.\n */\n senderAssurance: z.enum(InboundSenderAssurance).systemEnum('InboundSenderAssurance').default(InboundSenderAssurance.SOURCE_SIGNED)\n .describe('How much is known about who sent the message, on its channel\\'s own ladder. It identifies the sender and grants the handler nothing.'),\n /** The conversation thread a channel delivery was correlated into; null for a webhook. */\n threadId: z.string().isDBIndexed().nullable().default(null)\n .describe('The conversation thread the message was recorded in; null for a webhook delivery.'),\n\n status: z\n .enum(InboundDeliveryStatus)\n .systemEnum('InboundDeliveryStatus')\n .default(InboundDeliveryStatus.RECEIVED)\n .isDBIndexed()\n .isSummaryField(),\n /**\n * Attempts started, ever. Incremented by every lease, so it is also the FENCING token: a worker\n * whose lease expired and was taken over can no longer settle the row, because the takeover moved\n * the count. Never reset — a replay starts a new budget instead (see `budgetBaseAttemptCount`).\n */\n attemptCount: z.number().int().nonnegative().default(0).isSummaryField(),\n /** The attempts' outcomes, oldest first. */\n attempts: z.array(InboundDeliveryAttemptSchema).default([]),\n /** When the next attempt may start; set while `RECEIVED` or `RETRY_SCHEDULED`. */\n nextAttemptAt: z.date().isDBIndexed().nullable().default(null),\n /** While `PROCESSING`: when a worker that stopped answering loses the row to the sweep. */\n leaseExpiresAt: z.date().isDBIndexed().nullable().default(null),\n /**\n * The start of the current retry budget: receipt, or the last replay. The handler's retry window\n * is measured from here, so a replay after the handler is fixed gets a whole policy again.\n */\n budgetStartedAt: z.date(),\n /** `attemptCount` when the current budget started; attempts in the budget are the difference. */\n budgetBaseAttemptCount: z.number().int().nonnegative().default(0),\n /** Set when the row reached a terminal status — the retention clock's start point. */\n /*\n * `.isDBIndexed()` sits on the INNER type on these four nullable-with-default fields. That placement\n * was required until #1647: behind two wrappers a decorator used to stop on the middle wrapper, and the\n * PostgreSQL planner reads the innermost type, so the index was silently not planned (#1644). Mirroring\n * now reaches the leaf either way; the placement is kept because it states the index on the type indexed.\n */\n terminalAt: z.date().isDBIndexed().nullable().default(null),\n replays: z.array(InboundDeliveryReplaySchema).default([]),\n\n createdAt: z\n .date()\n .default(() => new Date())\n .isDBIndexed()\n .excludeFromCreate()\n .excludeFromUpdate(),\n updatedAt: z\n .date()\n .default(() => new Date())\n .excludeFromCreate()\n .excludeFromUpdate(),\n}).businessKeySet(['sourceKey', 'dedupKey']);\n\nexport type InboundDeliveryBase = z.infer<typeof InboundDeliveryBaseSchema>;\n\n/**\n * Yields `organizationInboundDeliveries` (FK `organizationId`) and `applicationInboundDeliveries`\n * (FK `applicationId`). Many rows per scope, so the singleton business-key default is opted out of;\n * the row's identity is the `(sourceKey, dedupKey)` set above.\n */\nexport const inboundDeliveryPolymorphicDeclaration = declarePolymorphicSchemas({\n baseResourceType: 'inboundDeliveries',\n baseFieldIdentifier: 'inboundDeliveryId',\n baseEnumKey: 'INBOUND_DELIVERIES',\n baseSchema: InboundDeliveryBaseSchema,\n variants: INBOUND_DELIVERY_SCOPE_VARIANTS.map(optOutPolymorphicAutoBusinessKey),\n});\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `WILDO_INBOUND_<ENDPOINT_KEY>__SECRET` — the ONE derivation of the environment variable that holds an
|
|
3
|
+
* application inbound endpoint's verification secret (#1596).
|
|
4
|
+
*
|
|
5
|
+
* ## Derived from the endpoint key, never authored
|
|
6
|
+
*
|
|
7
|
+
* An application endpoint is `POST /webhooks/app/{endpointKey}`, and its secret is a function of that key.
|
|
8
|
+
* The first cut let each handler name its own variable (`secretEnvVar`), which left three readers with no
|
|
9
|
+
* shared answer: the backend reading the secret, the CLI writing it into the backend's environment, and the
|
|
10
|
+
* CLI keeping it OUT of every other runtime. A variable an author names freely cannot be recognised by the
|
|
11
|
+
* last of those, so a minion would inherit a webhook signing secret it has no use for. Deriving the name is
|
|
12
|
+
* the same trade `WILDO_SOR_<NAME>__<SLOT>` makes for systems of record, and for the same reason: one
|
|
13
|
+
* function owns the spelling and every layer imports it.
|
|
14
|
+
*
|
|
15
|
+
* ## Why the name round-trips
|
|
16
|
+
*
|
|
17
|
+
* The secrets section is a flat map keyed by variable name, so the endpoint key must be recoverable from the
|
|
18
|
+
* name. An endpoint key admits only lower-case letters, digits and SINGLE hyphens
|
|
19
|
+
* ({@link INBOUND_ENDPOINT_KEY_PATTERN}), so `-` → `_` is injective and the key can never produce `__`. The
|
|
20
|
+
* only `__` in a derived name is therefore the delimiter before `SECRET`, by construction.
|
|
21
|
+
*/
|
|
22
|
+
/** Every inbound endpoint variable starts here, which is what makes a prefix scan possible. */
|
|
23
|
+
export declare const INBOUND_ENDPOINT_ENV_PREFIX = "WILDO_INBOUND_";
|
|
24
|
+
/** The suffix naming the slot. One slot today; the delimiter keeps room for another without ambiguity. */
|
|
25
|
+
export declare const INBOUND_ENDPOINT_SECRET_ENV_SUFFIX = "__SECRET";
|
|
26
|
+
/**
|
|
27
|
+
* The charset law for an application endpoint key: lower-case letters and digits, joined by single hyphens.
|
|
28
|
+
* Load-bearing for the round trip above, so it is shared with the handler registry rather than restated there.
|
|
29
|
+
*/
|
|
30
|
+
export declare const INBOUND_ENDPOINT_KEY_PATTERN: RegExp;
|
|
31
|
+
/**
|
|
32
|
+
* The environment variable carrying the verification secret of the application endpoint `endpointKey`.
|
|
33
|
+
* Throws on a key outside {@link INBOUND_ENDPOINT_KEY_PATTERN}: the handler registry refuses such a key at
|
|
34
|
+
* startup, so reaching here with one means a caller skipped it, and an unparseable name is worse than a
|
|
35
|
+
* loud refusal.
|
|
36
|
+
*/
|
|
37
|
+
export declare function deriveInboundEndpointSecretEnvVarName(endpointKey: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Recover the endpoint key from a derived variable name, or `null` when the name is not one of ours.
|
|
40
|
+
* `null` rather than a throw because the callers scan a MIXED environment, where most names are not
|
|
41
|
+
* inbound endpoint variables.
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseInboundEndpointSecretEnvVarName(envVarName: string): {
|
|
44
|
+
readonly endpointKey: string;
|
|
45
|
+
} | null;
|
|
46
|
+
//# sourceMappingURL=inbound-endpoint-env.shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound-endpoint-env.shared.d.ts","sourceRoot":"","sources":["../../../../src/inbound/inbound-endpoint-env.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+FAA+F;AAC/F,eAAO,MAAM,2BAA2B,mBAAmB,CAAC;AAE5D,0GAA0G;AAC1G,eAAO,MAAM,kCAAkC,aAAa,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAA+B,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKjF;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMhH"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `WILDO_INBOUND_<ENDPOINT_KEY>__SECRET` — the ONE derivation of the environment variable that holds an
|
|
3
|
+
* application inbound endpoint's verification secret (#1596).
|
|
4
|
+
*
|
|
5
|
+
* ## Derived from the endpoint key, never authored
|
|
6
|
+
*
|
|
7
|
+
* An application endpoint is `POST /webhooks/app/{endpointKey}`, and its secret is a function of that key.
|
|
8
|
+
* The first cut let each handler name its own variable (`secretEnvVar`), which left three readers with no
|
|
9
|
+
* shared answer: the backend reading the secret, the CLI writing it into the backend's environment, and the
|
|
10
|
+
* CLI keeping it OUT of every other runtime. A variable an author names freely cannot be recognised by the
|
|
11
|
+
* last of those, so a minion would inherit a webhook signing secret it has no use for. Deriving the name is
|
|
12
|
+
* the same trade `WILDO_SOR_<NAME>__<SLOT>` makes for systems of record, and for the same reason: one
|
|
13
|
+
* function owns the spelling and every layer imports it.
|
|
14
|
+
*
|
|
15
|
+
* ## Why the name round-trips
|
|
16
|
+
*
|
|
17
|
+
* The secrets section is a flat map keyed by variable name, so the endpoint key must be recoverable from the
|
|
18
|
+
* name. An endpoint key admits only lower-case letters, digits and SINGLE hyphens
|
|
19
|
+
* ({@link INBOUND_ENDPOINT_KEY_PATTERN}), so `-` → `_` is injective and the key can never produce `__`. The
|
|
20
|
+
* only `__` in a derived name is therefore the delimiter before `SECRET`, by construction.
|
|
21
|
+
*/
|
|
22
|
+
/** Every inbound endpoint variable starts here, which is what makes a prefix scan possible. */
|
|
23
|
+
export const INBOUND_ENDPOINT_ENV_PREFIX = 'WILDO_INBOUND_';
|
|
24
|
+
/** The suffix naming the slot. One slot today; the delimiter keeps room for another without ambiguity. */
|
|
25
|
+
export const INBOUND_ENDPOINT_SECRET_ENV_SUFFIX = '__SECRET';
|
|
26
|
+
/**
|
|
27
|
+
* The charset law for an application endpoint key: lower-case letters and digits, joined by single hyphens.
|
|
28
|
+
* Load-bearing for the round trip above, so it is shared with the handler registry rather than restated there.
|
|
29
|
+
*/
|
|
30
|
+
export const INBOUND_ENDPOINT_KEY_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
31
|
+
/**
|
|
32
|
+
* The environment variable carrying the verification secret of the application endpoint `endpointKey`.
|
|
33
|
+
* Throws on a key outside {@link INBOUND_ENDPOINT_KEY_PATTERN}: the handler registry refuses such a key at
|
|
34
|
+
* startup, so reaching here with one means a caller skipped it, and an unparseable name is worse than a
|
|
35
|
+
* loud refusal.
|
|
36
|
+
*/
|
|
37
|
+
export function deriveInboundEndpointSecretEnvVarName(endpointKey) {
|
|
38
|
+
if (!INBOUND_ENDPOINT_KEY_PATTERN.test(endpointKey)) {
|
|
39
|
+
throw new Error(`"${endpointKey}" is not a valid inbound endpoint key (lower-case letters and digits, joined by single hyphens).`);
|
|
40
|
+
}
|
|
41
|
+
return `${INBOUND_ENDPOINT_ENV_PREFIX}${endpointKey.toUpperCase().replaceAll('-', '_')}${INBOUND_ENDPOINT_SECRET_ENV_SUFFIX}`;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Recover the endpoint key from a derived variable name, or `null` when the name is not one of ours.
|
|
45
|
+
* `null` rather than a throw because the callers scan a MIXED environment, where most names are not
|
|
46
|
+
* inbound endpoint variables.
|
|
47
|
+
*/
|
|
48
|
+
export function parseInboundEndpointSecretEnvVarName(envVarName) {
|
|
49
|
+
if (!envVarName.startsWith(INBOUND_ENDPOINT_ENV_PREFIX) || !envVarName.endsWith(INBOUND_ENDPOINT_SECRET_ENV_SUFFIX))
|
|
50
|
+
return null;
|
|
51
|
+
const encoded = envVarName.slice(INBOUND_ENDPOINT_ENV_PREFIX.length, envVarName.length - INBOUND_ENDPOINT_SECRET_ENV_SUFFIX.length);
|
|
52
|
+
const endpointKey = encoded.toLowerCase().replaceAll('_', '-');
|
|
53
|
+
if (!INBOUND_ENDPOINT_KEY_PATTERN.test(endpointKey) || encoded !== encoded.toUpperCase())
|
|
54
|
+
return null;
|
|
55
|
+
return { endpointKey };
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=inbound-endpoint-env.shared.js.map
|