@wildo-ai/saas-models 1.1.6 → 1.1.7
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/__tests__/setup.d.ts.map +1 -1
- package/dist/esm/__tests__/setup.js.map +1 -1
- 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.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.map +1 -1
- 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-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.map +1 -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.map +1 -1
- 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.map +1 -1
- package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
- package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.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.map +1 -1
- package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.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.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/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/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
- 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.map +1 -1
- 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.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.map +1 -1
- 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 +22 -22
- 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.map +1 -1
- 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.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 +2 -2
- 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.map +1 -1
- package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
- package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts.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.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.map +1 -1
- 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/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -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.map +1 -1
- 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.map +1 -1
- 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 +8 -8
- 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.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/resources-config.shared.factory.d.ts.map +1 -1
- package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
- 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 +18 -2
- 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.shared.defaults.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
- package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
- 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.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/privacy/data-retention.shared.schemas.d.ts +0 -0
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +0 -0
- package/dist/esm/compliance/privacy/data-retention.shared.schemas.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work-unit.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"work-unit.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/resources/work-unit.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yGAAyG;AACzG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;kBAG5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,uDAAuD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work-unit.shared.schemas.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"work-unit.shared.schemas.js","sourceRoot":"","sources":["../../../src/resources/work-unit.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yGAAyG;AACzG;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,6JAA6J,CAAC;IAChN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,kHAAkH,CAAC;CACpK,CAAC,CAAC;AAEH,uDAAuD","sourcesContent":["import { z } from 'zod';\n\n/** @wildo_source:part:start saas.models.work-unit-ref facet:layer:shared facet:audience:app-developer */\n/**\n * A reference to one CASE — the unit of work an application sells an outcome for (a matter, a file, a\n * claim, a ticket). Model-call cost attribution, expert decisions on agent work and agent turns all carry it\n * as `caseRef`. Import it from `@wildo-ai/saas-models`.\n *\n * `resourceType` is an OPEN application identifier (resource names are not a closed vocabulary), so the\n * shape alone proves nothing: a ref is accepted at a service boundary only after the registry confirms\n * the resource exists and the caller's own authorization can READ that row. The tenant is always derived\n * from the row, never from the caller. And the resource must declare `workUnit: true` in its resource\n * configuration: a ref to any other resource is refused as NOT_A_WORK_UNIT.\n */\nexport const WorkUnitRefSchema = z.strictObject({\n resourceType: z.string().min(1).max(120).describe('Name of the resource the case is a row of, as the API names it (for example `todos`). The resource must exist, and the caller must be able to read the row.'),\n resourceId: z.string().min(1).max(200).describe('Id of that row. The case belongs to the organization that owns the row, whatever organization the request names.'),\n});\nexport type WorkUnitRef = z.infer<typeof WorkUnitRefSchema>;\n/** @wildo_source:part:end saas.models.work-unit-ref */\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-module.shared.definitions.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"domain-module.shared.definitions.d.ts","sourceRoot":"","sources":["../../../src/runtime/domain-module.shared.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAiC,MAAM,+CAA+C,CAAC;AAKzH,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAC7F,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,KAAK,EACV,2CAA2C,EAC3C,8CAA8C,EAC/C,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAE1F;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2CAA2C,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACpG,wBAAwB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,wBAAgB,wBAAwB,CACtC,GAAG,OAAO,EAAE,kBAAkB,EAAE,GAC/B,kBAAkB,CAYpB;AACD,8DAA8D;AAE9D,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,wBAAwB,CAAC,EAAE,iCAAiC,EAAE,CAAC;IAC/D,0BAA0B,CAAC,EAAE;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACzC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,CAAC,CAAC;KAC9E,CAAC;IACF;;;;;;;;;;;OAWG;IACH,0BAA0B,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnD,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,CAAC;CAC9D;AACD,4DAA4D;AAE5D,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sBAAsB,EAAE,8CAA8C,CAAC;IACvE,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,qBAAqB,EAAE,oBAAoB,EAAE,CAAC;IAC9C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,wBAAwB,EAAE,iCAAiC,EAAE,CAAC;IAC9D,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;IAC5E,0BAA0B,EAAE,mBAAmB,EAAE,CAAC;IAClD,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,4BAA4B,EAAE,2BAA2B,EAAE,CAAC;CAC7D;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,OAAO,EAAE,gBAAgB,EAAE,GAC7B,yBAAyB,CAgD3B;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,yBAAyB,GAClC,+BAA+B,GAAG,SAAS,CAuC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-module.shared.definitions.js","sourceRoot":"","sources":["../../../../src/runtime/domain-module.shared.definitions.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,6BAA6B,IAAI,iCAAiC,EAClE,2BAA2B,GAC5B,MAAM,+CAA+C,CAAC;AAwBvD,MAAM,UAAU,wBAAwB,CACtC,GAAG,OAA6B;IAEhC,OAAO;QACL,sBAAsB,EAAE,MAAM,CAAC,MAAM,CACnC,EAAE,EACF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACgB;QAC/E,wBAAwB,EAAE,MAAM,CAAC,MAAM,CACrC,EAAE,EACF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACtC;QAC3B,qBAAqB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,IAAI,EAAE,CAAC;KAC3E,CAAC;AACJ,CAAC;AAuED,MAAM,UAAU,8BAA8B,CAC5C,GAAG,OAA2B;IAE9B,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,GAAG,OAAO,CAAC,CAAC;IAChE,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CACzC,EAAE,EACF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE,QAAQ,IAAI,EAAE,CAAC,CAC7C,CAAC;IACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzE,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAC9C,EAAE,EACF,GAAG,OAAO;SACP,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;SACxE,MAAM,CAAC,OAAO,CAAC,CACsC,CAAC;IAC3D,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnF,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC;SAChC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,0BAA0B,EAAE,cAAc,CAAC;QACpE,EAAE,0BAA0B,EAAE,cAAc,CAAC;IAE/C,MAAM,0BAA0B,GAAG,kBAAkB,IAAI,cAAc,IAAI,uBAAuB;QAChG,CAAC,CAAC;YACE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;YAChE,cAAc;YACd,oBAAoB,EAAE,uBAAuB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS;SACvF;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,EAAE,EACF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAC/B,CAAC;IAExB,OAAO;QACL,SAAS,EAAE,OAAO;aACf,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;aAC5C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;QACnC,sBAAsB,EAAE,CAAC,kBAAkB,CAAC,sBAAsB,IAAI,EAAE,CAAmD;QAC3H,wBAAwB,EAAE,kBAAkB,CAAC,wBAAwB,IAAI,EAAE;QAC3E,qBAAqB,EAAE,kBAAkB,CAAC,qBAAqB,IAAI,EAAE;QACrE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QAC1E,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAAC;QAC5F,0BAA0B;QAC1B,0BAA0B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,0BAA0B,IAAI,EAAE,CAAC;QAChG,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAChF,4BAA4B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,4BAA4B,IAAI,EAAE,CAAC;KACrG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,QAAmC;IAEnC,MAAM,cAAc,GAAG,QAAQ,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC;WACrE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,CAAC;WAC/E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7F,MAAM,4BAA4B,GAA6D,SAAS;QACtG,CAAC,CAAC;YACE,eAAe,EAAE,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,eAAe;mBACtF,iCAAiC,CAAC,cAAc;YACrD,mBAAmB,EAAE,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,mBAAmB;mBAC9F,iCAAiC,CAAC,IAAI;YAC3C,YAAY,EAAE,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,YAAY,IAAI,EAAE;YAC3F,cAAc,EAAE;gBACd,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,EAC/C,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC,2BAA2B,CAAC,mBAAmB,CAAC;uBACzH,iCAAiC,CAAC,cAAc;gBACrD,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAC1C,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC,2BAA2B,CAAC,cAAc,CAAC;uBACpH,iCAAiC,CAAC,oBAAoB;gBAC3D,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAC1C,QAAQ,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC,2BAA2B,CAAC,cAAc,CAAC;uBACpH,iCAAiC,CAAC,IAAI;aAC5C;SACF;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;QAC3E,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;QACjF,cAAc,EAAE,QAAQ,CAAC,0BAA0B,EAAE,cAAc;QACnE,oBAAoB,EAAE,4BAA4B;KACnD,CAAC;AACJ,CAAC","sourcesContent":["import type { ProductDefinition } from '../billing/product-definition.shared.schemas';\nimport type { FeatureConfiguration, FeatureUnavailabilityBehavior } from '../features/feature-definition.shared.schemas';\nimport {\n FeatureUnavailabilityBehavior as FeatureUnavailabilityBehaviorEnum,\n FeatureUnavailabilityReason,\n} from '../features/feature-definition.shared.schemas';\nimport type { FeatureDefinitionWithAutoRegister } from '../features/feature-builders.shared';\nimport type { CustomFeatureConfigurationInput } from '../features/feature-registry.shared';\nimport type { ScopeFeatures } from '../features/scope-features.shared.schemas';\nimport type { MilestoneDefinition } from '../guidance/milestone-definition.shared.schemas';\nimport type { NotificationBadgeDefinition } from '../notifications/notification-badges.schemas';\nimport type {\n ResourceConfiguration_InitializationFactory,\n ResourceConfiguration_InitializationFactoryMap,\n} from '../resources/resources-config.shared.schemas';\nimport type { ResourceRelationship } from '../resources/resources.shared.schemas';\nimport type { RolesConfiguration } from '../security/authorizations/roles.shared.schemas';\n\n/**\n * @wildo_source:part:start saas.models.shared-domain-module facet:layer:shared facet:family:module\n *\n * Cross-runtime module slice: resource factories, field identifiers, and relationship declarations merged across packages.\n */\nexport interface SharedDomainModule {\n resourceConfigurations?: Record<string, ResourceConfiguration_InitializationFactory<any, any, any>>;\n resourceFieldIdentifiers?: Record<string, string>;\n resourceRelationships?: ResourceRelationship[];\n}\n\nexport function mergeSharedDomainModules(\n ...modules: SharedDomainModule[]\n): SharedDomainModule {\n return {\n resourceConfigurations: Object.assign(\n {},\n ...modules.map(m => m.resourceConfigurations).filter(Boolean),\n ) as Record<string, ResourceConfiguration_InitializationFactory<any, any, any>>,\n resourceFieldIdentifiers: Object.assign(\n {},\n ...modules.map(m => m.resourceFieldIdentifiers).filter(Boolean),\n ) as Record<string, string>,\n resourceRelationships: modules.flatMap(m => m.resourceRelationships ?? []),\n };\n}\n/** @wildo_source:part:end saas.models.shared-domain-module */\n\nexport type ApplicationModuleKind = 'domain' | 'engine';\n\n/**\n * @wildo_source:part:start saas.models.shared-saas-module facet:layer:shared facet:family:module\n *\n * App module contract: id, kind, roles, feature/milestone/product/notification-badge definition hooks layered on shared resources.\n */\nexport interface SharedSaaSModule extends SharedDomainModule {\n moduleId: string;\n kind?: ApplicationModuleKind;\n customRoles?: RolesConfiguration;\n customFeatureDefinitions?: FeatureDefinitionWithAutoRegister[];\n customFeatureConfiguration?: {\n profiles?: Record<string, ScopeFeatures>;\n defaultProfile?: string;\n unavailabilityPolicy?: Partial<FeatureConfiguration['unavailabilityPolicy']>;\n };\n /**\n * Progression milestones this module owns.\n *\n * ⚠️ **Milestones need the ANALYTICS capability enabled to appear at all.** The frontend fetches\n * milestone definitions only when analytics is on and returns an empty list otherwise, so with it\n * off the definitions never arrive and the progression tracker renders nothing — declared\n * correctly, and invisible.\n *\n * Enabling analytics with an EMPTY provider list is what lights up the internal progression plane\n * without any telemetry leaving the application. That is the configuration to reach for when an\n * application wants progression and not tracking.\n */\n customMilestoneDefinitions?: MilestoneDefinition[];\n productDefinitions?: ProductDefinition[];\n /**\n * Notification badge definitions owned by this module (a module declares the\n * badges derived from / driven by its own resources — e.g. a tasks module owns\n * an \"incomplete todos\" count). Aggregated across modules by\n * `buildSharedSaaSModulesRegistry` and threaded into the app init config, so a\n * module owns its badge concern end-to-end with no app-level wiring.\n *\n * The framework ships NO badges of its own — every badge in an application is one that application\n * declared.\n *\n * Two limits worth knowing before designing around one. A badge is scoped to a USER or to an\n * ORGANIZATION and to nothing else; there is no application-wide scope. And a DERIVED badge is\n * recomputed off the resource operation's own dispatch, so a change written by some other route\n * does not move it — a client sees the corrected count on its next connection rather than\n * immediately.\n *\n * A badge reference that does not resolve renders nothing, deliberately. The configuration\n * verifier is what makes that loud: an unresolvable badge reference on a launcher item is reported\n * when the application's navigation content is checked.\n */\n notificationBadgeDefinitions?: NotificationBadgeDefinition[];\n}\n/** @wildo_source:part:end saas.models.shared-saas-module */\n\nexport interface SharedSaaSModulesRegistry {\n moduleIds: string[];\n resourceConfigurations: ResourceConfiguration_InitializationFactoryMap;\n resourceFieldIdentifiers: Record<string, string>;\n resourceRelationships: ResourceRelationship[];\n customRoles?: RolesConfiguration;\n customFeatureDefinitions: FeatureDefinitionWithAutoRegister[];\n customFeatureConfiguration?: SharedSaaSModule['customFeatureConfiguration'];\n customMilestoneDefinitions: MilestoneDefinition[];\n productDefinitions: ProductDefinition[];\n notificationBadgeDefinitions: NotificationBadgeDefinition[];\n}\n\nexport function buildSharedSaaSModulesRegistry(\n ...modules: SharedSaaSModule[]\n): SharedSaaSModulesRegistry {\n const mergedSharedModule = mergeSharedDomainModules(...modules);\n const mergedFeatureProfiles = Object.assign(\n {},\n ...modules.map((module) => module.customFeatureConfiguration?.profiles ?? {}),\n ) as Record<string, ScopeFeatures>;\n const hasFeatureProfiles = Object.keys(mergedFeatureProfiles).length > 0;\n\n const mergedUnavailabilityPolicy = Object.assign(\n {},\n ...modules\n .map((module) => module.customFeatureConfiguration?.unavailabilityPolicy)\n .filter(Boolean),\n ) as Partial<FeatureConfiguration['unavailabilityPolicy']>;\n const hasUnavailabilityPolicy = Object.keys(mergedUnavailabilityPolicy).length > 0;\n\n const defaultProfile = [...modules]\n .reverse()\n .find((module) => module.customFeatureConfiguration?.defaultProfile)\n ?.customFeatureConfiguration?.defaultProfile;\n\n const customFeatureConfiguration = hasFeatureProfiles || defaultProfile || hasUnavailabilityPolicy\n ? {\n profiles: hasFeatureProfiles ? mergedFeatureProfiles : undefined,\n defaultProfile,\n unavailabilityPolicy: hasUnavailabilityPolicy ? mergedUnavailabilityPolicy : undefined,\n }\n : undefined;\n\n const mergedRoles = Object.assign(\n {},\n ...modules.map((module) => module.customRoles ?? {}),\n ) as RolesConfiguration;\n\n return {\n moduleIds: modules\n .filter((module) => module.kind !== 'engine')\n .map((module) => module.moduleId),\n resourceConfigurations: (mergedSharedModule.resourceConfigurations ?? {}) as ResourceConfiguration_InitializationFactoryMap,\n resourceFieldIdentifiers: mergedSharedModule.resourceFieldIdentifiers ?? {},\n resourceRelationships: mergedSharedModule.resourceRelationships ?? [],\n customRoles: Object.keys(mergedRoles).length > 0 ? mergedRoles : undefined,\n customFeatureDefinitions: modules.flatMap((module) => module.customFeatureDefinitions ?? []),\n customFeatureConfiguration,\n customMilestoneDefinitions: modules.flatMap((module) => module.customMilestoneDefinitions ?? []),\n productDefinitions: modules.flatMap((module) => module.productDefinitions ?? []),\n notificationBadgeDefinitions: modules.flatMap((module) => module.notificationBadgeDefinitions ?? []),\n };\n}\n\nexport function buildFrontendFeatureConfigurationInput(\n registry: SharedSaaSModulesRegistry,\n): CustomFeatureConfigurationInput | undefined {\n const hasDefinitions = registry.customFeatureDefinitions.length > 0;\n const hasProfiles = Boolean(registry.customFeatureConfiguration?.profiles)\n && Object.keys(registry.customFeatureConfiguration?.profiles ?? {}).length > 0;\n const hasDefaultProfile = Boolean(registry.customFeatureConfiguration?.defaultProfile);\n const hasPolicy = Boolean(registry.customFeatureConfiguration?.unavailabilityPolicy)\n && Object.keys(registry.customFeatureConfiguration?.unavailabilityPolicy ?? {}).length > 0;\n\n const resolvedUnavailabilityPolicy: FeatureConfiguration['unavailabilityPolicy'] | undefined = hasPolicy\n ? {\n defaultBehavior: registry.customFeatureConfiguration?.unavailabilityPolicy?.defaultBehavior\n ?? FeatureUnavailabilityBehaviorEnum.UPGRADE_PROMPT,\n whenBillingDisabled: registry.customFeatureConfiguration?.unavailabilityPolicy?.whenBillingDisabled\n ?? FeatureUnavailabilityBehaviorEnum.HIDE,\n roleDefaults: registry.customFeatureConfiguration?.unavailabilityPolicy?.roleDefaults ?? {},\n reasonDefaults: {\n [FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]:\n registry.customFeatureConfiguration?.unavailabilityPolicy?.reasonDefaults?.[FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]\n ?? FeatureUnavailabilityBehaviorEnum.UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.LIMIT_EXCEEDED]:\n registry.customFeatureConfiguration?.unavailabilityPolicy?.reasonDefaults?.[FeatureUnavailabilityReason.LIMIT_EXCEEDED]\n ?? FeatureUnavailabilityBehaviorEnum.LIMIT_UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.NOT_CONFIGURED]:\n registry.customFeatureConfiguration?.unavailabilityPolicy?.reasonDefaults?.[FeatureUnavailabilityReason.NOT_CONFIGURED]\n ?? FeatureUnavailabilityBehaviorEnum.HIDE,\n },\n }\n : undefined;\n\n if (!hasDefinitions && !hasProfiles && !hasDefaultProfile && !hasPolicy) {\n return undefined;\n }\n\n return {\n definitions: hasDefinitions ? registry.customFeatureDefinitions : undefined,\n profiles: hasProfiles ? registry.customFeatureConfiguration?.profiles : undefined,\n defaultProfile: registry.customFeatureConfiguration?.defaultProfile,\n unavailabilityPolicy: resolvedUnavailabilityPolicy,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"domain-module.shared.definitions.js","sourceRoot":"","sources":["../../../src/runtime/domain-module.shared.definitions.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ProductDefinition } from '../billing/product-definition.shared.schemas';\nimport type { FeatureConfiguration, FeatureUnavailabilityBehavior } from '../features/feature-definition.shared.schemas';\nimport {\n FeatureUnavailabilityBehavior as FeatureUnavailabilityBehaviorEnum,\n FeatureUnavailabilityReason,\n} from '../features/feature-definition.shared.schemas';\nimport type { FeatureDefinitionWithAutoRegister } from '../features/feature-builders.shared';\nimport type { CustomFeatureConfigurationInput } from '../features/feature-registry.shared';\nimport type { ScopeFeatures } from '../features/scope-features.shared.schemas';\nimport type { MilestoneDefinition } from '../guidance/milestone-definition.shared.schemas';\nimport type { NotificationBadgeDefinition } from '../notifications/notification-badges.schemas';\nimport type {\n ResourceConfiguration_InitializationFactory,\n ResourceConfiguration_InitializationFactoryMap,\n} from '../resources/resources-config.shared.schemas';\nimport type { ResourceRelationship } from '../resources/resources.shared.schemas';\nimport type { RolesConfiguration } from '../security/authorizations/roles.shared.schemas';\n\n/**\n * @wildo_source:part:start saas.models.shared-domain-module facet:layer:shared facet:family:module\n *\n * Cross-runtime module slice: resource factories, field identifiers, and relationship declarations merged across packages.\n */\nexport interface SharedDomainModule {\n resourceConfigurations?: Record<string, ResourceConfiguration_InitializationFactory<any, any, any>>;\n resourceFieldIdentifiers?: Record<string, string>;\n resourceRelationships?: ResourceRelationship[];\n}\n\nexport function mergeSharedDomainModules(\n ...modules: SharedDomainModule[]\n): SharedDomainModule {\n return {\n resourceConfigurations: Object.assign(\n {},\n ...modules.map(m => m.resourceConfigurations).filter(Boolean),\n ) as Record<string, ResourceConfiguration_InitializationFactory<any, any, any>>,\n resourceFieldIdentifiers: Object.assign(\n {},\n ...modules.map(m => m.resourceFieldIdentifiers).filter(Boolean),\n ) as Record<string, string>,\n resourceRelationships: modules.flatMap(m => m.resourceRelationships ?? []),\n };\n}\n/** @wildo_source:part:end saas.models.shared-domain-module */\n\nexport type ApplicationModuleKind = 'domain' | 'engine';\n\n/**\n * @wildo_source:part:start saas.models.shared-saas-module facet:layer:shared facet:family:module\n *\n * App module contract: id, kind, roles, feature/milestone/product/notification-badge definition hooks layered on shared resources.\n */\nexport interface SharedSaaSModule extends SharedDomainModule {\n moduleId: string;\n kind?: ApplicationModuleKind;\n customRoles?: RolesConfiguration;\n customFeatureDefinitions?: FeatureDefinitionWithAutoRegister[];\n customFeatureConfiguration?: {\n profiles?: Record<string, ScopeFeatures>;\n defaultProfile?: string;\n unavailabilityPolicy?: Partial<FeatureConfiguration['unavailabilityPolicy']>;\n };\n /**\n * Progression milestones this module owns.\n *\n * ⚠️ **Milestones need the ANALYTICS capability enabled to appear at all.** The frontend fetches\n * milestone definitions only when analytics is on and returns an empty list otherwise, so with it\n * off the definitions never arrive and the progression tracker renders nothing — declared\n * correctly, and invisible.\n *\n * Enabling analytics with an EMPTY provider list is what lights up the internal progression plane\n * without any telemetry leaving the application. That is the configuration to reach for when an\n * application wants progression and not tracking.\n */\n customMilestoneDefinitions?: MilestoneDefinition[];\n productDefinitions?: ProductDefinition[];\n /**\n * Notification badge definitions owned by this module (a module declares the\n * badges derived from / driven by its own resources — e.g. a tasks module owns\n * an \"incomplete todos\" count). Aggregated across modules by\n * `buildSharedSaaSModulesRegistry` and threaded into the app init config, so a\n * module owns its badge concern end-to-end with no app-level wiring.\n *\n * The framework ships NO badges of its own — every badge in an application is one that application\n * declared.\n *\n * Two limits worth knowing before designing around one. A badge is scoped to a USER or to an\n * ORGANIZATION and to nothing else; there is no application-wide scope. And a DERIVED badge is\n * recomputed off the resource operation's own dispatch, so a change written by some other route\n * does not move it — a client sees the corrected count on its next connection rather than\n * immediately.\n *\n * A badge reference that does not resolve renders nothing, deliberately. The configuration\n * verifier is what makes that loud: an unresolvable badge reference on a launcher item is reported\n * when the application's navigation content is checked.\n */\n notificationBadgeDefinitions?: NotificationBadgeDefinition[];\n}\n/** @wildo_source:part:end saas.models.shared-saas-module */\n\nexport interface SharedSaaSModulesRegistry {\n moduleIds: string[];\n resourceConfigurations: ResourceConfiguration_InitializationFactoryMap;\n resourceFieldIdentifiers: Record<string, string>;\n resourceRelationships: ResourceRelationship[];\n customRoles?: RolesConfiguration;\n customFeatureDefinitions: FeatureDefinitionWithAutoRegister[];\n customFeatureConfiguration?: SharedSaaSModule['customFeatureConfiguration'];\n customMilestoneDefinitions: MilestoneDefinition[];\n productDefinitions: ProductDefinition[];\n notificationBadgeDefinitions: NotificationBadgeDefinition[];\n}\n\nexport function buildSharedSaaSModulesRegistry(\n ...modules: SharedSaaSModule[]\n): SharedSaaSModulesRegistry {\n const mergedSharedModule = mergeSharedDomainModules(...modules);\n const mergedFeatureProfiles = Object.assign(\n {},\n ...modules.map((module) => module.customFeatureConfiguration?.profiles ?? {}),\n ) as Record<string, ScopeFeatures>;\n const hasFeatureProfiles = Object.keys(mergedFeatureProfiles).length > 0;\n\n const mergedUnavailabilityPolicy = Object.assign(\n {},\n ...modules\n .map((module) => module.customFeatureConfiguration?.unavailabilityPolicy)\n .filter(Boolean),\n ) as Partial<FeatureConfiguration['unavailabilityPolicy']>;\n const hasUnavailabilityPolicy = Object.keys(mergedUnavailabilityPolicy).length > 0;\n\n const defaultProfile = [...modules]\n .reverse()\n .find((module) => module.customFeatureConfiguration?.defaultProfile)\n ?.customFeatureConfiguration?.defaultProfile;\n\n const customFeatureConfiguration = hasFeatureProfiles || defaultProfile || hasUnavailabilityPolicy\n ? {\n profiles: hasFeatureProfiles ? mergedFeatureProfiles : undefined,\n defaultProfile,\n unavailabilityPolicy: hasUnavailabilityPolicy ? mergedUnavailabilityPolicy : undefined,\n }\n : undefined;\n\n const mergedRoles = Object.assign(\n {},\n ...modules.map((module) => module.customRoles ?? {}),\n ) as RolesConfiguration;\n\n return {\n moduleIds: modules\n .filter((module) => module.kind !== 'engine')\n .map((module) => module.moduleId),\n resourceConfigurations: (mergedSharedModule.resourceConfigurations ?? {}) as ResourceConfiguration_InitializationFactoryMap,\n resourceFieldIdentifiers: mergedSharedModule.resourceFieldIdentifiers ?? {},\n resourceRelationships: mergedSharedModule.resourceRelationships ?? [],\n customRoles: Object.keys(mergedRoles).length > 0 ? mergedRoles : undefined,\n customFeatureDefinitions: modules.flatMap((module) => module.customFeatureDefinitions ?? []),\n customFeatureConfiguration,\n customMilestoneDefinitions: modules.flatMap((module) => module.customMilestoneDefinitions ?? []),\n productDefinitions: modules.flatMap((module) => module.productDefinitions ?? []),\n notificationBadgeDefinitions: modules.flatMap((module) => module.notificationBadgeDefinitions ?? []),\n };\n}\n\nexport function buildFrontendFeatureConfigurationInput(\n registry: SharedSaaSModulesRegistry,\n): CustomFeatureConfigurationInput | undefined {\n const hasDefinitions = registry.customFeatureDefinitions.length > 0;\n const hasProfiles = Boolean(registry.customFeatureConfiguration?.profiles)\n && Object.keys(registry.customFeatureConfiguration?.profiles ?? {}).length > 0;\n const hasDefaultProfile = Boolean(registry.customFeatureConfiguration?.defaultProfile);\n const hasPolicy = Boolean(registry.customFeatureConfiguration?.unavailabilityPolicy)\n && Object.keys(registry.customFeatureConfiguration?.unavailabilityPolicy ?? {}).length > 0;\n\n const resolvedUnavailabilityPolicy: FeatureConfiguration['unavailabilityPolicy'] | undefined = hasPolicy\n ? {\n defaultBehavior: registry.customFeatureConfiguration?.unavailabilityPolicy?.defaultBehavior\n ?? FeatureUnavailabilityBehaviorEnum.UPGRADE_PROMPT,\n whenBillingDisabled: registry.customFeatureConfiguration?.unavailabilityPolicy?.whenBillingDisabled\n ?? FeatureUnavailabilityBehaviorEnum.HIDE,\n roleDefaults: registry.customFeatureConfiguration?.unavailabilityPolicy?.roleDefaults ?? {},\n reasonDefaults: {\n [FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]:\n registry.customFeatureConfiguration?.unavailabilityPolicy?.reasonDefaults?.[FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]\n ?? FeatureUnavailabilityBehaviorEnum.UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.LIMIT_EXCEEDED]:\n registry.customFeatureConfiguration?.unavailabilityPolicy?.reasonDefaults?.[FeatureUnavailabilityReason.LIMIT_EXCEEDED]\n ?? FeatureUnavailabilityBehaviorEnum.LIMIT_UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.NOT_CONFIGURED]:\n registry.customFeatureConfiguration?.unavailabilityPolicy?.reasonDefaults?.[FeatureUnavailabilityReason.NOT_CONFIGURED]\n ?? FeatureUnavailabilityBehaviorEnum.HIDE,\n },\n }\n : undefined;\n\n if (!hasDefinitions && !hasProfiles && !hasDefaultProfile && !hasPolicy) {\n return undefined;\n }\n\n return {\n definitions: hasDefinitions ? registry.customFeatureDefinitions : undefined,\n profiles: hasProfiles ? registry.customFeatureConfiguration?.profiles : undefined,\n defaultProfile: registry.customFeatureConfiguration?.defaultProfile,\n unavailabilityPolicy: resolvedUnavailabilityPolicy,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-context.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"execution-context.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/runtime/execution-context.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAExG;;;;;;;;;GASG;AACH,oBAAY,8BAA8B;IACtC;;;;;;;OAOG;IACH,oBAAoB,yBAAyB;IAC7C;;;;;OAKG;IACH,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,4BAA4B,iCAAiC;IAC7D,gBAAgB,qBAAqB;IACrC;;;;OAIG;IACH,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC;;;;;;;;;;;;;OAaG;IACH,gBAAgB,qBAAqB;CACxC;AAED;;;;;GAKG;AACH,oBAAY,iBAAiB;IACzB,oFAAoF;IACpF,OAAO,YAAY;IACnB;;;;OAIG;IACH,YAAY,iBAAiB;CAChC;AAED,oBAAY,uCAAuC;IAC/C,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;CAC1C;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,UAAU,eAAe;IACzB,OAAO,YAAY;CACpB;AAEC;;GAEG;AACH;;;;;;;;GAQG;AACH,eAAO,MAAM,wCAAwC;;;iBAKnD,CAAC;AAEH,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wCAAwC,CAAC,CAAC;AAE1G,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;iBAuD9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAIlG;;GAEG;AAGH,eAAO,MAAM,+BAA+B;;;;;;;iBAiCxC,CAAC;AAEL,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,yBAAyB,GAAG,OAAO,CAEvF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,cAAc,EAAE,SAAS,yBAAyB,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEtH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mCAAmC,CACjD,cAAc,EAAE,SAAS,yBAAyB,EAAE,GAAG,SAAS,EAChE,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,yBAAyB,EAAE,CAI7B;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,SAAS,yBAAyB,EAAE,GAAG,SAAS,GAC/D;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,CAInD;AAGD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0CAA0C;;;;;iBAkBrD,CAAC;AAEH,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0CAA0C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-context.shared.schemas.js","sourceRoot":"","sources":["../../../../src/runtime/execution-context.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { ResourcePrimaryScope } from \"../resources/resources.shared.schemas\";\nimport { InboundChannelKind, InboundSenderAssurance } from \"../inbound/inbound-channels.shared.schemas\";\n\n/**\n * Execution type enum defining how the execution context was initiated.\n *\n * Design rule: an execution type is a PRINCIPAL CATEGORY, never an auth method. A\n * human authenticates via many methods (password, SSO, SAML, WebAuthn, OAuth-social,\n * OIDC authorization-code) but is always one `USER_REQUEST`. Machines follow the same\n * discipline: an organization/application MACHINE principal is authenticated by EITHER\n * a static API key OR an OAuth 2.0 client-credentials flow — the credential type is\n * recorded on `initiatorIds.machineCredential`, it is NOT its own execution type.\n */\nexport enum ExecutionContext_ExecutionType {\n /**\n * An organization-scoped MACHINE principal (non-human). Authenticated by EITHER a\n * static organization API key (`sk_org_…`) OR an OAuth 2.0 client-credentials flow\n * for an organization OAuth client (`oc_org_…`, direct secret or exchanged token).\n * Carries `organizationId` + roles; never a `userId`, so `authorizeUserSelf` and\n * user-FK paths fail closed for it by design. The specific credential is recorded on\n * `initiatorIds.machineCredential` for audit.\n */\n ORGANIZATION_MACHINE = 'organization_machine',\n /**\n * An application-scoped MACHINE principal — the APPLICATION-scope peer of\n * `ORGANIZATION_MACHINE`. Authenticated by an app API key (`sk_app_…`) OR an OAuth\n * client-credentials flow for an application OAuth client (`oc_app_…`). Carries\n * `applicationId` + roles; never a `userId`.\n */\n APPLICATION_MACHINE = 'application_machine',\n USER_REQUEST = 'user_request',\n CONSUMABLE_TOKEN = 'consumable_token',\n INTERNALLY_INITIATED_REQUEST = 'internally_initiated_request',\n PUBLIC_EXECUTION = 'public_execution',\n /**\n * Execution triggered by an external webhook callback (e.g., Stripe, Google).\n * Carries resolved scope identifiers (organizationId, userId, etc.) but no authentication credentials.\n * Created by WebhookHandlerBackendService after signature verification + scope resolution.\n */\n WEBHOOK_CALLBACK = 'webhook_callback',\n ANONYMOUS_SESSION = 'anonymous_session',\n /**\n * An application-declared inbound HANDLER running one verified, durably stored delivery (#1596).\n *\n * Unlike `WEBHOOK_CALLBACK`, this is an AUTHORIZED principal: it carries the handler's declared\n * `actingRoles` as its roles, is pinned to the one scope the delivery resolved to, and goes through\n * role authorization, organization-unit narrowing, scope-root confinement and cross-tenant read\n * observation exactly like a user. `WEBHOOK_CALLBACK` skips all four because signature verification\n * is its whole trust story; application code must never inherit that, or a handler would be\n * role-free and cross-tenant.\n *\n * `initiatorIds` is REQUIRED and names the delivery (`inboundDeliveryId`) and the handler\n * (`inboundHandlerRef`); it never carries a user or a machine credential — nobody authenticated, a\n * sender's signature was verified.\n */\n INBOUND_DELIVERY = 'inbound_delivery',\n}\n\n/**\n * How a MACHINE principal ({@link ExecutionContext_ExecutionType.ORGANIZATION_MACHINE} /\n * {@link ExecutionContext_ExecutionType.APPLICATION_MACHINE}) authenticated. This is\n * credential PROVENANCE (for audit), NOT a principal distinction — both methods resolve\n * to the same per-scope machine principal.\n */\nexport enum MachineAuthMethod {\n /** A static, long-lived API key (`sk_org_…` / `sk_app_…`) presented per-request. */\n API_KEY = 'api_key',\n /**\n * A registered OAuth 2.0 client (`oc_org_…` / `oc_app_…`) acting as itself\n * (client-credentials), presented either as a direct secret or an exchanged\n * audience-bound bearer token.\n */\n OAUTH_CLIENT = 'oauth_client',\n}\n\nexport enum ExecutionContext_ExecutionType_Frontend {\n USER_REQUEST = 'user_request',\n CONSUMABLE_TOKEN = 'consumable_token',\n PUBLIC_EXECUTION = 'public_execution',\n ANONYMOUS_SESSION = 'anonymous_session',\n}\n\n/**\n * W7.3b: Session type — shared across JWT claims, backend EC, and frontend AuthState.\n */\nexport enum SessionType {\n PERSISTENT = 'PERSISTENT',\n ONE_OFF = 'ONE_OFF',\n}\n\n /**\n * Initiator IDs structure for non-internal and non-public executions\n */\n /**\n * Credential provenance for a MACHINE principal — WHICH credential authenticated and\n * of WHAT type. Replaces the former `organizationApiKeyId` / `applicationApiKeyId` /\n * `m2mClientId` triple: those forked one concept (\"which machine credential\") into\n * three auth-method-specific fields. The principal's SCOPE lives on `organizationId` /\n * `applicationId` (as for any principal); this records only the credential, for audit\n * and attribution (e.g. a File's `uploadedBy`). Only populated for\n * `ORGANIZATION_MACHINE` / `APPLICATION_MACHINE`.\n */\n export const ExecutionContext_MachineCredentialSchema = z.object({\n /** Whether authentication used a static API key or an OAuth client. */\n authMethod: z.enum(MachineAuthMethod).describe(\"The kind of machine credential: `api_key` for an API key, `oauth_client` for an OAuth client.\"),\n /** The authenticating credential's `_id` (the ApiKey row, or the OAuthClient row). */\n credentialId: z.string().describe(\"The id of that API key or OAuth client.\"),\n });\n\n export type ExecutionContext_MachineCredential = z.infer<typeof ExecutionContext_MachineCredentialSchema>;\n\n export const ExecutionContext_InitiatorIdsSchema = z.object({\n organizationId: z.string().optional().describe(\"The organization the request ran in, when it ran in one.\"),\n userId: z.string().optional().describe(\"The signed-in user who made the request.\"),\n applicationId: z.string().optional().describe(\"The application the request was made to.\"),\n /**\n * Credential provenance for a machine principal (see\n * {@link ExecutionContext_MachineCredentialSchema}). Absent for human / anonymous /\n * webhook / internal principals.\n */\n machineCredential: ExecutionContext_MachineCredentialSchema.optional().describe(\"The API key or OAuth client that authenticated the request, when a machine made it.\"),\n consumableTokenId: z.string().optional().describe(\"The one-time token the request was authorized by, such as an invitation or a sign-in link.\"),\n /**\n * Provider reference that triggered the webhook (e.g., 'stripe', 'google').\n * Only populated for WEBHOOK_CALLBACK execution type.\n */\n webhookProviderId: z.string().optional().describe(\"The provider whose webhook call started the request, such as `stripe`.\"),\n anonymousUserId: z.string().optional().describe(\"The anonymous visitor who made the request, before signing in.\"),\n /**\n * The stored inbound delivery this execution runs (its `_id`). Only populated for\n * `INBOUND_DELIVERY`, where it is required — it is what the audit trail names as the source of\n * every write the handler makes.\n */\n inboundDeliveryId: z.string().optional().describe(\"The stored inbound delivery the request was processing.\"),\n /** The declared handler running the delivery. Only populated for `INBOUND_DELIVERY`, where it is required. */\n inboundHandlerRef: z.string().optional().describe(\"The handler that was processing that inbound delivery.\"),\n /**\n * The person a USER-scope inbound delivery belongs to (#1629) — its SCOPE, never its identity.\n *\n * Deliberately not `userId`: `userId` means somebody authenticated as that person, which no inbound\n * delivery ever did (a sender's signature was verified). Keeping the two apart is what lets the\n * constructor keep refusing an authenticated identity on `INBOUND_DELIVERY` while personal-scope\n * resources are still confined to one person: the ownership check reads this field for an inbound\n * principal, and the repository's scope filter reads the same id from the context map.\n *\n * Only populated for a USER-scope `INBOUND_DELIVERY`.\n */\n inboundScopeUserId: z.string().optional().describe(\"The person a user-scoped inbound delivery belongs to. It scopes the records the delivery may reach; nobody signed in as that person.\"),\n /**\n * Who sent the message an `INBOUND_DELIVERY` runs, as IDENTIFICATION only (#1630, I8): the channel and\n * how well the sender is known. It never grants anything — no authorization decision reads it, and the\n * roles stay the handler's declared `actingRoles`.\n *\n * The address is deliberately NOT carried. A context is serialized into job payloads and trace\n * attributes, where an address would outlive its erasure; the address lives on the conversation\n * message, which the erasure writer can reach.\n *\n * Only populated for `INBOUND_DELIVERY`.\n */\n inboundSender: z\n .strictObject({\n channel: z.enum(InboundChannelKind).describe(\"The channel the inbound message arrived through.\"),\n assurance: z.enum(InboundSenderAssurance).describe(\"How well the sender is known on that channel.\"),\n })\n .optional()\n .describe(\"Who sent the inbound message the request was processing, as identification only: it grants nothing, and the sender's address is not included.\"),\n });\n\n export type ExecutionContext_InitiatorIds = z.infer<typeof ExecutionContext_InitiatorIdsSchema>;\n\n\n\n/**\n * Role information with related scope and resource context\n */\n\n\nexport const ExecutionContext_RoleInfoSchema = z.object({\n roles: z.array(z.string()), // Will be validated against Roles type at runtime\n relatedPrimaryScope: z.enum(ResourcePrimaryScope),\n relatedResourceId: z.string().optional(),\n /**\n * Present ⇒ these roles are held ONLY inside one organization unit, not across the organization.\n *\n * Organization units are a NARROWING dimension within `ResourcePrimaryScope.ORGANIZATIONS`, not a\n * primary scope of their own (plan decision D-C1): a unit is owned BY an organization, so it is\n * not an ownership root, and adding a fifth scope would fracture the tenant boundary every\n * exhaustive switch currently relies on.\n *\n * ⚠️ **A unit-scoped entry must NEVER be read as organization-wide authority.** Absolutely every\n * consumer that unions `initiatorRoles` has to partition on this field first — otherwise\n * \"ORG_MANAGER of Sales\" silently becomes \"ORG_MANAGER of the whole tenant\", which is a\n * privilege escalation, not a convenience. Use {@link isOrganizationWideRoleInfo} /\n * {@link selectOrganizationWideRoles} rather than testing this property by hand, so the rule has\n * exactly one definition.\n */\n organizationUnitId: z.string().optional(),\n /**\n * Present ⇒ this entry was conferred by a live service-provider relationship (#1597): the caller is\n * a firm's expert (or an admitted firm machine client) acting inside a CLIENT organization.\n *\n * ⚠️ AUDIT ATTRIBUTION ONLY. No authority decision may read it — the entry's authority is fully\n * expressed by `roles`, `relatedResourceId` and `organizationUnitId`, exactly like any other entry.\n * It exists so an audit row written by a provider principal can name the relationship and the firm,\n * which is what lets the client read \"who from which firm did this, under which relationship\" from\n * its own trail. A system context derived from a request must not inherit it.\n */\n viaServiceProviderRelationshipId: z.string().optional(),\n /** The firm behind {@link viaServiceProviderRelationshipId}. Audit attribution only, like it. */\n viaProviderOrganizationId: z.string().optional(),\n });\n\nexport type ExecutionContext_RoleInfo = z.infer<typeof ExecutionContext_RoleInfoSchema>;\n\n/**\n * Does this entry confer authority across the WHOLE owning scope?\n *\n * `false` for a unit-scoped grant, which is only meaningful for resources that opted into unit\n * narrowing (D-C3) and must be ignored entirely by anything asking an organization-wide question.\n *\n * This is the single definition of that rule. Consumers call it instead of writing\n * `!roleInfo.organizationUnitId` inline, so a future narrowing dimension extends one function rather\n * than needing every call site to be rediscovered — the class of miss that made the per-unit `role`\n * field inert-but-dangerous in the first place.\n */\nexport function isOrganizationWideRoleInfo(roleInfo: ExecutionContext_RoleInfo): boolean {\n return roleInfo.organizationUnitId === undefined;\n}\n\n/**\n * The roles a principal holds across the whole scope, with every narrowed grant removed.\n *\n * The safe default for any \"does this caller hold role X?\" question. Reach past it only where the\n * question is explicitly unit-aware.\n */\nexport function selectOrganizationWideRoles(initiatorRoles: readonly ExecutionContext_RoleInfo[] | undefined): string[] {\n return (initiatorRoles ?? []).filter(isOrganizationWideRoleInfo).flatMap((roleInfo) => roleInfo.roles);\n}\n\n/**\n * The role entries that may speak for a request acting inside ONE organization.\n *\n * Every entry that is not ORGANIZATIONS-scoped (the APPLICATION role set, chiefly) is kept: those\n * roles are not held \"in\" a tenant, and they resolve against their own role table. An\n * ORGANIZATIONS-scoped entry is kept only when it names `organizationId` — organization-wide and\n * unit-scoped entries alike, so a caller partitions on {@link isOrganizationWideRoleInfo} AFTER this.\n *\n * ## Why this exists — measured 2026-09-25\n *\n * The per-instance role gate, the unit-narrowing decision and the role ceiling each unioned\n * organization-wide entries across EVERY organization the caller belongs to, and answered the tenant\n * question separately (\"does the caller hold ANY org-wide entry for this row's organization?\"). The\n * two answers composed into \"ORG_ADMIN somewhere + ORG_GUEST here = ORG_ADMIN here\": an ORG_ADMIN of\n * tenant A who was a guest of tenant B passed every ORG_ADMIN per-instance verb on B's rows, and could\n * grant ORG_ADMIN in B through the role ceiling. A role is a fact about a membership, so it is only\n * ever evaluated inside the organization that membership belongs to.\n *\n * An absent `organizationId` keeps no ORGANIZATIONS entry at all — fail closed: a request that names\n * no tenant has no tenant role to speak for it.\n */\nexport function selectRoleInfosActingInOrganization(\n initiatorRoles: readonly ExecutionContext_RoleInfo[] | undefined,\n organizationId: string | undefined,\n): ExecutionContext_RoleInfo[] {\n return (initiatorRoles ?? []).filter((roleInfo) =>\n roleInfo.relatedPrimaryScope !== ResourcePrimaryScope.ORGANIZATIONS\n || (Boolean(organizationId) && String(roleInfo.relatedResourceId ?? '') === organizationId));\n}\n\n/**\n * The unit-scoped grants a principal holds, as `(organizationUnitId, roles)` pairs.\n *\n * The complement of {@link selectOrganizationWideRoles} — the input to unit narrowing in\n * `buildContextualFilter` and to inheritance traversal.\n */\nexport function selectUnitScopedRoleGrants(\n initiatorRoles: readonly ExecutionContext_RoleInfo[] | undefined,\n): { organizationUnitId: string; roles: string[] }[] {\n return (initiatorRoles ?? [])\n .filter((roleInfo): roleInfo is ExecutionContext_RoleInfo & { organizationUnitId: string } => roleInfo.organizationUnitId !== undefined)\n .map((roleInfo) => ({ organizationUnitId: roleInfo.organizationUnitId, roles: roleInfo.roles }));\n}\n\n\n/**\n * Tracks the relationship path used to access a resource.\n * Captures FK relationship fields for authorization and filtering.\n *\n * Example: When accessing /assigned-to-users/{userId}/todos:\n * - resourceType: \"USERS\"\n * - relationshipField: \"assignedToUserId\" (the FK field on TODOS)\n * - resourceId: the userId value from the URL\n *\n * For standard parent relationships (no FK field):\n * - resourceType: \"ORGANIZATIONS\"\n * - relationshipField: undefined (uses default field identifier)\n * - resourceId: the organizationId value\n */\nexport const ExecutionContext_RelationshipContextSchema = z.object({\n /** The parent/related resource type (e.g., \"USERS\", \"ORGANIZATIONS\") */\n resourceType: z.string(),\n /**\n * The FK field name if via FK relationship (e.g., 'assignedToUserId').\n * undefined for standard parent relationships.\n */\n relationshipField: z.string().optional(),\n /** The ID value from the URL for this relationship */\n resourceId: z.string(),\n /**\n * Scope-via-junction tag (scope-required reference search). When set (e.g. on\n * the `organizationId` param of `/organizations/{id}/users/search`), the\n * backend scopes this (target) resource's SEARCH/LIST through the named\n * junction rather than via a column it owns, and authorizes by the anchor\n * scope's membership. Propagated from the URL param. Absent on normal params.\n */\n scopeViaJunction: z.string().optional(),\n});\n\nexport type ExecutionContext_RelationshipContext = z.infer<typeof ExecutionContext_RelationshipContextSchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"execution-context.shared.schemas.js","sourceRoot":"","sources":["../../../src/runtime/execution-context.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { ResourcePrimaryScope } from \"../resources/resources.shared.schemas\";\nimport { InboundChannelKind, InboundSenderAssurance } from \"../inbound/inbound-channels.shared.schemas\";\n\n/**\n * Execution type enum defining how the execution context was initiated.\n *\n * Design rule: an execution type is a PRINCIPAL CATEGORY, never an auth method. A\n * human authenticates via many methods (password, SSO, SAML, WebAuthn, OAuth-social,\n * OIDC authorization-code) but is always one `USER_REQUEST`. Machines follow the same\n * discipline: an organization/application MACHINE principal is authenticated by EITHER\n * a static API key OR an OAuth 2.0 client-credentials flow — the credential type is\n * recorded on `initiatorIds.machineCredential`, it is NOT its own execution type.\n */\nexport enum ExecutionContext_ExecutionType {\n /**\n * An organization-scoped MACHINE principal (non-human). Authenticated by EITHER a\n * static organization API key (`sk_org_…`) OR an OAuth 2.0 client-credentials flow\n * for an organization OAuth client (`oc_org_…`, direct secret or exchanged token).\n * Carries `organizationId` + roles; never a `userId`, so `authorizeUserSelf` and\n * user-FK paths fail closed for it by design. The specific credential is recorded on\n * `initiatorIds.machineCredential` for audit.\n */\n ORGANIZATION_MACHINE = 'organization_machine',\n /**\n * An application-scoped MACHINE principal — the APPLICATION-scope peer of\n * `ORGANIZATION_MACHINE`. Authenticated by an app API key (`sk_app_…`) OR an OAuth\n * client-credentials flow for an application OAuth client (`oc_app_…`). Carries\n * `applicationId` + roles; never a `userId`.\n */\n APPLICATION_MACHINE = 'application_machine',\n USER_REQUEST = 'user_request',\n CONSUMABLE_TOKEN = 'consumable_token',\n INTERNALLY_INITIATED_REQUEST = 'internally_initiated_request',\n PUBLIC_EXECUTION = 'public_execution',\n /**\n * Execution triggered by an external webhook callback (e.g., Stripe, Google).\n * Carries resolved scope identifiers (organizationId, userId, etc.) but no authentication credentials.\n * Created by WebhookHandlerBackendService after signature verification + scope resolution.\n */\n WEBHOOK_CALLBACK = 'webhook_callback',\n ANONYMOUS_SESSION = 'anonymous_session',\n /**\n * An application-declared inbound HANDLER running one verified, durably stored delivery (#1596).\n *\n * Unlike `WEBHOOK_CALLBACK`, this is an AUTHORIZED principal: it carries the handler's declared\n * `actingRoles` as its roles, is pinned to the one scope the delivery resolved to, and goes through\n * role authorization, organization-unit narrowing, scope-root confinement and cross-tenant read\n * observation exactly like a user. `WEBHOOK_CALLBACK` skips all four because signature verification\n * is its whole trust story; application code must never inherit that, or a handler would be\n * role-free and cross-tenant.\n *\n * `initiatorIds` is REQUIRED and names the delivery (`inboundDeliveryId`) and the handler\n * (`inboundHandlerRef`); it never carries a user or a machine credential — nobody authenticated, a\n * sender's signature was verified.\n */\n INBOUND_DELIVERY = 'inbound_delivery',\n}\n\n/**\n * How a MACHINE principal ({@link ExecutionContext_ExecutionType.ORGANIZATION_MACHINE} /\n * {@link ExecutionContext_ExecutionType.APPLICATION_MACHINE}) authenticated. This is\n * credential PROVENANCE (for audit), NOT a principal distinction — both methods resolve\n * to the same per-scope machine principal.\n */\nexport enum MachineAuthMethod {\n /** A static, long-lived API key (`sk_org_…` / `sk_app_…`) presented per-request. */\n API_KEY = 'api_key',\n /**\n * A registered OAuth 2.0 client (`oc_org_…` / `oc_app_…`) acting as itself\n * (client-credentials), presented either as a direct secret or an exchanged\n * audience-bound bearer token.\n */\n OAUTH_CLIENT = 'oauth_client',\n}\n\nexport enum ExecutionContext_ExecutionType_Frontend {\n USER_REQUEST = 'user_request',\n CONSUMABLE_TOKEN = 'consumable_token',\n PUBLIC_EXECUTION = 'public_execution',\n ANONYMOUS_SESSION = 'anonymous_session',\n}\n\n/**\n * W7.3b: Session type — shared across JWT claims, backend EC, and frontend AuthState.\n */\nexport enum SessionType {\n PERSISTENT = 'PERSISTENT',\n ONE_OFF = 'ONE_OFF',\n}\n\n /**\n * Initiator IDs structure for non-internal and non-public executions\n */\n /**\n * Credential provenance for a MACHINE principal — WHICH credential authenticated and\n * of WHAT type. Replaces the former `organizationApiKeyId` / `applicationApiKeyId` /\n * `m2mClientId` triple: those forked one concept (\"which machine credential\") into\n * three auth-method-specific fields. The principal's SCOPE lives on `organizationId` /\n * `applicationId` (as for any principal); this records only the credential, for audit\n * and attribution (e.g. a File's `uploadedBy`). Only populated for\n * `ORGANIZATION_MACHINE` / `APPLICATION_MACHINE`.\n */\n export const ExecutionContext_MachineCredentialSchema = z.object({\n /** Whether authentication used a static API key or an OAuth client. */\n authMethod: z.enum(MachineAuthMethod).describe(\"The kind of machine credential: `api_key` for an API key, `oauth_client` for an OAuth client.\"),\n /** The authenticating credential's `_id` (the ApiKey row, or the OAuthClient row). */\n credentialId: z.string().describe(\"The id of that API key or OAuth client.\"),\n });\n\n export type ExecutionContext_MachineCredential = z.infer<typeof ExecutionContext_MachineCredentialSchema>;\n\n export const ExecutionContext_InitiatorIdsSchema = z.object({\n organizationId: z.string().optional().describe(\"The organization the request ran in, when it ran in one.\"),\n userId: z.string().optional().describe(\"The signed-in user who made the request.\"),\n applicationId: z.string().optional().describe(\"The application the request was made to.\"),\n /**\n * Credential provenance for a machine principal (see\n * {@link ExecutionContext_MachineCredentialSchema}). Absent for human / anonymous /\n * webhook / internal principals.\n */\n machineCredential: ExecutionContext_MachineCredentialSchema.optional().describe(\"The API key or OAuth client that authenticated the request, when a machine made it.\"),\n consumableTokenId: z.string().optional().describe(\"The one-time token the request was authorized by, such as an invitation or a sign-in link.\"),\n /**\n * Provider reference that triggered the webhook (e.g., 'stripe', 'google').\n * Only populated for WEBHOOK_CALLBACK execution type.\n */\n webhookProviderId: z.string().optional().describe(\"The provider whose webhook call started the request, such as `stripe`.\"),\n anonymousUserId: z.string().optional().describe(\"The anonymous visitor who made the request, before signing in.\"),\n /**\n * The stored inbound delivery this execution runs (its `_id`). Only populated for\n * `INBOUND_DELIVERY`, where it is required — it is what the audit trail names as the source of\n * every write the handler makes.\n */\n inboundDeliveryId: z.string().optional().describe(\"The stored inbound delivery the request was processing.\"),\n /** The declared handler running the delivery. Only populated for `INBOUND_DELIVERY`, where it is required. */\n inboundHandlerRef: z.string().optional().describe(\"The handler that was processing that inbound delivery.\"),\n /**\n * The person a USER-scope inbound delivery belongs to (#1629) — its SCOPE, never its identity.\n *\n * Deliberately not `userId`: `userId` means somebody authenticated as that person, which no inbound\n * delivery ever did (a sender's signature was verified). Keeping the two apart is what lets the\n * constructor keep refusing an authenticated identity on `INBOUND_DELIVERY` while personal-scope\n * resources are still confined to one person: the ownership check reads this field for an inbound\n * principal, and the repository's scope filter reads the same id from the context map.\n *\n * Only populated for a USER-scope `INBOUND_DELIVERY`.\n */\n inboundScopeUserId: z.string().optional().describe(\"The person a user-scoped inbound delivery belongs to. It scopes the records the delivery may reach; nobody signed in as that person.\"),\n /**\n * Who sent the message an `INBOUND_DELIVERY` runs, as IDENTIFICATION only (#1630, I8): the channel and\n * how well the sender is known. It never grants anything — no authorization decision reads it, and the\n * roles stay the handler's declared `actingRoles`.\n *\n * The address is deliberately NOT carried. A context is serialized into job payloads and trace\n * attributes, where an address would outlive its erasure; the address lives on the conversation\n * message, which the erasure writer can reach.\n *\n * Only populated for `INBOUND_DELIVERY`.\n */\n inboundSender: z\n .strictObject({\n channel: z.enum(InboundChannelKind).describe(\"The channel the inbound message arrived through.\"),\n assurance: z.enum(InboundSenderAssurance).describe(\"How well the sender is known on that channel.\"),\n })\n .optional()\n .describe(\"Who sent the inbound message the request was processing, as identification only: it grants nothing, and the sender's address is not included.\"),\n });\n\n export type ExecutionContext_InitiatorIds = z.infer<typeof ExecutionContext_InitiatorIdsSchema>;\n\n\n\n/**\n * Role information with related scope and resource context\n */\n\n\nexport const ExecutionContext_RoleInfoSchema = z.object({\n roles: z.array(z.string()), // Will be validated against Roles type at runtime\n relatedPrimaryScope: z.enum(ResourcePrimaryScope),\n relatedResourceId: z.string().optional(),\n /**\n * Present ⇒ these roles are held ONLY inside one organization unit, not across the organization.\n *\n * Organization units are a NARROWING dimension within `ResourcePrimaryScope.ORGANIZATIONS`, not a\n * primary scope of their own (plan decision D-C1): a unit is owned BY an organization, so it is\n * not an ownership root, and adding a fifth scope would fracture the tenant boundary every\n * exhaustive switch currently relies on.\n *\n * ⚠️ **A unit-scoped entry must NEVER be read as organization-wide authority.** Absolutely every\n * consumer that unions `initiatorRoles` has to partition on this field first — otherwise\n * \"ORG_MANAGER of Sales\" silently becomes \"ORG_MANAGER of the whole tenant\", which is a\n * privilege escalation, not a convenience. Use {@link isOrganizationWideRoleInfo} /\n * {@link selectOrganizationWideRoles} rather than testing this property by hand, so the rule has\n * exactly one definition.\n */\n organizationUnitId: z.string().optional(),\n /**\n * Present ⇒ this entry was conferred by a live service-provider relationship (#1597): the caller is\n * a firm's expert (or an admitted firm machine client) acting inside a CLIENT organization.\n *\n * ⚠️ AUDIT ATTRIBUTION ONLY. No authority decision may read it — the entry's authority is fully\n * expressed by `roles`, `relatedResourceId` and `organizationUnitId`, exactly like any other entry.\n * It exists so an audit row written by a provider principal can name the relationship and the firm,\n * which is what lets the client read \"who from which firm did this, under which relationship\" from\n * its own trail. A system context derived from a request must not inherit it.\n */\n viaServiceProviderRelationshipId: z.string().optional(),\n /** The firm behind {@link viaServiceProviderRelationshipId}. Audit attribution only, like it. */\n viaProviderOrganizationId: z.string().optional(),\n });\n\nexport type ExecutionContext_RoleInfo = z.infer<typeof ExecutionContext_RoleInfoSchema>;\n\n/**\n * Does this entry confer authority across the WHOLE owning scope?\n *\n * `false` for a unit-scoped grant, which is only meaningful for resources that opted into unit\n * narrowing (D-C3) and must be ignored entirely by anything asking an organization-wide question.\n *\n * This is the single definition of that rule. Consumers call it instead of writing\n * `!roleInfo.organizationUnitId` inline, so a future narrowing dimension extends one function rather\n * than needing every call site to be rediscovered — the class of miss that made the per-unit `role`\n * field inert-but-dangerous in the first place.\n */\nexport function isOrganizationWideRoleInfo(roleInfo: ExecutionContext_RoleInfo): boolean {\n return roleInfo.organizationUnitId === undefined;\n}\n\n/**\n * The roles a principal holds across the whole scope, with every narrowed grant removed.\n *\n * The safe default for any \"does this caller hold role X?\" question. Reach past it only where the\n * question is explicitly unit-aware.\n */\nexport function selectOrganizationWideRoles(initiatorRoles: readonly ExecutionContext_RoleInfo[] | undefined): string[] {\n return (initiatorRoles ?? []).filter(isOrganizationWideRoleInfo).flatMap((roleInfo) => roleInfo.roles);\n}\n\n/**\n * The role entries that may speak for a request acting inside ONE organization.\n *\n * Every entry that is not ORGANIZATIONS-scoped (the APPLICATION role set, chiefly) is kept: those\n * roles are not held \"in\" a tenant, and they resolve against their own role table. An\n * ORGANIZATIONS-scoped entry is kept only when it names `organizationId` — organization-wide and\n * unit-scoped entries alike, so a caller partitions on {@link isOrganizationWideRoleInfo} AFTER this.\n *\n * ## Why this exists — measured 2026-09-25\n *\n * The per-instance role gate, the unit-narrowing decision and the role ceiling each unioned\n * organization-wide entries across EVERY organization the caller belongs to, and answered the tenant\n * question separately (\"does the caller hold ANY org-wide entry for this row's organization?\"). The\n * two answers composed into \"ORG_ADMIN somewhere + ORG_GUEST here = ORG_ADMIN here\": an ORG_ADMIN of\n * tenant A who was a guest of tenant B passed every ORG_ADMIN per-instance verb on B's rows, and could\n * grant ORG_ADMIN in B through the role ceiling. A role is a fact about a membership, so it is only\n * ever evaluated inside the organization that membership belongs to.\n *\n * An absent `organizationId` keeps no ORGANIZATIONS entry at all — fail closed: a request that names\n * no tenant has no tenant role to speak for it.\n */\nexport function selectRoleInfosActingInOrganization(\n initiatorRoles: readonly ExecutionContext_RoleInfo[] | undefined,\n organizationId: string | undefined,\n): ExecutionContext_RoleInfo[] {\n return (initiatorRoles ?? []).filter((roleInfo) =>\n roleInfo.relatedPrimaryScope !== ResourcePrimaryScope.ORGANIZATIONS\n || (Boolean(organizationId) && String(roleInfo.relatedResourceId ?? '') === organizationId));\n}\n\n/**\n * The unit-scoped grants a principal holds, as `(organizationUnitId, roles)` pairs.\n *\n * The complement of {@link selectOrganizationWideRoles} — the input to unit narrowing in\n * `buildContextualFilter` and to inheritance traversal.\n */\nexport function selectUnitScopedRoleGrants(\n initiatorRoles: readonly ExecutionContext_RoleInfo[] | undefined,\n): { organizationUnitId: string; roles: string[] }[] {\n return (initiatorRoles ?? [])\n .filter((roleInfo): roleInfo is ExecutionContext_RoleInfo & { organizationUnitId: string } => roleInfo.organizationUnitId !== undefined)\n .map((roleInfo) => ({ organizationUnitId: roleInfo.organizationUnitId, roles: roleInfo.roles }));\n}\n\n\n/**\n * Tracks the relationship path used to access a resource.\n * Captures FK relationship fields for authorization and filtering.\n *\n * Example: When accessing /assigned-to-users/{userId}/todos:\n * - resourceType: \"USERS\"\n * - relationshipField: \"assignedToUserId\" (the FK field on TODOS)\n * - resourceId: the userId value from the URL\n *\n * For standard parent relationships (no FK field):\n * - resourceType: \"ORGANIZATIONS\"\n * - relationshipField: undefined (uses default field identifier)\n * - resourceId: the organizationId value\n */\nexport const ExecutionContext_RelationshipContextSchema = z.object({\n /** The parent/related resource type (e.g., \"USERS\", \"ORGANIZATIONS\") */\n resourceType: z.string(),\n /**\n * The FK field name if via FK relationship (e.g., 'assignedToUserId').\n * undefined for standard parent relationships.\n */\n relationshipField: z.string().optional(),\n /** The ID value from the URL for this relationship */\n resourceId: z.string(),\n /**\n * Scope-via-junction tag (scope-required reference search). When set (e.g. on\n * the `organizationId` param of `/organizations/{id}/users/search`), the\n * backend scopes this (target) resource's SEARCH/LIST through the named\n * junction rather than via a column it owns, and authorizes by the anchor\n * scope's membership. Propagated from the URL param. Absent on normal params.\n */\n scopeViaJunction: z.string().optional(),\n});\n\nexport type ExecutionContext_RelationshipContext = z.infer<typeof ExecutionContext_RelationshipContextSchema>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"runtime.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/runtime/runtime.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,oBAAY,kBAAkB;IAC1B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,IAAI,SAAS;CAChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.shared.schemas.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"runtime.shared.schemas.js","sourceRoot":"","sources":["../../../src/runtime/runtime.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,iDAA2B,CAAA;IAC3B,yCAAmB,CAAA;IACnB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;AACjB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B","sourcesContent":["/**\n * Runtime environment values.\n *\n * Each running platform/application instance is mono-env (one env per deployment).\n * `APPLICATION_ENV` is an infra-provided runtime decorator used for:\n * - Dev-only behavior gating (retry logic, dev controllers)\n * - Logging configuration\n * - Feature flipping\n *\n * It is NOT used for multi-env routing, DB lookup keys, inter-service headers,\n * or naming/isolation (each deployment has its own infra).\n */\nexport enum RuntimeEnvironment {\n DEVELOPMENT = 'development',\n STAGING = 'staging',\n PRODUCTION = 'production',\n TEST = 'test'\n}\n"]}
|
package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-keys-application.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"api-keys-application.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/security/api-keys/api-keys-application.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,YAAY,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAoF,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAOlK,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAkBxE,oBAAY,qBAAqB;IAC/B,MAAM,WAAW,CAAE,0CAA0C;IAC7D,UAAU,eAAe,CAAE,gDAAgD;IAC3E,UAAU,eAAe,CAAE,iBAAiB;IAC5C,UAAU,eAAe,CAAE,iBAAiB;IAC5C,aAAa,kBAAkB,CAAE,yBAAyB;IAC1D,MAAM,WAAW,CAAE,6FAA6F;IAChH,WAAW,gBAAgB;CAC5B;AAED,KAAK,wBAAwB,GACzB,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAKjC,eAAO,MAAM,qDAAqD,GAAI,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;kBA0UlH,CAAC"}
|
package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-keys-application.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../src/security/api-keys/api-keys-application.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Application API Keys Shared Resource Configuration\n *\n * Resource configuration for managing application-scoped API keys.\n * Handles creation, management, rotation, and monitoring of API keys within applications.\n */\n\nimport { z } from 'zod';\nimport {\n ApiKeyApplicationSchema,\n ApiKeyStatus,\n ApiKeyUsageStatisticsResponseSchema,\n} from './api-keys.shared.schemas';\nimport { CoreResourceOperation } from '../../resources/resources.shared.core.definitions';\nimport { ResourceOperationRiskLevel, ResourceOperationReversibility, ResourcePrimaryScope, ResourceRelationship } from '../../resources/resources.shared.schemas';\nimport { CoreResourceType, coreResourceShared_FieldIdentifier } from '../../resources/resources.shared.core.definitions';\nimport { ResourceOperationVariantType } from '../../resources/resources.shared.schemas';\nimport { CoreUserNotificationTarget, CoreUserNotificationChannel } from '../../notifications/notifications.shared.schemas';\n\nimport { createResourceConfiguration_Initialization } from '../../resources/resources-config.shared.factory';\nimport { createResourcesFilterPresenceSchema } from '../../resources/resources-config.shared.schemas';\nimport { CORE_APP_ROLES } from '../authorizations/roles.shared.schemas';\n\n// Sort and filter fields for application API keys\n\n// App Admin gets enhanced filter fields with additional capabilities\nconst APP_API_KEYS_ADMIN_FILTER_FIELDS = {\n status: z.enum(ApiKeyStatus),\n // \"Has an expiry\", i.e. `expiresAt` is set. Declared as a plain boolean it was passed to the database\n // as a field no row has, and matched nothing (#1806); the presence filter carries its target.\n hasExpiration: createResourcesFilterPresenceSchema('expiresAt'),\n lastUsedAt: z.date(), // Admin can filter by last usage\n expiresAt: z.date(), // Admin can filter by expiration\n};\n\n// App Admin gets additional sorting capabilities\nconst APP_API_KEYS_ADMIN_SORT_FIELDS = ['createdAt', 'updatedAt', 'lastUsedAt', 'expiresAt', 'status'] as const;\n\n// Custom operations enum for application API keys\nexport enum AppApiKeys_Operations {\n ROTATE = 'rotate', // Generate new key and invalidate old one\n REGENERATE = 'regenerate', // Generate new key without invalidating old one\n DEACTIVATE = 'deactivate', // Deactivate key\n REACTIVATE = 'reactivate', // Reactivate key\n EXTEND_EXPIRY = 'extend_expiry', // Extend expiration date\n EXPIRE = 'expire', // ACTIVE → EXPIRED once `expiresAt` has passed (dispatched by the sweep, not by an operator)\n USAGE_STATS = 'usage_stats', // Get usage statistics\n}\n\ntype AppApiKeysCoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.DELETE;\n\n/*\nApplication API Keys Resource Configuration Factory\n*/\nexport const appApiKeysResourceConfiguration_InitializationFactory = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof AppApiKeys_Operations,\n AppApiKeysCoreOperations,\n typeof ApiKeyApplicationSchema\n>({\n mainSchema: ApiKeyApplicationSchema,\n resourceIdentifier: CoreResourceType.APPLICATION_API_KEYS,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.APPLICATION_API_KEYS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Application API keys are a core system resource\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n // DELETE is REPOSITORY_ONLY (no HTTP route): powers the composition\n // onParentDelete cascade so key rows are physically removed when their owning\n // application is deleted. Without it the cascade throws ErrorType.CONFIGURATION\n // on any application that still has API-key rows.\n CoreResourceOperation.DELETE\n ],\n\n customOperation: AppApiKeys_Operations,\n\n operationsConfiguration: {\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: false,\n searchableFields: [],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: APP_API_KEYS_ADMIN_FILTER_FIELDS,\n sortFields: APP_API_KEYS_ADMIN_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n }\n ],\n },\n\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // requestDto auto-derived from decorators\n customResponseDto: ApiKeyApplicationSchema.extend({\n plainKey: z.string().min(1).isEphemeral().describe(\"The full key value, returned only in this response: only its hash is stored, so it cannot be read again. Send it as the raw `Authorization` header value, with no scheme.\")\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n // Internal-only (REPOSITORY_ONLY, no HTTP route): powers the composition\n // onParentDelete cascade so API-key rows are physically removed when their\n // owning application is deleted. Without a DELETE op the cascade\n // (deleteChildrenImmediate) throws ErrorType.CONFIGURATION on any application\n // that still has key rows. Super-admin/HIGH: the app API-key admin tier.\n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.HIGH,\n }\n ],\n },\n\n [AppApiKeys_Operations.ROTATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // IRREVERSIBLE: Replaces the secret. Only the SHA-256 hash is persisted, so the previous key is unrecoverable.\n // This is what admits it to the danger zone; risk alone no longer does.\n reversibility: ResourceOperationReversibility.IRREVERSIBLE,\n // Irreversible reissue AND a secret handback. ROTATE schedules the prior credential's\n // invalidation at the requested boundary (default: now) and returns the replacement in\n // plaintext (`plainKey`, `.isEphemeral()`). Once that boundary passes, integrations still\n // using the prior value break and it cannot be restored. An unauthorized rotate is not\n // merely destructive: the caller WALKS AWAY WITH the replacement credential.\n // A live session alone is deliberately not sufficient for that.\n //\n // Its sibling REGENERATE is NOT gated, and the difference is the whole criterion: a\n // regenerate \"keeps the prior secret working\" (see its own declaration), so it is additive\n // and recoverable. Gate the irreversible, not merely the sensitive.\n //\n // assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-proof of identity before a\n // high-impact action.\n requiresStepUpAuthentication: true,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n oldKeyInvalidationDate: z.date().min(new Date(), 'Invalidation date must be in the future or now').default(() => new Date()).describe(\"When the previous secret stops authenticating. Defaults to now, which cuts it off immediately; a later time keeps both secrets working until then so integrations can switch over.\")\n }),\n customResponseDto: ApiKeyApplicationSchema.extend({\n plainKey: z.string().min(1).isEphemeral().describe(\"The full key value, returned only in this response: only its hash is stored, so it cannot be read again. Send it as the raw `Authorization` header value, with no scheme.\"),\n oldKeyId: z.string().describe(\"The id of the rotated key. Rotation reissues the secret on the same key, so this is the key's own id.\"),\n oldKeyInvalidationDate: z.date().describe(\"When the previous secret stops authenticating. Until then both the previous and the new secret are accepted.\")\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [AppApiKeys_Operations.REGENERATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // REGENERATE mints and hands over a LIVE credential, so it needs an audit row — but its\n // MEDIUM risk sits below the automatic HIGH/CRITICAL floor, which is why it previously\n // recorded nothing on either axis while its HIGH sibling ROTATE recorded the operation.\n // MEDIUM is correct on the UI axis (no danger-zone affordance for a reissue that keeps\n // the prior secret working) and wrong on the evidence axis; this declaration is exactly\n // that divergence. Raising `riskLevel` instead would buy the row by mis-declaring the\n // verb's danger. Same reasoning as `organizationMembers | UPDATE`.\n // assurance-control: WILDO.SECRETS.DISCLOSURE_AUDIT — credential issuance is attributable.\n auditableEvent: { auditBelowRiskFloor: true },\n // REGENERATE reissues the secret and nothing else — it takes no caller input\n // (contrast ROTATE, which accepts `oldKeyInvalidationDate`). Without this the\n // auto-derived UPDATE contract would apply: the reissue prefix returns\n // `{ ...input, hashedKey, … }` and the dispatcher MERGES that onto the caller\n // payload, so `roles` would be writable through \"regenerate\" — bypassing the\n // ceiling gate that guards minting (`assertRequestedRolesWithinCallerCeiling`\n // runs in the CREATE handler only) on a resource with no core UPDATE.\n requestDto: z.object({}),\n customResponseDto: ApiKeyApplicationSchema.extend({\n plainKey: z.string().min(1).isEphemeral().describe(\"The full key value, returned only in this response: only its hash is stored, so it cannot be read again. Send it as the raw `Authorization` header value, with no scheme.\"),\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [AppApiKeys_Operations.DEACTIVATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // The transition is SERVER-DECIDED, so the verb takes no input. Borrowing UPDATE\n // selects the core path that persists; it must NOT also hand the caller UPDATE's\n // request contract. Omitting `requestDto` here would auto-derive the resource's\n // FULL update DTO (`{name, description, roles, status, expiresAt}`) — letting\n // `PUT .../deactivate` carry `status: active` (the exact opposite of the verb) and\n // rewrite `roles` with no ceiling gate, on a resource that deliberately exposes no\n // core UPDATE at all. `status` is forced to INACTIVE by the paired prefix\n // implementation; see `api-keys.custom-impl.backend.service.ts`.\n requestDto: z.object({}),\n enabledCondition: ({ currentObject }) => {\n return currentObject.status === ApiKeyStatus.ACTIVE;\n }\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [AppApiKeys_Operations.REACTIVATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // No input: `status` is forced to ACTIVE by the paired prefix implementation.\n // See the DEACTIVATE note above for why the auto-derived UPDATE contract is unsafe here.\n requestDto: z.object({}),\n enabledCondition: ({ currentObject }) => {\n return currentObject.status === ApiKeyStatus.INACTIVE;\n }\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n /**\n * ACTIVE → EXPIRED, dispatched by the credential-expiry sweep once `expiresAt` has passed\n * (#413). INTERNAL_CALL, so no HTTP route is mounted and no frontend affordance is offered:\n * the sweep is the only caller.\n *\n * Not an operator verb, deliberately. An administrator who wants a key gone uses DEACTIVATE and\n * one who wants it to last longer uses EXTEND_EXPIRY; there is no reason for a human to declare\n * that a date has passed. Being INTERNAL_CALL also removes, rather than defends against, the\n * hazard DEACTIVATE documents at length — with no route there is no request contract to\n * auto-derive and no `PUT .../expire` that could carry `status: active`.\n *\n * It exists so the sweep writes through a GUARDED door rather than setting `status` directly: a\n * direct write would be a second authority over the field and would skip the ACTIVE-only\n * precondition, which lives in the paired prefix implementation\n * (`api-keys.custom-impl.backend.service.ts`) because that is the enforcement an\n * `enabledCondition` cannot be.\n */\n [AppApiKeys_Operations.EXPIRE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // EMPTY BY CONTRACT, not by omission. The credential-expiry sweep dispatches this verb with `{}`\n // and the paired prefix implementation forces the status transition itself, so there is no field\n // a caller may supply. Declaring nothing is NOT the same as declaring this: an operation without\n // a `requestDto` inherits the resource's ENTIRE update contract, which would let an INTERNAL_CALL\n // that accepts nothing advertise every field — `status` included, the one field this verb owns.\n requestDto: z.object({}),\n }\n ],\n // No notification: expiry is the scheduled consequence of a date the administrator set, not\n // an event. The signal that would be worth sending — a key ABOUT to expire — is a different\n // feature and is not this one.\n },\n\n [AppApiKeys_Operations.EXTEND_EXPIRY]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n newExpiresAt: z.date().min(new Date(), 'New expiration date must be in the future').describe(\"The key's new expiry time. Only a key that already has an expiry can be extended.\")\n }),\n enabledCondition: ({ currentObject }) => {\n return currentObject.expiresAt !== null && currentObject.expiresAt !== undefined;\n }\n }\n ]\n },\n\n [AppApiKeys_Operations.USAGE_STATS]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n resourceOperationLike: CoreResourceOperation.READ,\n customResponseDto: ApiKeyUsageStatisticsResponseSchema,\n }\n ]\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"file":"api-keys-application.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/security/api-keys/api-keys-application.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Application API Keys Shared Resource Configuration\n *\n * Resource configuration for managing application-scoped API keys.\n * Handles creation, management, rotation, and monitoring of API keys within applications.\n */\n\nimport { z } from 'zod';\nimport {\n ApiKeyApplicationSchema,\n ApiKeyStatus,\n ApiKeyUsageStatisticsResponseSchema,\n} from './api-keys.shared.schemas';\nimport { CoreResourceOperation } from '../../resources/resources.shared.core.definitions';\nimport { ResourceOperationRiskLevel, ResourceOperationReversibility, ResourcePrimaryScope, ResourceRelationship } from '../../resources/resources.shared.schemas';\nimport { CoreResourceType, coreResourceShared_FieldIdentifier } from '../../resources/resources.shared.core.definitions';\nimport { ResourceOperationVariantType } from '../../resources/resources.shared.schemas';\nimport { CoreUserNotificationTarget, CoreUserNotificationChannel } from '../../notifications/notifications.shared.schemas';\n\nimport { createResourceConfiguration_Initialization } from '../../resources/resources-config.shared.factory';\nimport { createResourcesFilterPresenceSchema } from '../../resources/resources-config.shared.schemas';\nimport { CORE_APP_ROLES } from '../authorizations/roles.shared.schemas';\n\n// Sort and filter fields for application API keys\n\n// App Admin gets enhanced filter fields with additional capabilities\nconst APP_API_KEYS_ADMIN_FILTER_FIELDS = {\n status: z.enum(ApiKeyStatus),\n // \"Has an expiry\", i.e. `expiresAt` is set. Declared as a plain boolean it was passed to the database\n // as a field no row has, and matched nothing (#1806); the presence filter carries its target.\n hasExpiration: createResourcesFilterPresenceSchema('expiresAt'),\n lastUsedAt: z.date(), // Admin can filter by last usage\n expiresAt: z.date(), // Admin can filter by expiration\n};\n\n// App Admin gets additional sorting capabilities\nconst APP_API_KEYS_ADMIN_SORT_FIELDS = ['createdAt', 'updatedAt', 'lastUsedAt', 'expiresAt', 'status'] as const;\n\n// Custom operations enum for application API keys\nexport enum AppApiKeys_Operations {\n ROTATE = 'rotate', // Generate new key and invalidate old one\n REGENERATE = 'regenerate', // Generate new key without invalidating old one\n DEACTIVATE = 'deactivate', // Deactivate key\n REACTIVATE = 'reactivate', // Reactivate key\n EXTEND_EXPIRY = 'extend_expiry', // Extend expiration date\n EXPIRE = 'expire', // ACTIVE → EXPIRED once `expiresAt` has passed (dispatched by the sweep, not by an operator)\n USAGE_STATS = 'usage_stats', // Get usage statistics\n}\n\ntype AppApiKeysCoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.DELETE;\n\n/*\nApplication API Keys Resource Configuration Factory\n*/\nexport const appApiKeysResourceConfiguration_InitializationFactory = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof AppApiKeys_Operations,\n AppApiKeysCoreOperations,\n typeof ApiKeyApplicationSchema\n>({\n mainSchema: ApiKeyApplicationSchema,\n resourceIdentifier: CoreResourceType.APPLICATION_API_KEYS,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.APPLICATION_API_KEYS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Application API keys are a core system resource\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n // DELETE is REPOSITORY_ONLY (no HTTP route): powers the composition\n // onParentDelete cascade so key rows are physically removed when their owning\n // application is deleted. Without it the cascade throws ErrorType.CONFIGURATION\n // on any application that still has API-key rows.\n CoreResourceOperation.DELETE\n ],\n\n customOperation: AppApiKeys_Operations,\n\n operationsConfiguration: {\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: false,\n searchableFields: [],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: APP_API_KEYS_ADMIN_FILTER_FIELDS,\n sortFields: APP_API_KEYS_ADMIN_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n }\n ],\n },\n\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // requestDto auto-derived from decorators\n customResponseDto: ApiKeyApplicationSchema.extend({\n plainKey: z.string().min(1).isEphemeral().describe(\"The full key value, returned only in this response: only its hash is stored, so it cannot be read again. Send it as the raw `Authorization` header value, with no scheme.\")\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n // Internal-only (REPOSITORY_ONLY, no HTTP route): powers the composition\n // onParentDelete cascade so API-key rows are physically removed when their\n // owning application is deleted. Without a DELETE op the cascade\n // (deleteChildrenImmediate) throws ErrorType.CONFIGURATION on any application\n // that still has key rows. Super-admin/HIGH: the app API-key admin tier.\n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.HIGH,\n }\n ],\n },\n\n [AppApiKeys_Operations.ROTATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // IRREVERSIBLE: Replaces the secret. Only the SHA-256 hash is persisted, so the previous key is unrecoverable.\n // This is what admits it to the danger zone; risk alone no longer does.\n reversibility: ResourceOperationReversibility.IRREVERSIBLE,\n // Irreversible reissue AND a secret handback. ROTATE schedules the prior credential's\n // invalidation at the requested boundary (default: now) and returns the replacement in\n // plaintext (`plainKey`, `.isEphemeral()`). Once that boundary passes, integrations still\n // using the prior value break and it cannot be restored. An unauthorized rotate is not\n // merely destructive: the caller WALKS AWAY WITH the replacement credential.\n // A live session alone is deliberately not sufficient for that.\n //\n // Its sibling REGENERATE is NOT gated, and the difference is the whole criterion: a\n // regenerate \"keeps the prior secret working\" (see its own declaration), so it is additive\n // and recoverable. Gate the irreversible, not merely the sensitive.\n //\n // assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-proof of identity before a\n // high-impact action.\n requiresStepUpAuthentication: true,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n oldKeyInvalidationDate: z.date().min(new Date(), 'Invalidation date must be in the future or now').default(() => new Date()).describe(\"When the previous secret stops authenticating. Defaults to now, which cuts it off immediately; a later time keeps both secrets working until then so integrations can switch over.\")\n }),\n customResponseDto: ApiKeyApplicationSchema.extend({\n plainKey: z.string().min(1).isEphemeral().describe(\"The full key value, returned only in this response: only its hash is stored, so it cannot be read again. Send it as the raw `Authorization` header value, with no scheme.\"),\n oldKeyId: z.string().describe(\"The id of the rotated key. Rotation reissues the secret on the same key, so this is the key's own id.\"),\n oldKeyInvalidationDate: z.date().describe(\"When the previous secret stops authenticating. Until then both the previous and the new secret are accepted.\")\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [AppApiKeys_Operations.REGENERATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // REGENERATE mints and hands over a LIVE credential, so it needs an audit row — but its\n // MEDIUM risk sits below the automatic HIGH/CRITICAL floor, which is why it previously\n // recorded nothing on either axis while its HIGH sibling ROTATE recorded the operation.\n // MEDIUM is correct on the UI axis (no danger-zone affordance for a reissue that keeps\n // the prior secret working) and wrong on the evidence axis; this declaration is exactly\n // that divergence. Raising `riskLevel` instead would buy the row by mis-declaring the\n // verb's danger. Same reasoning as `organizationMembers | UPDATE`.\n // assurance-control: WILDO.SECRETS.DISCLOSURE_AUDIT — credential issuance is attributable.\n auditableEvent: { auditBelowRiskFloor: true },\n // REGENERATE reissues the secret and nothing else — it takes no caller input\n // (contrast ROTATE, which accepts `oldKeyInvalidationDate`). Without this the\n // auto-derived UPDATE contract would apply: the reissue prefix returns\n // `{ ...input, hashedKey, … }` and the dispatcher MERGES that onto the caller\n // payload, so `roles` would be writable through \"regenerate\" — bypassing the\n // ceiling gate that guards minting (`assertRequestedRolesWithinCallerCeiling`\n // runs in the CREATE handler only) on a resource with no core UPDATE.\n requestDto: z.object({}),\n customResponseDto: ApiKeyApplicationSchema.extend({\n plainKey: z.string().min(1).isEphemeral().describe(\"The full key value, returned only in this response: only its hash is stored, so it cannot be read again. Send it as the raw `Authorization` header value, with no scheme.\"),\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [AppApiKeys_Operations.DEACTIVATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // The transition is SERVER-DECIDED, so the verb takes no input. Borrowing UPDATE\n // selects the core path that persists; it must NOT also hand the caller UPDATE's\n // request contract. Omitting `requestDto` here would auto-derive the resource's\n // FULL update DTO (`{name, description, roles, status, expiresAt}`) — letting\n // `PUT .../deactivate` carry `status: active` (the exact opposite of the verb) and\n // rewrite `roles` with no ceiling gate, on a resource that deliberately exposes no\n // core UPDATE at all. `status` is forced to INACTIVE by the paired prefix\n // implementation; see `api-keys.custom-impl.backend.service.ts`.\n requestDto: z.object({}),\n enabledCondition: ({ currentObject }) => {\n return currentObject.status === ApiKeyStatus.ACTIVE;\n }\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [AppApiKeys_Operations.REACTIVATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // No input: `status` is forced to ACTIVE by the paired prefix implementation.\n // See the DEACTIVATE note above for why the auto-derived UPDATE contract is unsafe here.\n requestDto: z.object({}),\n enabledCondition: ({ currentObject }) => {\n return currentObject.status === ApiKeyStatus.INACTIVE;\n }\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.APPLICATION_ADMINISTRATOR,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n /**\n * ACTIVE → EXPIRED, dispatched by the credential-expiry sweep once `expiresAt` has passed\n * (#413). INTERNAL_CALL, so no HTTP route is mounted and no frontend affordance is offered:\n * the sweep is the only caller.\n *\n * Not an operator verb, deliberately. An administrator who wants a key gone uses DEACTIVATE and\n * one who wants it to last longer uses EXTEND_EXPIRY; there is no reason for a human to declare\n * that a date has passed. Being INTERNAL_CALL also removes, rather than defends against, the\n * hazard DEACTIVATE documents at length — with no route there is no request contract to\n * auto-derive and no `PUT .../expire` that could carry `status: active`.\n *\n * It exists so the sweep writes through a GUARDED door rather than setting `status` directly: a\n * direct write would be a second authority over the field and would skip the ACTIVE-only\n * precondition, which lives in the paired prefix implementation\n * (`api-keys.custom-impl.backend.service.ts`) because that is the enforcement an\n * `enabledCondition` cannot be.\n */\n [AppApiKeys_Operations.EXPIRE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // EMPTY BY CONTRACT, not by omission. The credential-expiry sweep dispatches this verb with `{}`\n // and the paired prefix implementation forces the status transition itself, so there is no field\n // a caller may supply. Declaring nothing is NOT the same as declaring this: an operation without\n // a `requestDto` inherits the resource's ENTIRE update contract, which would let an INTERNAL_CALL\n // that accepts nothing advertise every field — `status` included, the one field this verb owns.\n requestDto: z.object({}),\n }\n ],\n // No notification: expiry is the scheduled consequence of a date the administrator set, not\n // an event. The signal that would be worth sending — a key ABOUT to expire — is a different\n // feature and is not this one.\n },\n\n [AppApiKeys_Operations.EXTEND_EXPIRY]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n // A machine credential's status transition is token-lifecycle evidence, but this risk sits below the\n // automatic HIGH/CRITICAL audit floor, so it recorded no operation row — a revoked or reinstated\n // credential left no classified evidence. Raising `riskLevel` would buy the row by mis-declaring the\n // verb's danger (it drives UI affordances); the opt-in is the evidence axis. Same reasoning as REGENERATE.\n // assurance-control: WILDO.IDENTITY.CREDENTIAL_LIFECYCLE — revocation, reinstatement and expiry are attributable transitions.\n auditableEvent: { auditBelowRiskFloor: true },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n newExpiresAt: z.date().min(new Date(), 'New expiration date must be in the future').describe(\"The key's new expiry time. Only a key that already has an expiry can be extended.\")\n }),\n enabledCondition: ({ currentObject }) => {\n return currentObject.expiresAt !== null && currentObject.expiresAt !== undefined;\n }\n }\n ]\n },\n\n [AppApiKeys_Operations.USAGE_STATS]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Admin-only operation\n riskLevel: ResourceOperationRiskLevel.LOW,\n resourceOperationLike: CoreResourceOperation.READ,\n customResponseDto: ApiKeyUsageStatisticsResponseSchema,\n }\n ]\n }\n },\n});\n"]}
|
package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-keys-organization.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"api-keys-organization.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/security/api-keys/api-keys-organization.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAoF,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAOlK,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AA4BxF,oBAAY,qBAAqB;IAC/B,MAAM,WAAW,CAAE,0CAA0C;IAC7D,UAAU,eAAe,CAAE,gDAAgD;IAC3E,UAAU,eAAe,CAAE,iBAAiB;IAC5C,UAAU,eAAe,CAAE,iBAAiB;IAC5C,aAAa,kBAAkB,CAAE,yBAAyB;IAC1D,MAAM,WAAW,CAAE,6FAA6F;IAChH,WAAW,gBAAgB;CAC5B;AAED,KAAK,wBAAwB,GACzB,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,KAAK,CAAC;AAKhC,eAAO,MAAM,qDAAqD,GAAI,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;kBAiiBlH,CAAC"}
|