@wildo-ai/saas-models 1.1.9 → 1.1.10
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/_inspect.d.ts.map +1 -1
- package/dist/esm/_inspect.js.map +1 -1
- package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-metadata.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-subject.shared.schemas.js.map +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications-context.schemas.d.ts +68 -2
- package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications-context.schemas.js.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/invoice-ref.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.map +1 -1
- package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/price.shared.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.map +1 -1
- package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/product-definition.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.map +1 -1
- package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/billing/promotions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/promotions.shared.schemas.js.map +1 -1
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts.map +1 -1
- package/dist/esm/billing/public-pricing-catalog.shared.atoms.js.map +1 -1
- package/dist/esm/billing/public-pricing-catalog.shared.d.ts.map +1 -1
- package/dist/esm/billing/public-pricing-catalog.shared.js.map +1 -1
- package/dist/esm/billing/referral-reward.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral-reward.shared.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.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/referral.shared.schemas.js.map +1 -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.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
- package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/usage-flush-evidence.shared.schemas.js.map +1 -1
- package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/billing/usage-record.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
- package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
- package/dist/esm/charts/aggregation-query.shared.schemas.d.ts.map +1 -1
- package/dist/esm/charts/aggregation-query.shared.schemas.js.map +1 -1
- package/dist/esm/charts/aggregation.shared.definitions.d.ts.map +1 -1
- package/dist/esm/charts/aggregation.shared.definitions.js.map +1 -1
- package/dist/esm/charts/chart-definition-builder.shared.d.ts.map +1 -1
- package/dist/esm/charts/chart-definition-builder.shared.js.map +1 -1
- package/dist/esm/companion/artifact-placement.shared.definitions.d.ts.map +1 -1
- package/dist/esm/companion/artifact-placement.shared.definitions.js.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
- package/dist/esm/companion/shared-library-companion.shared.definitions.d.ts.map +1 -1
- package/dist/esm/companion/shared-library-companion.shared.definitions.js.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +5 -2
- package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-event-classification.shared.d.ts +28 -0
- package/dist/esm/compliance/audit-trails/audit-event-classification.shared.d.ts.map +1 -0
- package/dist/esm/compliance/audit-trails/audit-event-classification.shared.js +30 -0
- package/dist/esm/compliance/audit-trails/audit-event-classification.shared.js.map +1 -0
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +2 -1
- package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +20 -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 +40 -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 +1 -14
- 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 +1 -16
- 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 +17 -4
- 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 +25 -5
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
- package/dist/esm/compliance/data-classification/data-classification.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/data-classification/data-classification.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts +0 -50
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.js +4 -51
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/documents/public-governed-documents.shared.d.ts +67 -0
- package/dist/esm/compliance/documents/public-governed-documents.shared.d.ts.map +1 -0
- package/dist/esm/compliance/documents/public-governed-documents.shared.js +69 -0
- package/dist/esm/compliance/documents/public-governed-documents.shared.js.map +1 -0
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/consent-purposes.shared.js.map +1 -1
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +1 -1
- package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/jurisdiction-containment.shared.d.ts +32 -0
- package/dist/esm/compliance/privacy/jurisdiction-containment.shared.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/jurisdiction-containment.shared.js +46 -0
- package/dist/esm/compliance/privacy/jurisdiction-containment.shared.js.map +1 -0
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/legal-notice-obligation.shared.d.ts +47 -0
- package/dist/esm/compliance/privacy/legal-notice-obligation.shared.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-notice-obligation.shared.js +54 -0
- package/dist/esm/compliance/privacy/legal-notice-obligation.shared.js.map +1 -0
- package/dist/esm/compliance/privacy/legal-notice.shared.d.ts +105 -0
- package/dist/esm/compliance/privacy/legal-notice.shared.d.ts.map +1 -0
- package/dist/esm/compliance/privacy/legal-notice.shared.js +112 -0
- package/dist/esm/compliance/privacy/legal-notice.shared.js.map +1 -0
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts +1 -27
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js +2 -41
- 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 +51 -0
- 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 +65 -0
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts +8 -8
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/sharing.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/sharing.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/review-cadence.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/review-cadence.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/risk-posture.shared.schemas.js.map +1 -1
- package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +63 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/app-configuration-shared.shared.schemas.js +11 -0
- package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
- package/dist/esm/config/app-frontend-type.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/app-frontend-type.shared.schemas.js.map +1 -1
- package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
- package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
- package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/brand-assets.shared.schemas.js.map +1 -1
- package/dist/esm/config/configuration-validation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/configuration-validation.shared.schemas.js.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +16 -16
- package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/chart-definition.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
- package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
- package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
- package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/frontend/onboarding.shared.schemas.js.map +1 -1
- package/dist/esm/config/postgresql.shared.schemas.d.ts.map +1 -1
- package/dist/esm/config/postgresql.shared.schemas.js.map +1 -1
- package/dist/esm/config/registration-acquisition-policy.shared.utils.d.ts.map +1 -1
- package/dist/esm/config/registration-acquisition-policy.shared.utils.js.map +1 -1
- package/dist/esm/config-authoring.entry.d.ts.map +1 -1
- package/dist/esm/config-authoring.entry.js.map +1 -1
- package/dist/esm/crdt/crdt-merge.shared.utils.d.ts.map +1 -1
- package/dist/esm/crdt/crdt-merge.shared.utils.js.map +1 -1
- package/dist/esm/data-seeding/data-seeding-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/data-seeding/data-seeding-config.shared.schemas.js.map +1 -1
- package/dist/esm/errors/caught-error-description.shared.utils.d.ts +5 -1
- package/dist/esm/errors/caught-error-description.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/caught-error-description.shared.utils.js +48 -4
- package/dist/esm/errors/caught-error-description.shared.utils.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/errors/errors.shared.definitions.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.definitions.js.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
- package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/errors.shared.utils.js.map +1 -1
- package/dist/esm/errors/resource-access-forbidden.shared.error.d.ts.map +1 -1
- package/dist/esm/errors/resource-access-forbidden.shared.error.js.map +1 -1
- package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -1
- package/dist/esm/errors/zod-issue-formatting.shared.utils.d.ts.map +1 -1
- package/dist/esm/errors/zod-issue-formatting.shared.utils.js.map +1 -1
- package/dist/esm/exports/tabular-csv.shared.utils.d.ts.map +1 -1
- package/dist/esm/exports/tabular-csv.shared.utils.js.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-description.shared.js.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/external-data/external-data-provenance.shared.d.ts.map +1 -1
- package/dist/esm/external-data/external-data-provenance.shared.js.map +1 -1
- package/dist/esm/external-data.exports.d.ts.map +1 -1
- package/dist/esm/external-data.exports.js.map +1 -1
- package/dist/esm/external-providers/compose-provider-registry.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/compose-provider-registry.shared.js.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
- package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -1
- package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/external-providers.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +34 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -1
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js.map +1 -1
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -1
- package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js.map +1 -1
- package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -1
- package/dist/esm/external-providers/provider-usage-cost.shared.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-usage-cost.shared.js.map +1 -1
- package/dist/esm/external-providers/provider-usage-pricing.example.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-usage-pricing.example.js.map +1 -1
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
- package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/features/connected-feature.example.d.ts.map +1 -1
- package/dist/esm/features/connected-feature.example.js.map +1 -1
- package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
- package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
- package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
- package/dist/esm/features/feature-builders.shared.js.map +1 -1
- package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/feature-definition.shared.schemas.js.map +1 -1
- package/dist/esm/features/feature-registry.shared.d.ts.map +1 -1
- package/dist/esm/features/feature-registry.shared.js.map +1 -1
- package/dist/esm/features/feature-resolution.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/feature-resolution.shared.schemas.js.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
- package/dist/esm/features/scope-features.shared.schemas.js.map +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.map +1 -1
- package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -1
- package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -1
- package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -1
- package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -1
- package/dist/esm/files/files.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/files/files.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
- package/dist/esm/files/files.shared.schemas.js.map +1 -1
- package/dist/esm/files/files.shared.utils.d.ts.map +1 -1
- package/dist/esm/files/files.shared.utils.js.map +1 -1
- package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agent-traceability.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts +2 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.js +2 -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.map +1 -1
- package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors-task.shared.schemas.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.definitions.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows-actors.system.shared.definitions.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/prompt-ir.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/prompt-ir.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/review-deadlines.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/tasks.actors.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts.map +1 -1
- package/dist/esm/flows-actors/work-attribution.shared.schemas.js.map +1 -1
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts.map +1 -1
- package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -1
- package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -1
- package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-flow.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
- package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
- package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts +2 -2
- package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/lifecycle-config.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
- package/dist/esm/guidance/milestone-builders.shared.js.map +1 -1
- package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/milestone-definition.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-presentation.shared.schemas.js.map +1 -1
- package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
- package/dist/esm/guidance/progression-state.shared.schemas.js.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.map +1 -1
- 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.map +1 -1
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js.map +1 -1
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -1
- package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -1
- package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts.map +1 -1
- package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js.map +1 -1
- package/dist/esm/i18n/application-config-vocabulary.shared.d.ts.map +1 -1
- package/dist/esm/i18n/application-config-vocabulary.shared.js.map +1 -1
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts.map +1 -1
- package/dist/esm/i18n/engine-open-vocabulary-values.shared.js.map +1 -1
- package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts.map +1 -1
- package/dist/esm/i18n/engine-open-vocabulary.shared.js.map +1 -1
- package/dist/esm/i18n/interpolate-label-params.shared.utils.d.ts.map +1 -1
- package/dist/esm/i18n/interpolate-label-params.shared.utils.js.map +1 -1
- package/dist/esm/i18n/labelling.dto.shared.schemas.d.ts.map +1 -1
- package/dist/esm/i18n/labelling.dto.shared.schemas.js.map +1 -1
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts.map +1 -1
- package/dist/esm/inbound/conversation-threads.shared.schemas.js.map +1 -1
- package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts.map +1 -1
- package/dist/esm/inbound/inbound-channels.shared.schemas.js.map +1 -1
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts.map +1 -1
- package/dist/esm/inbound/inbound-delivery.shared.schemas.js.map +1 -1
- package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts.map +1 -1
- package/dist/esm/inbound/inbound-endpoint-env.shared.js.map +1 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/elicitation-depth.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/elicitation-depth.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +13 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +21 -1
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -1
- package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +1 -1
- package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
- package/dist/esm/meta-workflows.exports.js.map +1 -1
- package/dist/esm/monitoring/monitoring.shared.schemas.d.ts.map +1 -1
- package/dist/esm/monitoring/monitoring.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/email/email-context.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-context.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/email/email-submission.shared.enums.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-submission.shared.enums.js.map +1 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
- package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.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.map +1 -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.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.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
- package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
- package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notification-badges.schemas.js.map +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.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.d.ts +5 -3
- package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/notifications/notifications.shared.schemas.js +5 -3
- package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/application-owner-organization.shared.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/organizations/organization-features.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-features.shared.schemas.js.map +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.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-inheritance.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-inheritance.shared.js.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-members.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.example.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.example.js.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
- package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
- package/dist/esm/organizations/organization-units.shared.path.d.ts.map +1 -1
- package/dist/esm/organizations/organization-units.shared.path.js.map +1 -1
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organization-units.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/service-provider-relationships.shared.schemas.js.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
- package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
- package/dist/esm/public-runtime/index.d.ts +13 -0
- package/dist/esm/public-runtime/index.d.ts.map +1 -1
- package/dist/esm/public-runtime/index.js +13 -0
- package/dist/esm/public-runtime/index.js.map +1 -1
- package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.d.ts +1 -1
- package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
- package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.utils.js.map +1 -1
- package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/queues.shared.schemas.js.map +1 -1
- package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
- package/dist/esm/queue/queues.shared.utils.js.map +1 -1
- package/dist/esm/queue/rabbitmq-queue-args.shared.d.ts.map +1 -1
- package/dist/esm/queue/rabbitmq-queue-args.shared.js.map +1 -1
- package/dist/esm/rag/rag-retrieval-health.shared.d.ts.map +1 -1
- package/dist/esm/rag/rag-retrieval-health.shared.js.map +1 -1
- package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
- package/dist/esm/requests/header-keys.shared.js.map +1 -1
- package/dist/esm/requests/http-requests.shared.d.ts.map +1 -1
- package/dist/esm/requests/http-requests.shared.js.map +1 -1
- package/dist/esm/requests/idempotency-key.shared.d.ts.map +1 -1
- package/dist/esm/requests/idempotency-key.shared.js.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
- package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
- package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
- package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.d.ts +2 -2
- package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
- package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
- package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/child-operations.shared.schemas.js.map +1 -1
- package/dist/esm/resources/collection-query-parameters.shared.d.ts.map +1 -1
- package/dist/esm/resources/collection-query-parameters.shared.js.map +1 -1
- package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/context-policy.shared.schemas.js.map +1 -1
- package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/embedded-resource-mark.shared.utils.js.map +1 -1
- package/dist/esm/resources/relationship-display.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/relationship-display.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resource-status-lifecycle.example.d.ts +100 -0
- package/dist/esm/resources/resource-status-lifecycle.example.d.ts.map +1 -0
- package/dist/esm/resources/resource-status-lifecycle.example.js +156 -0
- package/dist/esm/resources/resource-status-lifecycle.example.js.map +1 -0
- package/dist/esm/resources/resources-config.shared.factory.d.ts +25 -1
- package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.js +31 -8
- package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
- package/dist/esm/resources/resources-config.shared.schemas.d.ts +33 -0
- package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
- package/dist/esm/resources/resources-serialization.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources-serialization.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
- package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/resources.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/collection-export.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/composition-cascade-deletability.validation.js.map +1 -1
- package/dist/esm/resources/utils/composition-seedability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/composition-seedability.validation.js.map +1 -1
- package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js.map +1 -1
- package/dist/esm/resources/utils/duplicate-relationship-registration.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/duplicate-relationship-registration.validation.js.map +1 -1
- package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -1
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js.map +1 -1
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/repository-dto-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/repository-dto-builder.utils.js.map +1 -1
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js.map +1 -1
- package/dist/esm/resources/utils/required-fk-fillability.validation.d.ts.map +1 -1
- package/dist/esm/resources/utils/required-fk-fillability.validation.js.map +1 -1
- package/dist/esm/resources/utils/resource-operation-type-guards.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-operation-type-guards.utils.js.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.factory.js.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.relationships.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.relationships.js.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.schemas.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.schemas.js.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-polymorphism.utils.js.map +1 -1
- package/dist/esm/resources/utils/resource-subtree.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resource-subtree.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-config-context-needs.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-context-needs.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-config-naming.utils.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.path.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.path.utils.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-serialization.utils.js.map +1 -1
- package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
- package/dist/esm/resources/utils/schema-family-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/schema-family-builder.utils.js.map +1 -1
- package/dist/esm/resources/utils/schema-type-inference.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/schema-type-inference.utils.js.map +1 -1
- package/dist/esm/resources/utils/schema-type-utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/schema-type-utils.js.map +1 -1
- package/dist/esm/resources/utils/schema-variant-resolver.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/schema-variant-resolver.utils.js.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/shared-persistence-collection.utils.js.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.map +1 -1
- package/dist/esm/resources/work-unit.shared.schemas.d.ts.map +1 -1
- package/dist/esm/resources/work-unit.shared.schemas.js.map +1 -1
- package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
- package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
- package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/execution-context.shared.schemas.js.map +1 -1
- package/dist/esm/runtime/runtime.shared.schemas.d.ts.map +1 -1
- package/dist/esm/runtime/runtime.shared.schemas.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.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.map +1 -1
- package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/api-keys/api-keys.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.d.ts.map +1 -1
- package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/authentication.shared.utils.js.map +1 -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.map +1 -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.map +1 -1
- package/dist/esm/security/authentications/mfa-backup-code-contract.shared.d.ts.map +1 -1
- package/dist/esm/security/authentications/mfa-backup-code-contract.shared.js.map +1 -1
- package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts.map +1 -1
- package/dist/esm/security/authentications/password-blocklist.shared.utils.js.map +1 -1
- package/dist/esm/security/authentications/password-reset.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/password-reset.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
- package/dist/esm/security/authentications/same-origin-redirect-path.shared.d.ts.map +1 -1
- package/dist/esm/security/authentications/same-origin-redirect-path.shared.js.map +1 -1
- 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.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.map +1 -1
- 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.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.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/service-provider-client-authentication.shared.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.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -1
- package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -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.map +1 -1
- 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.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/security/authorizations/roles.application-roles.example.d.ts +37 -0
- package/dist/esm/security/authorizations/roles.application-roles.example.d.ts.map +1 -0
- package/dist/esm/security/authorizations/roles.application-roles.example.js +50 -0
- package/dist/esm/security/authorizations/roles.application-roles.example.js.map +1 -0
- package/dist/esm/security/authorizations/roles.shared.defaults.d.ts +13 -0
- package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.defaults.js +13 -0
- package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +29 -0
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.js +28 -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.map +1 -1
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts.map +1 -1
- package/dist/esm/security/credential-rotation-grace.shared.utils.js.map +1 -1
- package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.js.map +1 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -1
- package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -1
- package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts.map +1 -1
- package/dist/esm/security/submission-challenge/submission-challenge.shared.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-env.shared.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts.map +1 -1
- package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js.map +1 -1
- package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
- package/dist/esm/testing/resource-config-builders.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -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.map +1 -1
- 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.map +1 -1
- package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -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.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +2 -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.map +1 -1
- package/dist/esm/users/inbound-contacts.shared.schemas.js.map +1 -1
- package/dist/esm/users/user-consent-decision.shared.utils.d.ts.map +1 -1
- package/dist/esm/users/user-consent-decision.shared.utils.js.map +1 -1
- package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-credentials.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-credentials.shared.schemas.js.map +1 -1
- package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-identity-links.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
- package/dist/esm/users/user-preferences-reset.shared.utils.d.ts.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
- package/dist/esm/users/users.shared.schemas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +4 -4
package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governed-document-interactions.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"governed-document-interactions.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/compliance/documents/governed-document-interactions.shared.schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governed-document-interactions.shared.schemas.js","sourceRoot":"","sources":["../../../../../src/compliance/documents/governed-document-interactions.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\n\nimport {\n GovernedDocumentAcceptanceMode,\n GovernedDocumentClass,\n GovernedDocumentInteractionKind,\n GovernedDocumentIsoDateTimeSchema,\n GovernedDocumentRefSchema,\n GovernedDocumentReleaseApprovalState,\n GovernedDocumentReleaseIdentitySchema,\n GovernedDocumentPublicDocumentKind,\n governedDocumentReleaseIdentityKey,\n type GovernedDocumentPublicDocument,\n type GovernedDocumentReleasedPublicDocument,\n type GovernedDocumentRelease,\n} from \"./governed-documents.shared.schemas\";\n\n/**\n * What it means for a person to have MET a governed document — the record whose absence was\n * issue #54: *\"nothing records which terms release a user accepted\"*.\n *\n * ## Why this exists in `saas-models` and not beside the release composer\n *\n * `composeGovernedDocumentRelease` lives in `saas-specifications` because composing a release\n * needs the candidate, the definition, the publication variants and the release policy — all\n * app-creation artifacts. An INTERACTION needs none of them. It needs the release and nothing\n * else, and its producer is the RUNTIME: measured 2026-09-12, neither `saas-backend-lib` nor\n * `saas-frontend-lib` depends on `saas-specifications`, so a guard placed there could not be\n * called from the only layer that will ever call it.\n *\n * ## It is a RECORD, not a receipt\n *\n * `GovernedDocumentInteractionReceipt` existed here until 2026-08-28 and was deleted with the\n * rest of the sealed publication machine: it carried digests over canonical bytes, lived in a\n * content-addressed store, and had never once run. Nothing of that returns. What binds this\n * record to what the reader actually saw is the RELEASE IDENTITY — `documentRef` +\n * `releaseId` + `releaseVersion` — which names a file in a commit, readable by anyone with the\n * repository. That is the binding `.claude/rules/one-source-of-truth.md` Rule 0 admits, and it\n * merges across branches, which a digest chain cannot.\n *\n * ## The subject is the AUDIT ACTOR, deliberately not a field here\n *\n * A record carrying its own `subjectRef` beside an audit envelope that already names the actor\n * is two answers to one question, and they drift. The emitter binds this payload to the acting\n * principal through the audit trail's own attribution, so *who* is answered once.\n */\nexport enum GovernedDocumentInteractionIssueKind {\n /**\n * The release does not permit this interaction.\n *\n * Refuses, and this is the one place in this file that does. A privacy notice declares\n * `NOTICE_DELIVERED` / `NOTICE_ACKNOWLEDGED`; recording a `CONTRACT_ACCEPTED` against it would\n * assert that somebody entered a contract by reading a notice. The artifact would be FALSE, so\n * the test in `.claude/rules/application-creation-directive.md` answers \"fix the artifact\" and\n * a refusal is correct.\n */\n INTERACTION_KIND_NOT_PERMITTED = \"INTERACTION_KIND_NOT_PERMITTED\",\n /**\n * The release was not in force at the moment claimed.\n *\n * Also FALSE rather than unfinished: a record saying a person accepted a release before it took\n * effect, or after it expired, describes an event that cannot have happened.\n */\n RELEASE_NOT_IN_FORCE = \"RELEASE_NOT_IN_FORCE\",\n /**\n * An acceptance mode was supplied for an interaction that nobody was ASKED to perform.\n *\n * FALSE rather than unfinished, which is why it refuses. {@link GovernedDocumentAcceptanceMode}\n * names the notice an application gives before asking for assent — a sentence beside a button, an\n * unticked box, or the document itself. Stamping one onto a `NOTICE_DELIVERED`, which the\n * APPLICATION performs, or onto a `CONSENT_WITHDRAWN`, which nobody is invited to do, would claim\n * a notice was given for an act that was never solicited.\n *\n * Which kinds admit a mode is settled once by {@link GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE}.\n */\n ACCEPTANCE_MODE_NOT_APPLICABLE = \"ACCEPTANCE_MODE_NOT_APPLICABLE\",\n /** The composed record does not satisfy {@link GovernedDocumentInteractionSchema}. */\n RECORD_INVALID = \"RECORD_INVALID\",\n}\n\nexport interface GovernedDocumentInteractionIssue {\n readonly kind: GovernedDocumentInteractionIssueKind;\n readonly message: string;\n}\n\n/**\n * TRUE statements about a coherent record whose surrounding WORKFLOW is unfinished.\n *\n * An advisory never stops the mechanism — see the issue/advisory split in\n * `.claude/rules/application-creation-directive.md`. It travels with the record so the decision it\n * bears on is taken where the consequence is, rather than by refusing here.\n */\nexport enum GovernedDocumentInteractionAdvisoryKind {\n /**\n * The release had not been approved when this interaction was recorded.\n *\n * The record is honest and the workflow is unfinished, so this MARKS rather than refuses — and\n * the mark is carried on the record itself (`releaseApprovalState`) rather than only reported,\n * because the question a reviewer will ask later is *was this approved AT THE TIME*, which\n * nothing can reconstruct from a release that has since been approved.\n *\n * Where the refusal belongs instead is the READ that decides whether to show a person the\n * document at all: `resolveEffectiveDocumentRelease(..., { requireApproved: true })`. That is a\n * Gate 3 arming point per `one-source-of-truth.md` D5 — \"an application may face a real user\" —\n * and it withholds an unapproved release from the surface, so no interaction with one is ever\n * offered. Refusing HERE as well would only mean losing the evidence that it happened anyway.\n */\n RELEASE_NOT_APPROVED = \"RELEASE_NOT_APPROVED\",\n /**\n * The act was solicited, and the record cannot say what notice preceded it.\n *\n * TRUE but unfinished: the interaction happened and every other field of the record stands. What\n * is missing is the one thing that distinguishes a person who scrolled to the end of thirteen\n * clauses from a person who pressed a button beside a sentence — so a reviewer reading this record\n * learns only that a release id was accepted, which is the gap #1382 is about.\n *\n * It MARKS rather than refuses because the remedy is a surface declaring its mode, which is\n * authoring work — `.claude/rules/application-creation-directive.md`: a required declaration whose\n * absence stops the mechanism is the defect, not the guard. The social sign-up path (#1383) is the\n * live instance, and this advisory is what makes its silence visible rather than indistinguishable\n * from a form acceptance.\n */\n ACCEPTANCE_MODE_NOT_RECORDED = \"ACCEPTANCE_MODE_NOT_RECORDED\",\n}\n\nexport interface GovernedDocumentInteractionAdvisory {\n readonly kind: GovernedDocumentInteractionAdvisoryKind;\n readonly message: string;\n}\n\n/**\n * Which interactions an ACCEPTANCE MODE can describe — total over the vocabulary, so a kind added\n * tomorrow is classified deliberately rather than inheriting whichever answer the code fell through\n * to.\n *\n * The question each row answers is the same one: **was this person ASKED?**\n * {@link GovernedDocumentAcceptanceMode} names the notice an application gives before soliciting\n * assent, so it describes an act that was solicited and nothing else.\n */\nexport const GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE: Readonly<Record<GovernedDocumentInteractionKind, boolean>> = {\n /** The APPLICATION acted. Nobody was asked anything, so no notice preceded it. */\n [GovernedDocumentInteractionKind.NOTICE_DELIVERED]: false,\n /** The person acted on an invitation to confirm they had seen it — the mode names that invitation. */\n [GovernedDocumentInteractionKind.NOTICE_ACKNOWLEDGED]: true,\n /** The canonical case: a registration surface asked for assent in one of the three shapes. */\n [GovernedDocumentInteractionKind.CONTRACT_ACCEPTED]: true,\n /** Assent to a purpose, solicited the same way and describable by the same vocabulary. */\n [GovernedDocumentInteractionKind.CONSENT_GIVEN]: true,\n /**\n * A withdrawal is the person acting on their OWN initiative — nothing solicits it, and a mode\n * claiming a notice preceded it would describe an invitation nobody extended. Withdrawal must be\n * as easy as giving, which is a property of the surface that offers it rather than a notice given\n * before it.\n */\n [GovernedDocumentInteractionKind.CONSENT_WITHDRAWN]: false,\n};\n\n/**\n * One person, one governed-document release, one interaction, one instant.\n *\n * Every field but `interactionKind` and `occurredAt` is DERIVED from the release, for the same\n * reason the release derives most of itself from the accepted definition: restating `locale`,\n * `jurisdictionRefs` or `documentClass` here would create a second way to disagree with the\n * release, and the disagreement would be invisible. They are copied onto the record rather than\n * left to a join because a record must stay readable when the release file moves on — which is\n * the whole point of binding an acceptance to a VERSION.\n */\nexport const GovernedDocumentInteractionSchema = z.strictObject({\n schemaVersion: z.literal(1),\n interactionKind: z.enum(GovernedDocumentInteractionKind),\n release: GovernedDocumentReleaseIdentitySchema,\n documentClass: z.enum(GovernedDocumentClass),\n locale: z.string().trim().min(2),\n jurisdictionRefs: z.array(GovernedDocumentRefSchema),\n /** The release's standing AT THE MOMENT OF THE INTERACTION. Not re-derivable later. */\n releaseApprovalState: z.enum(GovernedDocumentReleaseApprovalState),\n /**\n * HOW the act was obtained — the notice the person was given before performing it.\n *\n * Without it the strongest statement an operator can make about a recorded acceptance is *\"a\n * release id was accepted\"*, which is the same sentence for somebody who read the document to its\n * end and somebody who pressed a button beside a link. Enforceability turns on exactly this\n * distinction, so a consent record that cannot make it is evidence of the act and not of the\n * assent (#1382).\n *\n * OPTIONAL, and its absence is a fact rather than a default: it means the surface that obtained\n * the act did not say how it asked. `advisoryKinds` carries\n * {@link GovernedDocumentInteractionAdvisoryKind.ACCEPTANCE_MODE_NOT_RECORDED} on exactly those\n * records, so a silent surface reads as silent rather than as the weakest mode — which it would\n * if a default were stamped here.\n *\n * Absent BY RULE, with no advisory, on the kinds\n * {@link GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE} marks `false`.\n */\n acceptanceMode: z.enum(GovernedDocumentAcceptanceMode).optional(),\n occurredAt: GovernedDocumentIsoDateTimeSchema,\n});\nexport type GovernedDocumentInteraction = z.infer<typeof GovernedDocumentInteractionSchema>;\n\n\n/**\n * The slice of a release that a CONSENT SURFACE and an INTERACTION RECORD both need — and it is\n * browser-safe, which turned out to be a property rather than a compromise.\n *\n * {@link composeGovernedDocumentInteraction} reads `allowedInteractionKinds`, the effective\n * interval, `approvalState`, `identity`, `documentClass`, `locale` and `jurisdictionRefs`. It never\n * reads `governanceScope` or `approvalDecisions` — the two fields\n * {@link projectGovernedDocumentPublicRelease} already withholds from public consumers as internal\n * custody detail. So the fields the mechanism needs and the fields a browser may hold are the SAME\n * SET, and one shape can travel the whole chain: the application authors it on\n * `compliance.governedDocumentReleases`, the backend composes records from it, and the frontend\n * decides from it whether to render a consent control at all.\n *\n * Distinct from `GovernedDocumentPublicReleaseProjection`, which is narrower still and answers a\n * different question — how to ROUTE and DISPLAY a published document. It carries neither\n * `allowedInteractionKinds` nor `approvalState`, so a consent surface cannot be built from it.\n */\nexport const GovernedDocumentInteractionSurfaceSchema = z.strictObject({\n schemaVersion: z.literal(1),\n identity: GovernedDocumentReleaseIdentitySchema,\n documentClass: z.enum(GovernedDocumentClass),\n locale: z.string().trim().min(2),\n jurisdictionRefs: z.array(GovernedDocumentRefSchema),\n /** What a person may DO with this document. An empty array means \"read only\"; nothing may be recorded. */\n allowedInteractionKinds: z.array(z.enum(GovernedDocumentInteractionKind)),\n approvalState: z.enum(GovernedDocumentReleaseApprovalState),\n effectiveAt: GovernedDocumentIsoDateTimeSchema,\n expiresAt: GovernedDocumentIsoDateTimeSchema.optional(),\n /**\n * The interactions this release says a person must perform AGAIN, because it replaced an earlier\n * release with a change that mattered (#1258, Step 2 / R7).\n *\n * Projected from `materialityDecision.requiredInteractionKinds` — the governance answer a\n * superseding release already owes (\"did the change matter enough that the audience must meet the\n * document again?\"). Only the KINDS travel: the decision identity is private custody detail and this\n * shape reaches an unauthenticated browser. Empty for a first release and for a replacement judged\n * immaterial — a typo fix does not re-ask anybody.\n *\n * `.default([])` so a surface generated before this field existed still parses, and means exactly\n * what its absence meant then: nothing is renewed.\n */\n renewedInteractionKinds: z.array(z.enum(GovernedDocumentInteractionKind)).default([]),\n});\nexport type GovernedDocumentInteractionSurface = z.infer<typeof GovernedDocumentInteractionSurfaceSchema>;\n\n/** Explicit allow-list projection from a composed release to what a consent surface may hold. */\nexport const projectGovernedDocumentInteractionSurface = (release: GovernedDocumentRelease): GovernedDocumentInteractionSurface =>\n GovernedDocumentInteractionSurfaceSchema.parse({\n schemaVersion: 1,\n identity: release.identity,\n documentClass: release.documentClass,\n locale: release.locale,\n jurisdictionRefs: release.jurisdictionRefs,\n allowedInteractionKinds: release.allowedInteractionKinds,\n approvalState: release.approvalState,\n effectiveAt: release.effectiveAt,\n ...(release.expiresAt ? { expiresAt: release.expiresAt } : {}),\n renewedInteractionKinds: release.materialityDecision?.requiredInteractionKinds ?? [],\n });\n\n\n/**\n * Is this release in force at that instant?\n *\n * ONE implementation, used by {@link composeGovernedDocumentInteraction} here and by\n * `resolveEffectiveDocumentRelease` in `saas-specifications` — which depends on this package, so\n * the read side and the record side cannot disagree about what \"in force\" means. They did, briefly:\n * writing the record's guard reproduced the interval comparison, and two copies of a half-open\n * interval is exactly the shape where one of them ends up with `<=`.\n *\n * HALF-OPEN — `[effectiveAt, expiresAt)`. A release takes effect at the instant it names, and the\n * one that replaces it takes effect at the instant the old one expires, so the boundary belongs to\n * exactly one of them. An unparsable instant is NOT in force: it is not a time.\n */\nexport function governedDocumentReleaseIsInForce(\n release: { readonly effectiveAt: string; readonly expiresAt?: string },\n at: string,\n): boolean {\n const instant = Date.parse(at);\n if (Number.isNaN(instant)) return false;\n if (instant < Date.parse(release.effectiveAt)) return false;\n return release.expiresAt === undefined || instant < Date.parse(release.expiresAt);\n}\n\n/**\n * Whether an application shows, and asks people to accept, governed documents nobody has approved.\n *\n * ONE switch for every surface that puts a governed document in front of a person: the public page\n * (`/privacy`, `/terms`), the registration acceptance control, the first-session acceptance gate, the\n * consent panel's privacy-notice link, the backend's owed-acceptance derivation and the notice-delivery\n * record. It is read from the application's configuration (`compliance.governedDocumentApprovalGate`)\n * through {@link requiresApprovedGovernedDocuments}, never passed per call site, so the page and the\n * acceptance surfaces cannot be armed separately (#1565). Armed on the page alone, `/terms` would answer\n * \"unavailable\" while sign-up asked people to accept those same terms.\n *\n * What it does NOT govern is the RECORD of an act that happened: `recordGovernedDocumentAcceptances`\n * records what a person submitted, and marks an unapproved release with `RELEASE_NOT_APPROVED` rather\n * than dropping it, because refusing there would only lose the evidence.\n *\n * This is the gate point `.claude/rules/one-source-of-truth.md` D5 keeps MARKED: arming it is part of\n * Gate 3's membership test (\"an application may face a real user\").\n */\nexport enum GovernedDocumentApprovalGate {\n /**\n * The framework default, and the posture while an application is being built: every release in\n * force is shown and asked for, whatever its approval state. An unapproved release still says so\n * (`approvalState` travels with it, and a record of an interaction with it carries\n * `RELEASE_NOT_APPROVED`), so nothing unapproved is ever presented as approved — it is only not\n * withheld.\n */\n UNARMED = \"unarmed\",\n /**\n * Nothing unapproved reaches a person. An unapproved release is neither shown nor asked for, and no\n * draft stands in for a document that has no approved release. Arm it when the application faces\n * real users.\n *\n * With no approved release of a contractual document, sign-up asks for nothing. Whether an\n * application should be allowed to go live in that state is part of Gate 3's arming decision, not of\n * this switch.\n */\n ARMED = \"armed\",\n}\n\n/**\n * Whether the application's configuration withholds unapproved governed documents — the ONE reading of\n * {@link GovernedDocumentApprovalGate} every serving and asking surface goes through.\n *\n * Takes the configuration's `compliance` section (or nothing) rather than a boolean, so a call site\n * cannot supply its own answer. An absent section, or an absent member, is the schema default: unarmed.\n *\n * assurance-control: WILDO.PRIVACY.CONSENT_RECORD — once armed, no person is shown or asked to accept a\n * governed document that has not been approved, on any surface.\n */\nexport function requiresApprovedGovernedDocuments(\n compliance: { readonly governedDocumentApprovalGate?: GovernedDocumentApprovalGate } | undefined,\n): boolean {\n return compliance?.governedDocumentApprovalGate === GovernedDocumentApprovalGate.ARMED;\n}\n\n/**\n * Every release in force at that instant — what a registration surface asks when it needs to know\n * which documents a person is meeting right now.\n *\n * Deliberately NOT the same question as `resolveEffectiveDocumentRelease`, which picks the ONE\n * winning release for a given document, locale and jurisdiction set. This one spans documents and\n * is total over what the application declared, so a document added to the config tomorrow is\n * delivered without anyone editing a list.\n *\n * `requireApproved` drops releases nobody has approved. A surface that SHOWS or ASKS for a document\n * passes {@link requiresApprovedGovernedDocuments}; a recorder of an act that already happened passes\n * nothing.\n */\nexport function selectGovernedDocumentReleasesInForce(\n releases: readonly GovernedDocumentInteractionSurface[],\n at: string,\n options?: { readonly requireApproved?: boolean },\n): readonly GovernedDocumentInteractionSurface[] {\n const requireApproved = options?.requireApproved ?? false;\n return releases.filter((release) =>\n governedDocumentReleaseIsInForce(release, at)\n && (!requireApproved || release.approvalState === GovernedDocumentReleaseApprovalState.APPROVED));\n}\n\n/** One accepted release as the owed-acceptance derivation reads it — the persisted row's relevant slice. */\nexport interface GovernedDocumentAcceptanceRecord {\n readonly documentRef: string;\n readonly acceptedAt: Date | string;\n}\n\n/**\n * One document a person owes an acceptance of, and why.\n *\n * `releases` is every in-force variant of it — the obligation belongs to the document, not to a locale.\n *\n * What today's surfaces DO with that list, stated plainly because the natural reading is wrong: the\n * registration screen and the acceptance gate present EVERY variant listed and record an acceptance of\n * each, rather than choosing the one in the person's language. Choosing by locale is a refinement neither\n * surface makes yet; an application publishing one variant per document — every dogfood application —\n * never meets the difference.\n */\nexport interface GovernedDocumentAcceptanceOwed {\n readonly documentRef: string;\n readonly reason: GovernedDocumentAcceptanceOwedReason;\n readonly releases: readonly GovernedDocumentInteractionSurface[];\n}\n\n/** Why an acceptance is owed. Two different messages to the person, so two members. */\nexport enum GovernedDocumentAcceptanceOwedReason {\n /** They have never accepted any release of this document — a stale sign-up form, or an older account. */\n NEVER_ACCEPTED = \"NEVER_ACCEPTED\",\n /** A release replaced the one they accepted with a change judged to require acceptance again. */\n MATERIALLY_CHANGED = \"MATERIALLY_CHANGED\",\n}\n\n/**\n * Which documents a person owes an acceptance of, at an instant (#1258, Step 2 / R7).\n *\n * TOTAL over what the application declared: every in-force release that permits `CONTRACT_ACCEPTED`\n * is considered, so a document added to the configuration tomorrow is owed by everyone the next time\n * they arrive, with no list to maintain (`.claude/rules/derive-before-you-ask.md` rule 3).\n *\n * ## What counts as having accepted it\n *\n * Any release of the DOCUMENT — the join is `documentRef`, never `releaseId`. A release is one locale\n * and jurisdiction pair, so keying on it would re-ask everyone who changed language: accepting the\n * French terms is accepting the terms.\n *\n * ## When an earlier acceptance stops counting\n *\n * Only when a release of the document says so — its `renewedInteractionKinds` includes\n * `CONTRACT_ACCEPTED`, projected from the materiality decision that replacement owed. Then an acceptance\n * counts only if it happened at or after that release took effect. Compared on TIME, not on\n * `releaseVersion`, because a version is counted per variant and comparing one variant's number with\n * another's means nothing.\n *\n * ## The material change need not still be IN FORCE — it is transitive across replacements\n *\n * A replacement takes effect at the instant its predecessor expires, so only the NEWEST release is ever in\n * force. Reading materiality from the in-force releases alone would therefore forget it: accept v1 in\n * January, v2 changes the terms materially in March, v3 fixes a typo in June — and in July only v3 is in\n * force, its renewal set is empty, and a person who never accepted v2's change is told they owe nothing.\n * So the latest material change is taken over EVERY declared release of the document that took effect at or\n * before `at`, expired or not. A release that takes effect AFTER `at` has not happened yet and never counts.\n *\n * What the application must keep for this to hold: the superseded releases stay declared. They do — the\n * releases are recorded as data and only ever appended to.\n *\n * ## With the approval gate armed\n *\n * `requireApproved` ({@link requiresApprovedGovernedDocuments}) owes only APPROVED releases: a person is\n * never asked to accept what the public page would refuse to show. A material change still counts from\n * every declared release, approved or not, because the approved release that follows carries it.\n *\n * A pure function of its inputs: it reads nothing and writes nothing.\n */\nexport function governedDocumentAcceptancesOwed(input: {\n readonly releases: readonly GovernedDocumentInteractionSurface[];\n readonly accepted: readonly GovernedDocumentAcceptanceRecord[];\n readonly at: string;\n readonly requireApproved?: boolean;\n}): readonly GovernedDocumentAcceptanceOwed[] {\n const acceptable = selectGovernedDocumentReleasesInForce(input.releases, input.at, { requireApproved: input.requireApproved })\n .filter((release) => release.allowedInteractionKinds.includes(GovernedDocumentInteractionKind.CONTRACT_ACCEPTED));\n\n const byDocument = new Map<string, GovernedDocumentInteractionSurface[]>();\n for (const release of acceptable) {\n const documentRef = release.identity.document.documentRef;\n byDocument.set(documentRef, [...(byDocument.get(documentRef) ?? []), release]);\n }\n\n const atMs = Date.parse(input.at);\n const owed: GovernedDocumentAcceptanceOwed[] = [];\n for (const [documentRef, releases] of byDocument) {\n const acceptedAtMs = input.accepted\n .filter((record) => record.documentRef === documentRef)\n .map((record) => new Date(record.acceptedAt).getTime())\n .filter((ms) => !Number.isNaN(ms));\n if (acceptedAtMs.length === 0) {\n owed.push({ documentRef, reason: GovernedDocumentAcceptanceOwedReason.NEVER_ACCEPTED, releases });\n continue;\n }\n const latestAcceptance = Math.max(...acceptedAtMs);\n const latestMaterialChange = Math.max(\n ...input.releases\n .filter((release) => release.identity.document.documentRef === documentRef\n && release.allowedInteractionKinds.includes(GovernedDocumentInteractionKind.CONTRACT_ACCEPTED)\n && release.renewedInteractionKinds.includes(GovernedDocumentInteractionKind.CONTRACT_ACCEPTED)\n && Date.parse(release.effectiveAt) <= atMs)\n .map((release) => Date.parse(release.effectiveAt)),\n Number.NEGATIVE_INFINITY,\n );\n if (latestMaterialChange > latestAcceptance) {\n owed.push({ documentRef, reason: GovernedDocumentAcceptanceOwedReason.MATERIALLY_CHANGED, releases });\n }\n }\n return owed;\n}\n\nexport interface GovernedDocumentInteractionComposition {\n /**\n * The release the person actually met. Supplies class, locale, jurisdictions and permitted kinds.\n *\n * Typed as the SURFACE rather than the full release so the same call works from the runtime, which\n * only ever holds the surface. A full `GovernedDocumentRelease` is structurally assignable, so a\n * caller that has one passes it unchanged.\n *\n * `renewedInteractionKinds` is OMITTED from the requirement: it answers \"must the person do this\n * again?\", which is what the OWED derivation reads, and composing a record of one act never does. It\n * is a projection a full release does not carry under that name, so requiring it here would have\n * quietly ended the assignability the paragraph above promises — the surface still satisfies this\n * type, because an extra field is not a missing one.\n */\n readonly release: Omit<GovernedDocumentInteractionSurface, 'renewedInteractionKinds'>;\n /** What the person did. Must be one the release permits. */\n readonly interactionKind: GovernedDocumentInteractionKind;\n /**\n * The notice the surface gave before soliciting the act, when the surface declares one.\n *\n * The CALLER supplies it, and the caller that should is the one holding the application's own\n * configuration — never the client whose act is being recorded. A mode travelling in from the\n * browser would be the party whose assent is in question grading the notice it was given.\n *\n * Omitted when the surface does not declare a mode, which is recorded as an advisory rather than\n * defaulted. Supplying one for a kind that admits none is an ISSUE, because it would be false.\n */\n readonly acceptanceMode?: GovernedDocumentAcceptanceMode;\n /** When they did it. Must fall inside the release's effective interval. */\n readonly occurredAt: string;\n}\n\nexport interface GovernedDocumentInteractionCompositionResult {\n /** Absent only when `issues` is non-empty. An advisory never withholds the record. */\n readonly interaction: GovernedDocumentInteraction | undefined;\n readonly issues: readonly GovernedDocumentInteractionIssue[];\n readonly advisories: readonly GovernedDocumentInteractionAdvisory[];\n}\n\n/**\n * Compose the record of one interaction, refusing what would be false and marking what is merely\n * unfinished.\n *\n * Pure: it reads the release and the two decided values, and writes nothing. The caller decides\n * where the record goes — today, an auditable event.\n */\nexport function composeGovernedDocumentInteraction(\n composition: GovernedDocumentInteractionComposition,\n): GovernedDocumentInteractionCompositionResult {\n const { release, interactionKind, acceptanceMode, occurredAt } = composition;\n const issues: GovernedDocumentInteractionIssue[] = [];\n const advisories: GovernedDocumentInteractionAdvisory[] = [];\n const releaseKey = governedDocumentReleaseIdentityKey(release.identity);\n\n if (!release.allowedInteractionKinds.includes(interactionKind)) {\n issues.push({\n kind: GovernedDocumentInteractionIssueKind.INTERACTION_KIND_NOT_PERMITTED,\n message:\n `${releaseKey} permits ${release.allowedInteractionKinds.join(\", \") || \"no interaction\"}, so ${interactionKind} `\n + \"cannot be recorded against it.\",\n });\n }\n\n if (!governedDocumentReleaseIsInForce(release, occurredAt)) {\n issues.push({\n kind: GovernedDocumentInteractionIssueKind.RELEASE_NOT_IN_FORCE,\n message:\n `${releaseKey} is in force from ${release.effectiveAt}${release.expiresAt ? ` until ${release.expiresAt}` : \"\"}, `\n + `so nobody can have interacted with it at ${occurredAt}.`,\n });\n }\n\n const admitsAcceptanceMode = GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE[interactionKind];\n if (acceptanceMode !== undefined && !admitsAcceptanceMode) {\n issues.push({\n kind: GovernedDocumentInteractionIssueKind.ACCEPTANCE_MODE_NOT_APPLICABLE,\n message:\n `Nobody is asked to perform a ${interactionKind}, so recording it as obtained by ${acceptanceMode} would `\n + `claim a notice was given for an act that was never solicited (${releaseKey}).`,\n });\n }\n if (acceptanceMode === undefined && admitsAcceptanceMode) {\n advisories.push({\n kind: GovernedDocumentInteractionAdvisoryKind.ACCEPTANCE_MODE_NOT_RECORDED,\n message:\n `The surface that obtained this ${interactionKind} with ${releaseKey} did not say how it asked, so the record `\n + \"cannot distinguish a document read to its end from a sentence beside a button.\",\n });\n }\n\n if (release.approvalState === GovernedDocumentReleaseApprovalState.UNAPPROVED) {\n advisories.push({\n kind: GovernedDocumentInteractionAdvisoryKind.RELEASE_NOT_APPROVED,\n message:\n `${releaseKey} had not been approved when this ${interactionKind} was recorded. The record stands and says so; `\n + \"withholding an unapproved release from a real reader is the read-side gate (`requireApproved`), armed at Gate 3.\",\n });\n }\n\n if (issues.length > 0) return { interaction: undefined, issues, advisories };\n\n const parsed = GovernedDocumentInteractionSchema.safeParse({\n schemaVersion: 1,\n interactionKind,\n release: release.identity,\n documentClass: release.documentClass,\n locale: release.locale,\n jurisdictionRefs: release.jurisdictionRefs,\n releaseApprovalState: release.approvalState,\n ...(acceptanceMode !== undefined ? { acceptanceMode } : {}),\n occurredAt,\n });\n if (!parsed.success) {\n return {\n interaction: undefined,\n issues: [\n {\n kind: GovernedDocumentInteractionIssueKind.RECORD_INVALID,\n message: `The composed interaction with ${releaseKey} is not a valid record: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n },\n ],\n advisories,\n };\n }\n return { interaction: parsed.data, issues: [], advisories };\n}\n\n/**\n * The ONE public document to render for a governed-document ref at an instant, or `undefined`.\n *\n * Total over what the application declared, so a document added to the configuration tomorrow is\n * served without anyone editing a list — the same shape as\n * {@link selectGovernedDocumentReleasesInForce}, and for the same reason.\n *\n * `requireApproved` **IS THE GATE POINT**.\n *\n * It defaults to `false` — deliberately, and this is the posture recorded in\n * `.claude/rules/one-source-of-truth.md` D5: critical gate points stay MARKED in every mechanism so\n * they can be switched on when the posture changes, and under the current YOLO posture they notify\n * and proceed. Arming it is part of **Gate 3**'s membership test (\"an application may face a real\n * user\") — the posture ends where a real user begins, by definition rather than by anyone\n * remembering. A caller serving a page to the public passes `true`; a caller previewing what the\n * lane drafted passes nothing.\n *\n * When several releases of one document are in force the LATEST EFFECTIVE wins, and ties break on\n * the higher `releaseVersion`. Two in force at once is an authoring mistake rather than a state to\n * refuse on a read path: refusing would take the page down over an overlap a reader cannot see,\n * which is worse than showing the newer of two documents the publisher approved.\n *\n * ## The draft fallback, and its two limits (#968 decision 5)\n *\n * A document the application has drafted and never released is served as its UNRELEASED DRAFT, so\n * neither a missing approval nor a missing release ever leaves a page with nothing — the page marks it\n * as a draft. The fallback applies only when the application holds NO release of that document:\n *\n * - a release that exists but is not in force (scheduled, or expired) is a date, not an absence, and\n * showing the draft in its place would present text the application already decided to replace;\n * - with the gate ARMED there is no fallback at all — \"serve nothing unapproved to a real reader\" has\n * no answer less approved than a draft.\n */\nexport function resolveInForcePublicDocument(\n documents: readonly GovernedDocumentPublicDocument[],\n documentRef: string,\n at: string,\n options?: { readonly requireApproved?: boolean },\n): GovernedDocumentPublicDocument | undefined {\n const requireApproved = options?.requireApproved ?? false;\n const released = documents.filter((document): document is GovernedDocumentReleasedPublicDocument =>\n document.kind === GovernedDocumentPublicDocumentKind.RELEASED && document.release.identity.document.documentRef === documentRef);\n const candidates = released.filter((document) =>\n governedDocumentReleaseIsInForce(document.release, at)\n && (!requireApproved || document.approvalState === GovernedDocumentReleaseApprovalState.APPROVED));\n if (candidates.length === 0) {\n if (released.length > 0 || requireApproved) return undefined;\n return documents.find((document) =>\n document.kind === GovernedDocumentPublicDocumentKind.UNRELEASED_DRAFT && document.documentRef === documentRef);\n }\n return candidates.reduce((winner, candidate) => {\n const winnerEffective = Date.parse(winner.release.effectiveAt);\n const candidateEffective = Date.parse(candidate.release.effectiveAt);\n if (candidateEffective !== winnerEffective) return candidateEffective > winnerEffective ? candidate : winner;\n return candidate.release.identity.releaseVersion > winner.release.identity.releaseVersion ? candidate : winner;\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"governed-document-interactions.shared.schemas.js","sourceRoot":"","sources":["../../../../src/compliance/documents/governed-document-interactions.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\n\nimport {\n GovernedDocumentAcceptanceMode,\n GovernedDocumentClass,\n GovernedDocumentInteractionKind,\n GovernedDocumentIsoDateTimeSchema,\n GovernedDocumentRefSchema,\n GovernedDocumentReleaseApprovalState,\n GovernedDocumentReleaseIdentitySchema,\n GovernedDocumentPublicDocumentKind,\n governedDocumentReleaseIdentityKey,\n type GovernedDocumentPublicDocument,\n type GovernedDocumentReleasedPublicDocument,\n type GovernedDocumentRelease,\n} from \"./governed-documents.shared.schemas\";\n\n/**\n * What it means for a person to have MET a governed document — the record whose absence was\n * issue #54: *\"nothing records which terms release a user accepted\"*.\n *\n * ## Why this exists in `saas-models` and not beside the release composer\n *\n * `composeGovernedDocumentRelease` lives in `saas-specifications` because composing a release\n * needs the candidate, the definition, the publication variants and the release policy — all\n * app-creation artifacts. An INTERACTION needs none of them. It needs the release and nothing\n * else, and its producer is the RUNTIME: measured 2026-09-12, neither `saas-backend-lib` nor\n * `saas-frontend-lib` depends on `saas-specifications`, so a guard placed there could not be\n * called from the only layer that will ever call it.\n *\n * ## It is a RECORD, not a receipt\n *\n * `GovernedDocumentInteractionReceipt` existed here until 2026-08-28 and was deleted with the\n * rest of the sealed publication machine: it carried digests over canonical bytes, lived in a\n * content-addressed store, and had never once run. Nothing of that returns. What binds this\n * record to what the reader actually saw is the RELEASE IDENTITY — `documentRef` +\n * `releaseId` + `releaseVersion` — which names a file in a commit, readable by anyone with the\n * repository. That is the binding `.claude/rules/one-source-of-truth.md` Rule 0 admits, and it\n * merges across branches, which a digest chain cannot.\n *\n * ## The subject is the AUDIT ACTOR, deliberately not a field here\n *\n * A record carrying its own `subjectRef` beside an audit envelope that already names the actor\n * is two answers to one question, and they drift. The emitter binds this payload to the acting\n * principal through the audit trail's own attribution, so *who* is answered once.\n */\nexport enum GovernedDocumentInteractionIssueKind {\n /**\n * The release does not permit this interaction.\n *\n * Refuses, and this is the one place in this file that does. A privacy notice declares\n * `NOTICE_DELIVERED` / `NOTICE_ACKNOWLEDGED`; recording a `CONTRACT_ACCEPTED` against it would\n * assert that somebody entered a contract by reading a notice. The artifact would be FALSE, so\n * the test in `.claude/rules/application-creation-directive.md` answers \"fix the artifact\" and\n * a refusal is correct.\n */\n INTERACTION_KIND_NOT_PERMITTED = \"INTERACTION_KIND_NOT_PERMITTED\",\n /**\n * The release was not in force at the moment claimed.\n *\n * Also FALSE rather than unfinished: a record saying a person accepted a release before it took\n * effect, or after it expired, describes an event that cannot have happened.\n */\n RELEASE_NOT_IN_FORCE = \"RELEASE_NOT_IN_FORCE\",\n /**\n * An acceptance mode was supplied for an interaction that nobody was ASKED to perform.\n *\n * FALSE rather than unfinished, which is why it refuses. {@link GovernedDocumentAcceptanceMode}\n * names the notice an application gives before asking for assent — a sentence beside a button, an\n * unticked box, or the document itself. Stamping one onto a `NOTICE_DELIVERED`, which the\n * APPLICATION performs, or onto a `CONSENT_WITHDRAWN`, which nobody is invited to do, would claim\n * a notice was given for an act that was never solicited.\n *\n * Which kinds admit a mode is settled once by {@link GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE}.\n */\n ACCEPTANCE_MODE_NOT_APPLICABLE = \"ACCEPTANCE_MODE_NOT_APPLICABLE\",\n /** The composed record does not satisfy {@link GovernedDocumentInteractionSchema}. */\n RECORD_INVALID = \"RECORD_INVALID\",\n}\n\nexport interface GovernedDocumentInteractionIssue {\n readonly kind: GovernedDocumentInteractionIssueKind;\n readonly message: string;\n}\n\n/**\n * TRUE statements about a coherent record whose surrounding WORKFLOW is unfinished.\n *\n * An advisory never stops the mechanism — see the issue/advisory split in\n * `.claude/rules/application-creation-directive.md`. It travels with the record so the decision it\n * bears on is taken where the consequence is, rather than by refusing here.\n */\nexport enum GovernedDocumentInteractionAdvisoryKind {\n /**\n * The release had not been approved when this interaction was recorded.\n *\n * The record is honest and the workflow is unfinished, so this MARKS rather than refuses — and\n * the mark is carried on the record itself (`releaseApprovalState`) rather than only reported,\n * because the question a reviewer will ask later is *was this approved AT THE TIME*, which\n * nothing can reconstruct from a release that has since been approved.\n *\n * Where the refusal belongs instead is the READ that decides whether to show a person the\n * document at all: `resolveEffectiveDocumentRelease(..., { requireApproved: true })`. That is a\n * Gate 3 arming point per `one-source-of-truth.md` D5 — \"an application may face a real user\" —\n * and it withholds an unapproved release from the surface, so no interaction with one is ever\n * offered. Refusing HERE as well would only mean losing the evidence that it happened anyway.\n */\n RELEASE_NOT_APPROVED = \"RELEASE_NOT_APPROVED\",\n /**\n * The act was solicited, and the record cannot say what notice preceded it.\n *\n * TRUE but unfinished: the interaction happened and every other field of the record stands. What\n * is missing is the one thing that distinguishes a person who scrolled to the end of thirteen\n * clauses from a person who pressed a button beside a sentence — so a reviewer reading this record\n * learns only that a release id was accepted, which is the gap #1382 is about.\n *\n * It MARKS rather than refuses because the remedy is a surface declaring its mode, which is\n * authoring work — `.claude/rules/application-creation-directive.md`: a required declaration whose\n * absence stops the mechanism is the defect, not the guard. The social sign-up path (#1383) is the\n * live instance, and this advisory is what makes its silence visible rather than indistinguishable\n * from a form acceptance.\n */\n ACCEPTANCE_MODE_NOT_RECORDED = \"ACCEPTANCE_MODE_NOT_RECORDED\",\n}\n\nexport interface GovernedDocumentInteractionAdvisory {\n readonly kind: GovernedDocumentInteractionAdvisoryKind;\n readonly message: string;\n}\n\n/**\n * Which interactions an ACCEPTANCE MODE can describe — total over the vocabulary, so a kind added\n * tomorrow is classified deliberately rather than inheriting whichever answer the code fell through\n * to.\n *\n * The question each row answers is the same one: **was this person ASKED?**\n * {@link GovernedDocumentAcceptanceMode} names the notice an application gives before soliciting\n * assent, so it describes an act that was solicited and nothing else.\n */\nexport const GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE: Readonly<Record<GovernedDocumentInteractionKind, boolean>> = {\n /** The APPLICATION acted. Nobody was asked anything, so no notice preceded it. */\n [GovernedDocumentInteractionKind.NOTICE_DELIVERED]: false,\n /** The person acted on an invitation to confirm they had seen it — the mode names that invitation. */\n [GovernedDocumentInteractionKind.NOTICE_ACKNOWLEDGED]: true,\n /** The canonical case: a registration surface asked for assent in one of the three shapes. */\n [GovernedDocumentInteractionKind.CONTRACT_ACCEPTED]: true,\n /** Assent to a purpose, solicited the same way and describable by the same vocabulary. */\n [GovernedDocumentInteractionKind.CONSENT_GIVEN]: true,\n /**\n * A withdrawal is the person acting on their OWN initiative — nothing solicits it, and a mode\n * claiming a notice preceded it would describe an invitation nobody extended. Withdrawal must be\n * as easy as giving, which is a property of the surface that offers it rather than a notice given\n * before it.\n */\n [GovernedDocumentInteractionKind.CONSENT_WITHDRAWN]: false,\n};\n\n/**\n * One person, one governed-document release, one interaction, one instant.\n *\n * Every field but `interactionKind` and `occurredAt` is DERIVED from the release, for the same\n * reason the release derives most of itself from the accepted definition: restating `locale`,\n * `jurisdictionRefs` or `documentClass` here would create a second way to disagree with the\n * release, and the disagreement would be invisible. They are copied onto the record rather than\n * left to a join because a record must stay readable when the release file moves on — which is\n * the whole point of binding an acceptance to a VERSION.\n */\nexport const GovernedDocumentInteractionSchema = z.strictObject({\n schemaVersion: z.literal(1),\n interactionKind: z.enum(GovernedDocumentInteractionKind),\n release: GovernedDocumentReleaseIdentitySchema,\n documentClass: z.enum(GovernedDocumentClass),\n locale: z.string().trim().min(2),\n jurisdictionRefs: z.array(GovernedDocumentRefSchema),\n /** The release's standing AT THE MOMENT OF THE INTERACTION. Not re-derivable later. */\n releaseApprovalState: z.enum(GovernedDocumentReleaseApprovalState),\n /**\n * HOW the act was obtained — the notice the person was given before performing it.\n *\n * Without it the strongest statement an operator can make about a recorded acceptance is *\"a\n * release id was accepted\"*, which is the same sentence for somebody who read the document to its\n * end and somebody who pressed a button beside a link. Enforceability turns on exactly this\n * distinction, so a consent record that cannot make it is evidence of the act and not of the\n * assent (#1382).\n *\n * OPTIONAL, and its absence is a fact rather than a default: it means the surface that obtained\n * the act did not say how it asked. `advisoryKinds` carries\n * {@link GovernedDocumentInteractionAdvisoryKind.ACCEPTANCE_MODE_NOT_RECORDED} on exactly those\n * records, so a silent surface reads as silent rather than as the weakest mode — which it would\n * if a default were stamped here.\n *\n * Absent BY RULE, with no advisory, on the kinds\n * {@link GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE} marks `false`.\n */\n acceptanceMode: z.enum(GovernedDocumentAcceptanceMode).optional(),\n occurredAt: GovernedDocumentIsoDateTimeSchema,\n});\nexport type GovernedDocumentInteraction = z.infer<typeof GovernedDocumentInteractionSchema>;\n\n\n/**\n * The slice of a release that a CONSENT SURFACE and an INTERACTION RECORD both need — and it is\n * browser-safe, which turned out to be a property rather than a compromise.\n *\n * {@link composeGovernedDocumentInteraction} reads `allowedInteractionKinds`, the effective\n * interval, `approvalState`, `identity`, `documentClass`, `locale` and `jurisdictionRefs`. It never\n * reads `governanceScope` or `approvalDecisions` — the two fields\n * {@link projectGovernedDocumentPublicRelease} already withholds from public consumers as internal\n * custody detail. So the fields the mechanism needs and the fields a browser may hold are the SAME\n * SET, and one shape can travel the whole chain: the application authors it on\n * `compliance.governedDocumentReleases`, the backend composes records from it, and the frontend\n * decides from it whether to render a consent control at all.\n *\n * Distinct from `GovernedDocumentPublicReleaseProjection`, which is narrower still and answers a\n * different question — how to ROUTE and DISPLAY a published document. It carries neither\n * `allowedInteractionKinds` nor `approvalState`, so a consent surface cannot be built from it.\n */\nexport const GovernedDocumentInteractionSurfaceSchema = z.strictObject({\n schemaVersion: z.literal(1),\n identity: GovernedDocumentReleaseIdentitySchema,\n documentClass: z.enum(GovernedDocumentClass),\n locale: z.string().trim().min(2),\n jurisdictionRefs: z.array(GovernedDocumentRefSchema),\n /** What a person may DO with this document. An empty array means \"read only\"; nothing may be recorded. */\n allowedInteractionKinds: z.array(z.enum(GovernedDocumentInteractionKind)),\n approvalState: z.enum(GovernedDocumentReleaseApprovalState),\n effectiveAt: GovernedDocumentIsoDateTimeSchema,\n expiresAt: GovernedDocumentIsoDateTimeSchema.optional(),\n /**\n * The interactions this release says a person must perform AGAIN, because it replaced an earlier\n * release with a change that mattered (#1258, Step 2 / R7).\n *\n * Projected from `materialityDecision.requiredInteractionKinds` — the governance answer a\n * superseding release already owes (\"did the change matter enough that the audience must meet the\n * document again?\"). Only the KINDS travel: the decision identity is private custody detail and this\n * shape reaches an unauthenticated browser. Empty for a first release and for a replacement judged\n * immaterial — a typo fix does not re-ask anybody.\n *\n * `.default([])` so a surface generated before this field existed still parses, and means exactly\n * what its absence meant then: nothing is renewed.\n */\n renewedInteractionKinds: z.array(z.enum(GovernedDocumentInteractionKind)).default([]),\n});\nexport type GovernedDocumentInteractionSurface = z.infer<typeof GovernedDocumentInteractionSurfaceSchema>;\n\n/** Explicit allow-list projection from a composed release to what a consent surface may hold. */\nexport const projectGovernedDocumentInteractionSurface = (release: GovernedDocumentRelease): GovernedDocumentInteractionSurface =>\n GovernedDocumentInteractionSurfaceSchema.parse({\n schemaVersion: 1,\n identity: release.identity,\n documentClass: release.documentClass,\n locale: release.locale,\n jurisdictionRefs: release.jurisdictionRefs,\n allowedInteractionKinds: release.allowedInteractionKinds,\n approvalState: release.approvalState,\n effectiveAt: release.effectiveAt,\n ...(release.expiresAt ? { expiresAt: release.expiresAt } : {}),\n renewedInteractionKinds: release.materialityDecision?.requiredInteractionKinds ?? [],\n });\n\n\n/**\n * Is this release in force at that instant?\n *\n * ONE implementation, used by {@link composeGovernedDocumentInteraction} here and by\n * `resolveEffectiveDocumentRelease` in `saas-specifications` — which depends on this package, so\n * the read side and the record side cannot disagree about what \"in force\" means. They did, briefly:\n * writing the record's guard reproduced the interval comparison, and two copies of a half-open\n * interval is exactly the shape where one of them ends up with `<=`.\n *\n * HALF-OPEN — `[effectiveAt, expiresAt)`. A release takes effect at the instant it names, and the\n * one that replaces it takes effect at the instant the old one expires, so the boundary belongs to\n * exactly one of them. An unparsable instant is NOT in force: it is not a time.\n */\nexport function governedDocumentReleaseIsInForce(\n release: { readonly effectiveAt: string; readonly expiresAt?: string },\n at: string,\n): boolean {\n const instant = Date.parse(at);\n if (Number.isNaN(instant)) return false;\n if (instant < Date.parse(release.effectiveAt)) return false;\n return release.expiresAt === undefined || instant < Date.parse(release.expiresAt);\n}\n\n/**\n * Whether an application shows, and asks people to accept, governed documents nobody has approved.\n *\n * ONE switch for every surface that puts a governed document in front of a person: the public page\n * (`/privacy`, `/terms`), the registration acceptance control, the first-session acceptance gate, the\n * consent panel's privacy-notice link, the backend's owed-acceptance derivation and the notice-delivery\n * record. It is read from the application's configuration (`compliance.governedDocumentApprovalGate`)\n * through {@link requiresApprovedGovernedDocuments}, never passed per call site, so the page and the\n * acceptance surfaces cannot be armed separately (#1565). Armed on the page alone, `/terms` would answer\n * \"unavailable\" while sign-up asked people to accept those same terms.\n *\n * What it does NOT govern is the RECORD of an act that happened: `recordGovernedDocumentAcceptances`\n * records what a person submitted, and marks an unapproved release with `RELEASE_NOT_APPROVED` rather\n * than dropping it, because refusing there would only lose the evidence.\n *\n * This is the gate point `.claude/rules/one-source-of-truth.md` D5 keeps MARKED: arming it is part of\n * Gate 3's membership test (\"an application may face a real user\").\n */\nexport enum GovernedDocumentApprovalGate {\n /**\n * The framework default, and the posture while an application is being built: every release in\n * force is shown and asked for, whatever its approval state. An unapproved release still says so\n * (`approvalState` travels with it, and a record of an interaction with it carries\n * `RELEASE_NOT_APPROVED`), so nothing unapproved is ever presented as approved — it is only not\n * withheld.\n */\n UNARMED = \"unarmed\",\n /**\n * Nothing unapproved reaches a person. An unapproved release is neither shown nor asked for, and no\n * draft stands in for a document that has no approved release. Arm it when the application faces\n * real users.\n *\n * With no approved release of a contractual document, sign-up asks for nothing. Whether an\n * application should be allowed to go live in that state is part of Gate 3's arming decision, not of\n * this switch.\n */\n ARMED = \"armed\",\n}\n\n/**\n * Whether the application's configuration withholds unapproved governed documents — the ONE reading of\n * {@link GovernedDocumentApprovalGate} every serving and asking surface goes through.\n *\n * Takes the configuration's `compliance` section (or nothing) rather than a boolean, so a call site\n * cannot supply its own answer. An absent section, or an absent member, is the schema default: unarmed.\n *\n * assurance-control: WILDO.PRIVACY.CONSENT_RECORD — once armed, no person is shown or asked to accept a\n * governed document that has not been approved, on any surface.\n */\nexport function requiresApprovedGovernedDocuments(\n compliance: { readonly governedDocumentApprovalGate?: GovernedDocumentApprovalGate } | undefined,\n): boolean {\n return compliance?.governedDocumentApprovalGate === GovernedDocumentApprovalGate.ARMED;\n}\n\n/**\n * Every release in force at that instant — what a registration surface asks when it needs to know\n * which documents a person is meeting right now.\n *\n * Deliberately NOT the same question as `resolveEffectiveDocumentRelease`, which picks the ONE\n * winning release for a given document, locale and jurisdiction set. This one spans documents and\n * is total over what the application declared, so a document added to the config tomorrow is\n * delivered without anyone editing a list.\n *\n * `requireApproved` drops releases nobody has approved. A surface that SHOWS or ASKS for a document\n * passes {@link requiresApprovedGovernedDocuments}; a recorder of an act that already happened passes\n * nothing.\n */\nexport function selectGovernedDocumentReleasesInForce(\n releases: readonly GovernedDocumentInteractionSurface[],\n at: string,\n options?: { readonly requireApproved?: boolean },\n): readonly GovernedDocumentInteractionSurface[] {\n const requireApproved = options?.requireApproved ?? false;\n return releases.filter((release) =>\n governedDocumentReleaseIsInForce(release, at)\n && (!requireApproved || release.approvalState === GovernedDocumentReleaseApprovalState.APPROVED));\n}\n\n/** One accepted release as the owed-acceptance derivation reads it — the persisted row's relevant slice. */\nexport interface GovernedDocumentAcceptanceRecord {\n readonly documentRef: string;\n readonly acceptedAt: Date | string;\n}\n\n/**\n * One document a person owes an acceptance of, and why.\n *\n * `releases` is every in-force variant of it — the obligation belongs to the document, not to a locale.\n *\n * What today's surfaces DO with that list, stated plainly because the natural reading is wrong: the\n * registration screen and the acceptance gate present EVERY variant listed and record an acceptance of\n * each, rather than choosing the one in the person's language. Choosing by locale is a refinement neither\n * surface makes yet; an application publishing one variant per document — every dogfood application —\n * never meets the difference.\n */\nexport interface GovernedDocumentAcceptanceOwed {\n readonly documentRef: string;\n readonly reason: GovernedDocumentAcceptanceOwedReason;\n readonly releases: readonly GovernedDocumentInteractionSurface[];\n}\n\n/** Why an acceptance is owed. Two different messages to the person, so two members. */\nexport enum GovernedDocumentAcceptanceOwedReason {\n /** They have never accepted any release of this document — a stale sign-up form, or an older account. */\n NEVER_ACCEPTED = \"NEVER_ACCEPTED\",\n /** A release replaced the one they accepted with a change judged to require acceptance again. */\n MATERIALLY_CHANGED = \"MATERIALLY_CHANGED\",\n}\n\n/**\n * Which documents a person owes an acceptance of, at an instant (#1258, Step 2 / R7).\n *\n * TOTAL over what the application declared: every in-force release that permits `CONTRACT_ACCEPTED`\n * is considered, so a document added to the configuration tomorrow is owed by everyone the next time\n * they arrive, with no list to maintain (`.claude/rules/derive-before-you-ask.md` rule 3).\n *\n * ## What counts as having accepted it\n *\n * Any release of the DOCUMENT — the join is `documentRef`, never `releaseId`. A release is one locale\n * and jurisdiction pair, so keying on it would re-ask everyone who changed language: accepting the\n * French terms is accepting the terms.\n *\n * ## When an earlier acceptance stops counting\n *\n * Only when a release of the document says so — its `renewedInteractionKinds` includes\n * `CONTRACT_ACCEPTED`, projected from the materiality decision that replacement owed. Then an acceptance\n * counts only if it happened at or after that release took effect. Compared on TIME, not on\n * `releaseVersion`, because a version is counted per variant and comparing one variant's number with\n * another's means nothing.\n *\n * ## The material change need not still be IN FORCE — it is transitive across replacements\n *\n * A replacement takes effect at the instant its predecessor expires, so only the NEWEST release is ever in\n * force. Reading materiality from the in-force releases alone would therefore forget it: accept v1 in\n * January, v2 changes the terms materially in March, v3 fixes a typo in June — and in July only v3 is in\n * force, its renewal set is empty, and a person who never accepted v2's change is told they owe nothing.\n * So the latest material change is taken over EVERY declared release of the document that took effect at or\n * before `at`, expired or not. A release that takes effect AFTER `at` has not happened yet and never counts.\n *\n * What the application must keep for this to hold: the superseded releases stay declared. They do — the\n * releases are recorded as data and only ever appended to.\n *\n * ## With the approval gate armed\n *\n * `requireApproved` ({@link requiresApprovedGovernedDocuments}) owes only APPROVED releases: a person is\n * never asked to accept what the public page would refuse to show. A material change still counts from\n * every declared release, approved or not, because the approved release that follows carries it.\n *\n * A pure function of its inputs: it reads nothing and writes nothing.\n */\nexport function governedDocumentAcceptancesOwed(input: {\n readonly releases: readonly GovernedDocumentInteractionSurface[];\n readonly accepted: readonly GovernedDocumentAcceptanceRecord[];\n readonly at: string;\n readonly requireApproved?: boolean;\n}): readonly GovernedDocumentAcceptanceOwed[] {\n const acceptable = selectGovernedDocumentReleasesInForce(input.releases, input.at, { requireApproved: input.requireApproved })\n .filter((release) => release.allowedInteractionKinds.includes(GovernedDocumentInteractionKind.CONTRACT_ACCEPTED));\n\n const byDocument = new Map<string, GovernedDocumentInteractionSurface[]>();\n for (const release of acceptable) {\n const documentRef = release.identity.document.documentRef;\n byDocument.set(documentRef, [...(byDocument.get(documentRef) ?? []), release]);\n }\n\n const atMs = Date.parse(input.at);\n const owed: GovernedDocumentAcceptanceOwed[] = [];\n for (const [documentRef, releases] of byDocument) {\n const acceptedAtMs = input.accepted\n .filter((record) => record.documentRef === documentRef)\n .map((record) => new Date(record.acceptedAt).getTime())\n .filter((ms) => !Number.isNaN(ms));\n if (acceptedAtMs.length === 0) {\n owed.push({ documentRef, reason: GovernedDocumentAcceptanceOwedReason.NEVER_ACCEPTED, releases });\n continue;\n }\n const latestAcceptance = Math.max(...acceptedAtMs);\n const latestMaterialChange = Math.max(\n ...input.releases\n .filter((release) => release.identity.document.documentRef === documentRef\n && release.allowedInteractionKinds.includes(GovernedDocumentInteractionKind.CONTRACT_ACCEPTED)\n && release.renewedInteractionKinds.includes(GovernedDocumentInteractionKind.CONTRACT_ACCEPTED)\n && Date.parse(release.effectiveAt) <= atMs)\n .map((release) => Date.parse(release.effectiveAt)),\n Number.NEGATIVE_INFINITY,\n );\n if (latestMaterialChange > latestAcceptance) {\n owed.push({ documentRef, reason: GovernedDocumentAcceptanceOwedReason.MATERIALLY_CHANGED, releases });\n }\n }\n return owed;\n}\n\nexport interface GovernedDocumentInteractionComposition {\n /**\n * The release the person actually met. Supplies class, locale, jurisdictions and permitted kinds.\n *\n * Typed as the SURFACE rather than the full release so the same call works from the runtime, which\n * only ever holds the surface. A full `GovernedDocumentRelease` is structurally assignable, so a\n * caller that has one passes it unchanged.\n *\n * `renewedInteractionKinds` is OMITTED from the requirement: it answers \"must the person do this\n * again?\", which is what the OWED derivation reads, and composing a record of one act never does. It\n * is a projection a full release does not carry under that name, so requiring it here would have\n * quietly ended the assignability the paragraph above promises — the surface still satisfies this\n * type, because an extra field is not a missing one.\n */\n readonly release: Omit<GovernedDocumentInteractionSurface, 'renewedInteractionKinds'>;\n /** What the person did. Must be one the release permits. */\n readonly interactionKind: GovernedDocumentInteractionKind;\n /**\n * The notice the surface gave before soliciting the act, when the surface declares one.\n *\n * The CALLER supplies it, and the caller that should is the one holding the application's own\n * configuration — never the client whose act is being recorded. A mode travelling in from the\n * browser would be the party whose assent is in question grading the notice it was given.\n *\n * Omitted when the surface does not declare a mode, which is recorded as an advisory rather than\n * defaulted. Supplying one for a kind that admits none is an ISSUE, because it would be false.\n */\n readonly acceptanceMode?: GovernedDocumentAcceptanceMode;\n /** When they did it. Must fall inside the release's effective interval. */\n readonly occurredAt: string;\n}\n\nexport interface GovernedDocumentInteractionCompositionResult {\n /** Absent only when `issues` is non-empty. An advisory never withholds the record. */\n readonly interaction: GovernedDocumentInteraction | undefined;\n readonly issues: readonly GovernedDocumentInteractionIssue[];\n readonly advisories: readonly GovernedDocumentInteractionAdvisory[];\n}\n\n/**\n * Compose the record of one interaction, refusing what would be false and marking what is merely\n * unfinished.\n *\n * Pure: it reads the release and the two decided values, and writes nothing. The caller decides\n * where the record goes — today, an auditable event.\n */\nexport function composeGovernedDocumentInteraction(\n composition: GovernedDocumentInteractionComposition,\n): GovernedDocumentInteractionCompositionResult {\n const { release, interactionKind, acceptanceMode, occurredAt } = composition;\n const issues: GovernedDocumentInteractionIssue[] = [];\n const advisories: GovernedDocumentInteractionAdvisory[] = [];\n const releaseKey = governedDocumentReleaseIdentityKey(release.identity);\n\n if (!release.allowedInteractionKinds.includes(interactionKind)) {\n issues.push({\n kind: GovernedDocumentInteractionIssueKind.INTERACTION_KIND_NOT_PERMITTED,\n message:\n `${releaseKey} permits ${release.allowedInteractionKinds.join(\", \") || \"no interaction\"}, so ${interactionKind} `\n + \"cannot be recorded against it.\",\n });\n }\n\n if (!governedDocumentReleaseIsInForce(release, occurredAt)) {\n issues.push({\n kind: GovernedDocumentInteractionIssueKind.RELEASE_NOT_IN_FORCE,\n message:\n `${releaseKey} is in force from ${release.effectiveAt}${release.expiresAt ? ` until ${release.expiresAt}` : \"\"}, `\n + `so nobody can have interacted with it at ${occurredAt}.`,\n });\n }\n\n const admitsAcceptanceMode = GOVERNED_DOCUMENT_INTERACTION_ADMITS_ACCEPTANCE_MODE[interactionKind];\n if (acceptanceMode !== undefined && !admitsAcceptanceMode) {\n issues.push({\n kind: GovernedDocumentInteractionIssueKind.ACCEPTANCE_MODE_NOT_APPLICABLE,\n message:\n `Nobody is asked to perform a ${interactionKind}, so recording it as obtained by ${acceptanceMode} would `\n + `claim a notice was given for an act that was never solicited (${releaseKey}).`,\n });\n }\n if (acceptanceMode === undefined && admitsAcceptanceMode) {\n advisories.push({\n kind: GovernedDocumentInteractionAdvisoryKind.ACCEPTANCE_MODE_NOT_RECORDED,\n message:\n `The surface that obtained this ${interactionKind} with ${releaseKey} did not say how it asked, so the record `\n + \"cannot distinguish a document read to its end from a sentence beside a button.\",\n });\n }\n\n if (release.approvalState === GovernedDocumentReleaseApprovalState.UNAPPROVED) {\n advisories.push({\n kind: GovernedDocumentInteractionAdvisoryKind.RELEASE_NOT_APPROVED,\n message:\n `${releaseKey} had not been approved when this ${interactionKind} was recorded. The record stands and says so; `\n + \"withholding an unapproved release from a real reader is the read-side gate (`requireApproved`), armed at Gate 3.\",\n });\n }\n\n if (issues.length > 0) return { interaction: undefined, issues, advisories };\n\n const parsed = GovernedDocumentInteractionSchema.safeParse({\n schemaVersion: 1,\n interactionKind,\n release: release.identity,\n documentClass: release.documentClass,\n locale: release.locale,\n jurisdictionRefs: release.jurisdictionRefs,\n releaseApprovalState: release.approvalState,\n ...(acceptanceMode !== undefined ? { acceptanceMode } : {}),\n occurredAt,\n });\n if (!parsed.success) {\n return {\n interaction: undefined,\n issues: [\n {\n kind: GovernedDocumentInteractionIssueKind.RECORD_INVALID,\n message: `The composed interaction with ${releaseKey} is not a valid record: ${parsed.error.issues.map((issue) => issue.message).join(\"; \")}`,\n },\n ],\n advisories,\n };\n }\n return { interaction: parsed.data, issues: [], advisories };\n}\n\n/**\n * The ONE public document to render for a governed-document ref at an instant, or `undefined`.\n *\n * Total over what the application declared, so a document added to the configuration tomorrow is\n * served without anyone editing a list — the same shape as\n * {@link selectGovernedDocumentReleasesInForce}, and for the same reason.\n *\n * `requireApproved` **IS THE GATE POINT**.\n *\n * It defaults to `false` — deliberately, and this is the posture recorded in\n * `.claude/rules/one-source-of-truth.md` D5: critical gate points stay MARKED in every mechanism so\n * they can be switched on when the posture changes, and under the current YOLO posture they notify\n * and proceed. Arming it is part of **Gate 3**'s membership test (\"an application may face a real\n * user\") — the posture ends where a real user begins, by definition rather than by anyone\n * remembering. A caller serving a page to the public passes `true`; a caller previewing what the\n * lane drafted passes nothing.\n *\n * When several releases of one document are in force the LATEST EFFECTIVE wins, and ties break on\n * the higher `releaseVersion`. Two in force at once is an authoring mistake rather than a state to\n * refuse on a read path: refusing would take the page down over an overlap a reader cannot see,\n * which is worse than showing the newer of two documents the publisher approved.\n *\n * ## The draft fallback, and its two limits (#968 decision 5)\n *\n * A document the application has drafted and never released is served as its UNRELEASED DRAFT, so\n * neither a missing approval nor a missing release ever leaves a page with nothing — the page marks it\n * as a draft. The fallback applies only when the application holds NO release of that document:\n *\n * - a release that exists but is not in force (scheduled, or expired) is a date, not an absence, and\n * showing the draft in its place would present text the application already decided to replace;\n * - with the gate ARMED there is no fallback at all — \"serve nothing unapproved to a real reader\" has\n * no answer less approved than a draft.\n */\nexport function resolveInForcePublicDocument(\n documents: readonly GovernedDocumentPublicDocument[],\n documentRef: string,\n at: string,\n options?: { readonly requireApproved?: boolean },\n): GovernedDocumentPublicDocument | undefined {\n const requireApproved = options?.requireApproved ?? false;\n const released = documents.filter((document): document is GovernedDocumentReleasedPublicDocument =>\n document.kind === GovernedDocumentPublicDocumentKind.RELEASED && document.release.identity.document.documentRef === documentRef);\n const candidates = released.filter((document) =>\n governedDocumentReleaseIsInForce(document.release, at)\n && (!requireApproved || document.approvalState === GovernedDocumentReleaseApprovalState.APPROVED));\n if (candidates.length === 0) {\n if (released.length > 0 || requireApproved) return undefined;\n return documents.find((document) =>\n document.kind === GovernedDocumentPublicDocumentKind.UNRELEASED_DRAFT && document.documentRef === documentRef);\n }\n return candidates.reduce((winner, candidate) => {\n const winnerEffective = Date.parse(winner.release.effectiveAt);\n const candidateEffective = Date.parse(candidate.release.effectiveAt);\n if (candidateEffective !== winnerEffective) return candidateEffective > winnerEffective ? candidate : winner;\n return candidate.release.identity.releaseVersion > winner.release.identity.releaseVersion ? candidate : winner;\n });\n}\n"]}
|
|
@@ -605,56 +605,6 @@ export declare const GovernedDocumentReleaseSchema: z.ZodObject<{
|
|
|
605
605
|
contentMediaType: z.ZodLiteral<"application/vnd.wildo.governed-document.public+json;version=1">;
|
|
606
606
|
}, z.core.$strict>;
|
|
607
607
|
export type GovernedDocumentRelease = z.infer<typeof GovernedDocumentReleaseSchema>;
|
|
608
|
-
/**
|
|
609
|
-
* The governed documents an application SERVES as public pages, named once for every layer.
|
|
610
|
-
*
|
|
611
|
-
* These two live HERE, in the shared wire layer, and not with their four governance siblings in
|
|
612
|
-
* `saas-specifications/_core/compliance-documents` — because these are the only two a BROWSER has
|
|
613
|
-
* to name. `AppRouter` mounts `/privacy` and `/terms` and must say which document each serves, and
|
|
614
|
-
* `saas-frontend-lib` neither depends on `saas-specifications` nor should: that is the design-time
|
|
615
|
-
* layer. The alternative was a second copy of two strings in the router, which is exactly the
|
|
616
|
-
* closed-vocabulary-with-no-named-source shape `CLAUDE.md` refuses.
|
|
617
|
-
*
|
|
618
|
-
* `required-document-set.schemas.ts` imports them rather than re-declaring them, so the composer
|
|
619
|
-
* and the page agree about which document they are talking about by construction.
|
|
620
|
-
*/
|
|
621
|
-
export declare const PUBLIC_GOVERNED_DOCUMENT_REFS: Readonly<{
|
|
622
|
-
readonly PRIVACY_NOTICE: "document:public.privacy-notice";
|
|
623
|
-
readonly SERVICE_TERMS: "document:public.service-terms";
|
|
624
|
-
}>;
|
|
625
|
-
export type PublicGovernedDocumentRefName = keyof typeof PUBLIC_GOVERNED_DOCUMENT_REFS;
|
|
626
|
-
/**
|
|
627
|
-
* Which public page serves which governed document — the pairing every surface that links to one needs.
|
|
628
|
-
*
|
|
629
|
-
* TOTAL over {@link PUBLIC_GOVERNED_DOCUMENT_REFS} by its type, so a third public document added to
|
|
630
|
-
* that vocabulary is a compile error here rather than a document with no page. A hand-kept list of
|
|
631
|
-
* pairings is the thing that rots; a total over the vocabulary is the thing that cannot.
|
|
632
|
-
*
|
|
633
|
-
* ## Why the PATH lives here and not with the frontend's other routes
|
|
634
|
-
*
|
|
635
|
-
* The same reason the refs beside it do, and it took a SECOND reader to make it obvious. `AppRouter`
|
|
636
|
-
* MOUNTS these paths; the consent panel LINKS to the privacy notice from `presets-components`, and
|
|
637
|
-
* the registration form links to each required document from `saas-frontend-lib`. Only the router can
|
|
638
|
-
* reach that package's internal route module, so the panel would have hard-coded a copy — the
|
|
639
|
-
* closed-vocabulary-with-no-named-source shape `CLAUDE.md` refuses, and a copy nothing renders is the
|
|
640
|
-
* one that drifts. `CommonRoutePaths.privacy` / `.terms` are derived from this, so the router still
|
|
641
|
-
* spells its routes in one place and that place agrees with the links.
|
|
642
|
-
*
|
|
643
|
-
* A MARKETING WEBSITE is deliberately NOT one of the readers, although an earlier version of this
|
|
644
|
-
* note claimed it was. `saas-website` may import only `@wildo-ai/saas-models/public-runtime` under
|
|
645
|
-
* bundle discipline, and this is not exported there — so the claim named a reader that could not
|
|
646
|
-
* reach it. If a website ever needs these paths, carve them into `public-runtime` through the K-2
|
|
647
|
-
* protocol rather than restoring the sentence.
|
|
648
|
-
*/
|
|
649
|
-
export declare const PUBLIC_GOVERNED_DOCUMENT_ROUTE_PATHS: Readonly<Record<(typeof PUBLIC_GOVERNED_DOCUMENT_REFS)[PublicGovernedDocumentRefName], string>>;
|
|
650
|
-
/**
|
|
651
|
-
* The page serving this document, or `undefined` when it has none.
|
|
652
|
-
*
|
|
653
|
-
* A governed document an application requires acceptance of need NOT be one of the two public pages
|
|
654
|
-
* — an application may require a data-processing agreement served elsewhere entirely — so a caller
|
|
655
|
-
* gets `undefined` and omits the link rather than being handed a route that leads nowhere.
|
|
656
|
-
*/
|
|
657
|
-
export declare const resolvePublicGovernedDocumentRoutePath: (documentRef: string) => string | undefined;
|
|
658
608
|
/** Locator kind is explicit so a channel cannot reinterpret an arbitrary string. */
|
|
659
609
|
export declare enum GovernedDocumentPublicationLocatorKind {
|
|
660
610
|
WEB_URL = "WEB_URL",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governed-documents.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"governed-documents.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/compliance/documents/governed-documents.shared.schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -609,58 +609,11 @@ export const GovernedDocumentReleaseSchema = GovernedDocumentReleaseCommonSchema
|
|
|
609
609
|
context.addIssue({ code: "custom", message: "release content jurisdictions must match the release", path: ["content", "jurisdictionRefs"] });
|
|
610
610
|
}
|
|
611
611
|
});
|
|
612
|
-
|
|
613
|
-
* The governed documents an application SERVES as public pages
|
|
614
|
-
*
|
|
615
|
-
*
|
|
616
|
-
* `saas-specifications/_core/compliance-documents` — because these are the only two a BROWSER has
|
|
617
|
-
* to name. `AppRouter` mounts `/privacy` and `/terms` and must say which document each serves, and
|
|
618
|
-
* `saas-frontend-lib` neither depends on `saas-specifications` nor should: that is the design-time
|
|
619
|
-
* layer. The alternative was a second copy of two strings in the router, which is exactly the
|
|
620
|
-
* closed-vocabulary-with-no-named-source shape `CLAUDE.md` refuses.
|
|
621
|
-
*
|
|
622
|
-
* `required-document-set.schemas.ts` imports them rather than re-declaring them, so the composer
|
|
623
|
-
* and the page agree about which document they are talking about by construction.
|
|
624
|
-
*/
|
|
625
|
-
export const PUBLIC_GOVERNED_DOCUMENT_REFS = Object.freeze({
|
|
626
|
-
PRIVACY_NOTICE: "document:public.privacy-notice",
|
|
627
|
-
SERVICE_TERMS: "document:public.service-terms",
|
|
628
|
-
});
|
|
629
|
-
/**
|
|
630
|
-
* Which public page serves which governed document — the pairing every surface that links to one needs.
|
|
631
|
-
*
|
|
632
|
-
* TOTAL over {@link PUBLIC_GOVERNED_DOCUMENT_REFS} by its type, so a third public document added to
|
|
633
|
-
* that vocabulary is a compile error here rather than a document with no page. A hand-kept list of
|
|
634
|
-
* pairings is the thing that rots; a total over the vocabulary is the thing that cannot.
|
|
635
|
-
*
|
|
636
|
-
* ## Why the PATH lives here and not with the frontend's other routes
|
|
637
|
-
*
|
|
638
|
-
* The same reason the refs beside it do, and it took a SECOND reader to make it obvious. `AppRouter`
|
|
639
|
-
* MOUNTS these paths; the consent panel LINKS to the privacy notice from `presets-components`, and
|
|
640
|
-
* the registration form links to each required document from `saas-frontend-lib`. Only the router can
|
|
641
|
-
* reach that package's internal route module, so the panel would have hard-coded a copy — the
|
|
642
|
-
* closed-vocabulary-with-no-named-source shape `CLAUDE.md` refuses, and a copy nothing renders is the
|
|
643
|
-
* one that drifts. `CommonRoutePaths.privacy` / `.terms` are derived from this, so the router still
|
|
644
|
-
* spells its routes in one place and that place agrees with the links.
|
|
645
|
-
*
|
|
646
|
-
* A MARKETING WEBSITE is deliberately NOT one of the readers, although an earlier version of this
|
|
647
|
-
* note claimed it was. `saas-website` may import only `@wildo-ai/saas-models/public-runtime` under
|
|
648
|
-
* bundle discipline, and this is not exported there — so the claim named a reader that could not
|
|
649
|
-
* reach it. If a website ever needs these paths, carve them into `public-runtime` through the K-2
|
|
650
|
-
* protocol rather than restoring the sentence.
|
|
651
|
-
*/
|
|
652
|
-
export const PUBLIC_GOVERNED_DOCUMENT_ROUTE_PATHS = Object.freeze({
|
|
653
|
-
[PUBLIC_GOVERNED_DOCUMENT_REFS.PRIVACY_NOTICE]: "/privacy",
|
|
654
|
-
[PUBLIC_GOVERNED_DOCUMENT_REFS.SERVICE_TERMS]: "/terms",
|
|
655
|
-
});
|
|
656
|
-
/**
|
|
657
|
-
* The page serving this document, or `undefined` when it has none.
|
|
658
|
-
*
|
|
659
|
-
* A governed document an application requires acceptance of need NOT be one of the two public pages
|
|
660
|
-
* — an application may require a data-processing agreement served elsewhere entirely — so a caller
|
|
661
|
-
* gets `undefined` and omits the link rather than being handed a route that leads nowhere.
|
|
612
|
+
/*
|
|
613
|
+
* The governed documents an application SERVES as public pages (`PUBLIC_GOVERNED_DOCUMENT_REFS`, their route paths and
|
|
614
|
+
* the resolver) live in `public-governed-documents.shared.ts`: an import-free atom, because the marketing website's
|
|
615
|
+
* browser bundle links to them too and may reach only `@wildo-ai/saas-models/public-runtime` (#2588).
|
|
662
616
|
*/
|
|
663
|
-
export const resolvePublicGovernedDocumentRoutePath = (documentRef) => PUBLIC_GOVERNED_DOCUMENT_ROUTE_PATHS[documentRef];
|
|
664
617
|
/** Locator kind is explicit so a channel cannot reinterpret an arbitrary string. */
|
|
665
618
|
export var GovernedDocumentPublicationLocatorKind;
|
|
666
619
|
(function (GovernedDocumentPublicationLocatorKind) {
|