@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siem-delivery-outbox.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAC/G,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,uCAAuC,EAAE,MAAM,wDAAwD,CAAC;AACjH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,wCAAwC,EAAE,MAAM,uCAAuC,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,0BAA0B,GAA6B;IAC3D,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;IAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;CACvE,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,uCAAuC,CAC3F,wCAAwC,EACxC;IACE,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE;QACd,iCAAiC;QACjC,qBAAqB,CAAC,MAAM;QAC5B,wDAAwD;QACxD,qBAAqB,CAAC,IAAI;QAC1B,gGAAgG;QAChG,qBAAqB,CAAC,IAAI;QAC1B,iFAAiF;QACjF,qBAAqB,CAAC,MAAM;QAC5B,yFAAyF;QACzF,0EAA0E;QAC1E,qBAAqB,CAAC,MAAM;QAC5B,sFAAsF;QACtF,qBAAqB,CAAC,WAAW;KAClC;IACD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,0BAA0B;oBAC3C,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C,CAAC;SACH;QACD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,0BAA0B;oBAC3C,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C,CAAC;SACH;QACD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,0BAA0B;oBAC3C,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C,CAAC;SACH;QACD,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,0BAA0B;oBAC3C,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C,CAAC;SACH;QACD,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,0BAA0B;oBAC3C,SAAS,EAAE,0BAA0B,CAAC,MAAM;iBAC7C,CAAC;SACH;QACD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE;YACnC,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE,0BAA0B;oBAC3C,SAAS,EAAE,0BAA0B,CAAC,MAAM;iBAC7C,CAAC;SACH;KACF;CACF,CACF,CAAC","sourcesContent":["/**\n * SIEM Delivery Outbox Resource Configuration — Polymorphic\n *\n * Produces 2 factory functions (ORG + APP) via the polymorphic factory.\n * Spread into the registry factory map:\n * ...siemDeliveryOutboxPolymorphicFactories\n *\n * ## Every operation is REPOSITORY_ONLY, and that is the whole configuration\n *\n * This resource has no HTTP surface at all — no `API_CALL` variant, no custom operation, nothing an\n * operator can address. It differs from its DLQ sibling in exactly that way, and deliberately: the\n * DLQ is a triage surface a human works (retry this, purge those), while the outbox is machinery\n * mid-flight. A row here is owned by the collector between the moment an event is accepted and the\n * moment a collector takes it, which is ordinarily under a minute.\n *\n * Exposing it would create an operator affordance over rows that a concurrent flush may be claiming\n * — a delete racing a claim, a \"retry\" on something already in flight — for no question a human\n * actually has. The question an operator DOES have (\"what failed to reach my SIEM?\") is the DLQ's,\n * and it is already answered there.\n *\n * So the roles below gate repository-tier resolution only; they are not a permission an HTTP request\n * can ever exercise. They mirror the DLQ's rather than inventing a second answer, because a scope\n * that may read its dead letters is the same scope that would own its pending ones.\n */\n\nimport { CoreResourceOperation, CoreResourceType } from '../../../resources/resources.shared.core.definitions';\nimport {\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n} from '../../../resources/resources.shared.schemas';\nimport { createPolymorphicResourceConfigurations } from '../../../resources/utils/resource-polymorphism.factory';\nimport { CORE_ORG_ROLES, CORE_APP_ROLES } from '../../authorizations/roles.shared.schemas';\nimport { siemDeliveryOutboxPolymorphicDeclaration } from './siem-delivery-outbox.shared.schemas';\n\n/**\n * The polymorphic role map every operation here carries — one object rather than six copies.\n *\n * The DLQ declares its identical map inline at each of its six operations, which is how a role set\n * comes to disagree with itself one operation at a time. There is nothing per-operation to vary:\n * the answer is \"the scope's administrator\", for all of them.\n */\nconst SIEM_DELIVERY_OUTBOX_ROLES: Record<string, string[]> = {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n};\n\nexport const siemDeliveryOutboxPolymorphicFactories = createPolymorphicResourceConfigurations(\n siemDeliveryOutboxPolymorphicDeclaration,\n {\n isSystemResource: true,\n coreOperations: [\n // The append, on the audit path.\n CoreResourceOperation.CREATE,\n // The claim reads a row back after its compare-and-set.\n CoreResourceOperation.READ,\n // Pending-set queries: by destination, oldest first, and the count that fires the size trigger.\n CoreResourceOperation.LIST,\n // The claim itself — `atomicConditionalSet` resolves a DEFAULT UPDATE operation.\n CoreResourceOperation.UPDATE,\n // A delivered row is gone; there is no terminal state to keep. The DLQ is where a FAILED\n // delivery is retained, and a row that succeeded has nothing left to say.\n CoreResourceOperation.DELETE,\n // Bulk twin of DELETE: one flush retires its whole claimed set in a single statement.\n CoreResourceOperation.DELETE_MANY,\n ],\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: SIEM_DELIVERY_OUTBOX_ROLES,\n riskLevel: ResourceOperationRiskLevel.LOW,\n }],\n },\n [CoreResourceOperation.READ]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: SIEM_DELIVERY_OUTBOX_ROLES,\n riskLevel: ResourceOperationRiskLevel.LOW,\n }],\n },\n [CoreResourceOperation.LIST]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: SIEM_DELIVERY_OUTBOX_ROLES,\n riskLevel: ResourceOperationRiskLevel.LOW,\n }],\n },\n [CoreResourceOperation.UPDATE]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: SIEM_DELIVERY_OUTBOX_ROLES,\n riskLevel: ResourceOperationRiskLevel.LOW,\n }],\n },\n [CoreResourceOperation.DELETE]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: SIEM_DELIVERY_OUTBOX_ROLES,\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n }],\n },\n [CoreResourceOperation.DELETE_MANY]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: SIEM_DELIVERY_OUTBOX_ROLES,\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n }],\n },\n },\n },\n);\n"]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SIEM Delivery Outbox Schema (Shared) — Polymorphic
|
|
3
|
+
*
|
|
4
|
+
* One row per security audit event that is WAITING to be delivered, so that several events can leave
|
|
5
|
+
* as ONE HTTP request. The sibling of `siem-delivery-dlq.shared.schemas.ts` one step earlier in the
|
|
6
|
+
* lane: the DLQ holds what FAILED, this holds what has not been sent yet.
|
|
7
|
+
*
|
|
8
|
+
* ## Why a durable row rather than an in-memory buffer (#1379)
|
|
9
|
+
*
|
|
10
|
+
* The delivery worker posts one event per request because the job is created PER EVENT at enqueue —
|
|
11
|
+
* `processDelivery` is handed one payload and no parameter it receives could ever batch. Grouping
|
|
12
|
+
* therefore has to happen before the queue, and the group has to survive a restart: an event that is
|
|
13
|
+
* already durable on the broker today must not become an event held in a process's heap. So the
|
|
14
|
+
* pending set is a resource, written before the event's job is acknowledged and deleted only once the
|
|
15
|
+
* collector has taken it.
|
|
16
|
+
*
|
|
17
|
+
* An in-memory accumulator was rejected for exactly that reason, and a second candidate — holding the
|
|
18
|
+
* events as UNACKED broker deliveries — was rejected on a measurement: `consume()` runs on the single
|
|
19
|
+
* primary channel and `channel.prefetch(1)` is set on it, so at most ONE delivery is ever in flight
|
|
20
|
+
* per process and no accumulation is possible without a second channel. Keeping the durable half of
|
|
21
|
+
* this lane in one place (the broker for transport, this table for grouping) is the simpler story.
|
|
22
|
+
*
|
|
23
|
+
* ## The two columns that carry the design
|
|
24
|
+
*
|
|
25
|
+
* `destinationKey` is what makes a batch legitimate: a request carries one URL, one auth method and
|
|
26
|
+
* one credential, so rows may only travel together when those agree. It is a FINGERPRINT of the
|
|
27
|
+
* transport configuration rather than the configuration itself, so a config change mid-window simply
|
|
28
|
+
* starts a new key — the rows enqueued under the old one flush under the configuration they were
|
|
29
|
+
* authored against, which is the only honest reading of "this event was exported to that destination".
|
|
30
|
+
*
|
|
31
|
+
* `claimId` is what makes concurrent collectors safe. Two replicas may flush the same destination at
|
|
32
|
+
* the same instant; each stamps the rows it intends to send with its own id under a compare-and-set,
|
|
33
|
+
* so a row belongs to exactly one request and the two batches are disjoint rather than duplicated.
|
|
34
|
+
*
|
|
35
|
+
* ── ORG variant is live; the APPLICATION variant is RESERVED / DORMANT ─────────────
|
|
36
|
+
* Declared over `AUTH_SCOPE_VARIANTS` like every other SIEM resource, and populated only for the
|
|
37
|
+
* ORGANIZATION scope for the same reason: the sole delivery producer is org-scoped. See
|
|
38
|
+
* `AuditEventDispatcherBackendService.dispatchToOrganizationAuditSinks`.
|
|
39
|
+
*/
|
|
40
|
+
import { z } from 'zod';
|
|
41
|
+
export declare const SiemDeliveryOutboxBaseSchema: z.ZodObject<{
|
|
42
|
+
_id: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
|
|
43
|
+
eventId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
|
|
44
|
+
destinationKey: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
|
|
45
|
+
deliveryPayload: z.ZodUnknown;
|
|
46
|
+
deliveryAttempt: z.ZodDefault<z.ZodNumber>;
|
|
47
|
+
claimId: z.ZodOptional<z.ZodString>;
|
|
48
|
+
claimedAt: z.ZodOptional<z.ZodDate>;
|
|
49
|
+
nextAttemptAt: z.ZodOptional<z.ZodDate>;
|
|
50
|
+
createdAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>>;
|
|
51
|
+
updatedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
export type SiemDeliveryOutboxBase = z.infer<typeof SiemDeliveryOutboxBaseSchema>;
|
|
54
|
+
export declare const siemDeliveryOutboxPolymorphicDeclaration: import("../../..").PolymorphicSchemaDeclaration<z.ZodObject<{
|
|
55
|
+
_id: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
|
|
56
|
+
eventId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
|
|
57
|
+
destinationKey: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
|
|
58
|
+
deliveryPayload: z.ZodUnknown;
|
|
59
|
+
deliveryAttempt: z.ZodDefault<z.ZodNumber>;
|
|
60
|
+
claimId: z.ZodOptional<z.ZodString>;
|
|
61
|
+
claimedAt: z.ZodOptional<z.ZodDate>;
|
|
62
|
+
nextAttemptAt: z.ZodOptional<z.ZodDate>;
|
|
63
|
+
createdAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>>;
|
|
64
|
+
updatedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>;
|
|
65
|
+
}, z.core.$strip>>;
|
|
66
|
+
//# sourceMappingURL=siem-delivery-outbox.shared.schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siem-delivery-outbox.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-delivery-outbox.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBA2DvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,wCAAwC;;;;;;;;;;;kBAQnD,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SIEM Delivery Outbox Schema (Shared) — Polymorphic
|
|
3
|
+
*
|
|
4
|
+
* One row per security audit event that is WAITING to be delivered, so that several events can leave
|
|
5
|
+
* as ONE HTTP request. The sibling of `siem-delivery-dlq.shared.schemas.ts` one step earlier in the
|
|
6
|
+
* lane: the DLQ holds what FAILED, this holds what has not been sent yet.
|
|
7
|
+
*
|
|
8
|
+
* ## Why a durable row rather than an in-memory buffer (#1379)
|
|
9
|
+
*
|
|
10
|
+
* The delivery worker posts one event per request because the job is created PER EVENT at enqueue —
|
|
11
|
+
* `processDelivery` is handed one payload and no parameter it receives could ever batch. Grouping
|
|
12
|
+
* therefore has to happen before the queue, and the group has to survive a restart: an event that is
|
|
13
|
+
* already durable on the broker today must not become an event held in a process's heap. So the
|
|
14
|
+
* pending set is a resource, written before the event's job is acknowledged and deleted only once the
|
|
15
|
+
* collector has taken it.
|
|
16
|
+
*
|
|
17
|
+
* An in-memory accumulator was rejected for exactly that reason, and a second candidate — holding the
|
|
18
|
+
* events as UNACKED broker deliveries — was rejected on a measurement: `consume()` runs on the single
|
|
19
|
+
* primary channel and `channel.prefetch(1)` is set on it, so at most ONE delivery is ever in flight
|
|
20
|
+
* per process and no accumulation is possible without a second channel. Keeping the durable half of
|
|
21
|
+
* this lane in one place (the broker for transport, this table for grouping) is the simpler story.
|
|
22
|
+
*
|
|
23
|
+
* ## The two columns that carry the design
|
|
24
|
+
*
|
|
25
|
+
* `destinationKey` is what makes a batch legitimate: a request carries one URL, one auth method and
|
|
26
|
+
* one credential, so rows may only travel together when those agree. It is a FINGERPRINT of the
|
|
27
|
+
* transport configuration rather than the configuration itself, so a config change mid-window simply
|
|
28
|
+
* starts a new key — the rows enqueued under the old one flush under the configuration they were
|
|
29
|
+
* authored against, which is the only honest reading of "this event was exported to that destination".
|
|
30
|
+
*
|
|
31
|
+
* `claimId` is what makes concurrent collectors safe. Two replicas may flush the same destination at
|
|
32
|
+
* the same instant; each stamps the rows it intends to send with its own id under a compare-and-set,
|
|
33
|
+
* so a row belongs to exactly one request and the two batches are disjoint rather than duplicated.
|
|
34
|
+
*
|
|
35
|
+
* ── ORG variant is live; the APPLICATION variant is RESERVED / DORMANT ─────────────
|
|
36
|
+
* Declared over `AUTH_SCOPE_VARIANTS` like every other SIEM resource, and populated only for the
|
|
37
|
+
* ORGANIZATION scope for the same reason: the sole delivery producer is org-scoped. See
|
|
38
|
+
* `AuditEventDispatcherBackendService.dispatchToOrganizationAuditSinks`.
|
|
39
|
+
*/
|
|
40
|
+
import { z } from 'zod';
|
|
41
|
+
import { PersonalDataCategory } from '../../../compliance/privacy/personal-data-category.shared.schemas.js';
|
|
42
|
+
import { addDataCategories } from '@wildo-ai/zod-decorators';
|
|
43
|
+
import { AUTH_SCOPE_VARIANTS } from '../authentication.shared.schemas.js';
|
|
44
|
+
import { declarePolymorphicSchemas, optOutPolymorphicAutoBusinessKey } from '../../../resources/utils/resource-polymorphism.schemas.js';
|
|
45
|
+
export const SiemDeliveryOutboxBaseSchema = z.object({
|
|
46
|
+
_id: z.string().min(1).isPrimaryKey().isSummaryField(),
|
|
47
|
+
/**
|
|
48
|
+
* The envelope's own event id. Also the idempotency key for the append: the event's job may be
|
|
49
|
+
* redelivered by the broker after a crash between the append and the acknowledgement, and appending
|
|
50
|
+
* twice would put the same event in the batch twice.
|
|
51
|
+
*/
|
|
52
|
+
eventId: z.string().min(1).isDBIndexed().isSummaryField(),
|
|
53
|
+
/**
|
|
54
|
+
* Fingerprint of the transport configuration this event is bound for — see the header. Indexed
|
|
55
|
+
* because every collector query filters on it: it is the unit a batch is assembled over.
|
|
56
|
+
*/
|
|
57
|
+
destinationKey: z.string().min(1).isDBIndexed().isSummaryField(),
|
|
58
|
+
/**
|
|
59
|
+
* The delivery job payload as the dispatcher built it: the envelope, its F6 HMAC, the attempt
|
|
60
|
+
* number and the projected transport config.
|
|
61
|
+
*
|
|
62
|
+
* Stored WHOLE rather than decomposed so the collector sends exactly what the one-event path would
|
|
63
|
+
* have sent. The alternative — rebuilding a payload at flush time from parts — is the shape that
|
|
64
|
+
* lets a batched delivery drift from an unbatched one, and the enqueue seam exists precisely to
|
|
65
|
+
* stop two producers building different payloads for the same event.
|
|
66
|
+
*
|
|
67
|
+
* USAGE — this is a security audit event awaiting export, so it carries the same personal data the
|
|
68
|
+
* audit row does, for as long as it waits. `addDataCategories` because `z.unknown()` carries no
|
|
69
|
+
* prototype-installed decorators.
|
|
70
|
+
*/
|
|
71
|
+
deliveryPayload: addDataCategories(z.unknown(), PersonalDataCategory.USAGE),
|
|
72
|
+
/**
|
|
73
|
+
* Which delivery attempt this event is on, carried across flushes.
|
|
74
|
+
*
|
|
75
|
+
* The per-event retry ceiling is unchanged by batching: a rejected event advances its own counter
|
|
76
|
+
* and dead-letters at `retryAttempts` exactly as it does today, whether it was rejected alone or as
|
|
77
|
+
* one of fifty. Holding the counter per ROW is what keeps that true — a counter held per BATCH
|
|
78
|
+
* would make one event's failure spend another's budget.
|
|
79
|
+
*/
|
|
80
|
+
deliveryAttempt: z.number().int().min(0).default(0),
|
|
81
|
+
/**
|
|
82
|
+
* The collector run that owns this row, or absent while it is unclaimed.
|
|
83
|
+
*
|
|
84
|
+
* A compare-and-set on this field is the whole concurrency story: a flush claims only rows where it
|
|
85
|
+
* is absent, so two simultaneous flushes of one destination partition the pending set instead of
|
|
86
|
+
* both sending it.
|
|
87
|
+
*/
|
|
88
|
+
claimId: z.string().optional(),
|
|
89
|
+
claimedAt: z.date().optional(),
|
|
90
|
+
/**
|
|
91
|
+
* When this event may next be attempted — set when a flush defers it under backpressure or after a
|
|
92
|
+
* failed attempt's backoff. Absent means "eligible now".
|
|
93
|
+
*/
|
|
94
|
+
nextAttemptAt: z.date().optional(),
|
|
95
|
+
createdAt: z.date().default(() => new Date()).isSummaryField().excludeFromCreate().excludeFromUpdate(),
|
|
96
|
+
updatedAt: z.date().default(() => new Date()).excludeFromCreate().excludeFromUpdate(),
|
|
97
|
+
});
|
|
98
|
+
export const siemDeliveryOutboxPolymorphicDeclaration = declarePolymorphicSchemas({
|
|
99
|
+
baseResourceType: 'siemDeliveryOutbox',
|
|
100
|
+
baseFieldIdentifier: 'siemDeliveryOutboxId',
|
|
101
|
+
baseEnumKey: 'SIEM_DELIVERY_OUTBOX',
|
|
102
|
+
baseSchema: SiemDeliveryOutboxBaseSchema,
|
|
103
|
+
// Many pending rows per scope — opt out of the polymorphism engine's singleton-per-scope
|
|
104
|
+
// auto-business-key, exactly as the DLQ sibling does.
|
|
105
|
+
variants: AUTH_SCOPE_VARIANTS.map(optOutPolymorphicAutoBusinessKey),
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=siem-delivery-outbox.shared.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siem-delivery-outbox.shared.schemas.js","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-delivery-outbox.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mEAAmE,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAC;AAErI,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE;IAEtD;;;;OAIG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;IAEzD;;;OAGG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;IAEhE;;;;;;;;;;;;OAYG;IACH,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAE3E;;;;;;;OAOG;IACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnD;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE9B;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAElC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE;IACtG,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE;CACtF,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,wCAAwC,GAAG,yBAAyB,CAAC;IAChF,gBAAgB,EAAE,oBAAoB;IACtC,mBAAmB,EAAE,sBAAsB;IAC3C,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,4BAA4B;IACxC,yFAAyF;IACzF,sDAAsD;IACtD,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,gCAAgC,CAAC;CACpE,CAAC,CAAC","sourcesContent":["/**\n * SIEM Delivery Outbox Schema (Shared) — Polymorphic\n *\n * One row per security audit event that is WAITING to be delivered, so that several events can leave\n * as ONE HTTP request. The sibling of `siem-delivery-dlq.shared.schemas.ts` one step earlier in the\n * lane: the DLQ holds what FAILED, this holds what has not been sent yet.\n *\n * ## Why a durable row rather than an in-memory buffer (#1379)\n *\n * The delivery worker posts one event per request because the job is created PER EVENT at enqueue —\n * `processDelivery` is handed one payload and no parameter it receives could ever batch. Grouping\n * therefore has to happen before the queue, and the group has to survive a restart: an event that is\n * already durable on the broker today must not become an event held in a process's heap. So the\n * pending set is a resource, written before the event's job is acknowledged and deleted only once the\n * collector has taken it.\n *\n * An in-memory accumulator was rejected for exactly that reason, and a second candidate — holding the\n * events as UNACKED broker deliveries — was rejected on a measurement: `consume()` runs on the single\n * primary channel and `channel.prefetch(1)` is set on it, so at most ONE delivery is ever in flight\n * per process and no accumulation is possible without a second channel. Keeping the durable half of\n * this lane in one place (the broker for transport, this table for grouping) is the simpler story.\n *\n * ## The two columns that carry the design\n *\n * `destinationKey` is what makes a batch legitimate: a request carries one URL, one auth method and\n * one credential, so rows may only travel together when those agree. It is a FINGERPRINT of the\n * transport configuration rather than the configuration itself, so a config change mid-window simply\n * starts a new key — the rows enqueued under the old one flush under the configuration they were\n * authored against, which is the only honest reading of \"this event was exported to that destination\".\n *\n * `claimId` is what makes concurrent collectors safe. Two replicas may flush the same destination at\n * the same instant; each stamps the rows it intends to send with its own id under a compare-and-set,\n * so a row belongs to exactly one request and the two batches are disjoint rather than duplicated.\n *\n * ── ORG variant is live; the APPLICATION variant is RESERVED / DORMANT ─────────────\n * Declared over `AUTH_SCOPE_VARIANTS` like every other SIEM resource, and populated only for the\n * ORGANIZATION scope for the same reason: the sole delivery producer is org-scoped. See\n * `AuditEventDispatcherBackendService.dispatchToOrganizationAuditSinks`.\n */\n\nimport { z } from 'zod';\nimport { PersonalDataCategory } from '../../../compliance/privacy/personal-data-category.shared.schemas';\nimport { addDataCategories } from '@wildo-ai/zod-decorators';\nimport { AUTH_SCOPE_VARIANTS } from '../authentication.shared.schemas';\nimport { declarePolymorphicSchemas, optOutPolymorphicAutoBusinessKey } from '../../../resources/utils/resource-polymorphism.schemas';\n\nexport const SiemDeliveryOutboxBaseSchema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n\n /**\n * The envelope's own event id. Also the idempotency key for the append: the event's job may be\n * redelivered by the broker after a crash between the append and the acknowledgement, and appending\n * twice would put the same event in the batch twice.\n */\n eventId: z.string().min(1).isDBIndexed().isSummaryField(),\n\n /**\n * Fingerprint of the transport configuration this event is bound for — see the header. Indexed\n * because every collector query filters on it: it is the unit a batch is assembled over.\n */\n destinationKey: z.string().min(1).isDBIndexed().isSummaryField(),\n\n /**\n * The delivery job payload as the dispatcher built it: the envelope, its F6 HMAC, the attempt\n * number and the projected transport config.\n *\n * Stored WHOLE rather than decomposed so the collector sends exactly what the one-event path would\n * have sent. The alternative — rebuilding a payload at flush time from parts — is the shape that\n * lets a batched delivery drift from an unbatched one, and the enqueue seam exists precisely to\n * stop two producers building different payloads for the same event.\n *\n * USAGE — this is a security audit event awaiting export, so it carries the same personal data the\n * audit row does, for as long as it waits. `addDataCategories` because `z.unknown()` carries no\n * prototype-installed decorators.\n */\n deliveryPayload: addDataCategories(z.unknown(), PersonalDataCategory.USAGE),\n\n /**\n * Which delivery attempt this event is on, carried across flushes.\n *\n * The per-event retry ceiling is unchanged by batching: a rejected event advances its own counter\n * and dead-letters at `retryAttempts` exactly as it does today, whether it was rejected alone or as\n * one of fifty. Holding the counter per ROW is what keeps that true — a counter held per BATCH\n * would make one event's failure spend another's budget.\n */\n deliveryAttempt: z.number().int().min(0).default(0),\n\n /**\n * The collector run that owns this row, or absent while it is unclaimed.\n *\n * A compare-and-set on this field is the whole concurrency story: a flush claims only rows where it\n * is absent, so two simultaneous flushes of one destination partition the pending set instead of\n * both sending it.\n */\n claimId: z.string().optional(),\n claimedAt: z.date().optional(),\n\n /**\n * When this event may next be attempted — set when a flush defers it under backpressure or after a\n * failed attempt's backoff. Absent means \"eligible now\".\n */\n nextAttemptAt: z.date().optional(),\n\n createdAt: z.date().default(() => new Date()).isSummaryField().excludeFromCreate().excludeFromUpdate(),\n updatedAt: z.date().default(() => new Date()).excludeFromCreate().excludeFromUpdate(),\n});\n\nexport type SiemDeliveryOutboxBase = z.infer<typeof SiemDeliveryOutboxBaseSchema>;\n\nexport const siemDeliveryOutboxPolymorphicDeclaration = declarePolymorphicSchemas({\n baseResourceType: 'siemDeliveryOutbox',\n baseFieldIdentifier: 'siemDeliveryOutboxId',\n baseEnumKey: 'SIEM_DELIVERY_OUTBOX',\n baseSchema: SiemDeliveryOutboxBaseSchema,\n // Many pending rows per scope — opt out of the polymorphism engine's singleton-per-scope\n // auto-business-key, exactly as the DLQ sibling does.\n variants: AUTH_SCOPE_VARIANTS.map(optOutPolymorphicAutoBusinessKey),\n});\n"]}
|
|
@@ -6,5 +6,24 @@
|
|
|
6
6
|
* ...siemExportConfigPolymorphicFactories
|
|
7
7
|
*/
|
|
8
8
|
import { CoreResourceOperation } from '../../../resources/resources.shared.core.definitions';
|
|
9
|
+
import { ResourceOperationVariantType } from '../../../resources/resources.shared.schemas';
|
|
10
|
+
/**
|
|
11
|
+
* The variant type each SIEM-export-config WRITE runs on — the one named source both this configuration
|
|
12
|
+
* and the backend hooks registered on these writes read (credential sealing, cache invalidation, change
|
|
13
|
+
* audit).
|
|
14
|
+
*
|
|
15
|
+
* A custom implementation is keyed by `(resource, operation, variantType)`. Until #953 each hook
|
|
16
|
+
* restated `INTERNAL_CALL` by hand, so moving UPDATE onto its API_CALL door meant editing four files
|
|
17
|
+
* in lockstep, and the first one missed would silently stop sealing credentials. Startup validation
|
|
18
|
+
* would refuse the mismatch, but only once the process was already starting.
|
|
19
|
+
*
|
|
20
|
+
* - `CREATE` stays `INTERNAL_CALL`: the row is seeded, or lazily materialised on the userless login
|
|
21
|
+
* path, and never created self-serve.
|
|
22
|
+
* - `UPDATE` is `API_CALL`: the admin's edit door.
|
|
23
|
+
*/
|
|
24
|
+
export declare const SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE: Readonly<{
|
|
25
|
+
[CoreResourceOperation.CREATE]: ResourceOperationVariantType.INTERNAL_CALL;
|
|
26
|
+
[CoreResourceOperation.UPDATE]: ResourceOperationVariantType.API_CALL;
|
|
27
|
+
}>;
|
|
9
28
|
export declare const siemExportConfigPolymorphicFactories: Record<string, import("../../..").ResourceConfiguration_InitializationFactory<undefined, CoreResourceOperation.READ | CoreResourceOperation.UPDATE | CoreResourceOperation.DELETE | CoreResourceOperation.CREATE, any>>;
|
|
10
29
|
//# sourceMappingURL=siem-export-config.shared.resources-config.schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siem-export-config.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-export-config.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAoB,MAAM,sDAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"siem-export-config.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-export-config.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAoB,MAAM,sDAAsD,CAAC;AAC/G,OAAO,EAEL,4BAA4B,EAC7B,MAAM,6CAA6C,CAAC;AAQrD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAAC;IAG3D,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC,aAAa,CAAC;IAC3E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC,QAAQ,CAAC;CACvE,CAGA,CAAC;AAIF,eAAO,MAAM,oCAAoC,yNA4GhD,CAAC"}
|
package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js
CHANGED
|
@@ -11,6 +11,25 @@ import { createPolymorphicResourceConfigurations } from '../../../resources/util
|
|
|
11
11
|
import { ResourceSystemAccessMode } from '../../../resources/resources-config.shared.schemas.js';
|
|
12
12
|
import { CORE_ORG_ROLES, CORE_APP_ROLES } from '../../authorizations/roles.shared.schemas.js';
|
|
13
13
|
import { siemExportConfigPolymorphicDeclaration } from './siem-export-config.shared.schemas.js';
|
|
14
|
+
// ── Write variants ───────────────────────────────────────────────────
|
|
15
|
+
/**
|
|
16
|
+
* The variant type each SIEM-export-config WRITE runs on — the one named source both this configuration
|
|
17
|
+
* and the backend hooks registered on these writes read (credential sealing, cache invalidation, change
|
|
18
|
+
* audit).
|
|
19
|
+
*
|
|
20
|
+
* A custom implementation is keyed by `(resource, operation, variantType)`. Until #953 each hook
|
|
21
|
+
* restated `INTERNAL_CALL` by hand, so moving UPDATE onto its API_CALL door meant editing four files
|
|
22
|
+
* in lockstep, and the first one missed would silently stop sealing credentials. Startup validation
|
|
23
|
+
* would refuse the mismatch, but only once the process was already starting.
|
|
24
|
+
*
|
|
25
|
+
* - `CREATE` stays `INTERNAL_CALL`: the row is seeded, or lazily materialised on the userless login
|
|
26
|
+
* path, and never created self-serve.
|
|
27
|
+
* - `UPDATE` is `API_CALL`: the admin's edit door.
|
|
28
|
+
*/
|
|
29
|
+
export const SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE = {
|
|
30
|
+
[CoreResourceOperation.CREATE]: ResourceOperationVariantType.INTERNAL_CALL,
|
|
31
|
+
[CoreResourceOperation.UPDATE]: ResourceOperationVariantType.API_CALL,
|
|
32
|
+
};
|
|
14
33
|
// ── Polymorphic Factory ──────────────────────────────────────────────
|
|
15
34
|
export const siemExportConfigPolymorphicFactories = createPolymorphicResourceConfigurations(siemExportConfigPolymorphicDeclaration, {
|
|
16
35
|
isSystemResource: true,
|
|
@@ -52,7 +71,7 @@ export const siemExportConfigPolymorphicFactories = createPolymorphicResourceCon
|
|
|
52
71
|
// self-serve). Same fix as the SCIM-tokens READ/UPDATE. Admin tier / MEDIUM.
|
|
53
72
|
[CoreResourceOperation.CREATE]: {
|
|
54
73
|
variants: [{
|
|
55
|
-
variantType:
|
|
74
|
+
variantType: SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE[CoreResourceOperation.CREATE],
|
|
56
75
|
isDefault: true,
|
|
57
76
|
polymorphicRole: {
|
|
58
77
|
[CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],
|
|
@@ -61,25 +80,43 @@ export const siemExportConfigPolymorphicFactories = createPolymorphicResourceCon
|
|
|
61
80
|
riskLevel: ResourceOperationRiskLevel.MEDIUM,
|
|
62
81
|
}],
|
|
63
82
|
},
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
//
|
|
83
|
+
// THE WRITE DOOR (API_CALL, #953). Until 2026-09-13 this was INTERNAL_CALL with the comment "SIEM
|
|
84
|
+
// config edits reach this through `AuthOrganizationConfigurationService.saveSiemExportConfig`" —
|
|
85
|
+
// and nothing in production called that method. The engine preset rendered an edit form, the
|
|
86
|
+
// customer documentation told an operator which values to enter, and the only rows that ever
|
|
87
|
+
// carried a destination were written straight into the database by the e2e harness.
|
|
88
|
+
//
|
|
89
|
+
// A plain UPDATE, not a named domain operation: this is an edit of the scope's one config row
|
|
90
|
+
// over the fields the form already renders, with no step-specific transition to model (the SSO
|
|
91
|
+
// domain claim/verify/revoke operations are named because each IS such a transition).
|
|
92
|
+
// `saveSiemExportConfig` still resolves this same default variant, so there is one write path.
|
|
93
|
+
//
|
|
94
|
+
// Both scope variants get the door, because a polymorphic declaration cannot give them different
|
|
95
|
+
// variant types. The APPLICATION variant is settable and INERT — no producer delivers
|
|
96
|
+
// application-scoped events (see `AuditEventDispatcherBackendService.dispatchToOrganizationAuditSinks`)
|
|
97
|
+
// — decided deliberately on 2026-09-13 rather than refused at the door.
|
|
98
|
+
//
|
|
99
|
+
// HIGH, not MEDIUM: HIGH is inside `AUTOMATIC_AUDIT_RISK_FLOOR`, so EVERY edit on EITHER scope leaves
|
|
100
|
+
// a `RESOURCE_OPERATION_PERFORMED` row. The organization variant additionally emits the typed
|
|
101
|
+
// `ORGANIZATION_SIEM_EXPORT_CONFIGURED`; the application variant has no typed event (its schema
|
|
102
|
+
// names an organization), so at MEDIUM an application-scope destination change recorded nothing.
|
|
103
|
+
// The change is high-consequence either way: it decides where a tenant's security events go,
|
|
104
|
+
// whether they go at all, and with which credential.
|
|
105
|
+
//
|
|
106
|
+
// ⚠️ `authCredential` IS SEALED BY A CUSTOM IMPLEMENTATION ON THIS PATH (#951). `.isWriteOnlySecret()`
|
|
107
|
+
// governs how a value is PRESENTED, never how it is STORED. This variant and the sealing,
|
|
108
|
+
// cache-invalidation and change-audit hooks in saas-backend-lib all read
|
|
109
|
+
// `SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE`, so they move together. Hard-code a variant type here instead
|
|
110
|
+
// and all three hooks are orphaned, which startup validation refuses by name.
|
|
74
111
|
[CoreResourceOperation.UPDATE]: {
|
|
75
112
|
variants: [{
|
|
76
|
-
variantType:
|
|
113
|
+
variantType: SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE[CoreResourceOperation.UPDATE],
|
|
77
114
|
isDefault: true,
|
|
78
115
|
polymorphicRole: {
|
|
79
116
|
[CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],
|
|
80
117
|
[CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],
|
|
81
118
|
},
|
|
82
|
-
riskLevel: ResourceOperationRiskLevel.
|
|
119
|
+
riskLevel: ResourceOperationRiskLevel.HIGH,
|
|
83
120
|
}],
|
|
84
121
|
},
|
|
85
122
|
// Internal-only (REPOSITORY_ONLY, no HTTP route): powers the composition
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siem-export-config.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-export-config.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAC/G,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,uCAAuC,EAAE,MAAM,wDAAwD,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC;AAE7F,wEAAwE;AAExE,MAAM,CAAC,MAAM,oCAAoC,GAAG,uCAAuC,CACzF,sCAAsC,EACtC;IACE,gBAAgB,EAAE,IAAI;IACtB,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,oEAAoE;IACpE,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,mCAAmC;IACnC,kBAAkB,EAAE;QAClB,IAAI,EAAE,wBAAwB,CAAC,OAAO;QACtC,MAAM,EAAE,wBAAwB,CAAC,OAAO;KACzC;IACD,cAAc,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC;IACtI,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C,CAAC;SACH;QACD,4EAA4E;QAC5E,8EAA8E;QAC9E,uEAAuE;QACvE,6EAA6E;QAC7E,4EAA4E;QAC5E,+EAA+E;QAC/E,wDAAwD;QACxD,0EAA0E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,6EAA6E;QAC7E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,aAAa;oBACvD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,MAAM;iBAC7C,CAAC;SACH;QACD,qFAAqF;QACrF,wFAAwF;QACxF,sFAAsF;QACtF,4FAA4F;QAC5F,qFAAqF;QACrF,oFAAoF;QACpF,mFAAmF;QACnF,sFAAsF;QACtF,wFAAwF;QACxF,0EAA0E;QAC1E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,aAAa;oBACvD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,MAAM;iBAC7C,CAAC;SACH;QACD,yEAAyE;QACzE,oFAAoF;QACpF,8EAA8E;QAC9E,+EAA+E;QAC/E,+DAA+D;QAC/D,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,IAAI;iBAC3C,CAAC;SACH;KACF;CACF,CACF,CAAC","sourcesContent":["/**\n * SIEM Export Config Resource Configuration — Polymorphic\n *\n * Produces 2 factory functions (ORG + APP) via the polymorphic factory.\n * Spread into the registry factory map:\n * ...siemExportConfigPolymorphicFactories\n */\n\nimport { CoreResourceOperation, CoreResourceType } from '../../../resources/resources.shared.core.definitions';\nimport {\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n} from '../../../resources/resources.shared.schemas';\nimport { createPolymorphicResourceConfigurations } from '../../../resources/utils/resource-polymorphism.factory';\nimport { ResourceSystemAccessMode } from '../../../resources/resources-config.shared.schemas';\nimport { CORE_ORG_ROLES, CORE_APP_ROLES } from '../../authorizations/roles.shared.schemas';\nimport { siemExportConfigPolymorphicDeclaration } from './siem-export-config.shared.schemas';\n\n// ── Polymorphic Factory ──────────────────────────────────────────────\n\nexport const siemExportConfigPolymorphicFactories = createPolymorphicResourceConfigurations(\n siemExportConfigPolymorphicDeclaration,\n {\n isSystemResource: true,\n // Audit/SIEM dispatch loads the export config via `readAsSystem` to decide\n // where to deliver events, independent of any user (READ). When the row is\n // absent — a provisioned / migrated / pre-seed org that bypassed the\n // `afterCreate` default-seed — that same userless login path lazily\n // materialises the disabled-default row via `createAsSystem` (CREATE); see\n // `AuthOrganizationConfigurationService.loadSiemExportConfig`. Both are\n // system-context (the logging-in user is not the config's admin owner), so\n // the resource opts BOTH verbs in.\n systemAccessPolicy: {\n read: ResourceSystemAccessMode.ALLOWED,\n create: ResourceSystemAccessMode.ALLOWED,\n },\n coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.CREATE, CoreResourceOperation.UPDATE, CoreResourceOperation.DELETE],\n operationsConfiguration: {\n [CoreResourceOperation.READ]: {\n variants: [{\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.LOW,\n }],\n },\n // Internal-only (INTERNAL_CALL, NO HTTP route): the per-scope config row is\n // materialised by the framework default-seed (repository tier) OR — when that\n // was bypassed (provisioned / migrated / pre-seed org) — lazily by the\n // userless login path via `createAsSystem` (`systemAccessPolicy.create` opts\n // it in). Must NOT be REPOSITORY_ONLY: `createAsSystem` resolves CREATE via\n // `getServiceOperationPathDefault`, which honours INTERNAL_CALL / API_CALL but\n // NOT REPOSITORY_ONLY — a repository-only CREATE throws\n // `RESOURCES_REGISTRY_OPERATION_PATH_NOT_FOUND` (INTERNAL / critical, and\n // self-alerting on mere construction) on every login for a config-less org.\n // No public HTTP create surface (config is seeded/bootstrapped, never\n // self-serve). Same fix as the SCIM-tokens READ/UPDATE. Admin tier / MEDIUM.\n [CoreResourceOperation.CREATE]: {\n variants: [{\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n }],\n },\n // Internal-only (INTERNAL_CALL, NO HTTP route): SIEM config edits reach this through\n // the config service path — `AuthOrganizationConfigurationService.saveSiemExportConfig`\n // dispatches the write via `ServicesRegistryHandler.update` with the ADMIN's EC. Must\n // NOT be REPOSITORY_ONLY: `.update()` resolves the op via `getServiceOperationPathDefault`,\n // which honours INTERNAL_CALL / API_CALL but NOT REPOSITORY_ONLY — a repository-only\n // UPDATE throws `RESOURCES_REGISTRY_OPERATION_PATH_NOT_FOUND` (INTERNAL / critical)\n // whenever the save method runs. (`authCredential` masking is framework-driven via\n // `.isWriteOnlySecret()`, so — unlike SSO's `socialCredentialOverrides` — there is no\n // UPDATE custom-impl to keep in lockstep here.) No public HTTP update surface. Same fix\n // as the CREATE above + the SCIM-tokens READ/UPDATE. Admin tier / MEDIUM.\n [CoreResourceOperation.UPDATE]: {\n variants: [{\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n }],\n },\n // Internal-only (REPOSITORY_ONLY, no HTTP route): powers the composition\n // onParentDelete cascade so this one-per-scope SIEM-export-config row is physically\n // removed when its owning org/app is deleted. Without a DELETE op the cascade\n // (deleteChildrenImmediate) throws ErrorType.CONFIGURATION on any scope with a\n // config row. Admin tier (ORG_ADMIN / APP super-admin) / HIGH.\n [CoreResourceOperation.DELETE]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.HIGH,\n }],\n },\n },\n },\n);\n"]}
|
|
1
|
+
{"version":3,"file":"siem-export-config.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-export-config.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAC/G,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,uCAAuC,EAAE,MAAM,wDAAwD,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,sCAAsC,EAAE,MAAM,qCAAqC,CAAC;AAE7F,wEAAwE;AAExE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAK7C;IACH,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC,aAAa;IAC1E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC,QAAQ;CACtE,CAAC;AAEF,wEAAwE;AAExE,MAAM,CAAC,MAAM,oCAAoC,GAAG,uCAAuC,CACzF,sCAAsC,EACtC;IACE,gBAAgB,EAAE,IAAI;IACtB,2EAA2E;IAC3E,2EAA2E;IAC3E,qEAAqE;IACrE,oEAAoE;IACpE,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,mCAAmC;IACnC,kBAAkB,EAAE;QAClB,IAAI,EAAE,wBAAwB,CAAC,OAAO;QACtC,MAAM,EAAE,wBAAwB,CAAC,OAAO;KACzC;IACD,cAAc,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC;IACtI,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C,CAAC;SACH;QACD,4EAA4E;QAC5E,8EAA8E;QAC9E,uEAAuE;QACvE,6EAA6E;QAC7E,4EAA4E;QAC5E,+EAA+E;QAC/E,wDAAwD;QACxD,0EAA0E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,6EAA6E;QAC7E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,qCAAqC,CAAC,qBAAqB,CAAC,MAAM,CAAC;oBAChF,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,MAAM;iBAC7C,CAAC;SACH;QACD,kGAAkG;QAClG,iGAAiG;QACjG,6FAA6F;QAC7F,6FAA6F;QAC7F,oFAAoF;QACpF,EAAE;QACF,8FAA8F;QAC9F,+FAA+F;QAC/F,sFAAsF;QACtF,+FAA+F;QAC/F,EAAE;QACF,iGAAiG;QACjG,sFAAsF;QACtF,wGAAwG;QACxG,wEAAwE;QACxE,EAAE;QACF,sGAAsG;QACtG,8FAA8F;QAC9F,gGAAgG;QAChG,iGAAiG;QACjG,6FAA6F;QAC7F,qDAAqD;QACrD,EAAE;QACF,uGAAuG;QACvG,0FAA0F;QAC1F,yEAAyE;QACzE,wGAAwG;QACxG,8EAA8E;QAC9E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,qCAAqC,CAAC,qBAAqB,CAAC,MAAM,CAAC;oBAChF,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,IAAI;iBAC3C,CAAC;SACH;QACD,yEAAyE;QACzE,oFAAoF;QACpF,8EAA8E;QAC9E,+EAA+E;QAC/E,+DAA+D;QAC/D,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE,CAAC;oBACT,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,eAAe,EAAE;wBACf,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBAC5D,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;qBACvE;oBACD,SAAS,EAAE,0BAA0B,CAAC,IAAI;iBAC3C,CAAC;SACH;KACF;CACF,CACF,CAAC","sourcesContent":["/**\n * SIEM Export Config Resource Configuration — Polymorphic\n *\n * Produces 2 factory functions (ORG + APP) via the polymorphic factory.\n * Spread into the registry factory map:\n * ...siemExportConfigPolymorphicFactories\n */\n\nimport { CoreResourceOperation, CoreResourceType } from '../../../resources/resources.shared.core.definitions';\nimport {\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n} from '../../../resources/resources.shared.schemas';\nimport { createPolymorphicResourceConfigurations } from '../../../resources/utils/resource-polymorphism.factory';\nimport { ResourceSystemAccessMode } from '../../../resources/resources-config.shared.schemas';\nimport { CORE_ORG_ROLES, CORE_APP_ROLES } from '../../authorizations/roles.shared.schemas';\nimport { siemExportConfigPolymorphicDeclaration } from './siem-export-config.shared.schemas';\n\n// ── Write variants ───────────────────────────────────────────────────\n\n/**\n * The variant type each SIEM-export-config WRITE runs on — the one named source both this configuration\n * and the backend hooks registered on these writes read (credential sealing, cache invalidation, change\n * audit).\n *\n * A custom implementation is keyed by `(resource, operation, variantType)`. Until #953 each hook\n * restated `INTERNAL_CALL` by hand, so moving UPDATE onto its API_CALL door meant editing four files\n * in lockstep, and the first one missed would silently stop sealing credentials. Startup validation\n * would refuse the mismatch, but only once the process was already starting.\n *\n * - `CREATE` stays `INTERNAL_CALL`: the row is seeded, or lazily materialised on the userless login\n * path, and never created self-serve.\n * - `UPDATE` is `API_CALL`: the admin's edit door.\n */\nexport const SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE: Readonly<{\n // Exact members, not the enum: a variant is a union DISCRIMINATED by `variantType`, so a value typed\n // as the whole enum matches no member of it.\n [CoreResourceOperation.CREATE]: ResourceOperationVariantType.INTERNAL_CALL;\n [CoreResourceOperation.UPDATE]: ResourceOperationVariantType.API_CALL;\n}> = {\n [CoreResourceOperation.CREATE]: ResourceOperationVariantType.INTERNAL_CALL,\n [CoreResourceOperation.UPDATE]: ResourceOperationVariantType.API_CALL,\n};\n\n// ── Polymorphic Factory ──────────────────────────────────────────────\n\nexport const siemExportConfigPolymorphicFactories = createPolymorphicResourceConfigurations(\n siemExportConfigPolymorphicDeclaration,\n {\n isSystemResource: true,\n // Audit/SIEM dispatch loads the export config via `readAsSystem` to decide\n // where to deliver events, independent of any user (READ). When the row is\n // absent — a provisioned / migrated / pre-seed org that bypassed the\n // `afterCreate` default-seed — that same userless login path lazily\n // materialises the disabled-default row via `createAsSystem` (CREATE); see\n // `AuthOrganizationConfigurationService.loadSiemExportConfig`. Both are\n // system-context (the logging-in user is not the config's admin owner), so\n // the resource opts BOTH verbs in.\n systemAccessPolicy: {\n read: ResourceSystemAccessMode.ALLOWED,\n create: ResourceSystemAccessMode.ALLOWED,\n },\n coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.CREATE, CoreResourceOperation.UPDATE, CoreResourceOperation.DELETE],\n operationsConfiguration: {\n [CoreResourceOperation.READ]: {\n variants: [{\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.LOW,\n }],\n },\n // Internal-only (INTERNAL_CALL, NO HTTP route): the per-scope config row is\n // materialised by the framework default-seed (repository tier) OR — when that\n // was bypassed (provisioned / migrated / pre-seed org) — lazily by the\n // userless login path via `createAsSystem` (`systemAccessPolicy.create` opts\n // it in). Must NOT be REPOSITORY_ONLY: `createAsSystem` resolves CREATE via\n // `getServiceOperationPathDefault`, which honours INTERNAL_CALL / API_CALL but\n // NOT REPOSITORY_ONLY — a repository-only CREATE throws\n // `RESOURCES_REGISTRY_OPERATION_PATH_NOT_FOUND` (INTERNAL / critical, and\n // self-alerting on mere construction) on every login for a config-less org.\n // No public HTTP create surface (config is seeded/bootstrapped, never\n // self-serve). Same fix as the SCIM-tokens READ/UPDATE. Admin tier / MEDIUM.\n [CoreResourceOperation.CREATE]: {\n variants: [{\n variantType: SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE[CoreResourceOperation.CREATE],\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n }],\n },\n // THE WRITE DOOR (API_CALL, #953). Until 2026-09-13 this was INTERNAL_CALL with the comment \"SIEM\n // config edits reach this through `AuthOrganizationConfigurationService.saveSiemExportConfig`\" —\n // and nothing in production called that method. The engine preset rendered an edit form, the\n // customer documentation told an operator which values to enter, and the only rows that ever\n // carried a destination were written straight into the database by the e2e harness.\n //\n // A plain UPDATE, not a named domain operation: this is an edit of the scope's one config row\n // over the fields the form already renders, with no step-specific transition to model (the SSO\n // domain claim/verify/revoke operations are named because each IS such a transition).\n // `saveSiemExportConfig` still resolves this same default variant, so there is one write path.\n //\n // Both scope variants get the door, because a polymorphic declaration cannot give them different\n // variant types. The APPLICATION variant is settable and INERT — no producer delivers\n // application-scoped events (see `AuditEventDispatcherBackendService.dispatchToOrganizationAuditSinks`)\n // — decided deliberately on 2026-09-13 rather than refused at the door.\n //\n // HIGH, not MEDIUM: HIGH is inside `AUTOMATIC_AUDIT_RISK_FLOOR`, so EVERY edit on EITHER scope leaves\n // a `RESOURCE_OPERATION_PERFORMED` row. The organization variant additionally emits the typed\n // `ORGANIZATION_SIEM_EXPORT_CONFIGURED`; the application variant has no typed event (its schema\n // names an organization), so at MEDIUM an application-scope destination change recorded nothing.\n // The change is high-consequence either way: it decides where a tenant's security events go,\n // whether they go at all, and with which credential.\n //\n // ⚠️ `authCredential` IS SEALED BY A CUSTOM IMPLEMENTATION ON THIS PATH (#951). `.isWriteOnlySecret()`\n // governs how a value is PRESENTED, never how it is STORED. This variant and the sealing,\n // cache-invalidation and change-audit hooks in saas-backend-lib all read\n // `SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE`, so they move together. Hard-code a variant type here instead\n // and all three hooks are orphaned, which startup validation refuses by name.\n [CoreResourceOperation.UPDATE]: {\n variants: [{\n variantType: SIEM_EXPORT_CONFIG_WRITE_VARIANT_TYPE[CoreResourceOperation.UPDATE],\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.HIGH,\n }],\n },\n // Internal-only (REPOSITORY_ONLY, no HTTP route): powers the composition\n // onParentDelete cascade so this one-per-scope SIEM-export-config row is physically\n // removed when its owning org/app is deleted. Without a DELETE op the cascade\n // (deleteChildrenImmediate) throws ErrorType.CONFIGURATION on any scope with a\n // config row. Admin tier (ORG_ADMIN / APP super-admin) / HIGH.\n [CoreResourceOperation.DELETE]: {\n variants: [{\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n polymorphicRole: {\n [CoreResourceType.ORGANIZATIONS]: [CORE_ORG_ROLES.ORG_ADMIN],\n [CoreResourceType.APPLICATION]: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n },\n riskLevel: ResourceOperationRiskLevel.HIGH,\n }],\n },\n },\n },\n);\n"]}
|
|
@@ -89,14 +89,20 @@ export declare const SiemExportConfigBaseSchema: z.ZodObject<{
|
|
|
89
89
|
}, z.core.$strip>;
|
|
90
90
|
delivery: z.ZodObject<{
|
|
91
91
|
batchSize: z.ZodDefault<z.ZodNumber>;
|
|
92
|
-
batchWindowSeconds: z.ZodDefault<z.ZodNumber
|
|
92
|
+
batchWindowSeconds: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodNumber>>;
|
|
93
93
|
retryAttempts: z.ZodDefault<z.ZodNumber>;
|
|
94
94
|
retryBackoffSeconds: z.ZodDefault<z.ZodNumber>;
|
|
95
95
|
timeoutSeconds: z.ZodDefault<z.ZodNumber>;
|
|
96
96
|
}, z.core.$strip>;
|
|
97
97
|
customHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
exportProjection: z.ZodOptional<z.ZodObject<{
|
|
99
|
+
disclosedTiers: z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<{
|
|
100
|
+
readonly CONTEXT: import("../../..").AuditExportDisclosureTier.CONTEXT;
|
|
101
|
+
readonly ATTRIBUTION: import("../../..").AuditExportDisclosureTier.ATTRIBUTION;
|
|
102
|
+
readonly DETAIL: import("../../..").AuditExportDisclosureTier.DETAIL;
|
|
103
|
+
}>>>>;
|
|
104
|
+
disclosedEventDataClasses: z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("../../..").AuditExportEventDataDisclosure>>>>;
|
|
105
|
+
}, z.core.$strip>>;
|
|
100
106
|
createdAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>;
|
|
101
107
|
updatedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>;
|
|
102
108
|
}, z.core.$strip>;
|
|
@@ -136,14 +142,20 @@ export declare const siemExportConfigPolymorphicDeclaration: import("../../..").
|
|
|
136
142
|
}, z.core.$strip>;
|
|
137
143
|
delivery: z.ZodObject<{
|
|
138
144
|
batchSize: z.ZodDefault<z.ZodNumber>;
|
|
139
|
-
batchWindowSeconds: z.ZodDefault<z.ZodNumber
|
|
145
|
+
batchWindowSeconds: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDefault<z.ZodNumber>>;
|
|
140
146
|
retryAttempts: z.ZodDefault<z.ZodNumber>;
|
|
141
147
|
retryBackoffSeconds: z.ZodDefault<z.ZodNumber>;
|
|
142
148
|
timeoutSeconds: z.ZodDefault<z.ZodNumber>;
|
|
143
149
|
}, z.core.$strip>;
|
|
144
150
|
customHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
145
|
-
|
|
146
|
-
|
|
151
|
+
exportProjection: z.ZodOptional<z.ZodObject<{
|
|
152
|
+
disclosedTiers: z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<{
|
|
153
|
+
readonly CONTEXT: import("../../..").AuditExportDisclosureTier.CONTEXT;
|
|
154
|
+
readonly ATTRIBUTION: import("../../..").AuditExportDisclosureTier.ATTRIBUTION;
|
|
155
|
+
readonly DETAIL: import("../../..").AuditExportDisclosureTier.DETAIL;
|
|
156
|
+
}>>>>;
|
|
157
|
+
disclosedEventDataClasses: z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("../../..").AuditExportEventDataDisclosure>>>>;
|
|
158
|
+
}, z.core.$strip>>;
|
|
147
159
|
createdAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>;
|
|
148
160
|
updatedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>;
|
|
149
161
|
}, z.core.$strip>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siem-export-config.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-export-config.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"siem-export-config.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/siem/siem-export-config.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgMrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMjD,CAAC"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* @see auth-data-model-audit.md §2D
|
|
22
22
|
*/
|
|
23
23
|
import { z } from 'zod';
|
|
24
|
+
import { SiemExportProjectionDeclarationSchema } from '../../../compliance/audit-trails/audit-export-projection.shared.schemas.js';
|
|
24
25
|
import { WildoHeaderKeys } from '../../../requests/header-keys.shared.js';
|
|
25
26
|
import { AUTH_SCOPE_VARIANTS } from '../authentication.shared.schemas.js';
|
|
26
27
|
import { declarePolymorphicSchemas } from '../../../resources/utils/resource-polymorphism.schemas.js';
|
|
@@ -97,16 +98,144 @@ export const SiemExportConfigBaseSchema = z.object({
|
|
|
97
98
|
severityMinimum: z.enum(SIEMFilterSeverity).default(SIEMFilterSeverity.INFO),
|
|
98
99
|
specificEventTypes: z.array(z.string()).optional(),
|
|
99
100
|
}),
|
|
101
|
+
/*
|
|
102
|
+
* Three knobs, and the two that were removed are the reason to read this.
|
|
103
|
+
*
|
|
104
|
+
* `retryAttempts`, `retryBackoffSeconds` and `timeoutSeconds` are honoured — the delivery worker
|
|
105
|
+
* reads all three (`siem-webhook-delivery.backend.service`, at the retry ceiling, the exponential
|
|
106
|
+
* backoff and the request deadline).
|
|
107
|
+
*
|
|
108
|
+
* `batchSize` and `batchWindowSeconds` are honoured TOO, as of #1379 — but they were not always,
|
|
109
|
+
* and the history is the reason to read this rather than trivia. They spent months appearing in
|
|
110
|
+
* the delivery service only as fields of its parameter TYPE: declared, passed, never consulted.
|
|
111
|
+
* That is the shape which makes an inert knob hardest to see, because it has a "reader" that
|
|
112
|
+
* decides nothing. The worker posted ONE event per HTTP request whatever they said, and the
|
|
113
|
+
* customer documentation warned an operator not to size a receiver or a billing estimate on
|
|
114
|
+
* either — a warning being what you write when the control is missing.
|
|
115
|
+
*
|
|
116
|
+
* They were deleted in `be001548` rather than kept as a disclosed "reserved" knob, on the
|
|
117
|
+
* principle that a receiver sized on `batchSize: 100` is sized wrong and a documented warning is
|
|
118
|
+
* not a control. They are back now because the control exists: a durable collector groups pending
|
|
119
|
+
* events per destination and sends them as one request, so the two numbers decide how many events
|
|
120
|
+
* a request may carry and how long a partly-filled one waits.
|
|
121
|
+
*
|
|
122
|
+
* The pairing that matters: `batchSize: 1` — the DEFAULT — means no batching at all, the window is
|
|
123
|
+
* never consulted, and the wire is byte-for-byte what it was before any of this existed.
|
|
124
|
+
*/
|
|
100
125
|
delivery: z.object({
|
|
101
|
-
|
|
102
|
-
|
|
126
|
+
/**
|
|
127
|
+
* The MOST events one HTTP request may carry. `1` — the default — is one request per event,
|
|
128
|
+
* which is what this destination gets until its operator asks for anything else.
|
|
129
|
+
*
|
|
130
|
+
* The number means what it says: the collector claims at most this many pending events for one
|
|
131
|
+
* request and sends no more, so a receiver sized on `batchSize: 50` receives at most fifty. A
|
|
132
|
+
* burst larger than this becomes several requests of this size rather than one oversized body.
|
|
133
|
+
*
|
|
134
|
+
* Capped at 100 because the body is the sum of its events and collector endpoints commonly
|
|
135
|
+
* refuse a payload around a megabyte: a hundred CEF lines sits comfortably under that, where a
|
|
136
|
+
* thousand would not. Raising the cap is a decision about the receiver, not about this engine.
|
|
137
|
+
*
|
|
138
|
+
* At `1` the delivery path is byte-for-byte what it was before batching existed — the event is
|
|
139
|
+
* sent alone, framed as itself, and {@link batchWindowSeconds} is never consulted.
|
|
140
|
+
*/
|
|
141
|
+
batchSize: z.number().int().min(1).max(100).default(1),
|
|
142
|
+
/**
|
|
143
|
+
* How long a partly-filled batch waits for company before it is sent anyway.
|
|
144
|
+
*
|
|
145
|
+
* ONLY consulted when {@link batchSize} is greater than 1 — at the default of 1 there is no
|
|
146
|
+
* batch to fill, so a lone event is never held. That is the pairing to know: this field cannot
|
|
147
|
+
* delay anything on a destination that has not opted into batching.
|
|
148
|
+
*
|
|
149
|
+
* It bounds how stale an exported security event may be, which is why the ceiling is a minute
|
|
150
|
+
* rather than the five that the retry backoff allows. A SOC's detection latency is the thing
|
|
151
|
+
* being spent here.
|
|
152
|
+
*/
|
|
153
|
+
batchWindowSeconds: z.preprocess(
|
|
154
|
+
/*
|
|
155
|
+
* A stored value BELOW the floor is LEGACY, and is normalised to the default rather than
|
|
156
|
+
* refused. Measured 2026-09-21 on the dogfood application: 17 of 17 rows carry
|
|
157
|
+
* `batchWindowSeconds: 0`, and so do wonder-crm's and the platform's.
|
|
158
|
+
*
|
|
159
|
+
* They were written by the seed's `delivery: {}` under the PRE-`be001548` schema, whose
|
|
160
|
+
* default for this field was 0 — back when nothing read it. Re-adding the field in #1379 with
|
|
161
|
+
* a floor of 1 made every one of those rows unreadable: `transformOutput` re-validates stored
|
|
162
|
+
* data against the CURRENT schema, so every read of every organization's SIEM export config
|
|
163
|
+
* threw, which is `loadSiemExportConfig` — the per-organization audit routing lookup.
|
|
164
|
+
*
|
|
165
|
+
* **The floor cannot simply be widened to 0, and the reason is in the collector**: "A window
|
|
166
|
+
* of 0 would make the flush job race the append's own transaction; the window is floored at 1
|
|
167
|
+
* second by the schema". `.min(1)` is load-bearing, so 0 is not a value this contract may
|
|
168
|
+
* hold — which is exactly why coercing it is honest rather than lax. It cannot be WRITTEN
|
|
169
|
+
* either: a create or update carrying 0 still fails the inner schema, because preprocess only
|
|
170
|
+
* substitutes the value that reaches it and the floor below still judges everything else.
|
|
171
|
+
*
|
|
172
|
+
* Neither of the framework's two repair mechanisms can reach these rows, which is why the
|
|
173
|
+
* normalisation lives here. A seed version bump does not: `AFTER_CREATE` "fires once and
|
|
174
|
+
* cannot reach backwards", and the lazy backfill is "first access creates the row, never
|
|
175
|
+
* re-applied". A SQL data migration would cover the three PostgreSQL surfaces and leave every
|
|
176
|
+
* Mongo-backed application broken.
|
|
177
|
+
*
|
|
178
|
+
* Matched on EXACTLY 0, never `< 1`. The first version of this coercion took anything below
|
|
179
|
+
* the floor, and a probe immediately showed it accepting `-3` as 5 — a coercion that had
|
|
180
|
+
* quietly become permission, which is the shape this repository forbids under "never present
|
|
181
|
+
* suppression as repair". A negative, a fraction and anything above the ceiling are still
|
|
182
|
+
* refused outright; 0 alone is the value the old schema actually wrote.
|
|
183
|
+
*
|
|
184
|
+
* The residual, stated rather than hidden: read and write share this schema, so an operator
|
|
185
|
+
* who TYPES 0 gets 5 instead of a validation error. That is the cost of the trade, and it is
|
|
186
|
+
* the right way round against every read of every organization's export config throwing.
|
|
187
|
+
*
|
|
188
|
+
* Mapped to `undefined` rather than to a literal so `.default(5)` stays the single source of
|
|
189
|
+
* the value. Removable once no deployment can hold a pre-#1379 row.
|
|
190
|
+
*/
|
|
191
|
+
(value) => (value === 0 ? undefined : value), z.number().int().min(1).max(60).default(5)),
|
|
103
192
|
retryAttempts: z.number().min(0).max(5).default(3),
|
|
104
193
|
retryBackoffSeconds: z.number().min(1).max(300).default(30),
|
|
105
194
|
timeoutSeconds: z.number().min(1).max(60).default(10),
|
|
106
195
|
}),
|
|
107
196
|
customHeaders: z.record(z.string(), z.string()).optional(),
|
|
108
|
-
|
|
109
|
-
|
|
197
|
+
/**
|
|
198
|
+
* What this destination may RECEIVE — the per-destination half of the audit-export projection
|
|
199
|
+
* (#1380). The vocabulary, the floor and the resolution live in
|
|
200
|
+
* `compliance/audit-trails/audit-export-projection.shared.schemas`; this field is only where a
|
|
201
|
+
* tenant declares its own narrowing.
|
|
202
|
+
*
|
|
203
|
+
* **`.optional()` on purpose, and the absent case is FULL disclosure.** Two destinations on one
|
|
204
|
+
* tenant can hold different agreements, so the declaration belongs here rather than on the
|
|
205
|
+
* application — but every row that exists today has none, and reading an absent declaration as
|
|
206
|
+
* "disclose nothing" would silently strip live feeds down to the floor. An operator narrows
|
|
207
|
+
* deliberately; the framework does not narrow on their behalf. See `FULL_AUDIT_EXPORT_PROJECTION`
|
|
208
|
+
* for why that fail-OPEN is right in this one place.
|
|
209
|
+
*
|
|
210
|
+
* This is NOT the revival of `includeRawEventData` / `includeDeviceContext` below. Those were two
|
|
211
|
+
* booleans beside the retry policy that nothing read; this resolves against a contract that is
|
|
212
|
+
* total over the envelope AND total over the event vocabulary, is applied once at the ENQUEUE
|
|
213
|
+
* SEAM — before the event is signed and queued, so all four wire formats carry it identically and
|
|
214
|
+
* no producer can reach the queue around it — and cannot trim the floor.
|
|
215
|
+
*/
|
|
216
|
+
exportProjection: SiemExportProjectionDeclarationSchema.optional(),
|
|
217
|
+
/*
|
|
218
|
+
* `includeRawEventData` and `includeDeviceContext` were REMOVED here, and neither was ever read.
|
|
219
|
+
*
|
|
220
|
+
* Both defaulted `true`, both rendered as switches on the SIEM pane with a description underneath,
|
|
221
|
+
* and the complete set of mentions was: this declaration, the display and edit templates, the
|
|
222
|
+
* specification, the customer documentation, the i18n labels — and FOUR test files, where each
|
|
223
|
+
* appears as a field of a config FIXTURE rather than as a behaviour under assertion. The envelope
|
|
224
|
+
* builders in `compliance/audit-trails` contain no `includeRaw`, no `rawEvent` and no
|
|
225
|
+
* `deviceContext` at all: what an exported event carries is decided by the projection contract,
|
|
226
|
+
* the same shape for every sink.
|
|
227
|
+
*
|
|
228
|
+
* They are worth naming apart from the other dead switches on these panes, because these two had
|
|
229
|
+
* `booleanUI({ showDescription: true })` — so an operator got a switch, a label AND a sentence
|
|
230
|
+
* explaining what it did, for a flag that did nothing. Being the best-presented control on the
|
|
231
|
+
* page is not evidence of being one.
|
|
232
|
+
*
|
|
233
|
+
* Removing them is not a loss of the capability they named. Choosing what an export carries is a
|
|
234
|
+
* real feature with a design — a projection the application declares — and it would be built on
|
|
235
|
+
* the envelope contract, not on two booleans beside the retry policy.
|
|
236
|
+
*
|
|
237
|
+
* Absence is pinned in `authentication-knobs-have-readers.test.ts`.
|
|
238
|
+
*/
|
|
110
239
|
createdAt: z.date().default(() => new Date()).excludeFromCreate().excludeFromUpdate(),
|
|
111
240
|
updatedAt: z.date().default(() => new Date()).excludeFromCreate().excludeFromUpdate(),
|
|
112
241
|
});
|