@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 @@
|
|
|
1
|
+
{"version":3,"file":"service-provider-relationships.shared.schemas.js","sourceRoot":"","sources":["../../../../src/organizations/service-provider-relationships.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Service-provider relationships — a service firm's experts working inside CLIENT organizations,\n * under a relationship the client declares, controls and can end on the next request.\n *\n * ## The shape (#1597)\n *\n * An AI-native service company is a firm whose experts work inside every client's tenant every day.\n * Platform access grants cannot carry that: they are break-glass by design (time-boxed, justified,\n * operator-only), and making them standing would be the standing privilege the zero-standing-privilege\n * decision removed. So the firm↔client link is its own, customer-controlled relationship:\n *\n * | resource | lives in | written by |\n * |---|---|---|\n * | `SERVICE_PROVIDER_RELATIONSHIPS` | the CLIENT organization | the client's verbs; the firm's verbs through the mirror |\n * | `SERVICE_ENGAGEMENTS` | the PROVIDER organization | system-written beside every relationship transition — the firm's view |\n * | `SERVICE_ENGAGEMENT_ASSIGNMENTS` | the PROVIDER organization | the firm's administrators: which experts serve which client |\n *\n * An assigned expert receives a REAL membership in the client organization, marked with the\n * relationship (`serviceProviderRelationshipId`, `providerOrganizationId`). The membership is what the\n * rest of the framework already understands; the relationship is what decides whether it confers\n * anything, re-checked on every request by the execution-context builder (the \"live filter\").\n *\n * ## Each side acts only inside its own tenant\n *\n * The client's verbs are on the relationship (client scope); the firm's verbs (`propose`, `accept` of a\n * client's proposal, `withdraw`) are on the engagement (firm scope). The counterpart row is written by\n * the system in the same transaction. Neither side ever reaches into the other's tenant through a\n * request, so no cross-tenant admission exists here at all — that door belongs to platform operators.\n */\n\nimport { z } from 'zod';\nimport { addImpersonalizeWith } from '@wildo-ai/zod-decorators';\nimport { PersonalDataCategory } from '../compliance/privacy/personal-data-category.shared.schemas';\nimport { RedactionType } from '../compliance/privacy/redaction.shared.schemas';\nimport { ResourcePrimaryScope } from '../resources/resources.shared.schemas';\nimport type { ExecutionContext_RoleInfo } from '../runtime/execution-context.shared.schemas';\nimport { AUTONOMOUS_AGENT_REFS_PER_CLIENT_MAX, AutonomousAgentRefSchema } from '../flows-actors/autonomous-agents.shared.schemas';\nimport { ServiceProviderActivityFeedDisclosure, ServiceProviderMfaTrust } from './service-provider-client-controls.shared.schemas';\nimport {\n HumanDecision_Outcome,\n HumanDecision_ResponseIntent,\n HumanDecision_RouteKind,\n ReviewClockBasis,\n ReviewDeadlineStage,\n ReviewEscalationActionKind,\n type HumanDecision_Request,\n type HumanDecision_Route,\n} from '../flows-actors/human-decision.shared.schemas';\nimport {\n armReviewDeadlines,\n dueReviewDeadlineStages,\n nextReviewDeadlineDueAt,\n resolveReviewDeadlinePolicy,\n reviewDeadlinesDeclarationIssues,\n type ReviewCalendar,\n type ReviewDeadlinesDeclaration,\n} from '../flows-actors/review-deadlines.shared.schemas';\nimport { CORE_ORG_ROLES } from '../security/authorizations/roles.shared.schemas';\nimport { ServiceEngagementDelegatedCapabilitySchema, isDelegatedCapabilityRole } from './service-provider-capability-grants.shared.schemas';\n\n/** @wildo_source:part:start saas.models.organizations.service-provider-relationships facet:layer:shared facet:audience:app-developer */\n/**\n * Where a service-provider relationship stands. One member per distinct claim, so the record says WHO\n * ended it and HOW.\n *\n * Only {@link ServiceProviderRelationshipStatus.ACTIVE} confers anything, and even then only while\n * `endsAt` is absent or in the future — {@link isServiceProviderRelationshipConferring} is the one\n * predicate, and it reads `endsAt` itself rather than trusting {@link EXPIRED}.\n */\nexport enum ServiceProviderRelationshipStatus {\n /** Proposed by one side, awaiting the other. Confers nothing. */\n PROPOSED = 'PROPOSED',\n /** Accepted by the non-proposing side. Confers, subject to the live filter. */\n ACTIVE = 'ACTIVE',\n /** Paused by the client. Confers nothing; `resume` returns it to ACTIVE. */\n SUSPENDED = 'SUSPENDED',\n /** The client refused the firm's proposal. Terminal. */\n DECLINED = 'DECLINED',\n /**\n * The firm ended it (or withdrew its proposal) — or the firm's ORGANIZATION was deleted (the purge after its retention\n * window, or an operator's immediate delete), which ends every relationship it serves the same way. Terminal.\n */\n WITHDRAWN = 'WITHDRAWN',\n /**\n * The client ended it — or the client's ORGANIZATION was deleted (the purge, or an operator's immediate delete), which\n * ends every relationship it holds the same way. Terminal.\n */\n TERMINATED = 'TERMINATED',\n /** The sweep relabelled it after `endsAt`. Terminal bookkeeping — admission never reads this label. */\n EXPIRED = 'EXPIRED',\n}\n\n/** Statuses from which a relationship can still move — at most one of these per (provider, client). */\nexport const SERVICE_PROVIDER_RELATIONSHIP_LIVE_STATUSES: readonly ServiceProviderRelationshipStatus[] = [\n ServiceProviderRelationshipStatus.PROPOSED,\n ServiceProviderRelationshipStatus.ACTIVE,\n ServiceProviderRelationshipStatus.SUSPENDED,\n];\n\n/** Statuses that end a relationship for good. Reaching one ends every assignment and provider membership. */\nexport const SERVICE_PROVIDER_RELATIONSHIP_TERMINAL_STATUSES: readonly ServiceProviderRelationshipStatus[] = [\n ServiceProviderRelationshipStatus.DECLINED,\n ServiceProviderRelationshipStatus.WITHDRAWN,\n ServiceProviderRelationshipStatus.TERMINATED,\n ServiceProviderRelationshipStatus.EXPIRED,\n];\n\n/** One lifecycle audit row per transition, written to BOTH organizations' trails. */\nexport enum ServiceProviderRelationshipTransition {\n PROPOSED = 'PROPOSED',\n ACCEPTED = 'ACCEPTED',\n DECLINED = 'DECLINED',\n SUSPENDED = 'SUSPENDED',\n RESUMED = 'RESUMED',\n SCOPE_AMENDED = 'SCOPE_AMENDED',\n TERMINATED = 'TERMINATED',\n WITHDRAWN = 'WITHDRAWN',\n EXPIRED = 'EXPIRED',\n /**\n * The client changed how the firm's experts are admitted (#1612) — see\n * {@link ServiceProviderExpertAdmissionPolicy}. Not retroactive: experts already admitted stay admitted.\n */\n EXPERT_ADMISSION_POLICY_CHANGED = 'EXPERT_ADMISSION_POLICY_CHANGED',\n}\n\n/**\n * How the firm's assigned experts are admitted into the CLIENT organization under one relationship (#1612).\n *\n * The CLIENT's choice, stored on the relationship it controls: set when the client proposes or accepts, and\n * changed later only by a client administrator. The firm can never set or change it. An application may\n * declare the default a client organization type starts from (`acceptsServiceProviders.defaultExpertAdmissionPolicy`),\n * and the relationship's own value always wins.\n *\n * A change is NOT retroactive: experts already admitted stay admitted, and the client removes anyone through\n * the ordinary member verbs.\n */\nexport enum ServiceProviderExpertAdmissionPolicy {\n /** The relationship admits every expert the firm assigns (the #1597 behaviour, and the default). */\n RELATIONSHIP_APPROVES_ASSIGNED_EXPERTS = 'RELATIONSHIP_APPROVES_ASSIGNED_EXPERTS',\n /**\n * Each assigned expert waits for the client's own approval — a human decision routed to the client's\n * administrators — and receives no membership until a client administrator approves them.\n */\n CLIENT_APPROVES_EACH_EXPERT = 'CLIENT_APPROVES_EACH_EXPERT',\n}\n\n/** Whether a firm's expert currently serves an engagement. */\nexport enum ServiceEngagementAssignmentStatus {\n /** Designated by the firm; the expert holds a provider membership in the client organization. */\n ACTIVE = 'ACTIVE',\n /**\n * Unassigned, ended with the relationship, or withdrawn while still awaiting the client's approval. The\n * client membership (when one was ever created) is INACTIVE; the row is evidence.\n */\n ENDED = 'ENDED',\n /**\n * The firm assigned the expert under a relationship whose client approves each expert (#1612), and the\n * client has not answered yet. Confers NOTHING by construction: no membership row exists in the client,\n * so there is no role entry, nothing in any membership consumer, and no (person, client) slot taken.\n */\n PENDING_CLIENT_APPROVAL = 'PENDING_CLIENT_APPROVAL',\n /**\n * The client refused the expert — or approved, but the relationship, the expert's firm membership or the\n * (person, client) slot no longer allowed admission when the approval was applied. Nothing was created.\n * Terminal; `approvalDenialReason` says which.\n */\n DENIED = 'DENIED',\n /** Nobody in the client answered before the approval's lapse (decision deadlines, #1628). Nothing was created. Terminal. */\n LAPSED = 'LAPSED',\n}\n\n/** Assignment statuses that still hold, or still wait for, a place in the client — the ones a second assignment collides with. */\nexport const SERVICE_ENGAGEMENT_ASSIGNMENT_LIVE_STATUSES: readonly ServiceEngagementAssignmentStatus[] = [\n ServiceEngagementAssignmentStatus.ACTIVE,\n ServiceEngagementAssignmentStatus.PENDING_CLIENT_APPROVAL,\n];\n\n/**\n * Why a per-expert approval ended without admitting the expert (#1612). Recorded on the assignment the firm\n * reads, so it names a FACT the firm may know — never the client administrator who answered.\n */\nexport enum ServiceProviderExpertApprovalDenialReason {\n /** A client administrator refused the expert. */\n REFUSED_BY_CLIENT = 'REFUSED_BY_CLIENT',\n /** The client approved, but the relationship no longer confers (ended, suspended, or past its term). */\n RELATIONSHIP_NO_LONGER_CONFERS = 'RELATIONSHIP_NO_LONGER_CONFERS',\n /** The client approved, but the expert is no longer an active, ordinary member of the firm, or the firm no longer confers authority. */\n EXPERT_NO_LONGER_ELIGIBLE = 'EXPERT_NO_LONGER_ELIGIBLE',\n /** The client approved, but the person meanwhile holds another membership in the client (their own, a suspended one, or another firm's). */\n CONFLICTS_WITH_CLIENT_MEMBERSHIP = 'CONFLICTS_WITH_CLIENT_MEMBERSHIP',\n}\n\n/**\n * The two answers a per-expert approval offers (#1612), in the one answer shape (`HumanDecision_Answer.optionRef`).\n * APPROVE proceeds (the expert is admitted, re-checked at that moment); REJECT ends the waiting assignment.\n */\nexport enum ServiceProviderExpertApprovalOption {\n APPROVE = 'approve',\n REJECT = 'reject',\n}\n\n/** @wildo_source:part:end saas.models.organizations.service-provider-relationships */\n\n/**\n * Does this relationship confer authority RIGHT NOW?\n *\n * The single predicate every consumer uses — the execution-context live filter, machine-client\n * admission, the client-mailbox domain authorization, and any screen. `endsAt` is read here rather than\n * trusting the EXPIRED label, so the term ends the moment it elapses with no writer involved: a\n * relationship whose term passed must stop working whether or not the sweep has run.\n */\nexport function isServiceProviderRelationshipConferring(\n relationship: { readonly status?: unknown; readonly endsAt?: Date | string | null } | null | undefined,\n now: Date,\n): boolean {\n if (!relationship) return false;\n if (relationship.status !== ServiceProviderRelationshipStatus.ACTIVE) return false;\n if (relationship.endsAt === undefined || relationship.endsAt === null) return true;\n const endsAt = relationship.endsAt instanceof Date ? relationship.endsAt : new Date(relationship.endsAt);\n return Number.isFinite(endsAt.getTime()) && endsAt.getTime() > now.getTime();\n}\n\n/**\n * Is this membership row a PROVIDER membership — held through a service-provider relationship rather\n * than as the organization's own member?\n *\n * The one definition, used by every membership consumer that must treat the two differently: the owner\n * floor (never counts), `grantOwnership` (refuses), the generic member UPDATE (roles are owned by the\n * relationship), SCIM `/Users` (not the client's directory), user-type revocation (grants none), and the\n * execution-context live filter (confers only through a live relationship).\n */\nexport function isServiceProviderMembership(member: unknown): boolean {\n const row = member as { serviceProviderRelationshipId?: unknown; providerOrganizationId?: unknown } | null | undefined;\n // ANY present marker classifies the row as a provider row — not only a well-formed string. The failure\n // this rules out is fail-OPEN: a marker of another type (an ObjectId from a direct store write, a number)\n // read as \"ordinary member\" would let the row's own `roles` confer authority the relationship never\n // granted. Classified as a provider row, a malformed one confers nothing: the live filter needs a readable\n // relationship id and skips it.\n return isPresentMarker(row?.serviceProviderRelationshipId) || isPresentMarker(row?.providerOrganizationId);\n}\n\nfunction isPresentMarker(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\n/** The two fields that mark a membership row as a provider membership. */\nexport type ServiceProviderMembershipMarkers = {\n readonly serviceProviderRelationshipId?: string;\n readonly providerOrganizationId?: string;\n};\n\n/**\n * The role entries a LIVE relationship confers on one of its experts (or admitted machine clients) in the\n * client organization — the pure half of the execution-context live filter, so the emission rule has one\n * definition that the builder and its tests share.\n *\n * - No `organizationUnitIds` ⇒ ONE organization-wide entry.\n * - `organizationUnitIds` ⇒ one unit-scoped entry per unit and NO organization-wide entry. The expert is\n * then a UNIT-ONLY principal, which is the whole of what a unit-scoped relationship means.\n *\n * The attribution fields are audit-only (see `ExecutionContext_RoleInfo.viaServiceProviderRelationshipId`).\n */\nexport function buildServiceProviderRoleEntries(\n relationship: { readonly organizationId: string; readonly role: string; readonly organizationUnitIds?: readonly string[] | null },\n relationshipId: string,\n providerOrganizationId: string,\n /**\n * The roles of the relationship's LIVE capability grants (#1631), added beside the relationship's role on its\n * organization-wide entry. A unit-scoped relationship emits none of them (every capability needs an organization-wide\n * relationship). The live filter decides which grants are live; this only places them.\n */\n capabilityRoles: readonly string[] = [],\n): ExecutionContext_RoleInfo[] {\n const attribution = { viaServiceProviderRelationshipId: relationshipId, viaProviderOrganizationId: providerOrganizationId };\n const unitIds = [...new Set((relationship.organizationUnitIds ?? []).filter((unitId) => typeof unitId === 'string' && unitId.length > 0))];\n if (unitIds.length === 0) {\n return [{\n roles: [relationship.role, ...capabilityRoles.filter((role) => role !== relationship.role)],\n relatedPrimaryScope: ResourcePrimaryScope.ORGANIZATIONS,\n relatedResourceId: relationship.organizationId,\n ...attribution,\n }];\n }\n // A unit-scoped relationship carries NO capability role: every capability needs an organization-wide relationship\n // (`ORGANIZATION_LEVEL_DELEGATED_CAPABILITIES`), so a grant surviving a narrowing confers nothing, by construction.\n return unitIds.map((organizationUnitId) => ({\n roles: [relationship.role],\n relatedPrimaryScope: ResourcePrimaryScope.ORGANIZATIONS,\n relatedResourceId: relationship.organizationId,\n organizationUnitId,\n ...attribution,\n }));\n}\n\n/** Who an audit row's principal acted THROUGH, when it acted inside a client under a service-provider relationship. */\nexport interface ServiceProviderAuditAttribution {\n readonly actingViaServiceProviderRelationshipId: string;\n readonly providerOrganizationId: string;\n}\n\n/**\n * The service-provider attribution an audit row written in `organizationId` carries, read from the role\n * entries the execution-context live filter emitted — THE ONLY reader of `viaServiceProviderRelationshipId`\n * and `viaProviderOrganizationId` (invariant 18 of #1597): no authority decision may consult them.\n *\n * Only an entry for the ROW's organization counts. A firm member acting in their own firm carries no\n * attribution there even while they hold a live client relationship elsewhere, and a row in the client\n * organization names the relationship that admitted the principal into it. Every entry the live filter\n * emits for one relationship carries the same pair, so the first attributed entry is the answer.\n */\nexport function resolveServiceProviderAuditAttribution(\n initiatorRoles: readonly ExecutionContext_RoleInfo[] | undefined,\n organizationId: string | undefined,\n): ServiceProviderAuditAttribution | undefined {\n if (!organizationId || !initiatorRoles) return undefined;\n const entry = initiatorRoles.find((roleInfo) =>\n roleInfo.relatedPrimaryScope === ResourcePrimaryScope.ORGANIZATIONS\n && roleInfo.relatedResourceId === organizationId\n && typeof roleInfo.viaServiceProviderRelationshipId === 'string'\n && typeof roleInfo.viaProviderOrganizationId === 'string');\n if (!entry) return undefined;\n return {\n actingViaServiceProviderRelationshipId: entry.viaServiceProviderRelationshipId as string,\n providerOrganizationId: entry.viaProviderOrganizationId as string,\n };\n}\n\n/** Placeholder written over free text an erasure scrubs; non-empty because `purpose` is required. */\nexport const ERASED_SERVICE_PROVIDER_TEXT = '[erased]';\n\n/**\n * Free text written by a person at one of the two organizations — why the relationship exists, or why a\n * side refused or ended it. The surface most likely to name a third party in passing, so it is scrubbed\n * on erasure while the relationship's structural record (who, which tenants, when, which scope) survives.\n */\nconst purposeField = () => addImpersonalizeWith(\n z.string().min(1).max(1000).isSummaryField().excludeFromCreate().excludeFromUpdate()\n .dataCategories(PersonalDataCategory.USER_CONTENT),\n RedactionType.MASK,\n { maskValue: ERASED_SERVICE_PROVIDER_TEXT },\n);\n\nconst decisionReasonField = () => addImpersonalizeWith(\n z.string().max(1000).optional().excludeFromCreate().excludeFromUpdate()\n .dataCategories(PersonalDataCategory.USER_CONTENT),\n RedactionType.REMOVE,\n);\n\n/** @wildo_source:part:start saas.models.organizations.service-provider-relationships */\n/**\n * One admitted client's agents, as the CLIENT organization chose them (#1611). See\n * `ServiceProviderRelationship.admittedAutonomousAgents`.\n */\nexport const ServiceProviderAdmittedAutonomousAgentsSchema = z.object({\n oauthClientId: z.string().min(1).describe('The firm\\'s machine client this entry is for. It is always one of the relationship\\'s `admittedMachineClientIds`.'),\n autonomousAgentRefs: z\n .array(AutonomousAgentRefSchema)\n .max(AUTONOMOUS_AGENT_REFS_PER_CLIENT_MAX)\n .describe('The agents of that client the client organization lets act inside it. An empty list admits none, even if the firm runs more agents on that client.'),\n});\nexport type ServiceProviderAdmittedAutonomousAgents = z.infer<typeof ServiceProviderAdmittedAutonomousAgentsSchema>;\n\n/**\n * Does this relationship let this firm client run this autonomous agent in the client organization (#1611)?\n * The client's consent only: whether the client is admitted at all, live, and with which role is\n * `admitServiceProviderMachineClient`'s question, and whether the firm binds the agent to it is the client\n * row's. The one predicate the principal resolver, the schedule's nomination and the admission audit share.\n */\nexport function serviceProviderAdmitsAutonomousAgent(\n relationship: Pick<ServiceProviderRelationship, 'admittedMachineClientIds' | 'admittedAutonomousAgents'> | null | undefined,\n oauthClientId: string,\n autonomousAgentRef: string,\n): boolean {\n if (!relationship || !(relationship.admittedMachineClientIds ?? []).includes(oauthClientId)) return false;\n return (relationship.admittedAutonomousAgents ?? [])\n .some((entry) => entry.oauthClientId === oauthClientId && entry.autonomousAgentRefs.includes(autonomousAgentRef));\n}\n\n/**\n * The relationship, stored in the CLIENT organization — the party that controls it.\n *\n * Every field is server-authored. There is no generic CREATE or UPDATE: each field changes only through\n * the verb that owns its transition, which is what makes the record evidence rather than a form.\n */\nexport const ServiceProviderRelationshipSchema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n\n /** The CLIENT organization — the scope anchor, and the only party that can widen or end the relationship. */\n organizationId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate().isAuditEvidence(),\n\n /**\n * The service FIRM. A plain indexed id, not a foreign key: it names another tenant, and a navigable\n * edge from one tenant's row into another tenant is exactly what this model refuses to create.\n */\n providerOrganizationId: z.string().min(1).isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n /** The firm's name when the relationship was proposed — a snapshot, because the client cannot read the firm's row. */\n providerOrganizationName: z.string().max(200).optional().isSummaryField().excludeFromCreate().excludeFromUpdate(),\n\n status: z.enum(ServiceProviderRelationshipStatus)\n .systemEnum('ServiceProviderRelationshipStatus')\n .default(ServiceProviderRelationshipStatus.PROPOSED)\n .isDBIndexed()\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate()\n .isAuditEvidence(),\n\n /**\n * The role every assigned expert holds in the client organization. One of the provider organization\n * type's `servesAsProvider.providerRoles`, never one leading up to `ORG_ADMIN` (refused at startup).\n * The provider memberships' `roles` mirror it; the live filter emits THIS value.\n */\n role: z.string().min(1).isSummaryField().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n /**\n * Engagement scope. Absent or empty ⇒ organization-wide. Present ⇒ the experts reach ONLY these units:\n * the live filter emits one unit-scoped role entry per id and NO organization-wide entry, so a\n * resource that neither narrows by unit nor is declared organization-wide for providers is refused.\n * Stored once, here — no `ORGANIZATION_UNIT_MEMBERS` rows mirror it.\n */\n organizationUnitIds: z.array(z.string().min(1)).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n /** The term. Absent ⇒ open-ended. Admission reads this, never the EXPIRED label. */\n // Nullish: `amendScope` CLEARS a term by writing null, which means \"no term\".\n endsAt: z.date().nullish().isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n /** Why the relationship exists — required, and the fact the client's processor register derives from. */\n purpose: purposeField(),\n\n /**\n * Firm-owned OAuth clients the client admits into its organization under this relationship (S3). A\n * listed client authenticating by client credentials receives the relationship's role in THIS\n * organization, re-checked per request. What such a principal may do is decided elsewhere.\n */\n admittedMachineClientIds: z.array(z.string().min(1)).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n /**\n * Which of the firm's autonomous agents the client lets each admitted client run HERE (#1611). The firm\n * decides which agents its client runs (`autonomousAgentRefs` on the client); the CLIENT decides which of\n * those may act in its organization, at the relationship's role and on its token budget. A turn needs both:\n * see {@link serviceProviderAdmitsAutonomousAgent}. No entry for a client, or an empty list, admits none —\n * a firm adding an agent to its own client never starts it in a client organization that did not choose it.\n *\n * Written only by `admitMachineClient` (which replaces the client's entry) and `removeMachineClient` (which\n * drops it), so it can never name a client `admittedMachineClientIds` does not.\n */\n admittedAutonomousAgents: z.array(ServiceProviderAdmittedAutonomousAgentsSchema).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n /**\n * Whether each expert the firm assigns waits for the client's own approval (#1612). The CLIENT's choice:\n * written by the client's `propose`, `accept` and `setExpertAdmissionPolicy` only — a firm's proposal starts\n * from the client organization type's declared default, and no firm verb reads a value for it.\n */\n expertAdmissionPolicy: z.enum(ServiceProviderExpertAdmissionPolicy)\n .systemEnum('ServiceProviderExpertAdmissionPolicy')\n .default(ServiceProviderExpertAdmissionPolicy.RELATIONSHIP_APPROVES_ASSIGNED_EXPERTS)\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate()\n .isAuditEvidence(),\n\n /**\n * Whether the client accepts the multi-factor proof the FIRM's own enterprise identity provider made (#1633). The\n * client's choice, written only by its `setProviderMfaTrust` verb (ORG_OWNER, step-up); off by default. The client\n * organization type's authentication policy governs the experts either way — this only decides whether a factor\n * the firm's provider reported may satisfy it. See {@link ServiceProviderMfaTrust}.\n */\n providerMfaTrust: z.enum(ServiceProviderMfaTrust)\n .systemEnum('ServiceProviderMfaTrust')\n .default(ServiceProviderMfaTrust.NOT_TRUSTED)\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate()\n .isAuditEvidence(),\n\n /**\n * How much the firm's expert-activity feed may say about work done in this client (#1632). The client's choice,\n * written only by its `setActivityFeedDisclosure` verb (ORG_ADMIN). Read LIVE by the feed writer, so a change takes\n * effect on the expert's next action. Metadata only at every level. See {@link ServiceProviderActivityFeedDisclosure}.\n */\n activityFeedDisclosure: z.enum(ServiceProviderActivityFeedDisclosure)\n .systemEnum('ServiceProviderActivityFeedDisclosure')\n .default(ServiceProviderActivityFeedDisclosure.OPERATION_AND_OUTCOME)\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate()\n .isAuditEvidence(),\n\n /** Which side proposed — the OTHER side accepts. */\n proposedByOrganizationId: z.string().min(1).isDBIndexed().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n proposedByUserId: z.string().min(1).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n acceptedByUserId: z.string().min(1).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n acceptedAt: z.date().optional().excludeFromCreate().excludeFromUpdate(),\n endedByUserId: z.string().min(1).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n /** When a terminal status was reached — the retention clock's start point. */\n endedAt: z.date().optional().isDBIndexed().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n decisionReason: decisionReasonField(),\n\n createdAt: z.date().optional(),\n updatedAt: z.date().optional(),\n});\nexport type ServiceProviderRelationship = z.infer<typeof ServiceProviderRelationshipSchema>;\n\n/**\n * The firm's mirror of one relationship, stored in the PROVIDER organization.\n *\n * System-written in the same transaction as every relationship transition, and what the firm reads —\n * its clients list, the expert assignment screen, the organization switcher's grouping. It carries only\n * what the firm needs: the client's unit ids stay in the client's tenant (`scopedToOrganizationUnits`\n * says whether a scope exists, not what it is).\n */\nexport const ServiceEngagementSchema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n\n /** The PROVIDER organization — the firm. */\n organizationId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate().isAuditEvidence(),\n\n /** The client organization. A plain id for the same reason as `providerOrganizationId` on the relationship. */\n clientOrganizationId: z.string().min(1).isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n /** The relationship this mirrors, in the client's tenant. Unique: one mirror per relationship. */\n serviceProviderRelationshipId: z.string().min(1).isDBIndexed().isUnique().isSummaryField().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n status: z.enum(ServiceProviderRelationshipStatus)\n .systemEnum('ServiceProviderRelationshipStatus')\n .default(ServiceProviderRelationshipStatus.PROPOSED)\n .isDBIndexed()\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate(),\n role: z.string().min(1).isSummaryField().excludeFromCreate().excludeFromUpdate(),\n scopedToOrganizationUnits: z.boolean().default(false).isSummaryField().excludeFromCreate().excludeFromUpdate(),\n // Nullish, and always written by the mirror sync: a term the client cleared must clear here too.\n endsAt: z.date().nullish().isSummaryField().excludeFromCreate().excludeFromUpdate(),\n purpose: purposeField(),\n proposedByOrganizationId: z.string().min(1).excludeFromCreate().excludeFromUpdate(),\n /**\n * Display copy of the client's name — the firm cannot read the client row. Written only once the client has\n * consented to the firm knowing it (it proposed to this firm, or accepted the firm's proposal), then refreshed at each\n * transition. Absent while a firm's proposal is pending and after a decline: a proposal must not be a way to learn a\n * tenant's name.\n */\n clientOrganizationName: z.string().max(200).optional().isSummaryField().excludeFromCreate().excludeFromUpdate(),\n /**\n * The client's admission policy, mirrored so the firm knows before assigning whether each expert will wait for\n * the client's approval (#1612). Read-only here: the firm has no verb that writes it.\n */\n expertAdmissionPolicy: z.enum(ServiceProviderExpertAdmissionPolicy)\n .systemEnum('ServiceProviderExpertAdmissionPolicy')\n .default(ServiceProviderExpertAdmissionPolicy.RELATIONSHIP_APPROVES_ASSIGNED_EXPERTS)\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate(),\n /**\n * The administrative capabilities the client currently lends this firm (#1631), with when each ends — mirrored so the\n * firm knows what its experts may do there. System-written on every grant and revocation; read-only to the firm, which\n * can never grant, widen or extend one.\n */\n delegatedCapabilities: z.array(ServiceEngagementDelegatedCapabilitySchema).optional().excludeFromCreate().excludeFromUpdate(),\n /** Mirrors the relationship's end — the retention clock's start point, so the sweep queries it (indexed). */\n endedAt: z.date().optional().isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n decisionReason: decisionReasonField(),\n\n createdAt: z.date().optional(),\n updatedAt: z.date().optional(),\n});\nexport type ServiceEngagement = z.infer<typeof ServiceEngagementSchema>;\n\n/**\n * Which of the firm's members serve which engagement — stored in the PROVIDER organization, decided by\n * the firm's administrators. Assigning creates (or reactivates) the expert's provider membership in the\n * client organization; unassigning makes it INACTIVE. The live filter reads the ACTIVE assignment for\n * `(serviceProviderRelationshipId, userId)` on every request.\n */\nexport const ServiceEngagementAssignmentSchema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n\n /** The PROVIDER organization. */\n organizationId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate().isAuditEvidence(),\n\n /** The engagement (mirror) this assignment serves — same tenant, a real edge. */\n serviceEngagementId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate().isAuditEvidence(),\n\n /** The expert. Must be an ACTIVE, ordinary member of the firm when assigned. */\n userId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate().isAuditEvidence(),\n\n /** Copied from the engagement so the live filter reads one row by `(relationship, user)`. */\n serviceProviderRelationshipId: z.string().min(1).isDBIndexed().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n clientOrganizationId: z.string().min(1).isDBIndexed().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n status: z.enum(ServiceEngagementAssignmentStatus)\n .systemEnum('ServiceEngagementAssignmentStatus')\n .default(ServiceEngagementAssignmentStatus.ACTIVE)\n .isDBIndexed()\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate()\n .isAuditEvidence(),\n\n assignedByUserId: z.string().min(1).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n assignedAt: z.date().optional().excludeFromCreate().excludeFromUpdate(),\n\n /**\n * The client's pending approval of this expert (#1612): the `HumanDecision_Request.decisionId` of the\n * decision routed to the client's administrators, set when the assignment was made under a relationship\n * whose client approves each expert. It is the ONE key the decision is read, listed and settled by, and the\n * settle write matches on it, so an answer can only ever settle the request it was given.\n */\n approvalDecisionId: z.string().min(1).optional().isDBIndexed().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n /** When the client's approval ended — approved, denied or lapsed. The client administrator who answered is NOT stored here: the firm reads this row. */\n approvalResolvedAt: z.date().optional().excludeFromCreate().excludeFromUpdate(),\n /** Why a DENIED assignment admitted nobody — a fact the firm may know, never who in the client decided. */\n approvalDenialReason: z.enum(ServiceProviderExpertApprovalDenialReason)\n .systemEnum('ServiceProviderExpertApprovalDenialReason')\n .optional()\n .excludeFromCreate()\n .excludeFromUpdate(),\n\n /**\n * The clocks of a pending client approval (#1909), armed at `assign` from the client organization type's\n * `acceptsServiceProviders.expertApprovalDeadlines` with #1628's model, and stored rather than recomputed so a\n * deployment that changes the declaration never reshapes a clock already running.\n *\n * - `approvalLapseAt` — when the approval ends LAPSED, admitting nobody. The firm may see it: it is when its request\n * stops waiting.\n * - `approvalDecisionDeadlineAt` / `approvalDecisionWarningAt` — the DECISION service target and its optional\n * warning, on `approvalDecisionClockBasis`. There is no CLAIM clock: this plane offers no claim.\n * - `approvalDecisionWarningFiredAt` / `approvalDecisionMissedFiredAt` — each stage's fired marker, set by a\n * compare-and-swap that requires it null, so a stage fires exactly once across hosts.\n * - `approvalNextDueAt` — the earliest of the lapse and any stage still to fire: what the sweep selects by index.\n */\n approvalLapseAt: z.date().nullish().isDBIndexed().excludeFromCreate().excludeFromUpdate()\n .describe('While the client has not decided on this assignment: when the request lapses, admitting nobody. Empty once the client has decided.'),\n approvalDecisionDeadlineAt: z.date().nullish().excludeFromCreate().excludeFromUpdate()\n .describe('The service target by which the client is expected to decide on this assignment, counted on `approvalDecisionClockBasis`.'),\n approvalDecisionWarningAt: z.date().nullish().excludeFromCreate().excludeFromUpdate()\n .describe('When the client is warned that the decision target is near, when the client organization declares a warning. Empty otherwise.'),\n approvalDecisionClockBasis: z.enum(ReviewClockBasis).systemEnum('ReviewClockBasis').nullish().excludeFromCreate().excludeFromUpdate()\n .describe('How the decision target is counted: `elapsed` wall-clock time, or `calendar` working hours of the application\\'s review calendar.'),\n approvalDecisionWarningFiredAt: z.date().nullish().isBackendOnly().excludeFromCreate().excludeFromUpdate(),\n approvalDecisionMissedFiredAt: z.date().nullish().isBackendOnly().excludeFromCreate().excludeFromUpdate(),\n approvalNextDueAt: z.date().nullish().isDBIndexed().isBackendOnly().excludeFromCreate().excludeFromUpdate(),\n\n endedByUserId: z.string().min(1).optional().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n /** When the assignment ended — the retention clock's start point. */\n endedAt: z.date().optional().isDBIndexed().excludeFromCreate().excludeFromUpdate().isAuditEvidence(),\n\n createdAt: z.date().optional(),\n updatedAt: z.date().optional(),\n});\nexport type ServiceEngagementAssignment = z.infer<typeof ServiceEngagementAssignmentSchema>;\n\n/**\n * The input of the INTERNAL `settleClientApproval` verb (#1612): which pending approval, and how the client answered.\n *\n * `outcome` is the one decision vocabulary (`HumanDecision_Outcome`). Only ACCEPTED, REJECTED and LAPSED settle an\n * expert approval — the verb refuses the others rather than reading them as one of these.\n */\nexport const ServiceEngagementAssignmentSettleClientApprovalDtoSchema = z.object({\n approvalDecisionId: z.string().min(1),\n outcome: z.enum(HumanDecision_Outcome),\n /** The client administrator who answered — recorded in the CLIENT's trail only, never on the assignment the firm reads. */\n decidedByUserId: z.string().min(1).optional(),\n});\nexport type ServiceEngagementAssignmentSettleClientApprovalDto = z.infer<typeof ServiceEngagementAssignmentSettleClientApprovalDtoSchema>;\n\n/**\n * The client-branchable codes a service-provider refusal carries (all answer 409 CONFLICT: the caller is\n * authorized and the payload is valid; the current STATE forbids the write).\n */\nexport enum ServiceProviderRelationshipErrorCode {\n /** A PROPOSED, ACTIVE or SUSPENDED relationship already links this firm and this client. */\n SERVICE_PROVIDER_RELATIONSHIP_ALREADY_LIVE = 'SERVICE_PROVIDER_RELATIONSHIP_ALREADY_LIVE',\n /** The expert is one of the client's OWN members; a person is in an organization one way at a time. */\n SERVICE_PROVIDER_ASSIGNMENT_CONFLICTS_WITH_MEMBERSHIP = 'SERVICE_PROVIDER_ASSIGNMENT_CONFLICTS_WITH_MEMBERSHIP',\n /** The expert already serves this client under another live relationship. */\n SERVICE_PROVIDER_ASSIGNMENT_ALREADY_LIVE = 'SERVICE_PROVIDER_ASSIGNMENT_ALREADY_LIVE',\n /** A provider membership's roles belong to the relationship; change the relationship, not the membership. */\n SERVICE_PROVIDER_MEMBERSHIP_ROLES_OWNED_BY_RELATIONSHIP = 'SERVICE_PROVIDER_MEMBERSHIP_ROLES_OWNED_BY_RELATIONSHIP',\n /**\n * An invitation to a person who has a PROVIDER membership in this organization. A live one: the person is\n * already here through a firm. An ended one (INACTIVE): remove that membership first, then invite.\n */\n SERVICE_PROVIDER_MEMBERSHIP_CONFLICTS_WITH_INVITATION = 'SERVICE_PROVIDER_MEMBERSHIP_CONFLICTS_WITH_INVITATION',\n /** The other party's organization type is not one this relationship's provider type serves (or does not serve at all). */\n SERVICE_PROVIDER_ORGANIZATION_TYPE_NOT_ELIGIBLE = 'SERVICE_PROVIDER_ORGANIZATION_TYPE_NOT_ELIGIBLE',\n /** The side that proposed tried to accept its own proposal. */\n SERVICE_PROVIDER_PROPOSAL_ACCEPTED_BY_PROPOSER = 'SERVICE_PROVIDER_PROPOSAL_ACCEPTED_BY_PROPOSER',\n /** The requested role is not one of the provider type's `providerRoles`. */\n SERVICE_PROVIDER_ROLE_NOT_DECLARED = 'SERVICE_PROVIDER_ROLE_NOT_DECLARED',\n /** A requested organization unit is not a unit of the client organization. */\n SERVICE_PROVIDER_UNIT_NOT_IN_CLIENT = 'SERVICE_PROVIDER_UNIT_NOT_IN_CLIENT',\n /** Assignment needs an ACTIVE engagement and an ACTIVE, ordinary member of the firm. */\n SERVICE_PROVIDER_ASSIGNMENT_NOT_ELIGIBLE = 'SERVICE_PROVIDER_ASSIGNMENT_NOT_ELIGIBLE',\n /**\n * The client SUSPENDED this expert's membership. That is the client's decision about one person, and a\n * firm's assignment may not undo it: the client reactivates the membership first.\n */\n SERVICE_PROVIDER_EXPERT_SUSPENDED_BY_CLIENT = 'SERVICE_PROVIDER_EXPERT_SUSPENDED_BY_CLIENT',\n /** The OAuth client to admit is not an ACTIVE client owned by the provider organization. */\n SERVICE_PROVIDER_MACHINE_CLIENT_NOT_ELIGIBLE = 'SERVICE_PROVIDER_MACHINE_CLIENT_NOT_ELIGIBLE',\n}\n/** @wildo_source:part:end saas.models.organizations.service-provider-relationships */\n\n/** The part of an organization type definition the relationship rules read. */\nexport type ServiceProviderOrganizationTypeView = {\n readonly availableOrgRoles?: readonly unknown[];\n readonly acceptsServiceProviders?: {\n readonly defaultExpertAdmissionPolicy?: ServiceProviderExpertAdmissionPolicy;\n readonly securityCriticalCapabilityMaxDays?: number;\n readonly expertApprovalDeadlines?: ReviewDeadlinesDeclaration;\n };\n readonly servesAsProvider?: {\n readonly clientOrganizationTypes: readonly string[];\n readonly providerRoles: readonly string[];\n readonly defaultProviderRole: string;\n };\n};\n\n/**\n * May an organization of `providerType` enter a relationship with an organization of `clientType`, and\n * with which role? The ONE rule both sides' verbs apply (propose, accept, amend) — so a relationship can\n * never be accepted on terms that could not have been proposed.\n *\n * Returns the resolved role, or the refusal code. Fails closed on anything undeclared.\n */\nexport function resolveServiceProviderRelationshipTerms(input: {\n readonly organizationTypes: Readonly<Record<string, ServiceProviderOrganizationTypeView>> | undefined;\n readonly providerOrganizationType: string | undefined;\n readonly clientOrganizationType: string | undefined;\n /** The role asked for; absent ⇒ the provider type's `defaultProviderRole`. */\n readonly requestedRole?: string;\n}):\n | { readonly allowed: true; readonly role: string }\n | { readonly allowed: false; readonly code: ServiceProviderRelationshipErrorCode } {\n const providerType = input.providerOrganizationType ? input.organizationTypes?.[input.providerOrganizationType] : undefined;\n const clientType = input.clientOrganizationType ? input.organizationTypes?.[input.clientOrganizationType] : undefined;\n const servesAsProvider = providerType?.servesAsProvider;\n if (!servesAsProvider || !clientType || !input.clientOrganizationType\n || !servesAsProvider.clientOrganizationTypes.includes(input.clientOrganizationType)) {\n return { allowed: false, code: ServiceProviderRelationshipErrorCode.SERVICE_PROVIDER_ORGANIZATION_TYPE_NOT_ELIGIBLE };\n }\n const role = input.requestedRole ?? servesAsProvider.defaultProviderRole;\n const clientRoles = (clientType.availableOrgRoles ?? []).map(String);\n if (!servesAsProvider.providerRoles.includes(role) || !clientRoles.includes(role)) {\n return { allowed: false, code: ServiceProviderRelationshipErrorCode.SERVICE_PROVIDER_ROLE_NOT_DECLARED };\n }\n return { allowed: true, role };\n}\n\n/** Why a `servesAsProvider` declaration was refused at startup. */\nexport enum ServiceProviderDeclarationViolationKind {\n /** A provider role whose `inheritFrom` chain reaches `ORG_ADMIN` — a relationship must never confer administration. */\n PROVIDER_ROLE_REACHES_ADMINISTRATION = 'PROVIDER_ROLE_REACHES_ADMINISTRATION',\n /** A provider role unknown to the organization role table. */\n PROVIDER_ROLE_UNDECLARED = 'PROVIDER_ROLE_UNDECLARED',\n /** A provider role a client type does not list in `availableOrgRoles`. */\n PROVIDER_ROLE_UNAVAILABLE_IN_CLIENT_TYPE = 'PROVIDER_ROLE_UNAVAILABLE_IN_CLIENT_TYPE',\n /** `defaultProviderRole` is not one of `providerRoles`. */\n DEFAULT_PROVIDER_ROLE_NOT_DECLARED = 'DEFAULT_PROVIDER_ROLE_NOT_DECLARED',\n /** A client organization type that is not declared. */\n CLIENT_ORGANIZATION_TYPE_UNDECLARED = 'CLIENT_ORGANIZATION_TYPE_UNDECLARED',\n /**\n * A provider role that is a delegated capability role (`ORG_DELEGATED_*`, #1631). A capability is conferred ONLY by a\n * live, dated grant the client can revoke; as a provider role it would ride every assignment for the whole\n * relationship, with no term, no owner-only verb and no grant row — the standing access the grant exists to prevent.\n */\n PROVIDER_ROLE_IS_DELEGATED_CAPABILITY = 'PROVIDER_ROLE_IS_DELEGATED_CAPABILITY',\n}\n\n/**\n * Validate every `servesAsProvider` declaration against the LIVE organization role table.\n *\n * `administrationAnchorRole` is `ORG_ADMIN`; a provider role reaches it when the hierarchy walk of that\n * role (the one the authorization layer uses) includes it — so a custom role inheriting from `ORG_ADMIN`\n * is refused exactly like `ORG_ADMIN` itself.\n */\nexport function collectServiceProviderDeclarationViolations(input: {\n readonly organizationTypes: Readonly<Record<string, ServiceProviderOrganizationTypeView>> | undefined;\n readonly administrationAnchorRole: string;\n /** The role's `inheritFrom` walk in the ORGANIZATIONS table; empty ⇒ the role is not declared. */\n readonly organizationRoleHierarchy: (role: string) => readonly string[];\n}): { providerOrganizationType: string; kind: ServiceProviderDeclarationViolationKind; subject: string }[] {\n const violations: { providerOrganizationType: string; kind: ServiceProviderDeclarationViolationKind; subject: string }[] = [];\n for (const [providerOrganizationType, definition] of Object.entries(input.organizationTypes ?? {})) {\n const declaration = definition?.servesAsProvider;\n if (!declaration) continue;\n const push = (kind: ServiceProviderDeclarationViolationKind, subject: string) => violations.push({ providerOrganizationType, kind, subject });\n if (!declaration.providerRoles.includes(declaration.defaultProviderRole)) {\n push(ServiceProviderDeclarationViolationKind.DEFAULT_PROVIDER_ROLE_NOT_DECLARED, declaration.defaultProviderRole);\n }\n for (const role of declaration.providerRoles) {\n const hierarchy = input.organizationRoleHierarchy(role);\n if (hierarchy.length === 0) push(ServiceProviderDeclarationViolationKind.PROVIDER_ROLE_UNDECLARED, role);\n if (hierarchy.includes(input.administrationAnchorRole)) push(ServiceProviderDeclarationViolationKind.PROVIDER_ROLE_REACHES_ADMINISTRATION, role);\n if (isDelegatedCapabilityRole(role)) push(ServiceProviderDeclarationViolationKind.PROVIDER_ROLE_IS_DELEGATED_CAPABILITY, role);\n }\n for (const clientType of declaration.clientOrganizationTypes) {\n const clientDefinition = input.organizationTypes?.[clientType];\n if (!clientDefinition) {\n push(ServiceProviderDeclarationViolationKind.CLIENT_ORGANIZATION_TYPE_UNDECLARED, clientType);\n continue;\n }\n const available = (clientDefinition.availableOrgRoles ?? []).map(String);\n for (const role of declaration.providerRoles) {\n if (!available.includes(role)) push(ServiceProviderDeclarationViolationKind.PROVIDER_ROLE_UNAVAILABLE_IN_CLIENT_TYPE, `${clientType}:${role}`);\n }\n }\n }\n return violations;\n}\n\n/** @wildo_source:part:start saas.models.organizations.service-provider-relationships */\n/**\n * The client's verbs. Kept with the vocabulary, not the resources-config, for the reason recorded on\n * `PlatformAccessGrants_Operations`: authorization and batch code need the names without dragging\n * resource-configuration evaluation into their module graph.\n *\n * No generic CREATE / UPDATE: every field's server authorship IS the control.\n */\nexport enum ServiceProviderRelationships_Operations {\n /** Client ORG_OWNER proposes a relationship to a firm. The proposal is the client's consent. */\n PROPOSE = 'propose',\n /** Client ORG_OWNER accepts a FIRM's proposal (step-up). Never available to the proposing side. */\n ACCEPT = 'accept',\n /** Client ORG_ADMIN refuses a firm's proposal. */\n DECLINE = 'decline',\n SUSPEND = 'suspend',\n RESUME = 'resume',\n TERMINATE = 'terminate',\n /** Client ORG_OWNER changes role, units or term (step-up). The firm cannot widen what the client granted. */\n AMEND_SCOPE = 'amendScope',\n ADMIT_MACHINE_CLIENT = 'admitMachineClient',\n REMOVE_MACHINE_CLIENT = 'removeMachineClient',\n /** ACTIVE → EXPIRED past `endsAt`, dispatched by the credential-expiry sweep only. */\n EXPIRE = 'expire',\n /** Client ORG_OWNER decides whether the firm's own identity provider's MFA counts here (#1633, step-up). */\n SET_PROVIDER_MFA_TRUST = 'setProviderMfaTrust',\n /** Client ORG_ADMIN decides how much the firm's expert-activity feed may say about work here (#1632). */\n SET_ACTIVITY_FEED_DISCLOSURE = 'setActivityFeedDisclosure',\n /** Client ORG_ADMIN changes how the firm's experts are admitted (#1612). Not retroactive. The firm has no such verb. */\n SET_EXPERT_ADMISSION_POLICY = 'setExpertAdmissionPolicy',\n}\n\n/** The firm's verbs, on its own mirror. */\nexport enum ServiceEngagements_Operations {\n /** Firm ORG_ADMIN proposes a relationship to a client organization. */\n PROPOSE = 'propose',\n /** Firm ORG_ADMIN accepts a CLIENT's proposal. */\n ACCEPT = 'accept',\n /** Firm ORG_ADMIN ends the relationship, or withdraws its own pending proposal. */\n WITHDRAW = 'withdraw',\n}\n\nexport enum ServiceEngagementAssignments_Operations {\n /** Firm ORG_ADMIN designates one of its members to serve an ACTIVE engagement. */\n ASSIGN = 'assign',\n /** Ends an ACTIVE assignment, or withdraws one still awaiting the client's approval (#1612). */\n UNASSIGN = 'unassign',\n /**\n * Apply the client's answer to a per-expert approval (#1612) — INTERNAL only, reached through the human-decision\n * answer path after the answerer was authorized there. Approval re-checks everything admission depends on,\n * inside one transaction, before creating the membership.\n */\n SETTLE_CLIENT_APPROVAL = 'settleClientApproval',\n}\n/** @wildo_source:part:end saas.models.organizations.service-provider-relationships */\n\n/**\n * The admission policy a relationship starts with (#1612): the CLIENT's explicit choice when it made one, else the\n * client organization type's declared default, else {@link ServiceProviderExpertAdmissionPolicy.RELATIONSHIP_APPROVES_ASSIGNED_EXPERTS}.\n *\n * The firm's type is never consulted: the choice belongs to the party whose tenant the experts enter.\n */\nexport function resolveServiceProviderExpertAdmissionPolicy(input: {\n readonly organizationTypes: Readonly<Record<string, ServiceProviderOrganizationTypeView>> | undefined;\n readonly clientOrganizationType: string | undefined;\n /** The client's own choice on this request — only ever read from a CLIENT verb. */\n readonly clientChoice?: ServiceProviderExpertAdmissionPolicy;\n}): ServiceProviderExpertAdmissionPolicy {\n if (input.clientChoice) return input.clientChoice;\n const declared = input.clientOrganizationType\n ? input.organizationTypes?.[input.clientOrganizationType]?.acceptsServiceProviders?.defaultExpertAdmissionPolicy\n : undefined;\n return declared ?? ServiceProviderExpertAdmissionPolicy.RELATIONSHIP_APPROVES_ASSIGNED_EXPERTS;\n}\n\n/**\n * Who may answer a per-expert approval (#1612): the CLIENT organization's administrator ROLE — ORG_ADMIN, which an\n * ORG_OWNER holds through the role hierarchy — organization-wide, and never a named person. Derived from the\n * assignment rather than stored beside it, so it cannot drift from the organization the expert would enter.\n *\n * A provider role never reaches ORG_ADMIN (refused at startup), so no firm's expert can answer for the client.\n */\nexport function serviceProviderExpertApprovalRoute(clientOrganizationId: string): HumanDecision_Route {\n return { kind: HumanDecision_RouteKind.ROLE, eligibleRole: CORE_ORG_ROLES.ORG_ADMIN, organizationId: clientOrganizationId };\n}\n\n/**\n * The question a client's administrators are asked about one expert (#1612), in the one decision shape.\n *\n * The title and description are the host's authored account for readers with no screen (a trail, a CLI); an inbox\n * renders its own translated words from the card's subject. Two options: APPROVE proceeds, REJECT ends the waiting\n * assignment. Its lapse is armed on the assignment (#1909) and shown on the card; the request itself carries none.\n */\nexport function serviceProviderExpertApprovalRequest(input: {\n readonly decisionId: string;\n readonly requestedAt: string;\n readonly providerOrganizationName?: string;\n readonly role: string;\n}): HumanDecision_Request {\n const firm = input.providerOrganizationName ?? 'A service firm';\n return {\n decisionId: input.decisionId,\n title: `Admit an expert from ${firm}`,\n description: `${firm} assigned one of its experts to work in your organization with the ${input.role} role. `\n + 'Approving gives them a membership now, if the relationship still allows it; rejecting admits nobody.',\n fields: [],\n options: [\n { ref: ServiceProviderExpertApprovalOption.APPROVE, label: 'Approve', intent: HumanDecision_ResponseIntent.PROCEED_WITH_VALUES },\n { ref: ServiceProviderExpertApprovalOption.REJECT, label: 'Reject', intent: HumanDecision_ResponseIntent.ABORT },\n ],\n requestedAt: input.requestedAt,\n };\n}\n\n/**\n * Everything wrong with a client organization type's `acceptsServiceProviders.expertApprovalDeadlines` (#1909), as\n * sentences naming the fix. Startup refuses a type with any. On top of #1628's checks for a ROLE route:\n *\n * - no `claim` target and no CLAIM-stage rule — this plane offers no claim, so a CLAIM clock could only ever be missed;\n * - no REASSIGN rule — the route is always the client's administrators, never a named person, so it cannot move;\n * - no `pauseStates` — this plane offers no pause, so a declared pause state could never be entered.\n *\n * A declaration asking for something the plane cannot do is refused rather than half-honoured: a setting that looks\n * like a control and does nothing is the defect this check exists to prevent.\n */\nexport function serviceProviderExpertApprovalDeadlinesIssues(\n declaration: ReviewDeadlinesDeclaration | undefined,\n context: { readonly calendarDeclared: boolean },\n): string[] {\n if (!declaration) return [];\n const issues = reviewDeadlinesDeclarationIssues(declaration, { routeKind: HumanDecision_RouteKind.ROLE, calendarDeclared: context.calendarDeclared });\n if (declaration.claim) issues.push('expertApprovalDeadlines.claim is declared, but an expert approval offers no claim, so a CLAIM clock could only be missed. Remove it.');\n for (const rule of declaration.rules ?? []) {\n if (rule.stage === ReviewDeadlineStage.CLAIM_WARNING || rule.stage === ReviewDeadlineStage.CLAIM_MISSED) {\n issues.push(`expertApprovalDeadlines.rules names ${rule.stage}, but an expert approval has no CLAIM clock. Remove the rule.`);\n }\n if (rule.action === ReviewEscalationActionKind.REASSIGN) {\n issues.push(`expertApprovalDeadlines.rules REASSIGNs at ${rule.stage}, but an expert approval is routed to the client's administrators and cannot move. Use NOTIFY.`);\n }\n }\n if ((declaration.pauseStates ?? []).length > 0) issues.push('expertApprovalDeadlines.pauseStates is declared, but an expert approval offers no pause. Remove it.');\n return issues;\n}\n\n/** The clock columns an assignment is armed with at `assign` (#1909). */\nexport interface ServiceProviderExpertApprovalClocks {\n readonly approvalLapseAt: Date;\n readonly approvalDecisionDeadlineAt: Date;\n readonly approvalDecisionWarningAt: Date | null;\n readonly approvalDecisionClockBasis: ReviewClockBasis;\n readonly approvalNextDueAt: Date;\n}\n\n/**\n * Arm a pending approval's clocks at `assign` (#1909), with #1628's model. A type declaring nothing gets the\n * framework's defaults — the same lapse window and DECISION reminder every human decision gets — so a pending\n * approval no longer waits forever; the CLAIM target is never armed on this plane.\n */\nexport function armServiceProviderExpertApprovalClocks(input: {\n readonly requestedAt: Date;\n readonly declaration: ReviewDeadlinesDeclaration | undefined;\n readonly calendar: ReviewCalendar | undefined;\n}): ServiceProviderExpertApprovalClocks {\n const policy = resolveReviewDeadlinePolicy(input.declaration);\n const armed = armReviewDeadlines({ requestedAt: input.requestedAt, policy, calendar: input.calendar });\n const clocks = {\n approvalLapseAt: armed.lapseAt,\n approvalDecisionDeadlineAt: armed.decisionDeadlineAt,\n approvalDecisionWarningAt: armed.decisionWarningAt ?? null,\n approvalDecisionClockBasis: armed.decisionBasis,\n };\n return { ...clocks, approvalNextDueAt: serviceProviderExpertApprovalNextDueAt(clocks) as Date };\n}\n\n/** The part of an assignment row its clocks are read from. */\nexport interface ServiceProviderExpertApprovalClockRow {\n readonly approvalLapseAt?: Date | string | null;\n readonly approvalDecisionDeadlineAt?: Date | string | null;\n readonly approvalDecisionWarningAt?: Date | string | null;\n readonly approvalDecisionWarningFiredAt?: Date | string | null;\n readonly approvalDecisionMissedFiredAt?: Date | string | null;\n}\n\nconst asDate = (value: Date | string | null | undefined): Date | undefined =>\n value === null || value === undefined ? undefined : (value instanceof Date ? value : new Date(value));\n\n/** The row's DECISION stages as #1628's schedule. No CLAIM stage is ever due on this plane. */\nfunction expertApprovalStageSchedule(row: ServiceProviderExpertApprovalClockRow) {\n const warning = asDate(row.approvalDecisionWarningAt);\n const deadline = asDate(row.approvalDecisionDeadlineAt);\n const warningFired = asDate(row.approvalDecisionWarningFiredAt);\n const missedFired = asDate(row.approvalDecisionMissedFiredAt);\n const lapseAt = asDate(row.approvalLapseAt);\n return {\n dueAt: {\n ...(warning ? { [ReviewDeadlineStage.DECISION_WARNING]: warning } : {}),\n ...(deadline ? { [ReviewDeadlineStage.DECISION_MISSED]: deadline } : {}),\n },\n firedAt: {\n ...(warningFired ? { [ReviewDeadlineStage.DECISION_WARNING]: warningFired } : {}),\n ...(missedFired ? { [ReviewDeadlineStage.DECISION_MISSED]: missedFired } : {}),\n },\n claimed: false,\n ...(lapseAt ? { lapseAt } : {}),\n };\n}\n\n/** The DECISION stages due at `now`, in firing order (#1909). */\nexport function dueServiceProviderExpertApprovalStages(row: ServiceProviderExpertApprovalClockRow, now: Date): ReviewDeadlineStage[] {\n return dueReviewDeadlineStages(expertApprovalStageSchedule(row), now);\n}\n\n/**\n * What the row's indexed `approvalNextDueAt` holds: the earliest of any stage still to fire and the lapse. The lapse\n * is included because this plane's one sweep ends the approval too; `null` for a row with no clock.\n */\nexport function serviceProviderExpertApprovalNextDueAt(row: ServiceProviderExpertApprovalClockRow): Date | null {\n const stage = nextReviewDeadlineDueAt(expertApprovalStageSchedule(row));\n const lapseAt = asDate(row.approvalLapseAt);\n const candidates = [stage, lapseAt].filter((instant): instant is Date => !!instant);\n return candidates.length === 0 ? null : new Date(Math.min(...candidates.map((instant) => instant.getTime())));\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { type ApplicationRetentionSchedule } from '../compliance/privacy/retention-schedule.shared.schemas';
|
|
2
3
|
/** @wildo_source:part:start saas.models.config.tenant-teardown facet:layer:shared facet:audience:app-developer */
|
|
3
4
|
/**
|
|
4
5
|
* Tenant teardown — the operator-tunable half of soft-delete + retention window + purge.
|
|
@@ -12,7 +13,8 @@ import { z } from 'zod';
|
|
|
12
13
|
* stops conferring any authority and its data is still entirely intact; an engine-owned batch
|
|
13
14
|
* destroys it later. The three fields here decide how long "later" is, when the batch runs, and how
|
|
14
15
|
* many tenants one run may destroy — so an application that declares nothing still deletes its
|
|
15
|
-
* customers' tenants
|
|
16
|
+
* customers' tenants: after its declared `RESOURCE_DATA` retention period, or thirty days after the
|
|
17
|
+
* mark when it has declared none.
|
|
16
18
|
*
|
|
17
19
|
* ## Why this is its own config block
|
|
18
20
|
*
|
|
@@ -23,20 +25,31 @@ import { z } from 'zod';
|
|
|
23
25
|
* tracking. Tenant teardown has no such opt-in: an application that deletes tenants always has a
|
|
24
26
|
* retention window, so the block is optional only in the sense that its defaults are usually right.
|
|
25
27
|
*
|
|
26
|
-
* ## Why every value
|
|
28
|
+
* ## Why every value resolves without being declared
|
|
27
29
|
*
|
|
28
30
|
* Omitting the block entirely must produce a working, safe configuration — the alternative is an
|
|
29
31
|
* application that ships without a purge schedule and accumulates marked-but-never-destroyed
|
|
30
|
-
* tenants, which is the failure mode a retention window is supposed to prevent.
|
|
32
|
+
* tenants, which is the failure mode a retention window is supposed to prevent. The cadence and the
|
|
33
|
+
* batch bound carry schema defaults; the window resolves from the retention schedule
|
|
34
|
+
* ({@link resolveTenantRetentionWindowDays}), because it IS the customer-data retention period and a
|
|
35
|
+
* second default for it would be a second authority.
|
|
31
36
|
*/
|
|
32
37
|
export declare const TenantTeardownConfigSchema: z.ZodObject<{
|
|
33
|
-
retentionWindowDays: z.
|
|
38
|
+
retentionWindowDays: z.ZodOptional<z.ZodNumber>;
|
|
34
39
|
purgeCronSchedule: z.ZodDefault<z.ZodString>;
|
|
35
40
|
purgeBatchSize: z.ZodDefault<z.ZodNumber>;
|
|
36
41
|
}, z.core.$strip>;
|
|
37
42
|
export type TenantTeardownConfig = z.infer<typeof TenantTeardownConfigSchema>;
|
|
38
|
-
/** Defaults applied when an application declares no `tenantTeardown` block at all. */
|
|
43
|
+
/** Defaults applied when an application declares no `tenantTeardown` block at all. `retentionWindowDays` is absent on purpose — see {@link resolveTenantRetentionWindowDays}. */
|
|
39
44
|
export declare const TENANT_TEARDOWN_CONFIG_DEFAULTS: TenantTeardownConfig;
|
|
45
|
+
/**
|
|
46
|
+
* The tenant retention window when neither `retentionWindowDays` nor a `RESOURCE_DATA` period is
|
|
47
|
+
* declared. 30 days sits inside the band comparable products use (roughly 20–90 days) and inside the
|
|
48
|
+
* one-month period GDPR Art. 12(3) allows for acting on an erasure request, so it does not put an
|
|
49
|
+
* application in breach by itself — but it is a number nobody decided, which is why declaring the
|
|
50
|
+
* `RESOURCE_DATA` class replaces it.
|
|
51
|
+
*/
|
|
52
|
+
export declare const TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS = 30;
|
|
40
53
|
/** @wildo_source:part:end saas.models.config.tenant-teardown */
|
|
41
54
|
/**
|
|
42
55
|
* Resolve the purge deadline for a tenant being marked right now.
|
|
@@ -45,5 +58,22 @@ export declare const TENANT_TEARDOWN_CONFIG_DEFAULTS: TenantTeardownConfig;
|
|
|
45
58
|
* so the window arithmetic has one home. Takes `markedAt` explicitly rather than reading the clock
|
|
46
59
|
* so the caller's transaction timestamp and the deadline cannot disagree.
|
|
47
60
|
*/
|
|
48
|
-
export declare function resolveOrganizationPurgeScheduledAt(markedAt: Date, config: TenantTeardownConfig | undefined): Date;
|
|
61
|
+
export declare function resolveOrganizationPurgeScheduledAt(markedAt: Date, config: TenantTeardownConfig | undefined, schedule?: ApplicationRetentionSchedule): Date;
|
|
62
|
+
/**
|
|
63
|
+
* The window a marked tenant is kept before the purge: the explicit `retentionWindowDays`, else the
|
|
64
|
+
* declared `RESOURCE_DATA` period, else {@link TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS}.
|
|
65
|
+
*
|
|
66
|
+
* The explicit value wins only because startup has already refused it whenever it DISAGREES with a
|
|
67
|
+
* declared `RESOURCE_DATA` period ({@link findTenantRetentionWindowConflict}), so in a running
|
|
68
|
+
* application the first two sources are never two different answers.
|
|
69
|
+
*/
|
|
70
|
+
export declare function resolveTenantRetentionWindowDays(config: TenantTeardownConfig | undefined, schedule: ApplicationRetentionSchedule | undefined): number;
|
|
71
|
+
/**
|
|
72
|
+
* The disagreement startup refuses: an explicit `retentionWindowDays` beside a declared
|
|
73
|
+
* `RESOURCE_DATA` period of a different length. `undefined` when there is none.
|
|
74
|
+
*/
|
|
75
|
+
export declare function findTenantRetentionWindowConflict(config: TenantTeardownConfig | undefined, schedule: ApplicationRetentionSchedule | undefined): {
|
|
76
|
+
readonly retentionWindowDays: number;
|
|
77
|
+
readonly resourceDataRetentionDays: number;
|
|
78
|
+
} | undefined;
|
|
49
79
|
//# sourceMappingURL=tenant-teardown-config.shared.schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-teardown-config.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/organizations/tenant-teardown-config.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kHAAkH;AAClH
|
|
1
|
+
{"version":3,"file":"tenant-teardown-config.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/organizations/tenant-teardown-config.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAsB,KAAK,4BAA4B,EAAE,MAAM,yDAAyD,CAAC;AAEhI,kHAAkH;AAClH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,0BAA0B;;;;iBAsCrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,iLAAiL;AACjL,eAAO,MAAM,+BAA+B,EAAE,oBAA2D,CAAC;AAE1G;;;;;;GAMG;AACH,eAAO,MAAM,6CAA6C,KAAK,CAAC;AAChE,gEAAgE;AAEhE;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,QAAQ,CAAC,EAAE,4BAA4B,GACtC,IAAI,CAGN;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,QAAQ,EAAE,4BAA4B,GAAG,SAAS,GACjD,MAAM,CAIR;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,QAAQ,EAAE,4BAA4B,GAAG,SAAS,GACjD;IAAE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAKlG"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { DataRetentionClass } from '../compliance/privacy/retention-schedule.shared.schemas.js';
|
|
2
3
|
/** @wildo_source:part:start saas.models.config.tenant-teardown facet:layer:shared facet:audience:app-developer */
|
|
3
4
|
/**
|
|
4
5
|
* Tenant teardown — the operator-tunable half of soft-delete + retention window + purge.
|
|
@@ -12,7 +13,8 @@ import { z } from 'zod';
|
|
|
12
13
|
* stops conferring any authority and its data is still entirely intact; an engine-owned batch
|
|
13
14
|
* destroys it later. The three fields here decide how long "later" is, when the batch runs, and how
|
|
14
15
|
* many tenants one run may destroy — so an application that declares nothing still deletes its
|
|
15
|
-
* customers' tenants
|
|
16
|
+
* customers' tenants: after its declared `RESOURCE_DATA` retention period, or thirty days after the
|
|
17
|
+
* mark when it has declared none.
|
|
16
18
|
*
|
|
17
19
|
* ## Why this is its own config block
|
|
18
20
|
*
|
|
@@ -23,28 +25,35 @@ import { z } from 'zod';
|
|
|
23
25
|
* tracking. Tenant teardown has no such opt-in: an application that deletes tenants always has a
|
|
24
26
|
* retention window, so the block is optional only in the sense that its defaults are usually right.
|
|
25
27
|
*
|
|
26
|
-
* ## Why every value
|
|
28
|
+
* ## Why every value resolves without being declared
|
|
27
29
|
*
|
|
28
30
|
* Omitting the block entirely must produce a working, safe configuration — the alternative is an
|
|
29
31
|
* application that ships without a purge schedule and accumulates marked-but-never-destroyed
|
|
30
|
-
* tenants, which is the failure mode a retention window is supposed to prevent.
|
|
32
|
+
* tenants, which is the failure mode a retention window is supposed to prevent. The cadence and the
|
|
33
|
+
* batch bound carry schema defaults; the window resolves from the retention schedule
|
|
34
|
+
* ({@link resolveTenantRetentionWindowDays}), because it IS the customer-data retention period and a
|
|
35
|
+
* second default for it would be a second authority.
|
|
31
36
|
*/
|
|
32
37
|
export const TenantTeardownConfigSchema = z.object({
|
|
33
38
|
/**
|
|
34
39
|
* How long a marked tenant stays restorable before the purge batch may destroy it.
|
|
35
40
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* is
|
|
41
|
+
* **Single-sourced to the retention schedule (#1613).** Leave it unset and the window is the
|
|
42
|
+
* application's declared `dataRetention[RESOURCE_DATA].retentionDays` — the period its privacy
|
|
43
|
+
* notice already states for customer data after the account closes. Set it only when that class is
|
|
44
|
+
* undeclared; setting it to a DIFFERENT value than the declared class is refused at startup, because
|
|
45
|
+
* two settings claiming one period is how they drift. With neither declared the window is
|
|
46
|
+
* {@link TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS}, a default nobody decided, and the
|
|
47
|
+
* undeclared class is reported.
|
|
41
48
|
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
49
|
+
* The window is a commitment, not a scheduling hint: the value is read ONCE, when the tenant is
|
|
50
|
+
* marked, and pinned onto `Organization.purgeScheduledAt`. Lowering it therefore affects only
|
|
51
|
+
* tenants marked afterwards — tenants already inside a window keep the deadline they were promised.
|
|
52
|
+
* See `Organization.purgeScheduledAt` for why the deadline is stored rather than recomputed.
|
|
53
|
+
*
|
|
54
|
+
* Not legal advice: an application with its own retention obligations must decide this deliberately.
|
|
46
55
|
*/
|
|
47
|
-
retentionWindowDays: z.number().int().positive().
|
|
56
|
+
retentionWindowDays: z.number().int().positive().optional(),
|
|
48
57
|
/**
|
|
49
58
|
* Cron schedule for the engine-owned `organization-purge` batch. Default 03:00 daily.
|
|
50
59
|
*
|
|
@@ -62,8 +71,16 @@ export const TenantTeardownConfigSchema = z.object({
|
|
|
62
71
|
*/
|
|
63
72
|
purgeBatchSize: z.number().int().positive().default(50),
|
|
64
73
|
});
|
|
65
|
-
/** Defaults applied when an application declares no `tenantTeardown` block at all. */
|
|
74
|
+
/** Defaults applied when an application declares no `tenantTeardown` block at all. `retentionWindowDays` is absent on purpose — see {@link resolveTenantRetentionWindowDays}. */
|
|
66
75
|
export const TENANT_TEARDOWN_CONFIG_DEFAULTS = TenantTeardownConfigSchema.parse({});
|
|
76
|
+
/**
|
|
77
|
+
* The tenant retention window when neither `retentionWindowDays` nor a `RESOURCE_DATA` period is
|
|
78
|
+
* declared. 30 days sits inside the band comparable products use (roughly 20–90 days) and inside the
|
|
79
|
+
* one-month period GDPR Art. 12(3) allows for acting on an erasure request, so it does not put an
|
|
80
|
+
* application in breach by itself — but it is a number nobody decided, which is why declaring the
|
|
81
|
+
* `RESOURCE_DATA` class replaces it.
|
|
82
|
+
*/
|
|
83
|
+
export const TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS = 30;
|
|
67
84
|
/** @wildo_source:part:end saas.models.config.tenant-teardown */
|
|
68
85
|
/**
|
|
69
86
|
* Resolve the purge deadline for a tenant being marked right now.
|
|
@@ -72,8 +89,32 @@ export const TENANT_TEARDOWN_CONFIG_DEFAULTS = TenantTeardownConfigSchema.parse(
|
|
|
72
89
|
* so the window arithmetic has one home. Takes `markedAt` explicitly rather than reading the clock
|
|
73
90
|
* so the caller's transaction timestamp and the deadline cannot disagree.
|
|
74
91
|
*/
|
|
75
|
-
export function resolveOrganizationPurgeScheduledAt(markedAt, config) {
|
|
76
|
-
const retentionWindowDays = config
|
|
92
|
+
export function resolveOrganizationPurgeScheduledAt(markedAt, config, schedule) {
|
|
93
|
+
const retentionWindowDays = resolveTenantRetentionWindowDays(config, schedule);
|
|
77
94
|
return new Date(markedAt.getTime() + retentionWindowDays * 24 * 60 * 60 * 1000);
|
|
78
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* The window a marked tenant is kept before the purge: the explicit `retentionWindowDays`, else the
|
|
98
|
+
* declared `RESOURCE_DATA` period, else {@link TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS}.
|
|
99
|
+
*
|
|
100
|
+
* The explicit value wins only because startup has already refused it whenever it DISAGREES with a
|
|
101
|
+
* declared `RESOURCE_DATA` period ({@link findTenantRetentionWindowConflict}), so in a running
|
|
102
|
+
* application the first two sources are never two different answers.
|
|
103
|
+
*/
|
|
104
|
+
export function resolveTenantRetentionWindowDays(config, schedule) {
|
|
105
|
+
return config?.retentionWindowDays
|
|
106
|
+
?? schedule?.[DataRetentionClass.RESOURCE_DATA]?.retentionDays
|
|
107
|
+
?? TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The disagreement startup refuses: an explicit `retentionWindowDays` beside a declared
|
|
111
|
+
* `RESOURCE_DATA` period of a different length. `undefined` when there is none.
|
|
112
|
+
*/
|
|
113
|
+
export function findTenantRetentionWindowConflict(config, schedule) {
|
|
114
|
+
const retentionWindowDays = config?.retentionWindowDays;
|
|
115
|
+
const resourceDataRetentionDays = schedule?.[DataRetentionClass.RESOURCE_DATA]?.retentionDays;
|
|
116
|
+
if (retentionWindowDays === undefined || resourceDataRetentionDays === undefined)
|
|
117
|
+
return undefined;
|
|
118
|
+
return retentionWindowDays === resourceDataRetentionDays ? undefined : { retentionWindowDays, resourceDataRetentionDays };
|
|
119
|
+
}
|
|
79
120
|
//# sourceMappingURL=tenant-teardown-config.shared.schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-teardown-config.shared.schemas.js","sourceRoot":"","sources":["../../../../src/organizations/tenant-teardown-config.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kHAAkH;AAClH
|
|
1
|
+
{"version":3,"file":"tenant-teardown-config.shared.schemas.js","sourceRoot":"","sources":["../../../../src/organizations/tenant-teardown-config.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAqC,MAAM,yDAAyD,CAAC;AAEhI,kHAAkH;AAClH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD;;;;;;;;;;;;;;;;;OAiBG;IACH,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAE3D;;;;;OAKG;IACH,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAElD;;;;;;;OAOG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACxD,CAAC,CAAC;AAIH,iLAAiL;AACjL,MAAM,CAAC,MAAM,+BAA+B,GAAyB,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAE1G;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAG,EAAE,CAAC;AAChE,gEAAgE;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC,CACjD,QAAc,EACd,MAAwC,EACxC,QAAuC;IAEvC,MAAM,mBAAmB,GAAG,gCAAgC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/E,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAC9C,MAAwC,EACxC,QAAkD;IAElD,OAAO,MAAM,EAAE,mBAAmB;WAC7B,QAAQ,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,aAAa;WAC3D,6CAA6C,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAwC,EACxC,QAAkD;IAElD,MAAM,mBAAmB,GAAG,MAAM,EAAE,mBAAmB,CAAC;IACxD,MAAM,yBAAyB,GAAG,QAAQ,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9F,IAAI,mBAAmB,KAAK,SAAS,IAAI,yBAAyB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACnG,OAAO,mBAAmB,KAAK,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,CAAC;AAC5H,CAAC","sourcesContent":["import { z } from 'zod';\n\nimport { DataRetentionClass, type ApplicationRetentionSchedule } from '../compliance/privacy/retention-schedule.shared.schemas';\n\n/** @wildo_source:part:start saas.models.config.tenant-teardown facet:layer:shared facet:audience:app-developer */\n/**\n * Tenant teardown — the operator-tunable half of soft-delete + retention window + purge.\n *\n * Declared as the optional `tenantTeardown` block of your application's backend-authored\n * configuration (`backend-api/src/saas-config.backend.ts`), beside `lifecycle` and `compliance`.\n *\n * ## What it governs, and why you cannot ignore it by omitting it\n *\n * Deleting a tenant is TWO acts. Requesting deletion MARKS the organization, at which point it\n * stops conferring any authority and its data is still entirely intact; an engine-owned batch\n * destroys it later. The three fields here decide how long \"later\" is, when the batch runs, and how\n * many tenants one run may destroy — so an application that declares nothing still deletes its\n * customers' tenants: after its declared `RESOURCE_DATA` retention period, or thirty days after the\n * mark when it has declared none.\n *\n * ## Why this is its own config block\n *\n * `LifecycleConfigSchema` already exists and is about the USER lifecycle (activation, engagement,\n * dormancy detection). Folding tenant teardown into it would merge two unrelated concerns behind\n * one master switch — and that switch defaults to `enabled: false`, which would make an\n * organization's retention window silently depend on whether the app opted into user-engagement\n * tracking. Tenant teardown has no such opt-in: an application that deletes tenants always has a\n * retention window, so the block is optional only in the sense that its defaults are usually right.\n *\n * ## Why every value resolves without being declared\n *\n * Omitting the block entirely must produce a working, safe configuration — the alternative is an\n * application that ships without a purge schedule and accumulates marked-but-never-destroyed\n * tenants, which is the failure mode a retention window is supposed to prevent. The cadence and the\n * batch bound carry schema defaults; the window resolves from the retention schedule\n * ({@link resolveTenantRetentionWindowDays}), because it IS the customer-data retention period and a\n * second default for it would be a second authority.\n */\nexport const TenantTeardownConfigSchema = z.object({\n /**\n * How long a marked tenant stays restorable before the purge batch may destroy it.\n *\n * **Single-sourced to the retention schedule (#1613).** Leave it unset and the window is the\n * application's declared `dataRetention[RESOURCE_DATA].retentionDays` — the period its privacy\n * notice already states for customer data after the account closes. Set it only when that class is\n * undeclared; setting it to a DIFFERENT value than the declared class is refused at startup, because\n * two settings claiming one period is how they drift. With neither declared the window is\n * {@link TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS}, a default nobody decided, and the\n * undeclared class is reported.\n *\n * The window is a commitment, not a scheduling hint: the value is read ONCE, when the tenant is\n * marked, and pinned onto `Organization.purgeScheduledAt`. Lowering it therefore affects only\n * tenants marked afterwards — tenants already inside a window keep the deadline they were promised.\n * See `Organization.purgeScheduledAt` for why the deadline is stored rather than recomputed.\n *\n * Not legal advice: an application with its own retention obligations must decide this deliberately.\n */\n retentionWindowDays: z.number().int().positive().optional(),\n\n /**\n * Cron schedule for the engine-owned `organization-purge` batch. Default 03:00 daily.\n *\n * Daily rather than hourly on purpose: the window is measured in days, so a finer cadence buys\n * no promptness that anyone can observe and only multiplies the scans.\n */\n purgeCronSchedule: z.string().default('0 3 * * *'),\n\n /**\n * Maximum tenants destroyed per purge run.\n *\n * A purge cascades across every child resource of a tenant, so an unbounded run after a mass\n * offboarding could hold database resources for a long time. Anything not reached this run is\n * reached by the next one — the deadline has passed, so there is no correctness cost to\n * spreading the work, and a bounded run keeps one bad batch from becoming an outage.\n */\n purgeBatchSize: z.number().int().positive().default(50),\n});\n\nexport type TenantTeardownConfig = z.infer<typeof TenantTeardownConfigSchema>;\n\n/** Defaults applied when an application declares no `tenantTeardown` block at all. `retentionWindowDays` is absent on purpose — see {@link resolveTenantRetentionWindowDays}. */\nexport const TENANT_TEARDOWN_CONFIG_DEFAULTS: TenantTeardownConfig = TenantTeardownConfigSchema.parse({});\n\n/**\n * The tenant retention window when neither `retentionWindowDays` nor a `RESOURCE_DATA` period is\n * declared. 30 days sits inside the band comparable products use (roughly 20–90 days) and inside the\n * one-month period GDPR Art. 12(3) allows for acting on an erasure request, so it does not put an\n * application in breach by itself — but it is a number nobody decided, which is why declaring the\n * `RESOURCE_DATA` class replaces it.\n */\nexport const TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS = 30;\n/** @wildo_source:part:end saas.models.config.tenant-teardown */\n\n/**\n * Resolve the purge deadline for a tenant being marked right now.\n *\n * Shared by the lifecycle operation that writes `purgeScheduledAt` and by the tests that pin it,\n * so the window arithmetic has one home. Takes `markedAt` explicitly rather than reading the clock\n * so the caller's transaction timestamp and the deadline cannot disagree.\n */\nexport function resolveOrganizationPurgeScheduledAt(\n markedAt: Date,\n config: TenantTeardownConfig | undefined,\n schedule?: ApplicationRetentionSchedule,\n): Date {\n const retentionWindowDays = resolveTenantRetentionWindowDays(config, schedule);\n return new Date(markedAt.getTime() + retentionWindowDays * 24 * 60 * 60 * 1000);\n}\n\n/**\n * The window a marked tenant is kept before the purge: the explicit `retentionWindowDays`, else the\n * declared `RESOURCE_DATA` period, else {@link TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS}.\n *\n * The explicit value wins only because startup has already refused it whenever it DISAGREES with a\n * declared `RESOURCE_DATA` period ({@link findTenantRetentionWindowConflict}), so in a running\n * application the first two sources are never two different answers.\n */\nexport function resolveTenantRetentionWindowDays(\n config: TenantTeardownConfig | undefined,\n schedule: ApplicationRetentionSchedule | undefined,\n): number {\n return config?.retentionWindowDays\n ?? schedule?.[DataRetentionClass.RESOURCE_DATA]?.retentionDays\n ?? TENANT_TEARDOWN_DEFAULT_RETENTION_WINDOW_DAYS;\n}\n\n/**\n * The disagreement startup refuses: an explicit `retentionWindowDays` beside a declared\n * `RESOURCE_DATA` period of a different length. `undefined` when there is none.\n */\nexport function findTenantRetentionWindowConflict(\n config: TenantTeardownConfig | undefined,\n schedule: ApplicationRetentionSchedule | undefined,\n): { readonly retentionWindowDays: number; readonly resourceDataRetentionDays: number } | undefined {\n const retentionWindowDays = config?.retentionWindowDays;\n const resourceDataRetentionDays = schedule?.[DataRetentionClass.RESOURCE_DATA]?.retentionDays;\n if (retentionWindowDays === undefined || resourceDataRetentionDays === undefined) return undefined;\n return retentionWindowDays === resourceDataRetentionDays ? undefined : { retentionWindowDays, resourceDataRetentionDays };\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./external-providers/provider-capability.shared.schemas";
|
|
2
2
|
export * from "./external-providers/provider-metadata.shared.schemas";
|
|
3
|
-
export * from './external-providers/provider-usage-pricing.shared.schemas';
|
|
4
3
|
export * from './external-providers/provider-authentication-assurance.shared.schemas';
|
|
5
4
|
//# sourceMappingURL=provider-registration-runtime.exports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-registration-runtime.exports.d.ts","sourceRoot":"","sources":["../../../src/provider-registration-runtime.exports.ts"],"names":[],"mappings":"AAAA,cAAc,yDAAyD,CAAC;AACxE,cAAc,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-registration-runtime.exports.d.ts","sourceRoot":"","sources":["../../../src/provider-registration-runtime.exports.ts"],"names":[],"mappings":"AAAA,cAAc,yDAAyD,CAAC;AACxE,cAAc,uDAAuD,CAAC;AAEtE,cAAc,uEAAuE,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./external-providers/provider-capability.shared.schemas.js";
|
|
2
2
|
export * from "./external-providers/provider-metadata.shared.schemas.js";
|
|
3
|
-
export * from './external-providers/provider-usage-pricing.shared.schemas.js';
|
|
4
3
|
export * from './external-providers/provider-authentication-assurance.shared.schemas.js';
|
|
5
4
|
//# sourceMappingURL=provider-registration-runtime.exports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-registration-runtime.exports.js","sourceRoot":"","sources":["../../../src/provider-registration-runtime.exports.ts"],"names":[],"mappings":"AAAA,cAAc,yDAAyD,CAAC;AACxE,cAAc,uDAAuD,CAAC;
|
|
1
|
+
{"version":3,"file":"provider-registration-runtime.exports.js","sourceRoot":"","sources":["../../../src/provider-registration-runtime.exports.ts"],"names":[],"mappings":"AAAA,cAAc,yDAAyD,CAAC;AACxE,cAAc,uDAAuD,CAAC;AAEtE,cAAc,uEAAuE,CAAC","sourcesContent":["export * from \"./external-providers/provider-capability.shared.schemas\";\nexport * from \"./external-providers/provider-metadata.shared.schemas\";\n\nexport * from './external-providers/provider-authentication-assurance.shared.schemas';\n"]}
|
|
@@ -95,7 +95,17 @@ export { CrossFrontendHandoffErrorCode, CrossFrontendHandoffRequestSchema, Cross
|
|
|
95
95
|
* across four hand-written copies. The source atom is import-free, so it adds nothing to the budget.
|
|
96
96
|
*/
|
|
97
97
|
export { isSameOriginRedirectPath } from '../security/authentications/same-origin-redirect-path.shared';
|
|
98
|
+
/**
|
|
99
|
+
* The caught-value describers, for code that must stay light.
|
|
100
|
+
*
|
|
101
|
+
* The backend provider loader is held to a measured module graph and imports only light doors; the
|
|
102
|
+
* package root would take its import-time graph from 136 modules to 624 for one function (#1591). The
|
|
103
|
+
* source atom imports nothing at runtime, so it adds nothing to the budget.
|
|
104
|
+
*/
|
|
105
|
+
export { describeCaughtError, describeCaughtErrorWithKind, } from '../errors/caught-error-description.shared.utils';
|
|
98
106
|
export { WildoHeaderKeys } from '../requests/header-keys.shared';
|
|
107
|
+
/** The public submission challenge (#1735): answers a browser form encodes and solves. Imports nothing. */
|
|
108
|
+
export { ProofOfWorkAlgorithm, SUBMISSION_CHALLENGE_PROOF_OF_WORK_PATH, SUBMISSION_CHALLENGE_ACTION_PATTERN, SUBMISSION_CHALLENGE_RESPONSE_MAX_LENGTH, SubmissionChallengeAction, SubmissionChallengeRefusalCode, SubmissionChallengeResponseKind, encodeSubmissionChallengeResponse, hashProofOfWorkCandidate, isSubmissionChallengeActionName, solveProofOfWorkChallenge, type ProofOfWorkChallenge, type ResourceOperationSubmissionChallenge, type SubmissionChallengeResponse, } from '../security/submission-challenge/submission-challenge.shared';
|
|
99
109
|
/**
|
|
100
110
|
* Main API mount prefix (`/api/v1`) — the SINGLE SOURCE OF TRUTH for the path
|
|
101
111
|
* under which the entire main controllers registry is served. Exposed on the
|
|
@@ -106,18 +116,25 @@ export { WildoHeaderKeys } from '../requests/header-keys.shared';
|
|
|
106
116
|
* symbol is what prevents the prefix-drift class — a mismatched prefix
|
|
107
117
|
* silently breaks auth (see the refresh-cookie `Path` regression that
|
|
108
118
|
* motivated the shared symbol). The source atom
|
|
109
|
-
* (`../requests/manual-controllers-routes-urls`)
|
|
110
|
-
* nothing to the
|
|
119
|
+
* (`../requests/manual-controllers-routes-urls`) imports only the import-free
|
|
120
|
+
* submission-challenge atom (itself on this seam), so it adds nothing to the
|
|
121
|
+
* decorator-free bundle budget.
|
|
111
122
|
*/
|
|
112
123
|
export { MAIN_API_BASE_PATH } from '../requests/manual-controllers-routes-urls';
|
|
113
124
|
/**
|
|
114
|
-
* A caught value as one readable line, for a bundle-isolated package (`saas-website`)
|
|
115
|
-
* `describeCaughtError`
|
|
116
|
-
*
|
|
117
|
-
* rendering, two doors (#1518's "[object Object]" fix, reachable from the browser-safe seam).
|
|
125
|
+
* A caught value as one readable line, for a bundle-isolated package (`saas-website`) — the rendering
|
|
126
|
+
* `describeCaughtError` (above) delegates to for every value that is not the engine's own error. Both
|
|
127
|
+
* atoms are import-free; one rendering, two doors (#1518's "[object Object]" fix, #1591).
|
|
118
128
|
*/
|
|
119
129
|
export { describeThrownValue } from '../errors/thrown-value-description.shared.utils';
|
|
120
130
|
export { AppFrontendType } from '../config/app-frontend-type.shared.schemas';
|
|
131
|
+
/**
|
|
132
|
+
* The public pricing catalogue (#1835): the plain, JSON-safe shape a website pricing island reads, with
|
|
133
|
+
* the two pricing-surface vocabularies it needs. The source atom is import-free; the derivation from the
|
|
134
|
+
* billing catalogue (`derivePublicPricingCatalog`) stays on the root barrel, where `ProductType` and
|
|
135
|
+
* `BillingInterval` live.
|
|
136
|
+
*/
|
|
137
|
+
export { ProductPriceDisclosure, ProductAvailability, PublicPricingRecurrenceUnit, PublicPricingAmountBasis, publicPricingAmountDecimal, type PublicPricingPrice, type PublicPricingPlan, type PublicPricingCatalog, } from '../billing/public-pricing-catalog.shared.atoms';
|
|
121
138
|
/**
|
|
122
139
|
* Canonical Zod-issue rendering. Browser-bound runtimes validate untrusted
|
|
123
140
|
* input too — MDX frontmatter at build time, API responses at runtime — and
|
|
@@ -149,9 +166,11 @@ export { buildProviderDisplayNameLabelKey, defineProviderMetadata, ENGINE_PROVID
|
|
|
149
166
|
* `ProviderDeploymentModel` is exported as a VALUE, not merely a type: a provider module writes
|
|
150
167
|
* `ProviderDeploymentModel.VENDOR_HOSTED` in its own declaration, so the enum enters the frontend
|
|
151
168
|
* facets' module graph. It is a closed enum over two string members with no Zod decorators and no
|
|
152
|
-
* side effects, which is the same bar the tier rule below is exported under.
|
|
169
|
+
* side effects, which is the same bar the tier rule below is exported under. `ProviderComplianceDetermination` and
|
|
170
|
+
* `ProviderComplianceFact` (#1708) meet the same bar: a browser facet writes an UNDETERMINED profile, or cites the
|
|
171
|
+
* facts its evidence establishes, with their members.
|
|
153
172
|
*/
|
|
154
|
-
export { ProviderDeploymentModel, ProviderComplianceProfileSchema, type ProviderComplianceProfile, } from '../external-providers/provider-compliance-profile.shared.schemas';
|
|
173
|
+
export { ProviderDeploymentModel, ProviderComplianceDetermination, ProviderComplianceFact, ProviderComplianceProfileSchema, establishedProviderComplianceProfile, type EstablishedProviderComplianceProfile, type ProviderComplianceProfile, } from '../external-providers/provider-compliance-profile.shared.schemas';
|
|
155
174
|
/**
|
|
156
175
|
* Consent purposes (#534) — the set a person grants, read by the visitor-tier `WebsiteConsentGate` in
|
|
157
176
|
* the browser bundle and stored by the application. Carved into an import-free atom
|
|
@@ -186,7 +205,7 @@ export { FileStorageAccepted, FrontendProviderEntrySchema, FrontendProvidersBloc
|
|
|
186
205
|
* executable half lives on the facet module types in
|
|
187
206
|
* `@wildo-ai/external-connectors-public` and never crosses this seam.
|
|
188
207
|
*/
|
|
189
|
-
export { normalizeProviderFrontendCspFootprint, ProviderFrontendComponentDescriptorSchema, ProviderFrontendComponentDescriptorsSchema, ProviderFrontendCspDerivedOriginSchema, ProviderFrontendCspFootprintSchema, ProviderFrontendCspOriginBucket, ProviderFrontendScriptCrossOrigin, ProviderFrontendScriptDeclarationSchema, ProviderFrontendSdkDescriptorSchema, ProviderFrontendSelectionDelivery, type ProviderFrontendComponentDescriptor, type ProviderFrontendComponentDescriptors, type ProviderFrontendCspDerivedOrigin, type ProviderFrontendCspFootprint, type ProviderFrontendCspFootprintDeclaration, type ProviderFrontendScriptDeclaration, type ProviderFrontendSdkDescriptor, } from '../external-providers/provider-frontend-surface.shared.schemas';
|
|
208
|
+
export { normalizeProviderFrontendCspFootprint, PROVIDER_FRONTEND_CSP_ORIGIN_BUCKETS, ProviderAddressLookupDeclarationSchema, ProviderAddressLookupPlaceIdRetention, ProviderFrontendComponentDescriptorSchema, ProviderFrontendComponentDescriptorsSchema, ProviderFrontendCspDerivedOriginSchema, ProviderFrontendCspFootprintSchema, ProviderFrontendCspOriginBucket, ProviderFrontendScriptCrossOrigin, ProviderFrontendScriptDeclarationSchema, ProviderFrontendSdkDescriptorSchema, ProviderFrontendSelectionDelivery, type ProviderAddressLookupDeclaration, type ProviderFrontendComponentDescriptor, type ProviderFrontendComponentDescriptors, type ProviderFrontendCspDerivedOrigin, type ProviderFrontendCspFootprint, type ProviderFrontendCspFootprintDeclaration, type ProviderFrontendScriptDeclaration, type ProviderFrontendSdkDescriptor, } from '../external-providers/provider-frontend-surface.shared.schemas';
|
|
190
209
|
/**
|
|
191
210
|
* The contract between a provider's frontend COMPONENT and the surface that
|
|
192
211
|
* mounts it (#394). Types only — no schema, no runtime value — and it lives in
|
|
@@ -200,7 +219,7 @@ export type { ProviderFilePickerConstraints, ProviderFilePickerProps, ProviderFi
|
|
|
200
219
|
* dependency-free schema helper the engine's own provider modules declare their
|
|
201
220
|
* keys with (#394 P3). Browser-safe: pure functions and one enum, no Zod.
|
|
202
221
|
*/
|
|
203
|
-
export { defineFrontendPublicConfigSchema, FRONTEND_PROVIDER_PUBLIC_CONFIG_KEY, FrontendProviderPublicConfigError, FrontendProviderPublicConfigRefusal, FrontendPublicConfigValueKind, overlayFrontendProviderPublicConfig, readDeclaredPublicConfigKeys, type FrontendPublicConfigKeySpec, type FrontendPublicConfigSchema, type OverlayFrontendProviderPublicConfigInput, } from '../external-providers/frontend-provider-public-config.shared';
|
|
222
|
+
export { defineFrontendPublicConfigSchema, FRONTEND_PROVIDER_PUBLIC_CONFIG_KEY, FrontendProviderPublicConfigError, FrontendProviderPublicConfigRefusal, FrontendPublicConfigValueKind, FRONTEND_PUBLIC_CONFIG_SECRET_CONTAINMENT_MIN_LENGTH, assertFrontendProvidersServeOnlyDeclaredKeys, assertNoSecretValueInFrontendProviders, findSecretValuesInFrontendProviders, overlayFrontendProviderPublicConfig, readDeclaredPublicConfigKeys, type FrontendPublicConfigKeySpec, type FrontendPublicConfigSchema, type FrontendPublicConfigSecretMatch, type FrontendPublicConfigSecretValue, type OverlayFrontendProviderPublicConfigInput, } from '../external-providers/frontend-provider-public-config.shared';
|
|
204
223
|
/**
|
|
205
224
|
* The public-config shape a built-in frontend capability expects (#380). Named
|
|
206
225
|
* rather than conventional: the keys were previously read by hand at each use
|
|
@@ -214,7 +233,7 @@ export { admissibleFrontendPublicConfigKeys, FRONTEND_CAPABILITY_PUBLIC_CONFIG_S
|
|
|
214
233
|
* so the capability declares the method and the provider adapts to it. Pure types
|
|
215
234
|
* plus one guard; no Zod, no decorators.
|
|
216
235
|
*/
|
|
217
|
-
export { isFrontendErrorMonitoringSink, type FrontendCrashReport, type FrontendErrorMonitoringSink, } from '../external-providers/frontend-capability-runtime.shared.types';
|
|
236
|
+
export { isFrontendErrorMonitoringSink, isFrontendProductAnalyticsSink, isFrontendCaptchaSink, type FrontendCaptchaSink, type FrontendCrashReport, type FrontendErrorMonitoringSink, type FrontendProductAnalyticsEvent, type FrontendProductAnalyticsSink, } from '../external-providers/frontend-capability-runtime.shared.types';
|
|
218
237
|
/**
|
|
219
238
|
* Provider capability atoms (provider-registration-refactor §Phase 0.2
|
|
220
239
|
* + §Phase 1.g). Closed built-in enum + open declaration-merging seam
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/public-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AAEH,OAAO,EACH,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC7B,MAAM,uEAAuE,CAAC;AAE/E;;;;;;;;GAQG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAExG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/public-runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AAEH,OAAO,EACH,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC7B,MAAM,uEAAuE,CAAC;AAE/E;;;;;;;;GAQG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8DAA8D,CAAC;AAExG;;;;;;GAMG;AACH,OAAO,EACH,mBAAmB,EACnB,2BAA2B,GAC9B,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,2GAA2G;AAC3G,OAAO,EACL,oBAAoB,EACpB,uCAAuC,EACvC,mCAAmC,EACnC,wCAAwC,EACxC,yBAAyB,EACzB,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EACjC,wBAAwB,EACxB,+BAA+B,EAC/B,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,oCAAoC,EACzC,KAAK,2BAA2B,GACjC,MAAM,8DAA8D,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E;;;;;GAKG;AACH,OAAO,EACH,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC5B,MAAM,gDAAgD,CAAC;AAExD;;;;;;GAMG;AACH,OAAO,EACH,cAAc,EACd,8BAA8B,EAC9B,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,GACjC,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACH,iBAAiB,EACjB,aAAa,GAChB,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;GASG;AACH,OAAO,EACH,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,iCAAiC,EACjC,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACtB,MAAM,wDAAwD,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACH,uBAAuB,EACvB,+BAA+B,EAC/B,sBAAsB,EACtB,+BAA+B,EAC/B,oCAAoC,EACpC,KAAK,oCAAoC,EACzC,KAAK,yBAAyB,GACjC,MAAM,kEAAkE,CAAC;AAE1E;;;;;GAKG;AACH,OAAO,EACH,+BAA+B,EAC/B,6BAA6B,EAC7B,+BAA+B,EAC/B,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,mCAAmC,GACtC,MAAM,+CAA+C,CAAC;AAEvD;;;;;GAKG;AACH,OAAO,EACH,2BAA2B,EAC3B,8BAA8B,EAC9B,0BAA0B,EAC1B,KAAK,uBAAuB,GAC/B,MAAM,uDAAuD,CAAC;AAE/D;;;;;;;GAOG;AACH,OAAO,EACH,mBAAmB,EACnB,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,GAC9B,MAAM,8DAA8D,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,OAAO,EACH,qCAAqC,EACrC,oCAAoC,EACpC,sCAAsC,EACtC,qCAAqC,EACrC,yCAAyC,EACzC,0CAA0C,EAC1C,sCAAsC,EACtC,kCAAkC,EAClC,+BAA+B,EAC/B,iCAAiC,EACjC,uCAAuC,EACvC,mCAAmC,EACnC,iCAAiC,EACjC,KAAK,gCAAgC,EACrC,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EACzC,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,EACjC,KAAK,uCAAuC,EAC5C,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,GACrC,MAAM,gEAAgE,CAAC;AAExE;;;;;;GAMG;AACH,YAAY,EACR,6BAA6B,EAC7B,uBAAuB,EACvB,qBAAqB,GACxB,MAAM,yEAAyE,CAAC;AAEjF;;;;GAIG;AACH,OAAO,EACH,gCAAgC,EAChC,mCAAmC,EACnC,iCAAiC,EACjC,mCAAmC,EACnC,6BAA6B,EAC7B,oDAAoD,EACpD,4CAA4C,EAC5C,sCAAsC,EACtC,mCAAmC,EACnC,mCAAmC,EACnC,4BAA4B,EAC5B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,wCAAwC,GAChD,MAAM,8DAA8D,CAAC;AAEtE;;;;GAIG;AACH,OAAO,EACH,kCAAkC,EAClC,yCAAyC,EACzC,oCAAoC,EACpC,kCAAkC,EAClC,kCAAkC,EAClC,uCAAuC,EACvC,KAAK,8BAA8B,GACtC,MAAM,wEAAwE,CAAC;AAEhF;;;;;;GAMG;AACH,OAAO,EACH,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,GACpC,MAAM,gEAAgE,CAAC;AAExE;;;;;;GAMG;AACH,OAAO,EACH,2BAA2B,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GAC1B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EACH,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACxB,MAAM,wDAAwD,CAAC;AAEhE;;;;;;;;;GASG;AACH,OAAO,EACH,uBAAuB,EACvB,gCAAgC,EAChC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,GACnC,MAAM,wDAAwD,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EACH,+BAA+B,EAC/B,gCAAgC,EAChC,4BAA4B,EAC5B,kCAAkC,EAClC,kCAAkC,EAClC,sCAAsC,EACtC,kCAAkC,EAClC,8BAA8B,EAC9B,0CAA0C,EAC1C,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,GACtC,MAAM,qEAAqE,CAAC;AAE7E,0DAA0D"}
|