@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
|
@@ -69,6 +69,15 @@ export declare enum EngineSettingsDestinationRef {
|
|
|
69
69
|
BILLING = "billing",
|
|
70
70
|
/** Organization API keys. Org owner/admin only. */
|
|
71
71
|
API_KEYS = "api-keys",
|
|
72
|
+
/**
|
|
73
|
+
* OAuth clients the ORGANIZATION registers — the machine credentials it issues for itself, and the ones an
|
|
74
|
+
* autonomous agent runs as (#1611). Org owner/admin only.
|
|
75
|
+
*
|
|
76
|
+
* The sibling of {@link API_KEYS} for the reason {@link APPLICATION_OAUTH_CLIENTS} is the sibling of the
|
|
77
|
+
* application's keys: under client-credentials both authenticate the organization's machine principal, so they
|
|
78
|
+
* are two credential types for one identity. Until #1812 this had no screen, and binding an agent was REST only.
|
|
79
|
+
*/
|
|
80
|
+
ORGANIZATION_OAUTH_CLIENTS = "organization-oauth-clients",
|
|
72
81
|
/**
|
|
73
82
|
* The tenant's OWN credentials toward third parties — its Slack workspace token, its CRM key.
|
|
74
83
|
*
|
|
@@ -97,6 +106,22 @@ export declare enum EngineSettingsDestinationRef {
|
|
|
97
106
|
SIEM = "siem",
|
|
98
107
|
/** Outbound webhook endpoints and delivery log. */
|
|
99
108
|
WEBHOOKS = "webhooks",
|
|
109
|
+
/**
|
|
110
|
+
* Messages other systems sent the application that belong to THIS organization (#1596): what
|
|
111
|
+
* arrived, whether the handler processed it, and REPLAY for one that died. Org owner/admin only.
|
|
112
|
+
*/
|
|
113
|
+
INBOUND_DELIVERIES = "inbound-deliveries",
|
|
114
|
+
/**
|
|
115
|
+
* The outside firms working in THIS organization (#1597): each relationship with its scope and term,
|
|
116
|
+
* and the verbs that accept, confine, pause and end it. The client's register of third parties with
|
|
117
|
+
* access to its data. Placed only by an application whose organization types declare `servesAsProvider`.
|
|
118
|
+
*/
|
|
119
|
+
SERVICE_PROVIDERS = "service-providers",
|
|
120
|
+
/**
|
|
121
|
+
* THIS organization's clients, when it is a service firm (#1597): its engagements, and which of its
|
|
122
|
+
* people serve which client. Placed only by an application whose organization types declare `servesAsProvider`.
|
|
123
|
+
*/
|
|
124
|
+
SERVICE_CLIENTS = "service-clients",
|
|
100
125
|
/** The organization's audit log. Org owner/admin only. */
|
|
101
126
|
AUDIT_LOGS = "audit-logs",
|
|
102
127
|
/**
|
|
@@ -115,6 +140,29 @@ export declare enum EngineSettingsDestinationRef {
|
|
|
115
140
|
ORGANIZATION_ENTITLEMENTS = "organization-entitlements",
|
|
116
141
|
/** Referral codes and their redemptions. Organization-scoped despite living in the billing domain. */
|
|
117
142
|
ORGANIZATION_REFERRALS = "organization-referrals",
|
|
143
|
+
/**
|
|
144
|
+
* The organization's legal holds (#1634): what is held from deletion, on what ground, placed and released by
|
|
145
|
+
* whom. `ORG_OWNER`, matching the resource's own READ / LIST roles.
|
|
146
|
+
*/
|
|
147
|
+
ORGANIZATION_LEGAL_HOLDS = "organization-legal-holds",
|
|
148
|
+
/**
|
|
149
|
+
* The domains THIS organization receives and sends mail on (#1600): claim one, publish its ownership TXT record
|
|
150
|
+
* and the provider's DNS records, verify, remove. Org owner/admin only, matching the resource's ORG_ADMIN verbs.
|
|
151
|
+
*/
|
|
152
|
+
EMAIL_DOMAINS = "email-domains",
|
|
153
|
+
/**
|
|
154
|
+
* The addresses THIS organization — a service firm — keeps on its own verified domain for the clients it serves;
|
|
155
|
+
* each routes its mail into that client's organization (#1600). Org owner/admin only. Placed only by an application
|
|
156
|
+
* whose organization types declare `servesAsProvider`.
|
|
157
|
+
*/
|
|
158
|
+
CLIENT_MAILBOXES = "client-mailboxes",
|
|
159
|
+
/**
|
|
160
|
+
* What THIS organization's experts decide about its agents' work (#1599): the override rate per agent, tool, case
|
|
161
|
+
* and reviewer; whether the content of their corrections is kept, why, and who else may read it; the authorisation
|
|
162
|
+
* to export them as evaluation data; and the ledger of every export. Org owner/admin only, matching the resources'
|
|
163
|
+
* ORG_ADMIN verbs and the override-rate route's organization-administrator check.
|
|
164
|
+
*/
|
|
165
|
+
AGENT_WORK_REVIEW = "agent-work-review",
|
|
118
166
|
/** The application's own descriptive record — name, description, the operator's identity. */
|
|
119
167
|
APPLICATION_GENERAL = "application-general",
|
|
120
168
|
/** Released versions of the application. */
|
|
@@ -166,6 +214,19 @@ export declare enum EngineSettingsDestinationRef {
|
|
|
166
214
|
APPLICATION_SIEM = "application-siem",
|
|
167
215
|
/** Application-wide outbound webhooks, and their delivery log. */
|
|
168
216
|
APPLICATION_WEBHOOKS = "application-webhooks",
|
|
217
|
+
/**
|
|
218
|
+
* Messages other systems sent the application that resolved to NO organization — application-scope
|
|
219
|
+
* and unroutable inbound deliveries (#1596) — with REPLAY for a dead one. The inbound mirror of
|
|
220
|
+
* {@link APPLICATION_WEBHOOKS}'s delivery log, kept separate because it is a different direction,
|
|
221
|
+
* a different entitlement and a different operator task.
|
|
222
|
+
*/
|
|
223
|
+
APPLICATION_INBOUND_DELIVERIES = "application-inbound-deliveries",
|
|
224
|
+
/**
|
|
225
|
+
* Whether each declared retention period is being enforced (#1636): one record per retention-sweep run and
|
|
226
|
+
* bound resource — what it deleted under which period, what a hold kept, and how the run ended. Read-only;
|
|
227
|
+
* the operator's view of the storage-limitation evidence.
|
|
228
|
+
*/
|
|
229
|
+
APPLICATION_RETENTION_ENFORCEMENT = "application-retention-enforcement",
|
|
169
230
|
/**
|
|
170
231
|
* The billing CATALOGUE the application sells — products, their prices, and promotions.
|
|
171
232
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-destination-ref.definitions.d.ts","sourceRoot":"","sources":["../../../../src/frontend-definitions/settings-destination-ref.definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,oJAAoJ;AACpJ;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,4BAA4B;IACtC,+CAA+C;IAC/C,OAAO,YAAY;IACnB,wDAAwD;IACxD,QAAQ,aAAa;IACrB,iEAAiE;IACjE,UAAU,eAAe;IACzB,kDAAkD;IAClD,WAAW,gBAAgB;IAC3B,8FAA8F;IAC9F,cAAc,mBAAmB;IACjC,mEAAmE;IACnE,oBAAoB,yBAAyB;IAC7C,kFAAkF;IAClF,OAAO,YAAY;IACnB;;;;;;;OAOG;IACH,kBAAkB,uBAAuB;IACzC,qGAAqG;IACrG,OAAO,YAAY;IACnB,mDAAmD;IACnD,QAAQ,aAAa;IACrB;;;;;;OAMG;IACH,oBAAoB,yBAAyB;IAC7C;;;;;;;;;;OAUG;IACH,uBAAuB,4BAA4B;IACnD,oDAAoD;IACpD,GAAG,QAAQ;IACX,4DAA4D;IAC5D,IAAI,SAAS;IACb,qEAAqE;IACrE,IAAI,SAAS;IACb,mDAAmD;IACnD,QAAQ,aAAa;IACrB,0DAA0D;IAC1D,UAAU,eAAe;IACzB;;;;;;;;;;;;OAYG;IACH,yBAAyB,8BAA8B;IACvD,sGAAsG;IACtG,sBAAsB,2BAA2B;
|
|
1
|
+
{"version":3,"file":"settings-destination-ref.definitions.d.ts","sourceRoot":"","sources":["../../../../src/frontend-definitions/settings-destination-ref.definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,oJAAoJ;AACpJ;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,4BAA4B;IACtC,+CAA+C;IAC/C,OAAO,YAAY;IACnB,wDAAwD;IACxD,QAAQ,aAAa;IACrB,iEAAiE;IACjE,UAAU,eAAe;IACzB,kDAAkD;IAClD,WAAW,gBAAgB;IAC3B,8FAA8F;IAC9F,cAAc,mBAAmB;IACjC,mEAAmE;IACnE,oBAAoB,yBAAyB;IAC7C,kFAAkF;IAClF,OAAO,YAAY;IACnB;;;;;;;OAOG;IACH,kBAAkB,uBAAuB;IACzC,qGAAqG;IACrG,OAAO,YAAY;IACnB,mDAAmD;IACnD,QAAQ,aAAa;IACrB;;;;;;;OAOG;IACH,0BAA0B,+BAA+B;IACzD;;;;;;OAMG;IACH,oBAAoB,yBAAyB;IAC7C;;;;;;;;;;OAUG;IACH,uBAAuB,4BAA4B;IACnD,oDAAoD;IACpD,GAAG,QAAQ;IACX,4DAA4D;IAC5D,IAAI,SAAS;IACb,qEAAqE;IACrE,IAAI,SAAS;IACb,mDAAmD;IACnD,QAAQ,aAAa;IACrB;;;OAGG;IACH,kBAAkB,uBAAuB;IACzC;;;;OAIG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,eAAe,oBAAoB;IACnC,0DAA0D;IAC1D,UAAU,eAAe;IACzB;;;;;;;;;;;;OAYG;IACH,yBAAyB,8BAA8B;IACvD,sGAAsG;IACtG,sBAAsB,2BAA2B;IACjD;;;OAGG;IACH,wBAAwB,6BAA6B;IACrD;;;OAGG;IACH,aAAa,kBAAkB;IAC/B;;;;OAIG;IACH,gBAAgB,qBAAqB;IACrC;;;;;OAKG;IACH,iBAAiB,sBAAsB;IAevC,6FAA6F;IAC7F,mBAAmB,wBAAwB;IAC3C,4CAA4C;IAC5C,oBAAoB,yBAAyB;IAC7C;;;;;;;OAOG;IACH,yBAAyB,8BAA8B;IACvD;;;;;;;;OAQG;IACH,yBAAyB,8BAA8B;IACvD;;;;;;;OAOG;IACH,sBAAsB,2BAA2B;IACjD,oFAAoF;IACpF,wBAAwB,6BAA6B;IACrD,+FAA+F;IAC/F,oBAAoB,yBAAyB;IAC7C,yFAAyF;IACzF,eAAe,oBAAoB;IACnC;;;;;;;OAOG;IACH,gBAAgB,qBAAqB;IACrC,8EAA8E;IAC9E,gBAAgB,qBAAqB;IACrC,kEAAkE;IAClE,oBAAoB,yBAAyB;IAC7C;;;;;OAKG;IACH,8BAA8B,mCAAmC;IACjE;;;;OAIG;IACH,iCAAiC,sCAAsC;IACvE;;;;;;OAMG;IACH,eAAe,oBAAoB;CACpC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,4EAA4E;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gCAAgC,EAAE,WAAW,CAAC,MAAM,CAAgE,CAAC"}
|
|
@@ -70,6 +70,15 @@ export var EngineSettingsDestinationRef;
|
|
|
70
70
|
EngineSettingsDestinationRef["BILLING"] = "billing";
|
|
71
71
|
/** Organization API keys. Org owner/admin only. */
|
|
72
72
|
EngineSettingsDestinationRef["API_KEYS"] = "api-keys";
|
|
73
|
+
/**
|
|
74
|
+
* OAuth clients the ORGANIZATION registers — the machine credentials it issues for itself, and the ones an
|
|
75
|
+
* autonomous agent runs as (#1611). Org owner/admin only.
|
|
76
|
+
*
|
|
77
|
+
* The sibling of {@link API_KEYS} for the reason {@link APPLICATION_OAUTH_CLIENTS} is the sibling of the
|
|
78
|
+
* application's keys: under client-credentials both authenticate the organization's machine principal, so they
|
|
79
|
+
* are two credential types for one identity. Until #1812 this had no screen, and binding an agent was REST only.
|
|
80
|
+
*/
|
|
81
|
+
EngineSettingsDestinationRef["ORGANIZATION_OAUTH_CLIENTS"] = "organization-oauth-clients";
|
|
73
82
|
/**
|
|
74
83
|
* The tenant's OWN credentials toward third parties — its Slack workspace token, its CRM key.
|
|
75
84
|
*
|
|
@@ -98,6 +107,22 @@ export var EngineSettingsDestinationRef;
|
|
|
98
107
|
EngineSettingsDestinationRef["SIEM"] = "siem";
|
|
99
108
|
/** Outbound webhook endpoints and delivery log. */
|
|
100
109
|
EngineSettingsDestinationRef["WEBHOOKS"] = "webhooks";
|
|
110
|
+
/**
|
|
111
|
+
* Messages other systems sent the application that belong to THIS organization (#1596): what
|
|
112
|
+
* arrived, whether the handler processed it, and REPLAY for one that died. Org owner/admin only.
|
|
113
|
+
*/
|
|
114
|
+
EngineSettingsDestinationRef["INBOUND_DELIVERIES"] = "inbound-deliveries";
|
|
115
|
+
/**
|
|
116
|
+
* The outside firms working in THIS organization (#1597): each relationship with its scope and term,
|
|
117
|
+
* and the verbs that accept, confine, pause and end it. The client's register of third parties with
|
|
118
|
+
* access to its data. Placed only by an application whose organization types declare `servesAsProvider`.
|
|
119
|
+
*/
|
|
120
|
+
EngineSettingsDestinationRef["SERVICE_PROVIDERS"] = "service-providers";
|
|
121
|
+
/**
|
|
122
|
+
* THIS organization's clients, when it is a service firm (#1597): its engagements, and which of its
|
|
123
|
+
* people serve which client. Placed only by an application whose organization types declare `servesAsProvider`.
|
|
124
|
+
*/
|
|
125
|
+
EngineSettingsDestinationRef["SERVICE_CLIENTS"] = "service-clients";
|
|
101
126
|
/** The organization's audit log. Org owner/admin only. */
|
|
102
127
|
EngineSettingsDestinationRef["AUDIT_LOGS"] = "audit-logs";
|
|
103
128
|
/**
|
|
@@ -116,6 +141,29 @@ export var EngineSettingsDestinationRef;
|
|
|
116
141
|
EngineSettingsDestinationRef["ORGANIZATION_ENTITLEMENTS"] = "organization-entitlements";
|
|
117
142
|
/** Referral codes and their redemptions. Organization-scoped despite living in the billing domain. */
|
|
118
143
|
EngineSettingsDestinationRef["ORGANIZATION_REFERRALS"] = "organization-referrals";
|
|
144
|
+
/**
|
|
145
|
+
* The organization's legal holds (#1634): what is held from deletion, on what ground, placed and released by
|
|
146
|
+
* whom. `ORG_OWNER`, matching the resource's own READ / LIST roles.
|
|
147
|
+
*/
|
|
148
|
+
EngineSettingsDestinationRef["ORGANIZATION_LEGAL_HOLDS"] = "organization-legal-holds";
|
|
149
|
+
/**
|
|
150
|
+
* The domains THIS organization receives and sends mail on (#1600): claim one, publish its ownership TXT record
|
|
151
|
+
* and the provider's DNS records, verify, remove. Org owner/admin only, matching the resource's ORG_ADMIN verbs.
|
|
152
|
+
*/
|
|
153
|
+
EngineSettingsDestinationRef["EMAIL_DOMAINS"] = "email-domains";
|
|
154
|
+
/**
|
|
155
|
+
* The addresses THIS organization — a service firm — keeps on its own verified domain for the clients it serves;
|
|
156
|
+
* each routes its mail into that client's organization (#1600). Org owner/admin only. Placed only by an application
|
|
157
|
+
* whose organization types declare `servesAsProvider`.
|
|
158
|
+
*/
|
|
159
|
+
EngineSettingsDestinationRef["CLIENT_MAILBOXES"] = "client-mailboxes";
|
|
160
|
+
/**
|
|
161
|
+
* What THIS organization's experts decide about its agents' work (#1599): the override rate per agent, tool, case
|
|
162
|
+
* and reviewer; whether the content of their corrections is kept, why, and who else may read it; the authorisation
|
|
163
|
+
* to export them as evaluation data; and the ledger of every export. Org owner/admin only, matching the resources'
|
|
164
|
+
* ORG_ADMIN verbs and the override-rate route's organization-administrator check.
|
|
165
|
+
*/
|
|
166
|
+
EngineSettingsDestinationRef["AGENT_WORK_REVIEW"] = "agent-work-review";
|
|
119
167
|
// ── Application administration ──────────────────────────────────────────────
|
|
120
168
|
//
|
|
121
169
|
// Everything below is `ResourcePrimaryScope.APPLICATION`: it configures the APPLICATION ITSELF
|
|
@@ -179,6 +227,19 @@ export var EngineSettingsDestinationRef;
|
|
|
179
227
|
EngineSettingsDestinationRef["APPLICATION_SIEM"] = "application-siem";
|
|
180
228
|
/** Application-wide outbound webhooks, and their delivery log. */
|
|
181
229
|
EngineSettingsDestinationRef["APPLICATION_WEBHOOKS"] = "application-webhooks";
|
|
230
|
+
/**
|
|
231
|
+
* Messages other systems sent the application that resolved to NO organization — application-scope
|
|
232
|
+
* and unroutable inbound deliveries (#1596) — with REPLAY for a dead one. The inbound mirror of
|
|
233
|
+
* {@link APPLICATION_WEBHOOKS}'s delivery log, kept separate because it is a different direction,
|
|
234
|
+
* a different entitlement and a different operator task.
|
|
235
|
+
*/
|
|
236
|
+
EngineSettingsDestinationRef["APPLICATION_INBOUND_DELIVERIES"] = "application-inbound-deliveries";
|
|
237
|
+
/**
|
|
238
|
+
* Whether each declared retention period is being enforced (#1636): one record per retention-sweep run and
|
|
239
|
+
* bound resource — what it deleted under which period, what a hold kept, and how the run ended. Read-only;
|
|
240
|
+
* the operator's view of the storage-limitation evidence.
|
|
241
|
+
*/
|
|
242
|
+
EngineSettingsDestinationRef["APPLICATION_RETENTION_ENFORCEMENT"] = "application-retention-enforcement";
|
|
182
243
|
/**
|
|
183
244
|
* The billing CATALOGUE the application sells — products, their prices, and promotions.
|
|
184
245
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-destination-ref.definitions.js","sourceRoot":"","sources":["../../../../src/frontend-definitions/settings-destination-ref.definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,oJAAoJ;AACpJ;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAN,IAAY,4BAmJX;AAnJD,WAAY,4BAA4B;IACtC,+CAA+C;IAC/C,mDAAmB,CAAA;IACnB,wDAAwD;IACxD,qDAAqB,CAAA;IACrB,iEAAiE;IACjE,yDAAyB,CAAA;IACzB,kDAAkD;IAClD,2DAA2B,CAAA;IAC3B,8FAA8F;IAC9F,iEAAiC,CAAA;IACjC,mEAAmE;IACnE,6EAA6C,CAAA;IAC7C,kFAAkF;IAClF,mDAAmB,CAAA;IACnB;;;;;;;OAOG;IACH,yEAAyC,CAAA;IACzC,qGAAqG;IACrG,mDAAmB,CAAA;IACnB,mDAAmD;IACnD,qDAAqB,CAAA;IACrB;;;;;;OAMG;IACH,6EAA6C,CAAA;IAC7C;;;;;;;;;;OAUG;IACH,mFAAmD,CAAA;IACnD,oDAAoD;IACpD,2CAAW,CAAA;IACX,4DAA4D;IAC5D,6CAAa,CAAA;IACb,qEAAqE;IACrE,6CAAa,CAAA;IACb,mDAAmD;IACnD,qDAAqB,CAAA;IACrB,0DAA0D;IAC1D,yDAAyB,CAAA;IACzB;;;;;;;;;;;;OAYG;IACH,uFAAuD,CAAA;IACvD,sGAAsG;IACtG,iFAAiD,CAAA;IAEjD,+EAA+E;IAC/E,EAAE;IACF,+FAA+F;IAC/F,4FAA4F;IAC5F,2EAA2E;IAC3E,4FAA4F;IAC5F,4FAA4F;IAC5F,EAAE;IACF,wFAAwF;IACxF,gGAAgG;IAChG,+FAA+F;IAC/F,0EAA0E;IAE1E,6FAA6F;IAC7F,2EAA2C,CAAA;IAC3C,4CAA4C;IAC5C,6EAA6C,CAAA;IAC7C;;;;;;;OAOG;IACH,uFAAuD,CAAA;IACvD;;;;;;;;OAQG;IACH,uFAAuD,CAAA;IACvD;;;;;;;OAOG;IACH,iFAAiD,CAAA;IACjD,oFAAoF;IACpF,qFAAqD,CAAA;IACrD,+FAA+F;IAC/F,6EAA6C,CAAA;IAC7C,yFAAyF;IACzF,mEAAmC,CAAA;IACnC;;;;;;;OAOG;IACH,qEAAqC,CAAA;IACrC,8EAA8E;IAC9E,qEAAqC,CAAA;IACrC,kEAAkE;IAClE,6EAA6C,CAAA;IAC7C;;;;;;OAMG;IACH,mEAAmC,CAAA;AACrC,CAAC,EAnJW,4BAA4B,KAA5B,4BAA4B,QAmJvC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,4EAA4E;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAwB,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC","sourcesContent":["/**\n * The IDENTITY half of the engine's settings-hub catalogue — the refs, and nothing else.\n *\n * ## Why the identity lives here and the catalogue does not\n *\n * A settings destination has two halves, and only one of them is a rendering concern:\n *\n * - **What a destination IS** — its `target` (a resource operation, a bespoke engine panel, a set\n * of sub-tabs), its role gating, its runtime-capability gating. That half names components and\n * panel refs, so it belongs to `@wildo-ai/saas-frontend-lib`, where `ENGINE_SETTINGS_DESTINATIONS`\n * declares it.\n * - **WHICH destinations exist** — a closed set of ids. That half names nothing renderable. It is\n * the vocabulary an application's `SettingsHubConfig` addresses by string, the vocabulary the\n * app-creation placement plan names in a `PlacementSubject`, and the vocabulary engine code\n * addresses by enum member. It is declared here.\n *\n * The split was made 2026-09-09 because the second half had a consumer the first half's package\n * could never serve. `validatePlacementPlan`'s `UNKNOWN_SUBJECT` finding is a HARD FLOOR — it\n * refuses a landing — and it can only fire when a caller supplies the universe of subjects that\n * exist. Its one production caller is the app-creation semantic authority, a backend-side package\n * that must not depend on `saas-frontend-lib`. So a declared refusal had no holder, for no reason\n * other than where a list of sixteen strings was written down.\n *\n * Nothing is re-exported across the boundary: `saas-frontend-lib` imports the enum from here and\n * declares only the catalogue.\n */\n\n/** @wildo_source:part:start saas.frontend.settings-hub.engine-destinations facet:layer:frontend facet:family:config facet:audience:app-developer */\n/**\n * Every settings destination the engine ships, as a named vocabulary.\n *\n * Imported from `@wildo-ai/saas-models`. Exists because these refs are a CLOSED\n * vocabulary that engine code addresses by name — the billing command-menu entry\n * opens `/settings/billing`, and any future engine launcher will do the same.\n * Before this enum, `'billing'` was a bare literal in `billing-launcher.ts` with\n * nothing tying it to the catalog entry it names: rename the destination and the\n * command silently resolves to the hub's DEFAULT section instead of failing, so a\n * menu item labelled \"Billing\" would open Profile.\n *\n * **Engine code must address a destination through this enum. Application\n * config addresses one by string**, deliberately: a placement is authored data,\n * an application should not import an engine enum to write its own rail, and a\n * typo there is caught at DEV startup by `verifySettingsHubContent`.\n */\nexport enum EngineSettingsDestinationRef {\n /** The signed-in user's own profile record. */\n PROFILE = 'profile',\n /** Password, MFA, sessions — a bespoke engine panel. */\n SECURITY = 'security',\n /** Theme and appearance preferences — a bespoke engine panel. */\n APPEARANCE = 'appearance',\n /** The signed-in user's own preference record. */\n PREFERENCES = 'preferences',\n /** Invitations addressed TO the signed-in user, across organizations they have not joined. */\n MY_INVITATIONS = 'my-invitations',\n /** The current organization's own record. Org owner/admin only. */\n ORGANIZATION_GENERAL = 'organization-general',\n /** Organization membership list, including INVITED rows. Org owner/admin only. */\n MEMBERS = 'members',\n /**\n * The organization's internal structure — teams, departments, the hierarchy under the tenant.\n *\n * Its own rail entry rather than a tab inside {@link ORGANIZATION_GENERAL}. The general pane is a\n * record — a column of decisions about the tenant itself — and a unit hierarchy is a population\n * you navigate, which is a different kind of surface and a different task. Nesting it there also\n * put it behind a pane a reader had no other reason to open.\n */\n ORGANIZATION_UNITS = 'organization-units',\n /** Billing home — subscription, plans, usage, invoices. Gated on the `billingEnabled` capability. */\n BILLING = 'billing',\n /** Organization API keys. Org owner/admin only. */\n API_KEYS = 'api-keys',\n /**\n * The tenant's OWN credentials toward third parties — its Slack workspace token, its CRM key.\n *\n * The mirror image of {@link API_KEYS} and easy to confuse with it: an API key is a credential\n * somebody uses to reach THIS application, and one of these is a credential this application uses\n * to reach somebody else ON THIS TENANT'S BEHALF. Same administrator, opposite direction.\n */\n PROVIDER_CREDENTIALS = 'provider-credentials',\n /**\n * The signed-in person's OWN credentials toward third parties — their personal API key, the\n * account they connected themselves.\n *\n * Distinct from {@link PROVIDER_CREDENTIALS} by OWNER, not by feature, and the two must never be\n * merged into one screen. A tenant's credential is a shared integration an administrator\n * configures for everyone; this one is an individual's own account, which nobody else may see,\n * spend or remove. Putting them on one page would put a colleague's personal vendor token in an\n * administrator's view — and the resource's authorization refuses that, so the screen would show\n * an empty list nobody could explain.\n */\n MY_PROVIDER_CREDENTIALS = 'my-provider-credentials',\n /** Single sign-on configuration and connections. */\n SSO = 'sso',\n /** SCIM directory provisioning configuration and tokens. */\n SCIM = 'scim',\n /** Audit-event streaming configuration and failed-delivery queue. */\n SIEM = 'siem',\n /** Outbound webhook endpoints and delivery log. */\n WEBHOOKS = 'webhooks',\n /** The organization's audit log. Org owner/admin only. */\n AUDIT_LOGS = 'audit-logs',\n /**\n * What THIS organization is currently entitled to — its features, its numeric limits, and the\n * application-administrator exceptions laid over them.\n *\n * Readable by any organization member (`organizationFeatures` READ is `ORG_MEMBER`), which is why\n * it carries no `requiredRoles`: a member who is told a surface needs an upgrade should be able to\n * see what their organization actually has. The operations that CHANGE it — enable, disable, reset\n * — are `APP_ADMIN_SUPER_ADMIN` on the resource itself, so the same screen is a read-only summary\n * for a member and the grant/withdraw console for a platform administrator.\n *\n * Until this existed there was no way to reach the entitlement state from anywhere in the product:\n * the resource had a table, an admin UI behaviour and three custom operations, and no door.\n */\n ORGANIZATION_ENTITLEMENTS = 'organization-entitlements',\n /** Referral codes and their redemptions. Organization-scoped despite living in the billing domain. */\n ORGANIZATION_REFERRALS = 'organization-referrals',\n\n // ── Application administration ──────────────────────────────────────────────\n //\n // Everything below is `ResourcePrimaryScope.APPLICATION`: it configures the APPLICATION ITSELF\n // rather than one tenant inside it, and it is the operator's surface, not a customer's. The\n // category an application places these in is what supplies that scope, and\n // `useVisibleSettingsHubConfig` resolves the application id from `appIdentity` — the access\n // token does not carry one, so a category scoped this way was unreachable until 2026-09-17.\n //\n // Each mirrors an organization-scope sibling above, and the pairs are NOT redundant: an\n // application-wide SSO connection authenticates everybody who is not covered by a tenant's own,\n // and an application-wide SIEM export carries the operator's own security events rather than a\n // customer's. Same mechanism, different principal, different consequence.\n\n /** The application's own descriptive record — name, description, the operator's identity. */\n APPLICATION_GENERAL = 'application-general',\n /** Released versions of the application. */\n APPLICATION_VERSIONS = 'application-versions',\n /**\n * OAuth clients registered against the APPLICATION — the credential a machine presents for a\n * client-credentials or authorization-code exchange.\n *\n * The sibling of {@link APPLICATION_API_KEYS} rather than a duplicate of it: under\n * client-credentials both authenticate the same `APPLICATION_MACHINE` principal, so they are two\n * credential TYPES for one identity and belong side by side.\n */\n APPLICATION_OAUTH_CLIENTS = 'application-oauth-clients',\n /**\n * The two-person rule, made reviewable — requested, signed, time-bound elevations over the\n * application-wide reads.\n *\n * Placed because a control of this kind is justified by VISIBILITY rather than by prevention:\n * it does not stop an operator reading across tenants, it makes a second administrator sign for\n * it and leaves a record. An elevation nobody can read makes nothing visible, so the mechanism\n * ran without its own justification until this had a door.\n */\n APPLICATION_ACCESS_GRANTS = 'application-access-grants',\n /**\n * The application-wide audit trail — every tenant's events plus the ones belonging to no tenant.\n *\n * Distinct from the organization {@link AUDIT_LOGS} by the question it answers, not by scope\n * alone: the tenant door answers \"what happened in my organization\", this one answers \"what\n * happened at all\", and only the second can support a deployment-level attestation. Every read\n * through it is a declared crossing and emits one event into each tenant it reached.\n */\n APPLICATION_AUDIT_LOGS = 'application-audit-logs',\n /** The application-scope feature and limit state, with administrator exceptions. */\n APPLICATION_ENTITLEMENTS = 'application-entitlements',\n /** API keys that authenticate a machine to the APPLICATION rather than to one organization. */\n APPLICATION_API_KEYS = 'application-api-keys',\n /** Application-wide single sign-on: the configuration, and the connections it admits. */\n APPLICATION_SSO = 'application-sso',\n /**\n * Application-wide SCIM directory provisioning.\n *\n * One target rather than the organization sibling's two tabs, and that asymmetry is real rather\n * than an omission: there is no `APPLICATION_SCIM_TOKENS` resource — only\n * `ORGANIZATION_SCIM_TOKENS` exists — so the application scope has a provisioning configuration\n * and nothing to tab to.\n */\n APPLICATION_SCIM = 'application-scim',\n /** Application-wide audit-event streaming, and the deliveries that failed. */\n APPLICATION_SIEM = 'application-siem',\n /** Application-wide outbound webhooks, and their delivery log. */\n APPLICATION_WEBHOOKS = 'application-webhooks',\n /**\n * The billing CATALOGUE the application sells — products, their prices, and promotions.\n *\n * Distinct from the organization `BILLING` destination, which is one tenant's subscription and\n * invoices. This is the operator editing what is on sale; that is a customer reading what they\n * bought.\n */\n BILLING_CATALOG = 'billing-catalog',\n}\n\n/**\n * ## Two administration surfaces that are DELIBERATELY absent, so neither is re-proposed\n *\n * **A tenant directory.** `organizations` LIST looks like one and is not: it is confined by\n * `assignScopeRootCollectionConfinementToFilter` to the tenants the caller holds an\n * organization-wide role entry for, so a platform super-administrator sees THEIR OWN organizations\n * and not every tenant. That confinement is deliberate — the resource's own banner says so, and\n * says explicitly that an operator who \"cannot find the tenant id\" should stop rather than widen\n * the operation, because widening it hands the full customer list to every platform administrator\n * as a standing privilege. A destination named \"Organizations\" under Administration would promise\n * the directory and deliver the memberships, which is worse than having no entry: the reader\n * cannot tell the difference, and the number looks authoritative.\n *\n * **A user directory.** Same shape one level down. The application-wide user read is gated on a\n * two-person `applicationAccessGrants` window precisely so that it is not a standing privilege, so\n * a permanently-placed rail entry would either sit there refusing or quietly bypass the control it\n * is supposed to pass through.\n *\n * Both become placeable when a governed cross-tenant read exists — an operation that requires the\n * grant and says so. Neither becomes placeable by widening the operation that is already there.\n */\n/** @wildo_source:part:end saas.frontend.settings-hub.engine-destinations */\n\n/**\n * Every destination ref the engine ships — the set an authored placement is validated against.\n *\n * **Derived from the enum, not from the catalogue, and that is the point.** It used to be\n * `ENGINE_SETTINGS_DESTINATIONS.map(d => d.ref)`, which made the set a statement about how many\n * catalogue entries had been written rather than about what the vocabulary contains: a member added\n * to the enum and not yet given a catalogue entry would have been silently absent from the universe\n * a hard floor is measured against, so a placement naming it would have been refused as UNKNOWN.\n * Deriving from the enum is TOTAL over the vocabulary — a member added tomorrow is in this set the\n * same day — and the reverse obligation (every ref has a catalogue entry) is pinned in\n * `saas-frontend-lib`, where the catalogue lives and where an omission is a rendering defect.\n *\n * Values are bare ids, the shape `placementSubjectLocalKey` publishes for\n * `ENGINE_SETTINGS_DESTINATION` subjects, so this set can be handed to `validatePlacementPlan`\n * without being re-spelled.\n */\nexport const ENGINE_SETTINGS_DESTINATION_REFS: ReadonlySet<string> = new Set<string>(Object.values(EngineSettingsDestinationRef));\n"]}
|
|
1
|
+
{"version":3,"file":"settings-destination-ref.definitions.js","sourceRoot":"","sources":["../../../../src/frontend-definitions/settings-destination-ref.definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,oJAAoJ;AACpJ;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAN,IAAY,4BAgNX;AAhND,WAAY,4BAA4B;IACtC,+CAA+C;IAC/C,mDAAmB,CAAA;IACnB,wDAAwD;IACxD,qDAAqB,CAAA;IACrB,iEAAiE;IACjE,yDAAyB,CAAA;IACzB,kDAAkD;IAClD,2DAA2B,CAAA;IAC3B,8FAA8F;IAC9F,iEAAiC,CAAA;IACjC,mEAAmE;IACnE,6EAA6C,CAAA;IAC7C,kFAAkF;IAClF,mDAAmB,CAAA;IACnB;;;;;;;OAOG;IACH,yEAAyC,CAAA;IACzC,qGAAqG;IACrG,mDAAmB,CAAA;IACnB,mDAAmD;IACnD,qDAAqB,CAAA;IACrB;;;;;;;OAOG;IACH,yFAAyD,CAAA;IACzD;;;;;;OAMG;IACH,6EAA6C,CAAA;IAC7C;;;;;;;;;;OAUG;IACH,mFAAmD,CAAA;IACnD,oDAAoD;IACpD,2CAAW,CAAA;IACX,4DAA4D;IAC5D,6CAAa,CAAA;IACb,qEAAqE;IACrE,6CAAa,CAAA;IACb,mDAAmD;IACnD,qDAAqB,CAAA;IACrB;;;OAGG;IACH,yEAAyC,CAAA;IACzC;;;;OAIG;IACH,uEAAuC,CAAA;IACvC;;;OAGG;IACH,mEAAmC,CAAA;IACnC,0DAA0D;IAC1D,yDAAyB,CAAA;IACzB;;;;;;;;;;;;OAYG;IACH,uFAAuD,CAAA;IACvD,sGAAsG;IACtG,iFAAiD,CAAA;IACjD;;;OAGG;IACH,qFAAqD,CAAA;IACrD;;;OAGG;IACH,+DAA+B,CAAA;IAC/B;;;;OAIG;IACH,qEAAqC,CAAA;IACrC;;;;;OAKG;IACH,uEAAuC,CAAA;IAEvC,+EAA+E;IAC/E,EAAE;IACF,+FAA+F;IAC/F,4FAA4F;IAC5F,2EAA2E;IAC3E,4FAA4F;IAC5F,4FAA4F;IAC5F,EAAE;IACF,wFAAwF;IACxF,gGAAgG;IAChG,+FAA+F;IAC/F,0EAA0E;IAE1E,6FAA6F;IAC7F,2EAA2C,CAAA;IAC3C,4CAA4C;IAC5C,6EAA6C,CAAA;IAC7C;;;;;;;OAOG;IACH,uFAAuD,CAAA;IACvD;;;;;;;;OAQG;IACH,uFAAuD,CAAA;IACvD;;;;;;;OAOG;IACH,iFAAiD,CAAA;IACjD,oFAAoF;IACpF,qFAAqD,CAAA;IACrD,+FAA+F;IAC/F,6EAA6C,CAAA;IAC7C,yFAAyF;IACzF,mEAAmC,CAAA;IACnC;;;;;;;OAOG;IACH,qEAAqC,CAAA;IACrC,8EAA8E;IAC9E,qEAAqC,CAAA;IACrC,kEAAkE;IAClE,6EAA6C,CAAA;IAC7C;;;;;OAKG;IACH,iGAAiE,CAAA;IACjE;;;;OAIG;IACH,uGAAuE,CAAA;IACvE;;;;;;OAMG;IACH,mEAAmC,CAAA;AACrC,CAAC,EAhNW,4BAA4B,KAA5B,4BAA4B,QAgNvC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,4EAA4E;AAE5E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAwB,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC","sourcesContent":["/**\n * The IDENTITY half of the engine's settings-hub catalogue — the refs, and nothing else.\n *\n * ## Why the identity lives here and the catalogue does not\n *\n * A settings destination has two halves, and only one of them is a rendering concern:\n *\n * - **What a destination IS** — its `target` (a resource operation, a bespoke engine panel, a set\n * of sub-tabs), its role gating, its runtime-capability gating. That half names components and\n * panel refs, so it belongs to `@wildo-ai/saas-frontend-lib`, where `ENGINE_SETTINGS_DESTINATIONS`\n * declares it.\n * - **WHICH destinations exist** — a closed set of ids. That half names nothing renderable. It is\n * the vocabulary an application's `SettingsHubConfig` addresses by string, the vocabulary the\n * app-creation placement plan names in a `PlacementSubject`, and the vocabulary engine code\n * addresses by enum member. It is declared here.\n *\n * The split was made 2026-09-09 because the second half had a consumer the first half's package\n * could never serve. `validatePlacementPlan`'s `UNKNOWN_SUBJECT` finding is a HARD FLOOR — it\n * refuses a landing — and it can only fire when a caller supplies the universe of subjects that\n * exist. Its one production caller is the app-creation semantic authority, a backend-side package\n * that must not depend on `saas-frontend-lib`. So a declared refusal had no holder, for no reason\n * other than where a list of sixteen strings was written down.\n *\n * Nothing is re-exported across the boundary: `saas-frontend-lib` imports the enum from here and\n * declares only the catalogue.\n */\n\n/** @wildo_source:part:start saas.frontend.settings-hub.engine-destinations facet:layer:frontend facet:family:config facet:audience:app-developer */\n/**\n * Every settings destination the engine ships, as a named vocabulary.\n *\n * Imported from `@wildo-ai/saas-models`. Exists because these refs are a CLOSED\n * vocabulary that engine code addresses by name — the billing command-menu entry\n * opens `/settings/billing`, and any future engine launcher will do the same.\n * Before this enum, `'billing'` was a bare literal in `billing-launcher.ts` with\n * nothing tying it to the catalog entry it names: rename the destination and the\n * command silently resolves to the hub's DEFAULT section instead of failing, so a\n * menu item labelled \"Billing\" would open Profile.\n *\n * **Engine code must address a destination through this enum. Application\n * config addresses one by string**, deliberately: a placement is authored data,\n * an application should not import an engine enum to write its own rail, and a\n * typo there is caught at DEV startup by `verifySettingsHubContent`.\n */\nexport enum EngineSettingsDestinationRef {\n /** The signed-in user's own profile record. */\n PROFILE = 'profile',\n /** Password, MFA, sessions — a bespoke engine panel. */\n SECURITY = 'security',\n /** Theme and appearance preferences — a bespoke engine panel. */\n APPEARANCE = 'appearance',\n /** The signed-in user's own preference record. */\n PREFERENCES = 'preferences',\n /** Invitations addressed TO the signed-in user, across organizations they have not joined. */\n MY_INVITATIONS = 'my-invitations',\n /** The current organization's own record. Org owner/admin only. */\n ORGANIZATION_GENERAL = 'organization-general',\n /** Organization membership list, including INVITED rows. Org owner/admin only. */\n MEMBERS = 'members',\n /**\n * The organization's internal structure — teams, departments, the hierarchy under the tenant.\n *\n * Its own rail entry rather than a tab inside {@link ORGANIZATION_GENERAL}. The general pane is a\n * record — a column of decisions about the tenant itself — and a unit hierarchy is a population\n * you navigate, which is a different kind of surface and a different task. Nesting it there also\n * put it behind a pane a reader had no other reason to open.\n */\n ORGANIZATION_UNITS = 'organization-units',\n /** Billing home — subscription, plans, usage, invoices. Gated on the `billingEnabled` capability. */\n BILLING = 'billing',\n /** Organization API keys. Org owner/admin only. */\n API_KEYS = 'api-keys',\n /**\n * OAuth clients the ORGANIZATION registers — the machine credentials it issues for itself, and the ones an\n * autonomous agent runs as (#1611). Org owner/admin only.\n *\n * The sibling of {@link API_KEYS} for the reason {@link APPLICATION_OAUTH_CLIENTS} is the sibling of the\n * application's keys: under client-credentials both authenticate the organization's machine principal, so they\n * are two credential types for one identity. Until #1812 this had no screen, and binding an agent was REST only.\n */\n ORGANIZATION_OAUTH_CLIENTS = 'organization-oauth-clients',\n /**\n * The tenant's OWN credentials toward third parties — its Slack workspace token, its CRM key.\n *\n * The mirror image of {@link API_KEYS} and easy to confuse with it: an API key is a credential\n * somebody uses to reach THIS application, and one of these is a credential this application uses\n * to reach somebody else ON THIS TENANT'S BEHALF. Same administrator, opposite direction.\n */\n PROVIDER_CREDENTIALS = 'provider-credentials',\n /**\n * The signed-in person's OWN credentials toward third parties — their personal API key, the\n * account they connected themselves.\n *\n * Distinct from {@link PROVIDER_CREDENTIALS} by OWNER, not by feature, and the two must never be\n * merged into one screen. A tenant's credential is a shared integration an administrator\n * configures for everyone; this one is an individual's own account, which nobody else may see,\n * spend or remove. Putting them on one page would put a colleague's personal vendor token in an\n * administrator's view — and the resource's authorization refuses that, so the screen would show\n * an empty list nobody could explain.\n */\n MY_PROVIDER_CREDENTIALS = 'my-provider-credentials',\n /** Single sign-on configuration and connections. */\n SSO = 'sso',\n /** SCIM directory provisioning configuration and tokens. */\n SCIM = 'scim',\n /** Audit-event streaming configuration and failed-delivery queue. */\n SIEM = 'siem',\n /** Outbound webhook endpoints and delivery log. */\n WEBHOOKS = 'webhooks',\n /**\n * Messages other systems sent the application that belong to THIS organization (#1596): what\n * arrived, whether the handler processed it, and REPLAY for one that died. Org owner/admin only.\n */\n INBOUND_DELIVERIES = 'inbound-deliveries',\n /**\n * The outside firms working in THIS organization (#1597): each relationship with its scope and term,\n * and the verbs that accept, confine, pause and end it. The client's register of third parties with\n * access to its data. Placed only by an application whose organization types declare `servesAsProvider`.\n */\n SERVICE_PROVIDERS = 'service-providers',\n /**\n * THIS organization's clients, when it is a service firm (#1597): its engagements, and which of its\n * people serve which client. Placed only by an application whose organization types declare `servesAsProvider`.\n */\n SERVICE_CLIENTS = 'service-clients',\n /** The organization's audit log. Org owner/admin only. */\n AUDIT_LOGS = 'audit-logs',\n /**\n * What THIS organization is currently entitled to — its features, its numeric limits, and the\n * application-administrator exceptions laid over them.\n *\n * Readable by any organization member (`organizationFeatures` READ is `ORG_MEMBER`), which is why\n * it carries no `requiredRoles`: a member who is told a surface needs an upgrade should be able to\n * see what their organization actually has. The operations that CHANGE it — enable, disable, reset\n * — are `APP_ADMIN_SUPER_ADMIN` on the resource itself, so the same screen is a read-only summary\n * for a member and the grant/withdraw console for a platform administrator.\n *\n * Until this existed there was no way to reach the entitlement state from anywhere in the product:\n * the resource had a table, an admin UI behaviour and three custom operations, and no door.\n */\n ORGANIZATION_ENTITLEMENTS = 'organization-entitlements',\n /** Referral codes and their redemptions. Organization-scoped despite living in the billing domain. */\n ORGANIZATION_REFERRALS = 'organization-referrals',\n /**\n * The organization's legal holds (#1634): what is held from deletion, on what ground, placed and released by\n * whom. `ORG_OWNER`, matching the resource's own READ / LIST roles.\n */\n ORGANIZATION_LEGAL_HOLDS = 'organization-legal-holds',\n /**\n * The domains THIS organization receives and sends mail on (#1600): claim one, publish its ownership TXT record\n * and the provider's DNS records, verify, remove. Org owner/admin only, matching the resource's ORG_ADMIN verbs.\n */\n EMAIL_DOMAINS = 'email-domains',\n /**\n * The addresses THIS organization — a service firm — keeps on its own verified domain for the clients it serves;\n * each routes its mail into that client's organization (#1600). Org owner/admin only. Placed only by an application\n * whose organization types declare `servesAsProvider`.\n */\n CLIENT_MAILBOXES = 'client-mailboxes',\n /**\n * What THIS organization's experts decide about its agents' work (#1599): the override rate per agent, tool, case\n * and reviewer; whether the content of their corrections is kept, why, and who else may read it; the authorisation\n * to export them as evaluation data; and the ledger of every export. Org owner/admin only, matching the resources'\n * ORG_ADMIN verbs and the override-rate route's organization-administrator check.\n */\n AGENT_WORK_REVIEW = 'agent-work-review',\n\n // ── Application administration ──────────────────────────────────────────────\n //\n // Everything below is `ResourcePrimaryScope.APPLICATION`: it configures the APPLICATION ITSELF\n // rather than one tenant inside it, and it is the operator's surface, not a customer's. The\n // category an application places these in is what supplies that scope, and\n // `useVisibleSettingsHubConfig` resolves the application id from `appIdentity` — the access\n // token does not carry one, so a category scoped this way was unreachable until 2026-09-17.\n //\n // Each mirrors an organization-scope sibling above, and the pairs are NOT redundant: an\n // application-wide SSO connection authenticates everybody who is not covered by a tenant's own,\n // and an application-wide SIEM export carries the operator's own security events rather than a\n // customer's. Same mechanism, different principal, different consequence.\n\n /** The application's own descriptive record — name, description, the operator's identity. */\n APPLICATION_GENERAL = 'application-general',\n /** Released versions of the application. */\n APPLICATION_VERSIONS = 'application-versions',\n /**\n * OAuth clients registered against the APPLICATION — the credential a machine presents for a\n * client-credentials or authorization-code exchange.\n *\n * The sibling of {@link APPLICATION_API_KEYS} rather than a duplicate of it: under\n * client-credentials both authenticate the same `APPLICATION_MACHINE` principal, so they are two\n * credential TYPES for one identity and belong side by side.\n */\n APPLICATION_OAUTH_CLIENTS = 'application-oauth-clients',\n /**\n * The two-person rule, made reviewable — requested, signed, time-bound elevations over the\n * application-wide reads.\n *\n * Placed because a control of this kind is justified by VISIBILITY rather than by prevention:\n * it does not stop an operator reading across tenants, it makes a second administrator sign for\n * it and leaves a record. An elevation nobody can read makes nothing visible, so the mechanism\n * ran without its own justification until this had a door.\n */\n APPLICATION_ACCESS_GRANTS = 'application-access-grants',\n /**\n * The application-wide audit trail — every tenant's events plus the ones belonging to no tenant.\n *\n * Distinct from the organization {@link AUDIT_LOGS} by the question it answers, not by scope\n * alone: the tenant door answers \"what happened in my organization\", this one answers \"what\n * happened at all\", and only the second can support a deployment-level attestation. Every read\n * through it is a declared crossing and emits one event into each tenant it reached.\n */\n APPLICATION_AUDIT_LOGS = 'application-audit-logs',\n /** The application-scope feature and limit state, with administrator exceptions. */\n APPLICATION_ENTITLEMENTS = 'application-entitlements',\n /** API keys that authenticate a machine to the APPLICATION rather than to one organization. */\n APPLICATION_API_KEYS = 'application-api-keys',\n /** Application-wide single sign-on: the configuration, and the connections it admits. */\n APPLICATION_SSO = 'application-sso',\n /**\n * Application-wide SCIM directory provisioning.\n *\n * One target rather than the organization sibling's two tabs, and that asymmetry is real rather\n * than an omission: there is no `APPLICATION_SCIM_TOKENS` resource — only\n * `ORGANIZATION_SCIM_TOKENS` exists — so the application scope has a provisioning configuration\n * and nothing to tab to.\n */\n APPLICATION_SCIM = 'application-scim',\n /** Application-wide audit-event streaming, and the deliveries that failed. */\n APPLICATION_SIEM = 'application-siem',\n /** Application-wide outbound webhooks, and their delivery log. */\n APPLICATION_WEBHOOKS = 'application-webhooks',\n /**\n * Messages other systems sent the application that resolved to NO organization — application-scope\n * and unroutable inbound deliveries (#1596) — with REPLAY for a dead one. The inbound mirror of\n * {@link APPLICATION_WEBHOOKS}'s delivery log, kept separate because it is a different direction,\n * a different entitlement and a different operator task.\n */\n APPLICATION_INBOUND_DELIVERIES = 'application-inbound-deliveries',\n /**\n * Whether each declared retention period is being enforced (#1636): one record per retention-sweep run and\n * bound resource — what it deleted under which period, what a hold kept, and how the run ended. Read-only;\n * the operator's view of the storage-limitation evidence.\n */\n APPLICATION_RETENTION_ENFORCEMENT = 'application-retention-enforcement',\n /**\n * The billing CATALOGUE the application sells — products, their prices, and promotions.\n *\n * Distinct from the organization `BILLING` destination, which is one tenant's subscription and\n * invoices. This is the operator editing what is on sale; that is a customer reading what they\n * bought.\n */\n BILLING_CATALOG = 'billing-catalog',\n}\n\n/**\n * ## Two administration surfaces that are DELIBERATELY absent, so neither is re-proposed\n *\n * **A tenant directory.** `organizations` LIST looks like one and is not: it is confined by\n * `assignScopeRootCollectionConfinementToFilter` to the tenants the caller holds an\n * organization-wide role entry for, so a platform super-administrator sees THEIR OWN organizations\n * and not every tenant. That confinement is deliberate — the resource's own banner says so, and\n * says explicitly that an operator who \"cannot find the tenant id\" should stop rather than widen\n * the operation, because widening it hands the full customer list to every platform administrator\n * as a standing privilege. A destination named \"Organizations\" under Administration would promise\n * the directory and deliver the memberships, which is worse than having no entry: the reader\n * cannot tell the difference, and the number looks authoritative.\n *\n * **A user directory.** Same shape one level down. The application-wide user read is gated on a\n * two-person `applicationAccessGrants` window precisely so that it is not a standing privilege, so\n * a permanently-placed rail entry would either sit there refusing or quietly bypass the control it\n * is supposed to pass through.\n *\n * Both become placeable when a governed cross-tenant read exists — an operation that requires the\n * grant and says so. Neither becomes placeable by widening the operation that is already there.\n */\n/** @wildo_source:part:end saas.frontend.settings-hub.engine-destinations */\n\n/**\n * Every destination ref the engine ships — the set an authored placement is validated against.\n *\n * **Derived from the enum, not from the catalogue, and that is the point.** It used to be\n * `ENGINE_SETTINGS_DESTINATIONS.map(d => d.ref)`, which made the set a statement about how many\n * catalogue entries had been written rather than about what the vocabulary contains: a member added\n * to the enum and not yet given a catalogue entry would have been silently absent from the universe\n * a hard floor is measured against, so a placement naming it would have been refused as UNKNOWN.\n * Deriving from the enum is TOTAL over the vocabulary — a member added tomorrow is in this set the\n * same day — and the reverse obligation (every ref has a catalogue entry) is pinned in\n * `saas-frontend-lib`, where the catalogue lives and where an omission is a rendering defect.\n *\n * Values are bare ids, the shape `placementSubjectLocalKey` publishes for\n * `ENGINE_SETTINGS_DESTINATION` subjects, so this set can be handed to `validatePlacementPlan`\n * without being re-spelled.\n */\nexport const ENGINE_SETTINGS_DESTINATION_REFS: ReadonlySet<string> = new Set<string>(Object.values(EngineSettingsDestinationRef));\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guidance-state.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/guidance/guidance-state.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAIhF;;oEAEoE;AAEpE,mCAAmC;AACnC,eAAO,MAAM,0BAA0B;;;;;
|
|
1
|
+
{"version":3,"file":"guidance-state.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/guidance/guidance-state.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAIhF;;oEAEoE;AAEpE,mCAAmC;AACnC,eAAO,MAAM,0BAA0B;;;;;iBAUrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;oEAEoE;AAEpE,qBAAqB;AACrB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;iBASlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;oEAEoE;AAEpE;;wDAEwD;AACxD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;iBAa9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;iBAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;iBAE1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,yBAAyB,CAAC"}
|
|
@@ -8,28 +8,29 @@ import { addImpersonalizeWith } from '@wildo-ai/zod-decorators';
|
|
|
8
8
|
* ────────────────────────────────────────────────────────────── */
|
|
9
9
|
/** Per-element completion state */
|
|
10
10
|
export const GuidanceElementStateSchema = z.object({
|
|
11
|
-
status: z.enum(OnboardingStatus),
|
|
11
|
+
status: z.enum(OnboardingStatus).describe('Where this element stands. The guidance engine records an element when it is completed.'),
|
|
12
12
|
/** Timestamp when this element was completed.
|
|
13
13
|
* Uses z.coerce.date() to handle string → Date coercion on parse (stored as ISO strings in DB). */
|
|
14
|
-
completedAt: z.coerce.date().optional(),
|
|
14
|
+
completedAt: z.coerce.date().optional().describe('When this element was completed.'),
|
|
15
15
|
/** For surveys: submitted answers */
|
|
16
|
-
surveyAnswers: z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.array(z.string())])).optional()
|
|
16
|
+
surveyAnswers: z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.array(z.string())])).optional()
|
|
17
|
+
.describe('For a survey element, the submitted answers, keyed by question id. Absent for other element types.'),
|
|
17
18
|
/** For tours: last completed step index */
|
|
18
|
-
lastStepIndex: z.number().int().optional(),
|
|
19
|
+
lastStepIndex: z.number().int().optional().describe('For a tour element, the zero-based index of the step on which the tour was finished. Absent for other element types.'),
|
|
19
20
|
});
|
|
20
21
|
/** ──────────────────────────────────────────────────────────────
|
|
21
22
|
* Guidance State — Per-Flow State
|
|
22
23
|
* ────────────────────────────────────────────────────────────── */
|
|
23
24
|
/** Per-flow state */
|
|
24
25
|
export const GuidanceFlowStateSchema = z.object({
|
|
25
|
-
status: z.enum(OnboardingStatus),
|
|
26
|
-
startedAt: z.coerce.date().optional(),
|
|
27
|
-
completedAt: z.coerce.date().optional(),
|
|
28
|
-
dismissedAt: z.coerce.date().optional(),
|
|
26
|
+
status: z.enum(OnboardingStatus).describe('Where this flow stands. `completed`, `skipped` and `dismissed` are final: a flow in one of them is not shown again.'),
|
|
27
|
+
startedAt: z.coerce.date().optional().describe('When the flow was first shown.'),
|
|
28
|
+
completedAt: z.coerce.date().optional().describe('When the flow was completed.'),
|
|
29
|
+
dismissedAt: z.coerce.date().optional().describe('When the flow was dismissed. Absent unless it was.'),
|
|
29
30
|
/** Element-level state keyed by element ref */
|
|
30
|
-
elements: z.record(z.string(), GuidanceElementStateSchema).default({}),
|
|
31
|
+
elements: z.record(z.string(), GuidanceElementStateSchema).default({}).describe('Progress on the flow\'s individual elements, keyed by element reference. Elements not yet completed are absent.'),
|
|
31
32
|
/** How many times this flow has been triggered */
|
|
32
|
-
triggerCount: z.number().int().default(0),
|
|
33
|
+
triggerCount: z.number().int().default(0).describe('How many times the flow has been shown. A first-visit flow is shown only while this is 0.'),
|
|
33
34
|
});
|
|
34
35
|
/** ──────────────────────────────────────────────────────────────
|
|
35
36
|
* Guidance State — Top-Level Document
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guidance-state.shared.schemas.js","sourceRoot":"","sources":["../../../../src/guidance/guidance-state.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;oEAEoE;AAEpE,mCAAmC;AACnC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"guidance-state.shared.schemas.js","sourceRoot":"","sources":["../../../../src/guidance/guidance-state.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { PersonalDataCategory } from '../compliance/privacy/personal-data-category.shared.schemas';\nimport { OnboardingStatus } from '../config/frontend/onboarding.shared.schemas';\nimport { RedactionType } from '../compliance/privacy/redaction.shared.schemas';\nimport { addImpersonalizeWith } from '@wildo-ai/zod-decorators';\n\n/** ──────────────────────────────────────────────────────────────\n * Guidance State — Per-Element State\n * ────────────────────────────────────────────────────────────── */\n\n/** Per-element completion state */\nexport const GuidanceElementStateSchema = z.object({\n status: z.enum(OnboardingStatus).describe('Where this element stands. The guidance engine records an element when it is completed.'),\n /** Timestamp when this element was completed.\n * Uses z.coerce.date() to handle string → Date coercion on parse (stored as ISO strings in DB). */\n completedAt: z.coerce.date().optional().describe('When this element was completed.'),\n /** For surveys: submitted answers */\n surveyAnswers: z.record(z.string(), z.union([z.string(), z.number(), z.boolean(), z.array(z.string())])).optional()\n .describe('For a survey element, the submitted answers, keyed by question id. Absent for other element types.'),\n /** For tours: last completed step index */\n lastStepIndex: z.number().int().optional().describe('For a tour element, the zero-based index of the step on which the tour was finished. Absent for other element types.'),\n});\nexport type GuidanceElementState = z.infer<typeof GuidanceElementStateSchema>;\n\n/** ──────────────────────────────────────────────────────────────\n * Guidance State — Per-Flow State\n * ────────────────────────────────────────────────────────────── */\n\n/** Per-flow state */\nexport const GuidanceFlowStateSchema = z.object({\n status: z.enum(OnboardingStatus).describe('Where this flow stands. `completed`, `skipped` and `dismissed` are final: a flow in one of them is not shown again.'),\n startedAt: z.coerce.date().optional().describe('When the flow was first shown.'),\n completedAt: z.coerce.date().optional().describe('When the flow was completed.'),\n dismissedAt: z.coerce.date().optional().describe('When the flow was dismissed. Absent unless it was.'),\n /** Element-level state keyed by element ref */\n elements: z.record(z.string(), GuidanceElementStateSchema).default({}).describe('Progress on the flow\\'s individual elements, keyed by element reference. Elements not yet completed are absent.'),\n /** How many times this flow has been triggered */\n triggerCount: z.number().int().default(0).describe('How many times the flow has been shown. A first-visit flow is shown only while this is 0.'),\n});\nexport type GuidanceFlowState = z.infer<typeof GuidanceFlowStateSchema>;\n\n/** ──────────────────────────────────────────────────────────────\n * Guidance State — Top-Level Document\n * ────────────────────────────────────────────────────────────── */\n\n/** Shared guidance state payload body.\n * Scope-specific state resources extend this schema with their owning FK\n * (`userId` / `organizationId`) before persistence. */\nexport const GuidanceStateSchema = z.object({\n /** Map of flowRef → flow state */\n // USAGE — which guidance flows this person has seen and how far through. A record of what they\n // did in the product, held per user, so a notice must enumerate it.\n // RESET on erasure — returns this field to its schema default. It holds the per-flow progress map — which guidance flows this person saw and how far through each,\n // which the category above correctly declares as personal data. RESET rather than REMOVE or MASK\n // because the field is non-nullable WITH a `.default()`: REMOVE needs a clearable field and MASK\n // needs a string. The value comes from the schema, so there is no second copy to drift.\n flows: addImpersonalizeWith(\n z.record(z.string(), GuidanceFlowStateSchema).default({}).isSummaryField()\n .dataCategories(PersonalDataCategory.USAGE),\n RedactionType.RESET,\n ),\n});\nexport type GuidanceState = z.infer<typeof GuidanceStateSchema>;\n\nexport const UserGuidanceStateSchema = GuidanceStateSchema.extend({\n userId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n});\nexport type UserGuidanceState = z.infer<typeof UserGuidanceStateSchema>;\n\nexport const OrganizationGuidanceStateSchema = GuidanceStateSchema.extend({\n organizationId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n});\nexport type OrganizationGuidanceState = z.infer<typeof OrganizationGuidanceStateSchema>;\n\nexport type PersistedGuidanceState = UserGuidanceState | OrganizationGuidanceState;\n"]}
|
|
@@ -99,20 +99,20 @@ export function isValidLifecycleTransition(from, to) {
|
|
|
99
99
|
/** Record of a single stage transition */
|
|
100
100
|
export const LifecycleStageTransitionSchema = z.object({
|
|
101
101
|
/** Stage that was entered */
|
|
102
|
-
stage: z.enum(LifecycleStage),
|
|
102
|
+
stage: z.enum(LifecycleStage).describe('The stage entered.'),
|
|
103
103
|
/** When this stage was entered */
|
|
104
|
-
enteredAt: z.coerce.date(),
|
|
104
|
+
enteredAt: z.coerce.date().describe('When the stage was entered.'),
|
|
105
105
|
/** When this stage was exited (undefined if current) */
|
|
106
|
-
exitedAt: z.coerce.date().optional(),
|
|
106
|
+
exitedAt: z.coerce.date().optional().describe('When the stage was left. Absent for the current stage, and occasionally for an earlier one when two transitions happened at once.'),
|
|
107
107
|
/** What triggered this transition (milestone ref, cron, operation, etc.) */
|
|
108
|
-
trigger: z.string().optional(),
|
|
108
|
+
trigger: z.string().optional().describe('What caused the transition: `auto_create` for the initial stage, `operation:<operation>`, `milestone:<milestone>`, `guidance_completed`, `engagement_threshold`, `dormancy_cron` or `on_read_reactivation`.'),
|
|
109
109
|
});
|
|
110
110
|
/** Engagement metrics tracked while user is ACTIVATED */
|
|
111
111
|
export const LifecycleEngagementSchema = z.object({
|
|
112
112
|
/** Total operations since activation */
|
|
113
|
-
operationsSinceActivation: z.number().int().default(0),
|
|
113
|
+
operationsSinceActivation: z.number().int().default(0).describe('Operations performed while in the `activated` or `reactivated` stage. Reset to 0 on reactivation, and compared with the configured engagement threshold to move to `engaged`.'),
|
|
114
114
|
/** Distinct active dates since activation (YYYY-MM-DD strings) */
|
|
115
|
-
activeDates: z.array(z.string()).default([]),
|
|
115
|
+
activeDates: z.array(z.string()).default([]).describe('Distinct UTC calendar days (`YYYY-MM-DD`) with at least one operation while in the `activated` or `reactivated` stage. Cleared on reactivation.'),
|
|
116
116
|
});
|
|
117
117
|
/** Shared lifecycle state payload body.
|
|
118
118
|
* Scope-specific state resources extend this schema with their owning FK
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-state.shared.schemas.js","sourceRoot":"","sources":["../../../../src/guidance/lifecycle-state.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { PersonalDataCategory } from '../compliance/privacy/personal-data-category.shared.schemas';\nimport { CoreResourceType } from '../resources/resources.shared.core.definitions';\nimport { RedactionType } from '../compliance/privacy/redaction.shared.schemas';\nimport { addImpersonalizeWith } from '@wildo-ai/zod-decorators';\n\n/** ──────────────────────────────────────────────────────────────\n * Lifecycle Stage — Ordered Progression with Dormancy/Reactivation Branches\n * ────────────────────────────────────────────────────────────── */\n\n/** Lifecycle stages — ordered progression with dormancy/reactivation branches */\nexport enum LifecycleStage {\n /** User has signed up but hasn't met activation criteria */\n SIGNED_UP = 'signed_up',\n /** User has met activation criteria (reached product value) */\n ACTIVATED = 'activated',\n /** User shows sustained engagement (optional — requires engagementThreshold config) */\n ENGAGED = 'engaged',\n /** User has been inactive past the dormancy threshold */\n DORMANT = 'dormant',\n /** Previously dormant user has returned */\n REACTIVATED = 'reactivated',\n /** User has churned (billing-triggered — deferred) */\n CHURNED = 'churned',\n /** User has been fully offboarded (deferred) */\n OFFBOARDED = 'offboarded',\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Lifecycle Scope — Bi-Scope (same as guidance/progression)\n * ────────────────────────────────────────────────────────────── */\n\n/** Lifecycle state scope — bi-scope (same as guidance/progression) */\nexport enum LifecycleScope {\n USER = 'user',\n ORGANIZATION = 'organization',\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Const Maps — State Machine, Stage Sets, Scope Mappings\n * ────────────────────────────────────────────────────────────── */\n\n/** Valid state transitions — the lifecycle state machine.\n * Key = source stage, Value = valid target stages. */\nexport const LIFECYCLE_VALID_TRANSITIONS: Readonly<Record<LifecycleStage, readonly LifecycleStage[]>> = {\n [LifecycleStage.SIGNED_UP]: [LifecycleStage.ACTIVATED],\n [LifecycleStage.ACTIVATED]: [LifecycleStage.ENGAGED, LifecycleStage.DORMANT],\n [LifecycleStage.ENGAGED]: [LifecycleStage.DORMANT],\n [LifecycleStage.DORMANT]: [LifecycleStage.REACTIVATED, LifecycleStage.CHURNED],\n [LifecycleStage.REACTIVATED]: [LifecycleStage.ENGAGED, LifecycleStage.DORMANT],\n [LifecycleStage.CHURNED]: [LifecycleStage.OFFBOARDED],\n [LifecycleStage.OFFBOARDED]: [],\n} as const;\n\n/** Stages from which a user can become dormant (all active stages except SIGNED_UP) */\nexport const LIFECYCLE_DORMANCY_SOURCE_STAGES = [\n LifecycleStage.ACTIVATED,\n LifecycleStage.ENGAGED,\n LifecycleStage.REACTIVATED,\n] as const;\n\n/** Stages eligible for engagement threshold evaluation (can transition to ENGAGED) */\nexport const LIFECYCLE_ENGAGEMENT_ELIGIBLE_STAGES = [\n LifecycleStage.ACTIVATED,\n LifecycleStage.REACTIVATED,\n] as const;\n\n/** Maps LifecycleScope → corresponding CoreResourceType for lifecycle state storage */\nexport const LIFECYCLE_SCOPE_TO_RESOURCE: Readonly<Record<LifecycleScope, CoreResourceType>> = {\n [LifecycleScope.USER]: CoreResourceType.USER_LIFECYCLE_STATE,\n [LifecycleScope.ORGANIZATION]: CoreResourceType.ORGANIZATION_LIFECYCLE_STATE,\n} as const;\n\n/** Maps LifecycleScope → corresponding Progression resource type (for activation criteria eval).\n * Named to avoid collision with existing PROGRESSION_SCOPE_TO_RESOURCE in milestone-definition.shared.schemas.ts\n * (which is keyed by ProgressionScope, not LifecycleScope). */\nexport const LIFECYCLE_TO_PROGRESSION_RESOURCE: Readonly<Record<LifecycleScope, CoreResourceType>> = {\n [LifecycleScope.USER]: CoreResourceType.USER_PROGRESSION_STATE,\n [LifecycleScope.ORGANIZATION]: CoreResourceType.ORGANIZATION_PROGRESSION_STATE,\n} as const;\n\n/** Maps LifecycleScope → corresponding Guidance state resource type (for GUIDANCE_COMPLETED activation criteria). */\nexport const LIFECYCLE_TO_GUIDANCE_RESOURCE: Readonly<Record<LifecycleScope, CoreResourceType>> = {\n [LifecycleScope.USER]: CoreResourceType.USER_GUIDANCE_STATE,\n [LifecycleScope.ORGANIZATION]: CoreResourceType.ORGANIZATION_GUIDANCE_STATE,\n} as const;\n\n/** All lifecycle resource types — for conditional exclusion when lifecycle disabled\n * (same pattern as BILLING_RESOURCE_TYPES in resources.shared.core.definitions.ts) */\nexport const LIFECYCLE_RESOURCE_TYPES: ReadonlySet<CoreResourceType> = new Set([\n CoreResourceType.USER_LIFECYCLE_STATE,\n CoreResourceType.ORGANIZATION_LIFECYCLE_STATE,\n]);\n\n/** Guidance state resource types — used to detect guidance state updates for activation criteria */\nexport const GUIDANCE_STATE_RESOURCE_TYPES: ReadonlySet<CoreResourceType> = new Set([\n CoreResourceType.USER_GUIDANCE_STATE,\n CoreResourceType.ORGANIZATION_GUIDANCE_STATE,\n]);\n\n/** ──────────────────────────────────────────────────────────────\n * Utility Functions\n * ────────────────────────────────────────────────────────────── */\n\n/** Validate if a lifecycle transition is valid per the state machine. */\nexport function isValidLifecycleTransition(from: LifecycleStage, to: LifecycleStage): boolean {\n return LIFECYCLE_VALID_TRANSITIONS[from]?.includes(to) ?? false;\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Zod Schemas — Lifecycle State Document\n * ────────────────────────────────────────────────────────────── */\n\n/** Record of a single stage transition */\nexport const LifecycleStageTransitionSchema = z.object({\n /** Stage that was entered */\n stage: z.enum(LifecycleStage),\n /** When this stage was entered */\n enteredAt: z.coerce.date(),\n /** When this stage was exited (undefined if current) */\n exitedAt: z.coerce.date().optional(),\n /** What triggered this transition (milestone ref, cron, operation, etc.) */\n trigger: z.string().optional(),\n});\nexport type LifecycleStageTransition = z.infer<typeof LifecycleStageTransitionSchema>;\n\n/** Engagement metrics tracked while user is ACTIVATED */\nexport const LifecycleEngagementSchema = z.object({\n /** Total operations since activation */\n operationsSinceActivation: z.number().int().default(0),\n /** Distinct active dates since activation (YYYY-MM-DD strings) */\n activeDates: z.array(z.string()).default([]),\n});\nexport type LifecycleEngagement = z.infer<typeof LifecycleEngagementSchema>;\n\n/** Shared lifecycle state payload body.\n * Scope-specific state resources extend this schema with their owning FK\n * (`userId` / `organizationId`) before persistence. */\nexport const LifecycleStateSchema = z.object({\n /** Current lifecycle stage */\n // USAGE across the block below — a lifecycle stage, its history, and an engagement score are all\n // observations the product made ABOUT this person's behaviour.\n // RESET on erasure — returns this field to its schema default. It holds the lifecycle stage this person reached,\n // which the category above correctly declares as personal data. RESET rather than REMOVE or MASK\n // because the field is non-nullable WITH a `.default()`: REMOVE needs a clearable field and MASK\n // needs a string. The value comes from the schema, so there is no second copy to drift.\n currentStage: addImpersonalizeWith(\n z.enum(LifecycleStage).default(LifecycleStage.SIGNED_UP).isSummaryField()\n .dataCategories(PersonalDataCategory.USAGE),\n RedactionType.RESET,\n ),\n /** When the current stage was entered. `.default(now)` so the row is\n * eager-seedable via onParentCreate (the evaluator still supplies it explicitly). */\n stageEnteredAt: z.coerce.date().default(() => new Date()),\n /** History of stage transitions (most recent first, capped at last 20) */\n // RESET on erasure — returns this field to its schema default. It holds the transition history — when they moved between stages,\n // which the category above correctly declares as personal data. RESET rather than REMOVE or MASK\n // because the field is non-nullable WITH a `.default()`: REMOVE needs a clearable field and MASK\n // needs a string. The value comes from the schema, so there is no second copy to drift.\n stageHistory: addImpersonalizeWith(\n z.array(LifecycleStageTransitionSchema).default([]).dataCategories(PersonalDataCategory.USAGE),\n RedactionType.RESET,\n ),\n /** Deduplicated set of all stages ever visited (survives stageHistory cap).\n * Used by `hasReachedStage()` for reliable stage visitation checks. */\n stagesVisited: z.array(z.enum(LifecycleStage)).default([]),\n /** Last activity timestamp (updated on operations, debounced ~30 min).\n * `.default(now)` so the row is eager-seedable via onParentCreate. */\n // NO treatment, deliberately — and this is a CHOICE the RESET guard forced rather than an omission.\n //\n // This field's default reads the clock (`.default(() => new Date())`, so a row is eager-seedable via\n // onParentCreate). RESET would therefore write a value generated BY the erasure, recording the erased\n // person as active at the moment they were erased — fabricating information rather than removing it.\n // The guard refuses that outright.\n //\n // Of its two suggested remedies, neither is right here. A static `new Date(0)` default would change\n // what every LIVE row means, not just erased ones — the lifecycle evaluator reads this to decide\n // engagement, so a new member would read as inactive since 1970. Making it nullable + REMOVE pushes\n // an `undefined` onto every consumer of a field that has always held a value.\n //\n // So the timestamp is RETAINED, and the notice can say so plainly. The mode is satisfied by\n // `currentStage` and `stageHistory`, which carry the behavioural detail; a bare timestamp attached to\n // a subject whose identity row has been scrubbed discloses very little on its own.\n lastActiveAt: z.coerce.date().default(() => new Date()).dataCategories(PersonalDataCategory.USAGE),\n /** Which activation criteria have been met (keyed by criterion ref) */\n activationCriteriaMet: z.record(z.string(), z.boolean()).default({}),\n /** Engagement metrics (tracked while ACTIVATED, used for ENGAGED transition) */\n engagement: LifecycleEngagementSchema.default({\n operationsSinceActivation: 0,\n activeDates: [],\n }),\n});\nexport type LifecycleState = z.infer<typeof LifecycleStateSchema>;\n\nexport const UserLifecycleStateSchema = LifecycleStateSchema.extend({\n // `.isUnique()` = idempotency backstop for onParentCreate seeding (one row per user;\n // the evaluator's read-then-create already tolerates the unique conflict).\n userId: z.string().min(1).isDBIndexed().isUnique().isForeignKey().isSummaryField().excludeFromUpdate(),\n});\nexport type UserLifecycleState = z.infer<typeof UserLifecycleStateSchema>;\n\nexport const OrganizationLifecycleStateSchema = LifecycleStateSchema.extend({\n // `.isUnique()` = idempotency backstop for onParentCreate seeding (one row per org).\n organizationId: z.string().min(1).isDBIndexed().isUnique().isForeignKey().isSummaryField().excludeFromUpdate(),\n});\nexport type OrganizationLifecycleState = z.infer<typeof OrganizationLifecycleStateSchema>;\n\nexport type PersistedLifecycleState = UserLifecycleState | OrganizationLifecycleState;\n\n/** ──────────────────────────────────────────────────────────────\n * Stage History Utility\n * ────────────────────────────────────────────────────────────── */\n\n/** Check if the user has ACTUALLY visited a given stage (not a linear comparison).\n * Uses `stagesVisited` for reliable lookups that survive the stageHistory cap.\n * Falls back to `stageHistory` for documents created before `stagesVisited` was added. */\nexport function hasReachedStage(state: LifecycleState, targetStage: LifecycleStage): boolean {\n if (state.currentStage === targetStage) return true;\n if (state.stagesVisited?.length) {\n return state.stagesVisited.includes(targetStage);\n }\n return state.stageHistory.some(entry => entry.stage === targetStage);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"lifecycle-state.shared.schemas.js","sourceRoot":"","sources":["../../../../src/guidance/lifecycle-state.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { PersonalDataCategory } from '../compliance/privacy/personal-data-category.shared.schemas';\nimport { CoreResourceType } from '../resources/resources.shared.core.definitions';\nimport { RedactionType } from '../compliance/privacy/redaction.shared.schemas';\nimport { addImpersonalizeWith } from '@wildo-ai/zod-decorators';\n\n/** ──────────────────────────────────────────────────────────────\n * Lifecycle Stage — Ordered Progression with Dormancy/Reactivation Branches\n * ────────────────────────────────────────────────────────────── */\n\n/** Lifecycle stages — ordered progression with dormancy/reactivation branches */\nexport enum LifecycleStage {\n /** User has signed up but hasn't met activation criteria */\n SIGNED_UP = 'signed_up',\n /** User has met activation criteria (reached product value) */\n ACTIVATED = 'activated',\n /** User shows sustained engagement (optional — requires engagementThreshold config) */\n ENGAGED = 'engaged',\n /** User has been inactive past the dormancy threshold */\n DORMANT = 'dormant',\n /** Previously dormant user has returned */\n REACTIVATED = 'reactivated',\n /** User has churned (billing-triggered — deferred) */\n CHURNED = 'churned',\n /** User has been fully offboarded (deferred) */\n OFFBOARDED = 'offboarded',\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Lifecycle Scope — Bi-Scope (same as guidance/progression)\n * ────────────────────────────────────────────────────────────── */\n\n/** Lifecycle state scope — bi-scope (same as guidance/progression) */\nexport enum LifecycleScope {\n USER = 'user',\n ORGANIZATION = 'organization',\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Const Maps — State Machine, Stage Sets, Scope Mappings\n * ────────────────────────────────────────────────────────────── */\n\n/** Valid state transitions — the lifecycle state machine.\n * Key = source stage, Value = valid target stages. */\nexport const LIFECYCLE_VALID_TRANSITIONS: Readonly<Record<LifecycleStage, readonly LifecycleStage[]>> = {\n [LifecycleStage.SIGNED_UP]: [LifecycleStage.ACTIVATED],\n [LifecycleStage.ACTIVATED]: [LifecycleStage.ENGAGED, LifecycleStage.DORMANT],\n [LifecycleStage.ENGAGED]: [LifecycleStage.DORMANT],\n [LifecycleStage.DORMANT]: [LifecycleStage.REACTIVATED, LifecycleStage.CHURNED],\n [LifecycleStage.REACTIVATED]: [LifecycleStage.ENGAGED, LifecycleStage.DORMANT],\n [LifecycleStage.CHURNED]: [LifecycleStage.OFFBOARDED],\n [LifecycleStage.OFFBOARDED]: [],\n} as const;\n\n/** Stages from which a user can become dormant (all active stages except SIGNED_UP) */\nexport const LIFECYCLE_DORMANCY_SOURCE_STAGES = [\n LifecycleStage.ACTIVATED,\n LifecycleStage.ENGAGED,\n LifecycleStage.REACTIVATED,\n] as const;\n\n/** Stages eligible for engagement threshold evaluation (can transition to ENGAGED) */\nexport const LIFECYCLE_ENGAGEMENT_ELIGIBLE_STAGES = [\n LifecycleStage.ACTIVATED,\n LifecycleStage.REACTIVATED,\n] as const;\n\n/** Maps LifecycleScope → corresponding CoreResourceType for lifecycle state storage */\nexport const LIFECYCLE_SCOPE_TO_RESOURCE: Readonly<Record<LifecycleScope, CoreResourceType>> = {\n [LifecycleScope.USER]: CoreResourceType.USER_LIFECYCLE_STATE,\n [LifecycleScope.ORGANIZATION]: CoreResourceType.ORGANIZATION_LIFECYCLE_STATE,\n} as const;\n\n/** Maps LifecycleScope → corresponding Progression resource type (for activation criteria eval).\n * Named to avoid collision with existing PROGRESSION_SCOPE_TO_RESOURCE in milestone-definition.shared.schemas.ts\n * (which is keyed by ProgressionScope, not LifecycleScope). */\nexport const LIFECYCLE_TO_PROGRESSION_RESOURCE: Readonly<Record<LifecycleScope, CoreResourceType>> = {\n [LifecycleScope.USER]: CoreResourceType.USER_PROGRESSION_STATE,\n [LifecycleScope.ORGANIZATION]: CoreResourceType.ORGANIZATION_PROGRESSION_STATE,\n} as const;\n\n/** Maps LifecycleScope → corresponding Guidance state resource type (for GUIDANCE_COMPLETED activation criteria). */\nexport const LIFECYCLE_TO_GUIDANCE_RESOURCE: Readonly<Record<LifecycleScope, CoreResourceType>> = {\n [LifecycleScope.USER]: CoreResourceType.USER_GUIDANCE_STATE,\n [LifecycleScope.ORGANIZATION]: CoreResourceType.ORGANIZATION_GUIDANCE_STATE,\n} as const;\n\n/** All lifecycle resource types — for conditional exclusion when lifecycle disabled\n * (same pattern as BILLING_RESOURCE_TYPES in resources.shared.core.definitions.ts) */\nexport const LIFECYCLE_RESOURCE_TYPES: ReadonlySet<CoreResourceType> = new Set([\n CoreResourceType.USER_LIFECYCLE_STATE,\n CoreResourceType.ORGANIZATION_LIFECYCLE_STATE,\n]);\n\n/** Guidance state resource types — used to detect guidance state updates for activation criteria */\nexport const GUIDANCE_STATE_RESOURCE_TYPES: ReadonlySet<CoreResourceType> = new Set([\n CoreResourceType.USER_GUIDANCE_STATE,\n CoreResourceType.ORGANIZATION_GUIDANCE_STATE,\n]);\n\n/** ──────────────────────────────────────────────────────────────\n * Utility Functions\n * ────────────────────────────────────────────────────────────── */\n\n/** Validate if a lifecycle transition is valid per the state machine. */\nexport function isValidLifecycleTransition(from: LifecycleStage, to: LifecycleStage): boolean {\n return LIFECYCLE_VALID_TRANSITIONS[from]?.includes(to) ?? false;\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Zod Schemas — Lifecycle State Document\n * ────────────────────────────────────────────────────────────── */\n\n/** Record of a single stage transition */\nexport const LifecycleStageTransitionSchema = z.object({\n /** Stage that was entered */\n stage: z.enum(LifecycleStage).describe('The stage entered.'),\n /** When this stage was entered */\n enteredAt: z.coerce.date().describe('When the stage was entered.'),\n /** When this stage was exited (undefined if current) */\n exitedAt: z.coerce.date().optional().describe('When the stage was left. Absent for the current stage, and occasionally for an earlier one when two transitions happened at once.'),\n /** What triggered this transition (milestone ref, cron, operation, etc.) */\n trigger: z.string().optional().describe('What caused the transition: `auto_create` for the initial stage, `operation:<operation>`, `milestone:<milestone>`, `guidance_completed`, `engagement_threshold`, `dormancy_cron` or `on_read_reactivation`.'),\n});\nexport type LifecycleStageTransition = z.infer<typeof LifecycleStageTransitionSchema>;\n\n/** Engagement metrics tracked while user is ACTIVATED */\nexport const LifecycleEngagementSchema = z.object({\n /** Total operations since activation */\n operationsSinceActivation: z.number().int().default(0).describe('Operations performed while in the `activated` or `reactivated` stage. Reset to 0 on reactivation, and compared with the configured engagement threshold to move to `engaged`.'),\n /** Distinct active dates since activation (YYYY-MM-DD strings) */\n activeDates: z.array(z.string()).default([]).describe('Distinct UTC calendar days (`YYYY-MM-DD`) with at least one operation while in the `activated` or `reactivated` stage. Cleared on reactivation.'),\n});\nexport type LifecycleEngagement = z.infer<typeof LifecycleEngagementSchema>;\n\n/** Shared lifecycle state payload body.\n * Scope-specific state resources extend this schema with their owning FK\n * (`userId` / `organizationId`) before persistence. */\nexport const LifecycleStateSchema = z.object({\n /** Current lifecycle stage */\n // USAGE across the block below — a lifecycle stage, its history, and an engagement score are all\n // observations the product made ABOUT this person's behaviour.\n // RESET on erasure — returns this field to its schema default. It holds the lifecycle stage this person reached,\n // which the category above correctly declares as personal data. RESET rather than REMOVE or MASK\n // because the field is non-nullable WITH a `.default()`: REMOVE needs a clearable field and MASK\n // needs a string. The value comes from the schema, so there is no second copy to drift.\n currentStage: addImpersonalizeWith(\n z.enum(LifecycleStage).default(LifecycleStage.SIGNED_UP).isSummaryField()\n .dataCategories(PersonalDataCategory.USAGE),\n RedactionType.RESET,\n ),\n /** When the current stage was entered. `.default(now)` so the row is\n * eager-seedable via onParentCreate (the evaluator still supplies it explicitly). */\n stageEnteredAt: z.coerce.date().default(() => new Date()),\n /** History of stage transitions (most recent first, capped at last 20) */\n // RESET on erasure — returns this field to its schema default. It holds the transition history — when they moved between stages,\n // which the category above correctly declares as personal data. RESET rather than REMOVE or MASK\n // because the field is non-nullable WITH a `.default()`: REMOVE needs a clearable field and MASK\n // needs a string. The value comes from the schema, so there is no second copy to drift.\n stageHistory: addImpersonalizeWith(\n z.array(LifecycleStageTransitionSchema).default([]).dataCategories(PersonalDataCategory.USAGE),\n RedactionType.RESET,\n ),\n /** Deduplicated set of all stages ever visited (survives stageHistory cap).\n * Used by `hasReachedStage()` for reliable stage visitation checks. */\n stagesVisited: z.array(z.enum(LifecycleStage)).default([]),\n /** Last activity timestamp (updated on operations, debounced ~30 min).\n * `.default(now)` so the row is eager-seedable via onParentCreate. */\n // NO treatment, deliberately — and this is a CHOICE the RESET guard forced rather than an omission.\n //\n // This field's default reads the clock (`.default(() => new Date())`, so a row is eager-seedable via\n // onParentCreate). RESET would therefore write a value generated BY the erasure, recording the erased\n // person as active at the moment they were erased — fabricating information rather than removing it.\n // The guard refuses that outright.\n //\n // Of its two suggested remedies, neither is right here. A static `new Date(0)` default would change\n // what every LIVE row means, not just erased ones — the lifecycle evaluator reads this to decide\n // engagement, so a new member would read as inactive since 1970. Making it nullable + REMOVE pushes\n // an `undefined` onto every consumer of a field that has always held a value.\n //\n // So the timestamp is RETAINED, and the notice can say so plainly. The mode is satisfied by\n // `currentStage` and `stageHistory`, which carry the behavioural detail; a bare timestamp attached to\n // a subject whose identity row has been scrubbed discloses very little on its own.\n lastActiveAt: z.coerce.date().default(() => new Date()).dataCategories(PersonalDataCategory.USAGE),\n /** Which activation criteria have been met (keyed by criterion ref) */\n activationCriteriaMet: z.record(z.string(), z.boolean()).default({}),\n /** Engagement metrics (tracked while ACTIVATED, used for ENGAGED transition) */\n engagement: LifecycleEngagementSchema.default({\n operationsSinceActivation: 0,\n activeDates: [],\n }),\n});\nexport type LifecycleState = z.infer<typeof LifecycleStateSchema>;\n\nexport const UserLifecycleStateSchema = LifecycleStateSchema.extend({\n // `.isUnique()` = idempotency backstop for onParentCreate seeding (one row per user;\n // the evaluator's read-then-create already tolerates the unique conflict).\n userId: z.string().min(1).isDBIndexed().isUnique().isForeignKey().isSummaryField().excludeFromUpdate(),\n});\nexport type UserLifecycleState = z.infer<typeof UserLifecycleStateSchema>;\n\nexport const OrganizationLifecycleStateSchema = LifecycleStateSchema.extend({\n // `.isUnique()` = idempotency backstop for onParentCreate seeding (one row per org).\n organizationId: z.string().min(1).isDBIndexed().isUnique().isForeignKey().isSummaryField().excludeFromUpdate(),\n});\nexport type OrganizationLifecycleState = z.infer<typeof OrganizationLifecycleStateSchema>;\n\nexport type PersistedLifecycleState = UserLifecycleState | OrganizationLifecycleState;\n\n/** ──────────────────────────────────────────────────────────────\n * Stage History Utility\n * ────────────────────────────────────────────────────────────── */\n\n/** Check if the user has ACTUALLY visited a given stage (not a linear comparison).\n * Uses `stagesVisited` for reliable lookups that survive the stageHistory cap.\n * Falls back to `stageHistory` for documents created before `stagesVisited` was added. */\nexport function hasReachedStage(state: LifecycleState, targetStage: LifecycleStage): boolean {\n if (state.currentStage === targetStage) return true;\n if (state.stagesVisited?.length) {\n return state.stagesVisited.includes(targetStage);\n }\n return state.stageHistory.some(entry => entry.stage === targetStage);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progression-state.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/guidance/progression-state.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;oEAEoE;AAEpE,+CAA+C;AAC/C,eAAO,MAAM,kCAAkC;;;iBAK7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F;;oEAEoE;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,sBAAsB;;;;
|
|
1
|
+
{"version":3,"file":"progression-state.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/guidance/progression-state.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;oEAEoE;AAEpE,+CAA+C;AAC/C,eAAO,MAAM,kCAAkC;;;iBAK7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F;;oEAEoE;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,sBAAsB;;;;iBAejC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;oEAEoE;AAEpE,uCAAuC;AACvC,eAAO,MAAM,iCAAiC;;;iBAK5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F;;oEAEoE;AAEpE;;wDAEwD;AACxD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;iBA8CjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;iBAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;iBAE7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,MAAM,MAAM,yBAAyB,GAAG,oBAAoB,GAAG,4BAA4B,CAAC"}
|
|
@@ -8,9 +8,9 @@ import { addImpersonalizeWith } from '@wildo-ai/zod-decorators';
|
|
|
8
8
|
/** Record of a single milestone achievement */
|
|
9
9
|
export const ProgressionMilestoneAchievedSchema = z.object({
|
|
10
10
|
/** When the milestone was achieved */
|
|
11
|
-
achievedAt: z.coerce.date(),
|
|
11
|
+
achievedAt: z.coerce.date().describe('When the milestone was achieved.'),
|
|
12
12
|
/** How many times the triggering operation occurred (for COUNT_THRESHOLD context) */
|
|
13
|
-
count: z.number().int().default(0),
|
|
13
|
+
count: z.number().int().default(0).describe('How many times the milestone\'s triggering operation had been performed when the milestone was achieved.'),
|
|
14
14
|
});
|
|
15
15
|
/** ──────────────────────────────────────────────────────────────
|
|
16
16
|
* Progression State — Value Moment Record
|
|
@@ -47,14 +47,15 @@ export const ValueMomentStateSchema = z.object({
|
|
|
47
47
|
* on the first signal and never needs this, but it is recorded for both so a moment whose mode is
|
|
48
48
|
* changed after the fact does not silently lose the progress it already had.
|
|
49
49
|
*/
|
|
50
|
-
signalsObserved: z.array(z.string()).default([]),
|
|
50
|
+
signalsObserved: z.array(z.string()).default([]).describe('Signals observed so far. A signal that must occur several times is added once it reaches that count. The moment fires when any signal, or every signal, has been observed, depending on its mode.'),
|
|
51
51
|
/** Matching event occurrences per path-safe signal identity, accumulated per moment and scope.
|
|
52
52
|
* Optional for existing state rows; absent counts mean zero. Ordinary moment counters share the
|
|
53
53
|
* progression record's retention/erasure lifecycle. Anti-pattern counts remain instance-local.
|
|
54
54
|
*/
|
|
55
|
-
signalOccurrenceCounts: z.record(z.string(), z.number().int().nonnegative()).optional()
|
|
55
|
+
signalOccurrenceCounts: z.record(z.string(), z.number().int().nonnegative()).optional()
|
|
56
|
+
.describe('Occurrences counted per signal, kept only for signals that must occur more than once before they count as observed. A missing count means zero.'),
|
|
56
57
|
/** When the moment fired. Absent while it is still accumulating signals. */
|
|
57
|
-
achievedAt: z.coerce.date().optional(),
|
|
58
|
+
achievedAt: z.coerce.date().optional().describe('When the value moment fired. Absent while it is still collecting signals.'),
|
|
58
59
|
});
|
|
59
60
|
/** ──────────────────────────────────────────────────────────────
|
|
60
61
|
* Progression State — Per-Category Aggregated Progress
|
|
@@ -62,9 +63,9 @@ export const ValueMomentStateSchema = z.object({
|
|
|
62
63
|
/** Per-category aggregated progress */
|
|
63
64
|
export const ProgressionCategoryProgressSchema = z.object({
|
|
64
65
|
/** Number of milestones completed in this category */
|
|
65
|
-
completedCount: z.number().int().default(0),
|
|
66
|
+
completedCount: z.number().int().default(0).describe('Number of milestones achieved in this category.'),
|
|
66
67
|
/** Total points earned in this category */
|
|
67
|
-
totalPoints: z.number().int().default(0),
|
|
68
|
+
totalPoints: z.number().int().default(0).describe('Points earned from the milestones achieved in this category.'),
|
|
68
69
|
});
|
|
69
70
|
/** ──────────────────────────────────────────────────────────────
|
|
70
71
|
* Progression State — Top-Level Document
|