@wildo-ai/saas-models 1.1.3 → 1.1.5
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-metadata.shared.resources-config.schemas.d.ts +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +2 -2
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications-context.schemas.d.ts +236 -18
- package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.js +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.d.ts +3 -2
- package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.js +40 -5
- package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +1 -2
- 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 +1 -2
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts +87 -5
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.js +91 -5
- package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.d.ts +25 -4
- package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.js +61 -0
- package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
- package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/price.shared.resources-config.schemas.js +32 -2
- package/dist/esm/billing/price.shared.resources-config.schemas.js.map +1 -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 +1 -1
- package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
- package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.resources-config.schemas.js +32 -2
- package/dist/esm/billing/product.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/product.shared.schemas.d.ts +1 -0
- package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product.shared.schemas.js +3 -0
- package/dist/esm/billing/product.shared.schemas.js.map +1 -1
- package/dist/esm/billing/promotions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/promotions.shared.resources-config.schemas.js +33 -3
- package/dist/esm/billing/promotions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.resources-config.schemas.js +22 -2
- package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.d.ts +1 -0
- package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.js +3 -0
- package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
- package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +23 -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 +48 -2
- package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.d.ts +1 -0
- package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.js +3 -0
- package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
- package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts +49 -0
- package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts.map +1 -0
- package/dist/esm/billing/usage-flush-evidence.shared.schemas.js +48 -0
- package/dist/esm/billing/usage-flush-evidence.shared.schemas.js.map +1 -0
- package/dist/esm/billing/usage-record.shared.schemas.d.ts +1 -0
- package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/usage-record.shared.schemas.js +3 -0
- package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +8 -0
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +14 -3
- 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 +21 -7
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +450 -0
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +723 -0
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +2 -2
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +8 -0
- 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 +15 -0
- 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 +787 -21
- 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 +1079 -26
- 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.map +1 -1
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +51 -0
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
- package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts +463 -0
- package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js +526 -0
- package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts +539 -15
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.js +402 -14
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts +18 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js +89 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts +47 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js +73 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +21 -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 +39 -1
- package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts +33 -0
- package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js +30 -0
- package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js.map +1 -0
- package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts +6 -5
- package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/client-storage.shared.schemas.js +15 -5
- package/dist/esm/compliance/privacy/client-storage.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts +127 -0
- package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js +94 -0
- package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts +125 -0
- package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/consent-purposes.shared.js +136 -0
- package/dist/esm/compliance/privacy/consent-purposes.shared.js.map +1 -0
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +91 -0
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +123 -0
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts +27 -0
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js +36 -2
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +68 -25
- 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 +74 -22
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts +9 -17
- package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.js +74 -31
- package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts +47 -0
- package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js +98 -0
- package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +368 -35
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +403 -17
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/review-cadence.shared.schemas.d.ts +56 -0
- package/dist/esm/compliance/review-cadence.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/review-cadence.shared.schemas.js +71 -0
- package/dist/esm/compliance/review-cadence.shared.schemas.js.map +1 -0
- package/dist/esm/compliance/risk-posture.shared.schemas.d.ts +161 -0
- package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -0
- package/dist/esm/compliance/risk-posture.shared.schemas.js +166 -0
- package/dist/esm/compliance/risk-posture.shared.schemas.js.map +1 -0
- package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts +4 -3
- package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/analytics-value-moments.shared.schemas.js +4 -3
- package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +222 -9
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.js +232 -9
- package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
- package/dist/esm/config/auth-config-resolution.shared.utils.d.ts +75 -3
- package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
- package/dist/esm/config/auth-config-resolution.shared.utils.js +93 -4
- package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
- package/dist/esm/config/brand-assets.shared.schemas.d.ts +5 -4
- package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/brand-assets.shared.schemas.js +14 -4
- package/dist/esm/config/brand-assets.shared.schemas.js.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +463 -19
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.js +535 -28
- package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +14 -14
- package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts +139 -3
- package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
- package/dist/esm/config/frontend/chart-registration-alignment.shared.js +151 -4
- package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +21 -17
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/navigation.shared.schemas.js +58 -40
- package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts +90 -133
- package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/onboarding.shared.schemas.js +148 -100
- package/dist/esm/config/frontend/onboarding.shared.schemas.js.map +1 -1
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +146 -43
- 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 +147 -42
- package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
- package/dist/esm/errors/errors.shared.definitions.js +1 -1
- package/dist/esm/errors/errors.shared.definitions.js.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.d.ts +29 -40
- package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.js +37 -54
- package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
- package/dist/esm/errors/errors.shared.utils.d.ts +24 -0
- package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.utils.js +39 -0
- package/dist/esm/errors/errors.shared.utils.js.map +1 -1
- package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +27 -0
- package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -0
- package/dist/esm/errors/thrown-value-description.shared.utils.js +67 -0
- package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -0
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +48 -73
- 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 +103 -9
- package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
- package/dist/esm/external-data.exports.d.ts +1 -0
- package/dist/esm/external-data.exports.d.ts.map +1 -1
- package/dist/esm/external-data.exports.js +1 -0
- package/dist/esm/external-data.exports.js.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +18 -12
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +18 -12
- 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 +5 -3
- 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 +5 -3
- 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 +77 -0
- package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -0
- package/dist/esm/external-providers/engine-capability-surface.shared.js +173 -0
- package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -0
- package/dist/esm/external-providers/external-providers.shared.schemas.d.ts +2 -0
- package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/external-providers.shared.schemas.js +21 -0
- package/dist/esm/external-providers/external-providers.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +131 -7
- 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 +114 -0
- 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 +148 -0
- package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +108 -0
- 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 +86 -0
- 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 +184 -0
- package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -0
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js +216 -0
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -0
- package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts +30 -0
- package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js +32 -0
- package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +86 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +85 -0
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -0
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +14 -13
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-capability.shared.schemas.js +10 -10
- 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 +18 -8
- 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 +10 -4
- 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 +165 -0
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -0
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +39 -0
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -0
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +7 -5
- 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 +7 -5
- 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 +8 -5
- package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-metadata.shared.schemas.js +5 -2
- package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
- package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +2 -0
- 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 +42 -3
- package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/features/connected-feature.example.d.ts +64 -0
- package/dist/esm/features/connected-feature.example.d.ts.map +1 -0
- package/dist/esm/features/connected-feature.example.js +86 -0
- package/dist/esm/features/connected-feature.example.js.map +1 -0
- package/dist/esm/features/scope-features.shared.schemas.d.ts +53 -0
- package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.js +37 -0
- package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
- package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +1 -1
- package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/features/user-features.shared.resources-config.schemas.js +42 -48
- package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts +73 -0
- package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -0
- package/dist/esm/files/file-remote-reference-link.shared.schemas.js +62 -0
- package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -0
- package/dist/esm/files/files.shared.resources-config.schemas.d.ts +3 -3
- package/dist/esm/files/files.shared.resources-config.schemas.js +3 -3
- package/dist/esm/files/files.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts +152 -129
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.js +99 -2
- package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +6 -0
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agents.shared.schemas.d.ts +3 -3
- package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agents.shared.schemas.js +11 -5
- package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts +13 -0
- package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts +45 -0
- package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts.map +1 -0
- package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js +51 -0
- package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js.map +1 -0
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +31 -0
- 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 +61 -3
- package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts +2 -2
- package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +16 -8
- 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 +23 -11
- 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 -189
- 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 +14 -50
- 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 +0 -3
- 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 +0 -1
- package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +1 -67
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js +1 -2
- package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts +0 -1
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +121 -0
- package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/human-decision.shared.schemas.js +252 -0
- package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts +2 -0
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.js +13 -0
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +24 -0
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +80 -0
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +123 -0
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -0
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +181 -0
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -0
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +58 -81
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.js +75 -38
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.js.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +217 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +230 -0
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -0
- package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts +106 -24
- package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-flow.shared.schemas.js +152 -14
- package/dist/esm/guidance/guidance-flow.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts +0 -6
- package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.schemas.js +0 -19
- package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/milestone-builders.shared.d.ts +4 -2
- package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
- package/dist/esm/guidance/milestone-builders.shared.js +4 -2
- package/dist/esm/guidance/milestone-builders.shared.js.map +1 -1
- package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts +66 -4
- package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/milestone-definition.shared.schemas.js +50 -0
- package/dist/esm/guidance/milestone-definition.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts +71 -0
- package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts.map +1 -0
- package/dist/esm/guidance/progression-presentation.shared.schemas.js +72 -0
- package/dist/esm/guidance/progression-presentation.shared.schemas.js.map +1 -0
- package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts +2 -0
- package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.d.ts +4 -0
- package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.js +5 -0
- package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +2 -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 +181 -412
- 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 +249 -199
- package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +107 -0
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -0
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +108 -0
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -0
- package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts +38 -0
- package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts.map +1 -0
- package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js +42 -0
- package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js.map +1 -0
- package/dist/esm/index.d.ts +47 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +77 -16
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts +130 -0
- package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js +104 -0
- package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/decisions.meta-workflows.shared.schemas.d.ts +64 -0
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/decisions.meta-workflows.shared.schemas.js +47 -0
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +544 -0
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +638 -0
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/portable-primitives.meta-workflows.shared.schemas.d.ts +15 -8
- package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/portable-primitives.meta-workflows.shared.schemas.js +15 -8
- package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/meta-workflows.exports.d.ts +21 -25
- package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
- package/dist/esm/meta-workflows.exports.js +21 -25
- package/dist/esm/meta-workflows.exports.js.map +1 -1
- package/dist/esm/notifications/email/email-submission.shared.enums.d.ts +16 -0
- package/dist/esm/notifications/email/email-submission.shared.enums.d.ts.map +1 -0
- package/dist/esm/notifications/email/email-submission.shared.enums.js +17 -0
- package/dist/esm/notifications/email/email-submission.shared.enums.js.map +1 -0
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +36 -0
- 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 +50 -3
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
- 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 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts +2 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js +3 -2
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js.map +1 -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 +44 -3
- package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts +1 -1
- package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js +12 -33
- package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.d.ts +68 -6
- package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.js +68 -6
- package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts +145 -0
- package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts.map +1 -0
- package/dist/esm/organizations/application-owner-organization.shared.schemas.js +146 -0
- package/dist/esm/organizations/application-owner-organization.shared.schemas.js.map +1 -0
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +2 -0
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +39 -3
- 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 +1 -1
- 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 +18 -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 +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.js +9 -1
- package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts +2 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.js +3 -0
- package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +3 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.js +4 -2
- package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts +29 -2
- package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.js +27 -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 +2 -0
- 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 +3 -0
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-units.shared.schemas.d.ts +17 -5
- package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-units.shared.schemas.js +65 -5
- package/dist/esm/organizations/organization-units.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +51 -7
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +151 -7
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.d.ts +18 -83
- package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.js +37 -19
- package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +13 -0
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +13 -0
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.d.ts +1 -0
- package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.js +1 -0
- package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
- package/dist/esm/public-runtime/index.d.ts +53 -2
- package/dist/esm/public-runtime/index.d.ts.map +1 -1
- package/dist/esm/public-runtime/index.js +45 -2
- package/dist/esm/public-runtime/index.js.map +1 -1
- package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts +7 -8
- package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.resources-config.schemas.js +30 -6
- package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.d.ts +388 -2
- package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.js +315 -11
- package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
- package/dist/esm/queue/jobs.shared.utils.d.ts +6 -4
- package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.utils.js +5 -4
- package/dist/esm/queue/jobs.shared.utils.js.map +1 -1
- package/dist/esm/queue/queues.shared.schemas.d.ts +20 -8
- package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/queues.shared.schemas.js +23 -18
- package/dist/esm/queue/queues.shared.schemas.js.map +1 -1
- package/dist/esm/queue/queues.shared.utils.d.ts +4 -2
- package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
- package/dist/esm/queue/queues.shared.utils.js +4 -2
- package/dist/esm/queue/queues.shared.utils.js.map +1 -1
- package/dist/esm/rag/rag-retrieval-health.shared.d.ts +27 -0
- package/dist/esm/rag/rag-retrieval-health.shared.d.ts.map +1 -0
- package/dist/esm/rag/rag-retrieval-health.shared.js +29 -0
- package/dist/esm/rag/rag-retrieval-health.shared.js.map +1 -0
- 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/idempotency-key.shared.d.ts +76 -0
- package/dist/esm/requests/idempotency-key.shared.d.ts.map +1 -0
- package/dist/esm/requests/idempotency-key.shared.js +112 -0
- package/dist/esm/requests/idempotency-key.shared.js.map +1 -0
- package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.js +275 -20
- package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts +134 -0
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.js +153 -0
- package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.d.ts +198 -20
- package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.js +236 -5
- package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
- package/dist/esm/resources/child-operations.shared.schemas.d.ts +56 -5
- package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/child-operations.shared.schemas.js +97 -5
- package/dist/esm/resources/child-operations.shared.schemas.js.map +1 -1
- package/dist/esm/resources/context-policy.shared.schemas.d.ts +20 -0
- package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/context-policy.shared.schemas.js +3 -0
- package/dist/esm/resources/context-policy.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.js +596 -34
- package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.d.ts +665 -40
- package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.js +315 -22
- 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 +431 -69
- package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.d.ts +36 -0
- package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.js +46 -0
- package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.d.ts +256 -10
- package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.js +209 -9
- package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources.shared.utils.d.ts +34 -8
- package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.utils.js +69 -12
- package/dist/esm/resources/resources.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts +44 -12
- package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/composition-cascade-deletability.validation.js +46 -23
- package/dist/esm/resources/utils/composition-cascade-deletability.validation.js.map +1 -1
- package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts +61 -0
- package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts.map +1 -0
- package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js +79 -0
- package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js.map +1 -0
- package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts +60 -0
- package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts.map +1 -0
- package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js +80 -0
- package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js.map +1 -0
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts +21 -0
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -0
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +159 -0
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -0
- package/dist/esm/resources/utils/resources-config-naming.utils.d.ts +15 -0
- package/dist/esm/resources/utils/resources-config-naming.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-naming.utils.js +56 -11
- package/dist/esm/resources/utils/resources-config-naming.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +51 -1
- 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 +210 -51
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts +34 -0
- package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js +45 -1
- package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts +29 -0
- package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js +30 -0
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
- package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js +49 -11
- package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js.map +1 -1
- 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 +4 -1
- 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.map +1 -1
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +4 -1
- package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +129 -17
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +160 -6
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.schemas.d.ts +324 -9
- package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.schemas.js +411 -8
- package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.utils.d.ts +87 -4
- package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.utils.js +95 -6
- package/dist/esm/security/authentications/authentication.shared.utils.js.map +1 -1
- package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts +23 -1
- package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/consumable-token.shared.schemas.js +23 -1
- package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts +7 -1
- package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js +7 -1
- package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts +74 -0
- package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts.map +1 -0
- package/dist/esm/security/authentications/password-blocklist.shared.utils.js +122 -0
- package/dist/esm/security/authentications/password-blocklist.shared.utils.js.map +1 -0
- package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts +88 -2
- package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/registration.shared.dto.schemas.js +149 -2
- package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts +57 -11
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +44 -11
- 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.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js +20 -7
- 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 +16 -2
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +32 -2
- 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.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js +7 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
- 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 +4 -1
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts +27 -0
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js +109 -0
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts +66 -0
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js +107 -0
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js.map +1 -0
- package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts +19 -0
- package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js +50 -13
- package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts +18 -6
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +133 -4
- 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 +29 -3
- 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 +81 -22
- 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 +0 -40
- 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 +100 -26
- 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 +9 -1
- 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 +9 -1
- 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 +8 -2
- 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 +91 -4
- 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 +50 -6
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +50 -6
- 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.d.ts +39 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +265 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts +187 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js +271 -0
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -0
- package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts +23 -0
- package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js +24 -0
- package/dist/esm/security/authorizations/platform-access-grants.shared.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 +6 -0
- package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +14 -0
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.js +19 -0
- package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.utils.js +2 -0
- package/dist/esm/security/authorizations/roles.shared.utils.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +4 -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-user.shared.resources-config.schemas.d.ts +5 -2
- 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 +13 -42
- 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 +257 -13
- 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 +281 -49
- package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts +6 -3
- 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 +74 -4
- 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 +5 -2
- 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 +105 -3
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +67 -0
- package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -0
- package/dist/esm/security/outbound-target-control.shared.schemas.js +69 -0
- package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts +159 -0
- package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js +164 -0
- package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +209 -0
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +150 -0
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts +79 -0
- package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-env.shared.js +116 -0
- package/dist/esm/systems-of-record/system-of-record-env.shared.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +145 -0
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +146 -0
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +478 -0
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +619 -0
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts +31 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +232 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts +127 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts.map +1 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js +204 -0
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js.map +1 -0
- package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
- package/dist/esm/testing/resource-config-builders.js +10 -4
- package/dist/esm/testing/resource-config-builders.js.map +1 -1
- package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts +2 -1
- package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js +2 -1
- package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js.map +1 -1
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +139 -24
- 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 +255 -0
- package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/anonymous-users.shared.schema.d.ts +5 -3
- package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
- package/dist/esm/users/anonymous-users.shared.schema.js +18 -1
- package/dist/esm/users/anonymous-users.shared.schema.js.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts +2 -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 +23 -0
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.schemas.d.ts +2 -1
- package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-consent-decision.shared.utils.d.ts +127 -0
- package/dist/esm/users/user-consent-decision.shared.utils.d.ts.map +1 -0
- package/dist/esm/users/user-consent-decision.shared.utils.js +189 -0
- package/dist/esm/users/user-consent-decision.shared.utils.js.map +1 -0
- package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-identity-links.shared.schemas.d.ts +1 -0
- package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-identity-links.shared.schemas.js +30 -0
- package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
- package/dist/esm/users/user-preferences-reset.shared.utils.d.ts +6 -6
- package/dist/esm/users/user-preferences-reset.shared.utils.js +6 -6
- 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 +74 -29
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.js +99 -0
- package/dist/esm/users/user-preferences.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-profiles.shared.resources-config.schemas.js +25 -9
- package/dist/esm/users/user-profiles.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +4 -4
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js +12 -1
- package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts +1 -0
- package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self.shared.resources-config.schemas.js +2 -2
- 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 +1 -0
- package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.js +2 -2
- package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/users.shared.schemas.d.ts +28 -10
- package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.schemas.js +86 -11
- package/dist/esm/users/users.shared.schemas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +14 -35
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.d.ts +0 -19
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.d.ts.map +0 -1
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.js +0 -35
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.js.map +0 -1
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts +0 -213
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.js +0 -287
- package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts +0 -236
- package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.js +0 -212
- package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts +0 -17
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js +0 -31
- package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts +0 -28
- package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.js +0 -28
- package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts +0 -100
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js +0 -232
- package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.d.ts +0 -29
- package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.js +0 -58
- package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts +0 -81
- package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts.map +0 -1
- package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.js +0 -82
- package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.js.map +0 -1
- package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.d.ts +0 -2
- package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.d.ts.map +0 -1
- package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.js +0 -1
- package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.js.map +0 -1
- /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/actions.meta-workflows.shared.schemas.d.ts +0 -0
- /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/actions.meta-workflows.shared.schemas.js +0 -0
- /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/catalog.meta-workflows.shared.schemas.d.ts +0 -0
- /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/catalog.meta-workflows.shared.schemas.js +0 -0
- /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/context-selection.meta-workflows.shared.schemas.d.ts +0 -0
- /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/context-selection.meta-workflows.shared.schemas.js +0 -0
|
@@ -12,10 +12,12 @@
|
|
|
12
12
|
* - entity-identity-architecture-analysis.md §4.2
|
|
13
13
|
*/
|
|
14
14
|
import { z } from 'zod';
|
|
15
|
+
import { ExternalAssuranceEnforcement } from '../external-providers/provider-authentication-assurance.shared.schemas.js';
|
|
15
16
|
import { AuthMethod } from '../security/authentications/authentication.shared.schemas.js';
|
|
16
17
|
import { AppRolesSchema, CORE_APP_ROLES } from '../security/authorizations/roles.shared.schemas.js';
|
|
17
18
|
import { CORE_ORG_ROLES, OrgRolesSchema } from '../security/authorizations/roles.shared.schemas.js';
|
|
18
19
|
import { AppFrontendType } from './app-frontend-type.shared.schemas.js';
|
|
20
|
+
import { OnboardingSurveyQuestionSchema, SURVEY_QUESTION_TYPES_WHOSE_ANSWER_IS_A_VALUE, } from './frontend/onboarding.shared.schemas.js';
|
|
19
21
|
// ─── Enums ──────────────────────────────────────────────────────────────────
|
|
20
22
|
/** Canonical registration-policy discriminant. */
|
|
21
23
|
export var RegistrationMode;
|
|
@@ -40,10 +42,51 @@ export var RegistrationAcquisitionChannel;
|
|
|
40
42
|
RegistrationAcquisitionChannel["INVITATION"] = "invitation";
|
|
41
43
|
RegistrationAcquisitionChannel["ADMINISTRATIVE_PROVISIONING"] = "administrative_provisioning";
|
|
42
44
|
})(RegistrationAcquisitionChannel || (RegistrationAcquisitionChannel = {}));
|
|
45
|
+
/**
|
|
46
|
+
* @wildo_source:part:start saas.models.config.registration facet:layer:shared facet:audience:app-developer
|
|
47
|
+
*
|
|
48
|
+
* WHEN a user type asks a person for their first and last name (#1374). Declared as
|
|
49
|
+
* `userTypes.<type>.auth.registration.profileNamesCollectedAt`.
|
|
50
|
+
*
|
|
51
|
+
* - `REGISTRATION` (the default) — on the sign-up form.
|
|
52
|
+
* - `ONBOARDING` — after the person has confirmed their address and credential. The sign-up form leaves the names
|
|
53
|
+
* out; the account is created without a profile, and the first sign-in stops at the onboarding screen, which asks
|
|
54
|
+
* for the names before the account can be used. A person who closes the tab is asked again at their next
|
|
55
|
+
* sign-in: whether the names are owed is worked out from the account (does it have a profile yet?), never
|
|
56
|
+
* remembered in the session.
|
|
57
|
+
*
|
|
58
|
+
* `ONBOARDING` cannot be combined with `additionalProfileQuestions`: those answers are saved WITH the profile, and
|
|
59
|
+
* at sign-up there is no profile to save them into. The configuration is refused rather than silently discarding
|
|
60
|
+
* them — ask those questions at `REGISTRATION`, or move them to an in-app guidance survey.
|
|
61
|
+
*/
|
|
62
|
+
export var ProfileNamesCollectionMoment;
|
|
63
|
+
(function (ProfileNamesCollectionMoment) {
|
|
64
|
+
/** On the sign-up form. */
|
|
65
|
+
ProfileNamesCollectionMoment["REGISTRATION"] = "registration";
|
|
66
|
+
/** At the onboarding screen, after the address and credential are proven. */
|
|
67
|
+
ProfileNamesCollectionMoment["ONBOARDING"] = "onboarding";
|
|
68
|
+
})(ProfileNamesCollectionMoment || (ProfileNamesCollectionMoment = {}));
|
|
69
|
+
/** @wildo_source:part:end saas.models.config.registration */
|
|
43
70
|
/** D-19: Email verification timing. */
|
|
44
71
|
export var EmailVerificationMode;
|
|
45
72
|
(function (EmailVerificationMode) {
|
|
73
|
+
/**
|
|
74
|
+
* The account is created pending verification and the emailed link is the only continuation. The
|
|
75
|
+
* registration answer for a new address is the same acknowledgement an already-registered address
|
|
76
|
+
* receives, so `POST /auth/register` does not reveal which addresses have accounts (#1010).
|
|
77
|
+
*/
|
|
46
78
|
EmailVerificationMode["REQUIRED_BEFORE_ACCESS"] = "required_before_access";
|
|
79
|
+
/**
|
|
80
|
+
* The account is created ACTIVE and a new registrant is signed in (or sent to enrollment / onboarding)
|
|
81
|
+
* by the registration answer itself.
|
|
82
|
+
*
|
|
83
|
+
* **This mode reveals whether an address is registered, by construction.** A new address receives a
|
|
84
|
+
* session and tokens; an already-registered address can only receive the acknowledgement, because
|
|
85
|
+
* answering it with a session would sign a stranger into someone else's account. No response shaping
|
|
86
|
+
* can hide that difference, so choosing this mode accepts account enumeration through registration.
|
|
87
|
+
* Choose `REQUIRED_BEFORE_ACCESS` where that matters. (Password-less registration never honours this
|
|
88
|
+
* mode, and stays indistinguishable.)
|
|
89
|
+
*/
|
|
47
90
|
EmailVerificationMode["DEFERRED"] = "deferred";
|
|
48
91
|
})(EmailVerificationMode || (EmailVerificationMode = {}));
|
|
49
92
|
/** E-10, D-15: How much orgs can override user-type auth methods. */
|
|
@@ -59,11 +102,17 @@ export const AuthMethodExpandedConfigSchema = z.object({
|
|
|
59
102
|
});
|
|
60
103
|
/**
|
|
61
104
|
* authMethodsEnabled value: boolean shorthand OR expanded config.
|
|
62
|
-
*
|
|
105
|
+
*
|
|
106
|
+
* NOTHING REWRITES THE STORED SHAPE — the two forms are normalized on READ, by `getEnabledMethods`, and every reader
|
|
107
|
+
* must go through it. This comment said "normalized at runtime to { enabled: true }", which reads as a guarantee that a
|
|
108
|
+
* consumer may test the value for truthiness; there is no such normalizer, an object is truthy whatever it says, and
|
|
109
|
+
* two backend readers did exactly that and admitted a method declared `{ enabled: false }`.
|
|
63
110
|
*/
|
|
64
111
|
const AuthMethodValueSchema = z.union([z.boolean(), AuthMethodExpandedConfigSchema]);
|
|
65
112
|
// ─── Policy Sub-Types ───────────────────────────────────────────────────────
|
|
66
113
|
export const MfaPolicyConfigSchema = z.object({
|
|
114
|
+
/** Missing/insufficient social-login assurance warns by default. STRICT refuses before session issuance. Enterprise SSO delegates MFA to its configured IdP. */
|
|
115
|
+
externalAssuranceEnforcement: z.enum(ExternalAssuranceEnforcement).optional(),
|
|
67
116
|
requireMFA: z.boolean().default(false),
|
|
68
117
|
/** D-4: EMAIL_OTP alone insufficient when true. Requires TOTP, Passkey, or SMS_OTP. */
|
|
69
118
|
requireStrongMFA: z.boolean().default(false),
|
|
@@ -80,6 +129,7 @@ export const MfaPolicyConfigSchema = z.object({
|
|
|
80
129
|
* Every user type must author this object explicitly. Acquisition policy is security
|
|
81
130
|
* configuration, so omission must never silently become open registration.
|
|
82
131
|
*/
|
|
132
|
+
/** @wildo_source:part:start saas.models.config.registration */
|
|
83
133
|
export const RegistrationConfigSchema = z.strictObject({
|
|
84
134
|
mode: z.enum(RegistrationMode),
|
|
85
135
|
/**
|
|
@@ -100,7 +150,82 @@ export const RegistrationConfigSchema = z.strictObject({
|
|
|
100
150
|
emailVerification: z.enum(EmailVerificationMode).default(EmailVerificationMode.REQUIRED_BEFORE_ACCESS),
|
|
101
151
|
/** R-6: Moved from flat auth field. Blocks self-registration for SSO-managed domains. */
|
|
102
152
|
blockForSSODomains: z.boolean().default(false),
|
|
153
|
+
/**
|
|
154
|
+
* The email domains that may sign themselves up, when an application wants to restrict that (#1222).
|
|
155
|
+
*
|
|
156
|
+
* OMITTED means no restriction, which is the correct default for a public application and the only
|
|
157
|
+
* honest reading of an unauthored field — an empty ARRAY would mean "nobody may register", a state
|
|
158
|
+
* an application expresses through `registration.mode` instead.
|
|
159
|
+
*
|
|
160
|
+
* ## Distinct from `blockForSSODomains`, which answers the opposite question
|
|
161
|
+
*
|
|
162
|
+
* `blockForSSODomains` is a DENY derived from another tenant's declaration: it refuses signup for a
|
|
163
|
+
* domain somebody else has claimed and put behind their identity provider. This is an ALLOW the
|
|
164
|
+
* application states about itself: only these domains may sign up here. An internal tool restricting
|
|
165
|
+
* signup to its own company has no SSO-enforced domain to key on and could not express that at all —
|
|
166
|
+
* enterprise provisioning had such a control and public signup, the one anonymous surface, had none.
|
|
167
|
+
*
|
|
168
|
+
* Compared case-insensitively against the address's domain part, whole-string: `acme.com` does not
|
|
169
|
+
* admit `notacme.com` and does not admit `sub.acme.com`. Subdomains are a separate decision an
|
|
170
|
+
* application makes by listing them, because a wildcard that quietly admits every subdomain of a
|
|
171
|
+
* domain the application does not fully control is the failure this control exists to prevent.
|
|
172
|
+
*/
|
|
173
|
+
allowedEmailDomains: z.array(z.string().min(1)).optional(),
|
|
174
|
+
/**
|
|
175
|
+
* Extra profile questions this user type is asked AT SIGN-UP, beyond the name and email (#1371).
|
|
176
|
+
*
|
|
177
|
+
* Each is a survey question — `id`, `type`, `required`, `bindToField` — the same declaration an in-app guidance
|
|
178
|
+
* survey uses, so one question can be moved between sign-up and a later survey without rewriting it.
|
|
179
|
+
*
|
|
180
|
+
* `bindToField` names a field of the person's USER PROFILE, which is where the answer is saved. The account does
|
|
181
|
+
* not exist while the form is open, so the answers travel with the sign-up request and are saved when the
|
|
182
|
+
* profile is created.
|
|
183
|
+
*
|
|
184
|
+
* Refused when the configuration is loaded:
|
|
185
|
+
* - a question with no `bindToField` — its answer would be collected and thrown away;
|
|
186
|
+
* - a choice-type question — its answer is an option key rather than a value, so the profile would store the key;
|
|
187
|
+
* - any question when `profileNamesCollectedAt` is `ONBOARDING` — there is no profile at sign-up to save into.
|
|
188
|
+
*
|
|
189
|
+
* Optional; absent and empty mean the same thing.
|
|
190
|
+
*/
|
|
191
|
+
additionalProfileQuestions: z.array(OnboardingSurveyQuestionSchema).optional(),
|
|
192
|
+
/** When the person's first and last name are asked (#1374). See {@link ProfileNamesCollectionMoment}. */
|
|
193
|
+
profileNamesCollectedAt: z.enum(ProfileNamesCollectionMoment).optional(),
|
|
103
194
|
}).superRefine((registration, ctx) => {
|
|
195
|
+
/*
|
|
196
|
+
* Sign-up answers are saved with the profile, and the profile is created from the names: with the names asked at
|
|
197
|
+
* onboarding there is no profile at sign-up, so every answer would be discarded. Refused rather than tolerated —
|
|
198
|
+
* a configuration that collects answers and throws them away is worse than one that cannot be written.
|
|
199
|
+
*/
|
|
200
|
+
if (registration.profileNamesCollectedAt === ProfileNamesCollectionMoment.ONBOARDING
|
|
201
|
+
&& (registration.additionalProfileQuestions?.length ?? 0) > 0) {
|
|
202
|
+
ctx.addIssue({
|
|
203
|
+
code: 'custom',
|
|
204
|
+
path: ['additionalProfileQuestions'],
|
|
205
|
+
message: 'sign-up profile questions are written with the profile row, which is created from the first and last name; '
|
|
206
|
+
+ 'with profileNamesCollectedAt ONBOARDING there is no row at sign-up, so the answers would be discarded. '
|
|
207
|
+
+ 'Collect the names at REGISTRATION, or move these questions to an in-app guidance survey.',
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
(registration.additionalProfileQuestions ?? []).forEach((question, index) => {
|
|
211
|
+
const path = ['additionalProfileQuestions', index];
|
|
212
|
+
if (!question.bindToField) {
|
|
213
|
+
ctx.addIssue({
|
|
214
|
+
code: 'custom',
|
|
215
|
+
path: [...path, 'bindToField'],
|
|
216
|
+
message: `sign-up question "${question.id}" declares no bindToField, so its answer would be collected and `
|
|
217
|
+
+ 'discarded. Name the user-profile field it fills, or remove the question.',
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
if (!SURVEY_QUESTION_TYPES_WHOSE_ANSWER_IS_A_VALUE.includes(question.type)) {
|
|
221
|
+
ctx.addIssue({
|
|
222
|
+
code: 'custom',
|
|
223
|
+
path: [...path, 'type'],
|
|
224
|
+
message: `sign-up question "${question.id}" is a ${question.type} question, whose answer is an option ref rather `
|
|
225
|
+
+ `than a value. Use one of ${SURVEY_QUESTION_TYPES_WHOSE_ANSWER_IS_A_VALUE.join(' / ')}.`,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
});
|
|
104
229
|
/*
|
|
105
230
|
* The set with a public-signup implementation. It is enumerated rather than open because the
|
|
106
231
|
* failure this refusal prevents is silent: a method listed here is ADVERTISED to a registrant, and
|
|
@@ -109,6 +234,19 @@ export const RegistrationConfigSchema = z.strictObject({
|
|
|
109
234
|
* MAGIC_LINK and PASSKEY joined in #463. Anything else — SSO, an MFA factor — is an authentication
|
|
110
235
|
* or enrollment method that has no way to CREATE an account from an anonymous caller, and adding it
|
|
111
236
|
* here means building that flow first, not widening this list.
|
|
237
|
+
*
|
|
238
|
+
* ## This list reaches PUBLIC SELF-SERVICE SIGNUP, and nothing else (#1222)
|
|
239
|
+
*
|
|
240
|
+
* The scope follows from the sentence above: the question it answers only arises when an ANONYMOUS
|
|
241
|
+
* caller is creating an account for themselves. So it does NOT govern invitation acceptance (the
|
|
242
|
+
* caller holds an invitation token and the account already exists), SCIM or enterprise provisioning,
|
|
243
|
+
* or the administrative member-create door. Those paths are governed by `authMethodsEnabled` alone —
|
|
244
|
+
* a credential the sign-in doors refuse is useless however it was created.
|
|
245
|
+
*
|
|
246
|
+
* Recorded because the reach was got wrong in both directions at once: invitation acceptance applied
|
|
247
|
+
* this list to PASSWORD only, while self-registration checked it and never checked
|
|
248
|
+
* `authMethodsEnabled`. The second was the one with a cost — an application listing MAGIC_LINK here
|
|
249
|
+
* while withdrawing it from the doors created ACTIVE accounts that could never sign in.
|
|
112
250
|
*/
|
|
113
251
|
const publiclyRegisterableMethods = [
|
|
114
252
|
AuthMethod.PASSWORD,
|
|
@@ -133,17 +271,55 @@ export const RegistrationConfigSchema = z.strictObject({
|
|
|
133
271
|
});
|
|
134
272
|
}
|
|
135
273
|
});
|
|
274
|
+
/**
|
|
275
|
+
* The ONE reading of when a user type's names are collected (#1374): the declared moment, else `REGISTRATION` —
|
|
276
|
+
* the behaviour every user type had before the moment could be declared.
|
|
277
|
+
*/
|
|
278
|
+
export function resolveProfileNamesCollectionMoment(registration) {
|
|
279
|
+
return registration?.profileNamesCollectedAt ?? ProfileNamesCollectionMoment.REGISTRATION;
|
|
280
|
+
}
|
|
136
281
|
/**
|
|
137
282
|
* Password policy — includes expiryDays (R-8, moved from flat auth field).
|
|
138
283
|
* Defined here (not in app-configuration-shared) to avoid circular dependency.
|
|
139
284
|
* PasswordPolicyRulesSchema in app-configuration-shared is the frontend validation subset.
|
|
140
285
|
*/
|
|
141
286
|
export const PasswordPolicyConfigSchema = z.object({
|
|
142
|
-
|
|
287
|
+
/**
|
|
288
|
+
* Length is the whole of the length requirement, and the composition flags default OFF (#1249).
|
|
289
|
+
*
|
|
290
|
+
* > "Verifiers and CSPs SHALL NOT impose other composition rules (e.g., requiring mixtures of
|
|
291
|
+
* > different character types) for passwords."
|
|
292
|
+
*
|
|
293
|
+
* spec-cite: NIST SP 800-63B-4 §3.1.1.2 "Password Verifiers"
|
|
294
|
+
* (https://pages.nist.gov/800-63-4/sp800-63b.html). §3.1.1.1 sets the floor at eight characters and
|
|
295
|
+
* asks verifiers to require fifteen, which is where this default now sits.
|
|
296
|
+
*
|
|
297
|
+
* The flags REMAIN authorable, because an application under a regulator that mandates character
|
|
298
|
+
* mixtures must be able to say so; what changed is which way they point when nobody has decided.
|
|
299
|
+
* Appendix A.3 is why: "a user who might have chosen 'password' as their password would be
|
|
300
|
+
* relatively likely to choose 'Password1' if required to include an uppercase letter and a number".
|
|
301
|
+
* The rule that replaces them is the blocklist — see `assertPasswordNotBlocklisted`.
|
|
302
|
+
*/
|
|
303
|
+
/**
|
|
304
|
+
* The shortest password an application may REQUIRE, and the shortest it may ACCEPT.
|
|
305
|
+
*
|
|
306
|
+
* The floor is 8, not 6, because the standard states it as an obligation on the verifier:
|
|
307
|
+
* "Verifiers and CSPs SHALL require passwords to be a minimum of eight characters in length."
|
|
308
|
+
* spec-cite: NIST SP 800-63B-4 §3.1.1.1 (https://pages.nist.gov/800-63-4/sp800-63b.html).
|
|
309
|
+
* A schema that admitted 6 let an application declare a policy the standard forbids — quietly,
|
|
310
|
+
* since nothing downstream re-checked the declared value.
|
|
311
|
+
*
|
|
312
|
+
* The DEFAULT is 15 because the same section continues: "Verifiers and CSPs SHOULD require
|
|
313
|
+
* passwords to be a minimum of 15 characters in length."
|
|
314
|
+
* spec-cite: NIST SP 800-63B-4 §3.1.1.1 (https://pages.nist.gov/800-63-4/sp800-63b.html).
|
|
315
|
+
* A framework's default is the answer every application that expresses no opinion receives, so it
|
|
316
|
+
* takes the SHOULD; the floor only has to stop an application going below the SHALL.
|
|
317
|
+
*/
|
|
318
|
+
minLength: z.number().min(8).max(128).default(15),
|
|
143
319
|
maxLength: z.number().min(8).max(256).default(128),
|
|
144
|
-
requireUppercase: z.boolean().default(
|
|
145
|
-
requireLowercase: z.boolean().default(
|
|
146
|
-
requireNumbers: z.boolean().default(
|
|
320
|
+
requireUppercase: z.boolean().default(false),
|
|
321
|
+
requireLowercase: z.boolean().default(false),
|
|
322
|
+
requireNumbers: z.boolean().default(false),
|
|
147
323
|
requireSpecialChars: z.boolean().default(false),
|
|
148
324
|
/** R-8: Folded from flat auth.passwordExpiryDays. 0 = never. Backend-only. Enforced in orchestrator authenticate(). */
|
|
149
325
|
expiryDays: z.number().min(0).default(0),
|
|
@@ -164,7 +340,21 @@ export const LockoutPolicyConfigSchema = z.object({
|
|
|
164
340
|
});
|
|
165
341
|
export const MethodManagementConfigSchema = z.object({
|
|
166
342
|
allowUserMethodRemoval: z.boolean().default(true),
|
|
167
|
-
|
|
343
|
+
/**
|
|
344
|
+
* Whether adding or removing an authenticator requires the person to re-prove who they are first.
|
|
345
|
+
*
|
|
346
|
+
* ON by default, because NIST SP 800-63B-4 Sec. 4.1.2 requires it when an authenticator is bound to an
|
|
347
|
+
* existing account: binding is how a stolen session becomes access that survives a password reset.
|
|
348
|
+
* spec-cite: NIST SP 800-63B-4 Sec. 4.1.2 (Post-Enrollment Binding), fetched 2026-09-20 from
|
|
349
|
+
* https://pages.nist.gov/800-63-4/sp800-63b/events/
|
|
350
|
+
*
|
|
351
|
+
* It never asks during enrollment at sign-in or registration, where the person has just authenticated,
|
|
352
|
+
* and it never asks an account that holds nothing a re-authentication could check (no password,
|
|
353
|
+
* verified TOTP or passkey) — that is how an invited or email-link-only account gets its FIRST
|
|
354
|
+
* authenticator. The proof itself is collected by the shared step-up dialog, so no screen has to know
|
|
355
|
+
* this setting exists. Setting it to `false` is a declared deviation from the SHALL above.
|
|
356
|
+
*/
|
|
357
|
+
requireReauthForMethodChanges: z.boolean().default(true),
|
|
168
358
|
});
|
|
169
359
|
// ─── User Type Auth Policy (§2b — complete, non-partial, REQUIRED) ──────────
|
|
170
360
|
/**
|
|
@@ -190,11 +380,11 @@ export const UserTypeAuthPolicySchema = z.object({
|
|
|
190
380
|
registration: RegistrationConfigSchema,
|
|
191
381
|
/** E-7, R-8: Password strength + expiry. */
|
|
192
382
|
passwordPolicy: PasswordPolicyConfigSchema.default({
|
|
193
|
-
minLength:
|
|
383
|
+
minLength: 15,
|
|
194
384
|
maxLength: 128,
|
|
195
|
-
requireUppercase:
|
|
196
|
-
requireLowercase:
|
|
197
|
-
requireNumbers:
|
|
385
|
+
requireUppercase: false,
|
|
386
|
+
requireLowercase: false,
|
|
387
|
+
requireNumbers: false,
|
|
198
388
|
requireSpecialChars: false,
|
|
199
389
|
expiryDays: 0,
|
|
200
390
|
}),
|
|
@@ -222,7 +412,7 @@ export const UserTypeAuthPolicySchema = z.object({
|
|
|
222
412
|
stepUpAuth: StepUpAuthConfigSchema.optional(),
|
|
223
413
|
methodManagement: MethodManagementConfigSchema.default({
|
|
224
414
|
allowUserMethodRemoval: true,
|
|
225
|
-
requireReauthForMethodChanges:
|
|
415
|
+
requireReauthForMethodChanges: true,
|
|
226
416
|
}),
|
|
227
417
|
/** W7.3a: Enables anonymous session support for this user type. When true,
|
|
228
418
|
* unauthenticated users can interact with isAnonymizable resources via ANONYMOUS scope.
|
|
@@ -243,8 +433,19 @@ export const UserTypeAuthPolicySchema = z.object({
|
|
|
243
433
|
export const UserTypeDefinitionSchema = z.object({
|
|
244
434
|
/** REQUIRED — the complete auth policy for this user type. Not an override of global. */
|
|
245
435
|
auth: UserTypeAuthPolicySchema,
|
|
246
|
-
|
|
247
|
-
|
|
436
|
+
/*
|
|
437
|
+
* `uniqueIdentifier` was REMOVED (#1224). It accepted any string, supported only `'email'`, and its
|
|
438
|
+
* ONLY reader was a startup warning saying the value "will be treated as email" — so an application
|
|
439
|
+
* could declare a different identifier, be told at boot that it would be ignored, and have it
|
|
440
|
+
* ignored. A field whose whole runtime behaviour is to announce that it does nothing is a promise
|
|
441
|
+
* the framework cannot keep.
|
|
442
|
+
*
|
|
443
|
+
* Removed rather than implemented, because implementing it is not a knob: every identity surface
|
|
444
|
+
* here is keyed on an email address — `findUserByEmail`, the anti-enumeration acknowledgements, the
|
|
445
|
+
* magic-link and password-reset token subjects, the per-email lockout bucket, the invitation join.
|
|
446
|
+
* A second identifier kind is a feature with its own design, and it starts by naming which of those
|
|
447
|
+
* surfaces change, not by re-adding this field.
|
|
448
|
+
*/
|
|
248
449
|
defaultAppRoles: z.array(AppRolesSchema).default([CORE_APP_ROLES.APP_USER]),
|
|
249
450
|
/** D-10: When set, user type auto-revoked when user leaves last org of matching type. */
|
|
250
451
|
requiresOrgMembership: z.object({
|
|
@@ -283,7 +484,21 @@ export const FrontendServiceDefinitionSchema = z.object({
|
|
|
283
484
|
*
|
|
284
485
|
* An ORGANIZATION TYPE is the shape a tenant takes: which user types its members get, which roles
|
|
285
486
|
* exist inside it, whether it can come into existence through sign-up, and how hard it is for its
|
|
286
|
-
* members to prove who they are. Declared as `organizationTypes` in the
|
|
487
|
+
* members to prove who they are. Declared as `organizationTypes` in `wildo.saas.config.ts` — never in the backend
|
|
488
|
+
* configuration, because the platform reads it to type the organization it seeds for the first administrator.
|
|
489
|
+
*
|
|
490
|
+
* ## At least one type, and every organization carries one
|
|
491
|
+
*
|
|
492
|
+
* The map may not be empty, and an organization's `type` is required and must name an entry in it. A member of an
|
|
493
|
+
* organization whose type names nothing here cannot sign in: the type is where that tenant's authentication
|
|
494
|
+
* restrictions live, and "could not tell" is never read as "no restrictions".
|
|
495
|
+
*
|
|
496
|
+
* The first administrator's organization is typed by derivation, never by a separate setting: it gets the one
|
|
497
|
+
* declared type whose `userTypes` include every one of `bootstrap.firstAdmin.userTypes`, and the configuration is
|
|
498
|
+
* refused when none or several do. An organization whose stored type resolves to nothing — none stored, or one this
|
|
499
|
+
* declaration no longer carries — is typed at startup when exactly one type is declared, and the value it replaced is
|
|
500
|
+
* recorded; with several, the application refuses to start and names them. A member who reaches sign-in anyway is
|
|
501
|
+
* refused with `authentication_organization_policy_unresolved`, never let through with no restrictions.
|
|
287
502
|
*
|
|
288
503
|
* ## A type only self-creates if it says so
|
|
289
504
|
*
|
|
@@ -296,20 +511,20 @@ export const FrontendServiceDefinitionSchema = z.object({
|
|
|
296
511
|
* registration, `AUTO` derived, or `ONBOARDING` deferred to a later step. `defaultOwnerRole` is who
|
|
297
512
|
* the registrant becomes.
|
|
298
513
|
*
|
|
299
|
-
* ## `authOverrides
|
|
514
|
+
* ## `authOverrides`: method choices and restrictive security requirements
|
|
300
515
|
*
|
|
301
|
-
*
|
|
302
|
-
*
|
|
303
|
-
* registration are NOT organization-overridable.
|
|
516
|
+
* Organizations may override enabled methods, MFA, password policy and step-up freshness.
|
|
517
|
+
* Session length, lockout and registration are not organization-overridable.
|
|
304
518
|
*
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
308
|
-
* `
|
|
309
|
-
*
|
|
519
|
+
* Enabled login methods follow the application's `auth.orgAuthMethodPolicy`: RESTRICT_ONLY intersects
|
|
520
|
+
* with the user type's methods; EXPAND_WITHIN_SET adds only methods allowed by
|
|
521
|
+
* `auth.expandableOrgMethods`; UNRESTRICTED uses the organization's enabled set. Across organizations
|
|
522
|
+
* with explicit `authMethodsEnabled` overrides, the resolved sets intersect, including in expansion
|
|
523
|
+
* mode. An organization without that override does not participate in this method-set intersection.
|
|
310
524
|
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
525
|
+
* The other axes remain most-restrictive-wins: MFA requirements cannot be removed, password
|
|
526
|
+
* requirements cannot be weakened, and step-up `enabled` is OR, `maxAgeSeconds` is MIN and
|
|
527
|
+
* `methods` intersects. Expanding login methods does not expand accepted step-up methods.
|
|
313
528
|
*
|
|
314
529
|
* How a registration-derived organization obtains its initial display name.
|
|
315
530
|
*/
|
|
@@ -324,7 +539,7 @@ export const OrgCreationPolicySchema = z.object({
|
|
|
324
539
|
orgNameSource: z.enum(OrganizationNameSource),
|
|
325
540
|
defaultOwnerRole: z.string().default(CORE_ORG_ROLES.ORG_OWNER),
|
|
326
541
|
});
|
|
327
|
-
/**
|
|
542
|
+
/** Org overrides: login methods follow the application mode; MFA, password and step-up remain restrictive. */
|
|
328
543
|
export const OrgTypeAuthOverridesSchema = z.object({
|
|
329
544
|
authMethodsEnabled: z.partialRecord(z.enum(AuthMethod), AuthMethodValueSchema).optional(),
|
|
330
545
|
mfaPolicy: MfaPolicyConfigSchema.partial().optional(),
|
|
@@ -345,10 +560,18 @@ export const OrgTypeAuthOverridesSchema = z.object({
|
|
|
345
560
|
*/
|
|
346
561
|
stepUpAuth: StepUpAuthConfigSchema.partial().optional(),
|
|
347
562
|
}).optional();
|
|
348
|
-
/**
|
|
563
|
+
/**
|
|
564
|
+
* G-4: Per-org-type SCIM provisioning (moved from global directoryProvisioningEnabled).
|
|
565
|
+
*
|
|
566
|
+
* `syncFrequencyHours` was REMOVED here (#1224): no production code read it — the gate consults only
|
|
567
|
+
* `.enabled` — so an application could set a sync cadence and nothing would schedule anything.
|
|
568
|
+
*
|
|
569
|
+
* It is NOT the per-connection field of the same name, which is live: that one is on
|
|
570
|
+
* `sso-config.shared.schemas.ts` and is surfaced in the administration view. Two fields, one name, one
|
|
571
|
+
* of them decorative, is also why this went unnoticed — a search for the name found a reader.
|
|
572
|
+
*/
|
|
349
573
|
export const OrgScimProvisioningSchema = z.object({
|
|
350
574
|
enabled: z.boolean().default(false),
|
|
351
|
-
syncFrequencyHours: z.number().min(1).max(720).default(24),
|
|
352
575
|
});
|
|
353
576
|
export const OrganizationTypeDefinitionSchema = z.object({
|
|
354
577
|
/** D-10: User types auto-granted when joining this org type. */
|
|
@@ -365,14 +588,131 @@ export const OrganizationTypeDefinitionSchema = z.object({
|
|
|
365
588
|
/** G-4: SCIM provisioning toggle per org type. */
|
|
366
589
|
scimProvisioning: OrgScimProvisioningSchema.optional(),
|
|
367
590
|
creationPolicy: OrgCreationPolicySchema.optional(),
|
|
591
|
+
/**
|
|
592
|
+
* This type's organization OPERATES the application — the corporate in an internal tool, the suite
|
|
593
|
+
* vendor in a product that extends an existing suite.
|
|
594
|
+
*
|
|
595
|
+
* ## What it is for
|
|
596
|
+
*
|
|
597
|
+
* Some applications are not sold to many tenants. They are built FOR one organization, which runs
|
|
598
|
+
* them and owns the data in them — and that organization's systems (an ERP, a CRM, a directory) are
|
|
599
|
+
* the systems of record the application reads. The framework needs to be able to name that
|
|
600
|
+
* organization before it can say whose rows the remote data is, and an application had no way to
|
|
601
|
+
* say it: a type carries `userTypes`, roles, auth overrides and a creation policy, none of which
|
|
602
|
+
* means "this one runs the place".
|
|
603
|
+
*
|
|
604
|
+
* Declare it on exactly ONE type, and at most one organization of that type may exist. Everything
|
|
605
|
+
* downstream that must belong to the operator — not to a customer — resolves through it.
|
|
606
|
+
*
|
|
607
|
+
* ```ts
|
|
608
|
+
* organizationTypes: {
|
|
609
|
+
* company: { ownsApplication: true, userTypes: ['member'] }, // the operator; no creationPolicy
|
|
610
|
+
* workspace: { userTypes: ['member'], creationPolicy: { … } }, // tenants that sign themselves up
|
|
611
|
+
* }
|
|
612
|
+
* ```
|
|
613
|
+
*
|
|
614
|
+
* ## The three rules, and why each exists
|
|
615
|
+
*
|
|
616
|
+
* - **At most one type may carry it.** Two would make "the organization that owns the application"
|
|
617
|
+
* a choice, and the framework does not choose between declarations by record order.
|
|
618
|
+
* - **A marked type may NOT declare a `creationPolicy`.** A creation policy is how a type comes
|
|
619
|
+
* into existence when somebody signs up, so a marked type with one would produce a new owner per
|
|
620
|
+
* registrant. The two statements contradict each other, and the contradiction is refused where it
|
|
621
|
+
* is written rather than discovered as a second owner.
|
|
622
|
+
* - **Its `userTypes` must cover `bootstrap.firstAdmin.userTypes`.** The organization the platform
|
|
623
|
+
* seeds for the first administrator IS the owner organization, so a type that does not grant the
|
|
624
|
+
* administrator what they are would seed them into an organization contradicting their identity.
|
|
625
|
+
*
|
|
626
|
+
* ## What it is NOT
|
|
627
|
+
*
|
|
628
|
+
* Not the platform's own `WILDO_OWNER_ORGANIZATION` (`@wildo-ai/platform-config-lib`), which is the
|
|
629
|
+
* organization that owns *Wildo's* applications inside apps-manager and which no application
|
|
630
|
+
* backend ever reads. This marker is an APPLICATION-level statement about one of the application's
|
|
631
|
+
* own tenants. Conflating them would make Wildo the owner of every customer's internal tool.
|
|
632
|
+
*
|
|
633
|
+
* Not a claim about privilege either: members of the owner organization hold exactly the roles the
|
|
634
|
+
* type grants them. What the marker decides is OWNERSHIP of data, not authority over people.
|
|
635
|
+
*
|
|
636
|
+
* ## Adding it to an application that is already running
|
|
637
|
+
*
|
|
638
|
+
* An organization's `type` is creation-time identity, so an existing organization cannot be
|
|
639
|
+
* re-typed by an update. The paired door is `organizations.promoteToOwnerOrganization`: a
|
|
640
|
+
* super-administrator who is a MEMBER of the target organization promotes it, with a justification,
|
|
641
|
+
* and the promotion is audited. Declare the type, run `wildo config reapply-declaration`, then
|
|
642
|
+
* promote. Declaring a second type on an application whose organizations are not all typed yet is
|
|
643
|
+
* refused at boot — boot once with the single type so every row is typed, then add the marked one.
|
|
644
|
+
*
|
|
645
|
+
* `z.literal(true)` rather than `z.boolean()`: `ownsApplication: false` would be a way of writing
|
|
646
|
+
* down a fact that is already true of every type that omits it, and two spellings of the same
|
|
647
|
+
* statement is how a declaration comes to disagree with itself.
|
|
648
|
+
*/
|
|
649
|
+
ownsApplication: z.literal(true).optional(),
|
|
368
650
|
});
|
|
369
651
|
/** @wildo_source:part:end saas.models.config.organization-types */
|
|
370
652
|
// ─── Top-Level Config Sections ──────────────────────────────────────────────
|
|
371
653
|
export const UserTypesConfigSchema = z.record(z.string(), UserTypeDefinitionSchema);
|
|
372
654
|
export const FrontendServicesConfigSchema = z.record(z.string(), FrontendServiceDefinitionSchema);
|
|
655
|
+
/**
|
|
656
|
+
* The application's organization types — at least ONE, always.
|
|
657
|
+
*
|
|
658
|
+
* ## Why an empty map is refused (#1032, decided 2026-09-14)
|
|
659
|
+
*
|
|
660
|
+
* Every organization carries a `type`, and that type must name an entry here. The authentication
|
|
661
|
+
* policy resolver refuses a member whose organization's type it cannot resolve, because a type is
|
|
662
|
+
* where an organization's authentication restrictions live and "could not tell" must never read as
|
|
663
|
+
* "no restrictions". An application declaring no types therefore could not have a single
|
|
664
|
+
* organization anybody can sign in through — including the one the platform seeds for its first
|
|
665
|
+
* administrator. It used to be optional, and the platform seeded that organization with no type at
|
|
666
|
+
* all, which is how every administrator came to be locked out once the resolver fail-closed.
|
|
667
|
+
*
|
|
668
|
+
* Authored in `wildo.saas.config.ts` (not the backend config) so the platform, which seeds the first
|
|
669
|
+
* organization, can read it.
|
|
670
|
+
*/
|
|
373
671
|
export const OrganizationTypesConfigSchema = z
|
|
374
672
|
.record(z.string(), OrganizationTypeDefinitionSchema)
|
|
375
673
|
.superRefine((organizationTypes, ctx) => {
|
|
674
|
+
if (Object.keys(organizationTypes).length === 0) {
|
|
675
|
+
ctx.addIssue({
|
|
676
|
+
code: 'custom',
|
|
677
|
+
path: [],
|
|
678
|
+
message: 'At least one organization type must be declared: every organization carries a type, and a '
|
|
679
|
+
+ 'member of an organization whose type names no entry here cannot sign in.',
|
|
680
|
+
});
|
|
681
|
+
}
|
|
682
|
+
/*
|
|
683
|
+
* At most ONE type may declare `ownsApplication`, and a type that declares it may not also be
|
|
684
|
+
* created on registration.
|
|
685
|
+
*
|
|
686
|
+
* Both refusals live here for the same reason the `ownerByRegisteredUserType` map below does:
|
|
687
|
+
* they are statements ABOUT THE MAP, not about any one entry, so a per-entry refine could not
|
|
688
|
+
* see them. And both are contradictions in the declaration rather than states of the world —
|
|
689
|
+
* refusing them where the file is loaded turns a would-be second owner organization into an
|
|
690
|
+
* authoring error nobody can commit.
|
|
691
|
+
*/
|
|
692
|
+
const markedOwnerTypes = Object.entries(organizationTypes)
|
|
693
|
+
.filter(([, definition]) => definition.ownsApplication === true)
|
|
694
|
+
.map(([organizationType]) => organizationType);
|
|
695
|
+
if (markedOwnerTypes.length > 1) {
|
|
696
|
+
ctx.addIssue({
|
|
697
|
+
code: 'custom',
|
|
698
|
+
path: [markedOwnerTypes[1], 'ownsApplication'],
|
|
699
|
+
message: `Organization types ${markedOwnerTypes.map((type) => `'${type}'`).join(', ')} all declare \`ownsApplication\`, `
|
|
700
|
+
+ 'but an application is owned by exactly one organization, so at most one type may say so. '
|
|
701
|
+
+ 'Keep the marker on the type whose organization operates the application and remove it from the others.',
|
|
702
|
+
});
|
|
703
|
+
}
|
|
704
|
+
for (const organizationType of markedOwnerTypes) {
|
|
705
|
+
if (organizationTypes[organizationType]?.creationPolicy === undefined)
|
|
706
|
+
continue;
|
|
707
|
+
ctx.addIssue({
|
|
708
|
+
code: 'custom',
|
|
709
|
+
path: [organizationType, 'creationPolicy'],
|
|
710
|
+
message: `Organization type '${organizationType}' declares \`ownsApplication\` and a \`creationPolicy\`. `
|
|
711
|
+
+ 'A creation policy makes a new organization of this type every time a matching user registers, '
|
|
712
|
+
+ 'which would produce one owner organization per registrant; at most one may exist. '
|
|
713
|
+
+ 'Keep the marker and drop the creation policy, or move the policy to a separate type for the tenants that sign themselves up.',
|
|
714
|
+
});
|
|
715
|
+
}
|
|
376
716
|
const ownerByRegisteredUserType = new Map();
|
|
377
717
|
for (const [organizationType, definition] of Object.entries(organizationTypes)) {
|
|
378
718
|
const registeredUserTypes = definition.creationPolicy?.createOnUserTypeRegistration ?? [];
|
|
@@ -414,4 +754,171 @@ export function findOrganizationTypeRegistrationCreationMatches(organizationType
|
|
|
414
754
|
definition,
|
|
415
755
|
}));
|
|
416
756
|
}
|
|
757
|
+
/**
|
|
758
|
+
* Why an organization yields no authentication policy — the log-side split of
|
|
759
|
+
* `ErrorCustomMessageReference.AUTHENTICATION_ORGANIZATION_POLICY_UNRESOLVED` (#1036). Three states, three remedies.
|
|
760
|
+
*/
|
|
761
|
+
export var OrganizationAuthPolicyUnresolvedReason;
|
|
762
|
+
(function (OrganizationAuthPolicyUnresolvedReason) {
|
|
763
|
+
/** A membership names an organization that cannot be found. Remedy: remove the membership or restore the organization. */
|
|
764
|
+
OrganizationAuthPolicyUnresolvedReason["ORGANIZATION_NOT_FOUND"] = "organization_not_found";
|
|
765
|
+
/** The organization carries no type. The engine types such organizations at startup when one type is declared. */
|
|
766
|
+
OrganizationAuthPolicyUnresolvedReason["ORGANIZATION_TYPE_MISSING"] = "organization_type_missing";
|
|
767
|
+
/** The organization's type names no declared organization type. Remedy: declare it again, or restart so the engine re-types it. */
|
|
768
|
+
OrganizationAuthPolicyUnresolvedReason["ORGANIZATION_TYPE_UNDECLARED"] = "organization_type_undeclared";
|
|
769
|
+
})(OrganizationAuthPolicyUnresolvedReason || (OrganizationAuthPolicyUnresolvedReason = {}));
|
|
770
|
+
/**
|
|
771
|
+
* Why an organization type could, or could not, be derived — the vocabulary both derivations below
|
|
772
|
+
* answer in.
|
|
773
|
+
*
|
|
774
|
+
* A closed vocabulary rather than `string | undefined`, because the two refusals have different
|
|
775
|
+
* remedies and a caller has to be able to name them: NONE means the declaration offers nothing that
|
|
776
|
+
* fits (declare a type), AMBIGUOUS means it offers several and the framework will not choose between
|
|
777
|
+
* them by record order (narrow the declaration).
|
|
778
|
+
*/
|
|
779
|
+
export var OrganizationTypeDerivationOutcome;
|
|
780
|
+
(function (OrganizationTypeDerivationOutcome) {
|
|
781
|
+
/** Exactly one declared type fits; it is `organizationType`. */
|
|
782
|
+
OrganizationTypeDerivationOutcome["DERIVED"] = "DERIVED";
|
|
783
|
+
/** No declared type fits. */
|
|
784
|
+
OrganizationTypeDerivationOutcome["NONE"] = "NONE";
|
|
785
|
+
/** More than one declared type fits; they are `candidates`, in declaration order. */
|
|
786
|
+
OrganizationTypeDerivationOutcome["AMBIGUOUS"] = "AMBIGUOUS";
|
|
787
|
+
})(OrganizationTypeDerivationOutcome || (OrganizationTypeDerivationOutcome = {}));
|
|
788
|
+
const deriveFromCandidates = (candidates) => {
|
|
789
|
+
if (candidates.length === 1) {
|
|
790
|
+
return { outcome: OrganizationTypeDerivationOutcome.DERIVED, organizationType: candidates[0] };
|
|
791
|
+
}
|
|
792
|
+
return candidates.length === 0
|
|
793
|
+
? { outcome: OrganizationTypeDerivationOutcome.NONE }
|
|
794
|
+
: { outcome: OrganizationTypeDerivationOutcome.AMBIGUOUS, candidates };
|
|
795
|
+
};
|
|
796
|
+
/**
|
|
797
|
+
* The type of the organization the platform seeds for an application's first administrator.
|
|
798
|
+
*
|
|
799
|
+
* DERIVED, never authored: it is the declared organization type whose `userTypes` include every one of
|
|
800
|
+
* `bootstrap.firstAdmin.userTypes`. An organization type's `userTypes` are what a member of it is
|
|
801
|
+
* granted, so a type that does not cover the administrator's user types would seed them into an
|
|
802
|
+
* organization that contradicts who they are. Asking the application author to restate the answer
|
|
803
|
+
* would be a second copy of a fact the declaration already holds.
|
|
804
|
+
*
|
|
805
|
+
* Refuses rather than guesses when several types fit — record order is not a decision.
|
|
806
|
+
*
|
|
807
|
+
* ## The owner marker DECIDES, when one of the fitting types carries it
|
|
808
|
+
*
|
|
809
|
+
* `ownsApplication` says which organization operates the application, and the organization the
|
|
810
|
+
* platform seeds for the first administrator IS that organization. So when a fitting type is marked,
|
|
811
|
+
* the answer is not ambiguous — it is declared, and reading anything else would seed the operator's
|
|
812
|
+
* own administrator into a customer-shaped tenant.
|
|
813
|
+
*
|
|
814
|
+
* This is not a tie-break bolted onto a refusal; without it, an application with a marker would
|
|
815
|
+
* usually be REFUSED. The natural shape of a case-1 declaration is a marked `company` for the
|
|
816
|
+
* operator beside an unmarked `workspace` for the tenants that sign themselves up, and both
|
|
817
|
+
* ordinarily grant the same user types — so both cover the first administrator and `AMBIGUOUS` would
|
|
818
|
+
* fire on every such application. `AMBIGUOUS` keeps its whole meaning for the unmarked case: several
|
|
819
|
+
* types fit and NOTHING in the declaration says which, so record order is all that is left and record
|
|
820
|
+
* order is not a decision.
|
|
821
|
+
*
|
|
822
|
+
* Several MARKED types are still ambiguous, and deliberately so. The configuration schema refuses a
|
|
823
|
+
* second marker, so this can only be reached from a declaration that arrived by another route (a
|
|
824
|
+
* stored configuration written before the rule, an unparsed runtime input) — exactly the case where
|
|
825
|
+
* choosing would be a guess dressed as a derivation.
|
|
826
|
+
*/
|
|
827
|
+
export function deriveFirstAdministratorOrganizationType(organizationTypes, firstAdministratorUserTypes) {
|
|
828
|
+
const fittingTypes = Object.entries(organizationTypes ?? {})
|
|
829
|
+
.filter(([, definition]) => firstAdministratorUserTypes.every((userType) => definition.userTypes.includes(userType)));
|
|
830
|
+
const markedFittingTypes = fittingTypes.filter(([, definition]) => definition.ownsApplication === true);
|
|
831
|
+
if (markedFittingTypes.length > 0) {
|
|
832
|
+
return deriveFromCandidates(markedFittingTypes.map(([organizationType]) => organizationType));
|
|
833
|
+
}
|
|
834
|
+
return deriveFromCandidates(fittingTypes.map(([organizationType]) => organizationType));
|
|
835
|
+
}
|
|
836
|
+
/**
|
|
837
|
+
* The role that OWNS a newly-created organization of a given type.
|
|
838
|
+
*
|
|
839
|
+
* ONE resolution for every door that founds a tenant, because a tenant founded without an owner is
|
|
840
|
+
* the stranded state `administrative-continuity-floors.md` exists to prevent, and it is reached by
|
|
841
|
+
* whichever door forgot — not by the ones that remembered.
|
|
842
|
+
*
|
|
843
|
+
* There are THREE such doors and they are in two packages, which is why this is a function rather
|
|
844
|
+
* than a convention: self-service `organizations.create`, the organization derived when a user of a
|
|
845
|
+
* declaring type registers, and the platform seeding an application's FIRST organization for its
|
|
846
|
+
* first administrator. The first two already resolved it identically and said so in a comment — *"the
|
|
847
|
+
* SAME resolution registration uses, so the two creation paths cannot disagree"* — while the third
|
|
848
|
+
* hard-coded `ORG_ADMIN` and gave every freshly created application an ownerless first tenant, which
|
|
849
|
+
* its own boot report then reported at CRITICAL forever (#436 established the invariant and fixed two
|
|
850
|
+
* of its three call sites; `invariant-call-site-enumeration.md`).
|
|
851
|
+
*
|
|
852
|
+
* `ORG_OWNER` is the answer when the type declares no `creationPolicy` or no `defaultOwnerRole` —
|
|
853
|
+
* the same default `OrgCreationPolicySchema` carries, restated here because the seeding lanes reach
|
|
854
|
+
* types that never passed through that parse (a platform-supplied declaration, a stored
|
|
855
|
+
* configuration). An application that wants a differently-named founding role declares it once, on
|
|
856
|
+
* the type, and all three doors follow.
|
|
857
|
+
*/
|
|
858
|
+
export function resolveOrganizationFoundingOwnerRole(organizationTypes, organizationType) {
|
|
859
|
+
const declared = organizationType === undefined ? undefined : organizationTypes?.[organizationType];
|
|
860
|
+
return declared?.creationPolicy?.defaultOwnerRole ?? CORE_ORG_ROLES.ORG_OWNER;
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* Which declared organization type OWNS the application, if any.
|
|
864
|
+
*
|
|
865
|
+
* The one reader of {@link OrganizationTypeDefinition.ownsApplication}, so every surface that needs
|
|
866
|
+
* "the owner type" asks the same question of the same declaration rather than re-typing the filter.
|
|
867
|
+
*
|
|
868
|
+
* `NONE` is an ordinary, correct answer and the default for every application: most applications are
|
|
869
|
+
* sold to many tenants and no organization operates them. Only a case-1 application — an internal
|
|
870
|
+
* tool, or a product extending a suite the operator already runs — declares one.
|
|
871
|
+
*
|
|
872
|
+
* `AMBIGUOUS` is unreachable from a configuration the schema parsed (a second marker is refused
|
|
873
|
+
* there), and is returned rather than resolved for the same reason the derivation above does it: a
|
|
874
|
+
* declaration that reached a runtime by another route must not have its contradiction silently
|
|
875
|
+
* decided. Callers fail closed on it; nothing is the owner until an operator repairs the declaration.
|
|
876
|
+
*/
|
|
877
|
+
export function resolveApplicationOwnerOrganizationType(organizationTypes) {
|
|
878
|
+
return deriveFromCandidates(Object.entries(organizationTypes ?? {})
|
|
879
|
+
.filter(([, definition]) => definition.ownsApplication === true)
|
|
880
|
+
.map(([organizationType]) => organizationType));
|
|
881
|
+
}
|
|
882
|
+
/**
|
|
883
|
+
* The type an EXISTING untyped organization receives when the application declares exactly one.
|
|
884
|
+
*
|
|
885
|
+
* The narrowest of the three derivations here: it reads only the declaration, so it answers for an
|
|
886
|
+
* organization about which nothing at all is known. With several declared types it refuses, and the
|
|
887
|
+
* caller falls through to {@link deriveOrganizationTypeFromMemberUserTypes}, which asks the
|
|
888
|
+
* organization itself.
|
|
889
|
+
*/
|
|
890
|
+
export function deriveSoleOrganizationType(organizationTypes) {
|
|
891
|
+
return deriveFromCandidates(Object.keys(organizationTypes ?? {}));
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* The type an EXISTING untyped organization receives, read from the user types its own members hold.
|
|
895
|
+
*
|
|
896
|
+
* ## Why an existing organization is not silent about its type
|
|
897
|
+
*
|
|
898
|
+
* {@link deriveSoleOrganizationType} used to be the only answer for an existing organization, on the
|
|
899
|
+
* reasoning that one "carries no record of which user types it was meant for". Its MEMBERS carry
|
|
900
|
+
* exactly that record: an organization type's `userTypes` are what a member of it is granted, so a
|
|
901
|
+
* type that does not cover every user type the organization's members actually hold is a type this
|
|
902
|
+
* organization cannot be. When that leaves exactly one candidate, nothing is guessed — it is the same
|
|
903
|
+
* coverage test {@link deriveFirstAdministratorOrganizationType} already applies to the
|
|
904
|
+
* first-administrator organization, asked of the members instead of the declaration.
|
|
905
|
+
*
|
|
906
|
+
* ## Why an empty `memberUserTypes` is NONE rather than a match
|
|
907
|
+
*
|
|
908
|
+
* `every` over an empty set is vacuously true, so an organization with no members to read would match
|
|
909
|
+
* every declared type and, against a single-type declaration, would derive one. That would not be a
|
|
910
|
+
* derivation from the organization — it would be {@link deriveSoleOrganizationType} wearing this
|
|
911
|
+
* function's name, reached without reading anything. Absence of a signal is NONE.
|
|
912
|
+
*
|
|
913
|
+
* @param memberUserTypes The union of the user types held by the organization's members. The caller
|
|
914
|
+
* decides which memberships count; it is the one judgement this function does not make.
|
|
915
|
+
*/
|
|
916
|
+
export function deriveOrganizationTypeFromMemberUserTypes(organizationTypes, memberUserTypes) {
|
|
917
|
+
if (memberUserTypes.length === 0) {
|
|
918
|
+
return { outcome: OrganizationTypeDerivationOutcome.NONE };
|
|
919
|
+
}
|
|
920
|
+
return deriveFromCandidates(Object.entries(organizationTypes ?? {})
|
|
921
|
+
.filter(([, definition]) => memberUserTypes.every((userType) => definition.userTypes.includes(userType)))
|
|
922
|
+
.map(([organizationType]) => organizationType));
|
|
923
|
+
}
|
|
417
924
|
//# sourceMappingURL=entity-identity-config.shared.schemas.js.map
|