@wildo-ai/saas-models 1.1.7 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/_inspect.d.ts.map +1 -1
- package/dist/esm/_inspect.js.map +1 -1
- package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-metadata.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-subject.shared.schemas.js.map +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/applications/applications-context.schemas.d.ts.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 +13 -0
- package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
- package/dist/esm/companion/provider-discovery.shared.schemas.js +13 -0
- 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 +32 -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 +32 -0
- package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.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 +15 -3
- package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -1
- package/dist/esm/compliance/risk-posture.shared.schemas.js +14 -2
- 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.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.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/elicitation-depth.meta-workflows.shared.schemas.d.ts +128 -0
- package/dist/esm/meta-workflows/elicitation-depth.meta-workflows.shared.schemas.d.ts.map +1 -0
- package/dist/esm/meta-workflows/elicitation-depth.meta-workflows.shared.schemas.js +136 -0
- package/dist/esm/meta-workflows/elicitation-depth.meta-workflows.shared.schemas.js.map +1 -0
- package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +32 -0
- 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 +66 -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 +1 -0
- package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
- package/dist/esm/meta-workflows.exports.js +1 -0
- 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 +70 -1
- package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
- package/dist/esm/queue/jobs.shared.schemas.js +85 -2
- 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.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 +25 -0
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
- package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +47 -19
- 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/package.json +4 -4
- package/dist/esm/__tests__/setup.d.ts +0 -2
- package/dist/esm/__tests__/setup.d.ts.map +0 -1
- package/dist/esm/__tests__/setup.js +0 -19
- package/dist/esm/__tests__/setup.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-definition.shared.schemas.js","sourceRoot":"","sources":["../../../../src/config/frontend/chart-definition.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { AggregationQuerySchema } from '../../charts/aggregation-query.shared.schemas';\nimport type { AggregationQuery } from '../../charts/aggregation-query.shared.schemas';\nimport { AggregateFunction } from '../../charts/aggregation.shared.definitions';\nimport { RequiredFeaturesConfigSchema } from '../../features/feature-definition.shared.schemas';\nimport type { RequiredFeaturesConfig } from '../../resources/resources-config.shared.schemas';\n\n/** ──────────────────────────────────────────────────────────────\n * ChartView – Core primitives (ECharts-oriented)\n * ────────────────────────────────────────────────────────────── */\n\n\n// ── Chart Types ──────────────────────────────────────────────\n// Full taxonomy covering all ECharts-backed chart types.\n// Sparklines and mini-charts use existing Recharts wrappers (not part of ChartView).\n\nexport enum ChartType {\n // Comparisons & Rankings\n BAR = 'bar',\n HORIZONTAL_BAR = 'horizontal_bar',\n GROUPED_BAR = 'grouped_bar',\n STACKED_BAR = 'stacked_bar',\n WATERFALL = 'waterfall',\n\n // Trends & Time Series\n LINE = 'line',\n AREA = 'area',\n STACKED_AREA = 'stacked_area',\n STEP_LINE = 'step_line',\n\n // Part-of-Whole\n PIE = 'pie',\n DONUT = 'donut',\n SUNBURST = 'sunburst',\n TREEMAP = 'treemap',\n\n // Correlation & Distribution\n SCATTER = 'scatter',\n BUBBLE = 'bubble',\n HEATMAP = 'heatmap',\n BOXPLOT = 'boxplot',\n\n // Multi-Dimensional\n RADAR = 'radar',\n PARALLEL = 'parallel',\n\n // Business / Process\n FUNNEL = 'funnel',\n GAUGE = 'gauge',\n SANKEY = 'sankey',\n\n // Composed / Mixed\n COMPOSED = 'composed',\n}\n\n// ── Chart Point Shape ────────────────────────────────────────\n\nexport enum ChartPointShape {\n CIRCLE = 'circle',\n SQUARE = 'square',\n TRIANGLE = 'triangle',\n DIAMOND = 'diamond',\n PIN = 'pin',\n ARROW = 'arrow',\n NONE = 'none',\n}\n\n// ── Series Style Schema ──────────────────────────────────────\n// ECharts-oriented style properties for individual series.\n\nexport const ChartSeriesStyleSchema = z.object({\n /** Override series color (hex). Falls back to palette. */\n color: z.string().optional(),\n /** Line width in pixels (line/area charts). Default: 2 */\n lineWidth: z.number().positive().optional(),\n /** Line dash type. Default: 'solid' */\n lineType: z.enum(['solid', 'dashed', 'dotted']).optional(),\n /** Area opacity (0-1, for area charts). Default: 0.3 */\n areaOpacity: z.number().min(0).max(1).optional(),\n /** Point shape on data points */\n pointShape: z.enum(ChartPointShape).optional(),\n /** Point size in pixels. Default: 4. Set to 0 to hide. */\n pointSize: z.number().min(0).optional(),\n /** Smooth interpolation (line/area). Default: false */\n smooth: z.boolean().optional(),\n /** Bar width (pixels or percentage string like '60%'). Default: auto */\n barWidth: z.union([z.number().positive(), z.string()]).optional(),\n /** Opacity of the series (0-1). Default: 1 */\n opacity: z.number().min(0).max(1).optional(),\n\n // ── Universal properties (apply to multiple chart types) ──\n\n /** Connect null/missing data points with a line. Default: false (line/area) */\n connectNulls: z.boolean().optional(),\n /** Step line type. Default: 'start' (step_line charts) */\n step: z.enum(['start', 'middle', 'end']).optional(),\n /** Show data labels on points/bars/slices. Default: varies by chart type */\n showLabel: z.boolean().optional(),\n /** Label position. Default: varies by chart type */\n labelPosition: z.enum(['top', 'bottom', 'left', 'right', 'inside', 'outside', 'center']).optional(),\n /** Label formatter string (ECharts formatter syntax). Default: varies */\n labelFormatter: z.string().optional(),\n /** Scale emphasis effect on hover. Default: varies by chart type */\n emphasisScale: z.boolean().optional(),\n\n // ── Mark Lines (reference lines on series) ──\n\n /**\n * Reference lines drawn on this series (e.g., average, min, max, threshold).\n * Each entry renders a horizontal/vertical reference line on the chart.\n */\n markLines: z.array(z.object({\n /** Type of built-in line, or omit for custom value */\n type: z.enum(['average', 'min', 'max']).optional(),\n /** Custom Y value for the line (when type is not set) */\n yValue: z.number().optional(),\n /** Custom X value for the line (when type is not set) */\n xValue: z.union([z.number(), z.string()]).optional(),\n /** Line label text. Supports i18n key if prefixed with 'i18n:' */\n label: z.string().optional(),\n /** Line color. Default: from theme */\n color: z.string().optional(),\n /** Line type. Default: 'dashed' */\n lineType: z.enum(['solid', 'dashed', 'dotted']).optional(),\n })).optional(),\n\n // ── Mark Points (data point markers on series) ──\n\n /**\n * Highlighted data points on this series (e.g., max, min, custom).\n */\n markPoints: z.array(z.object({\n /** Type of built-in point */\n type: z.enum(['min', 'max', 'average']).optional(),\n /** Point label. Supports i18n key if prefixed with 'i18n:' */\n label: z.string().optional(),\n /** Symbol shape. Default: 'pin' */\n symbol: z.enum(['circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow']).optional(),\n /** Symbol size. Default: 50 */\n symbolSize: z.number().optional(),\n })).optional(),\n});\n\nexport type ChartSeriesStyle = z.infer<typeof ChartSeriesStyleSchema>;\n\n// ── Split Config Schema ──────────────────────────────────────\n// Configuration for splitting a series by dimension values (stacked/grouped charts).\n\nexport const ChartSplitConfigSchema = z.object({\n /** Explicit color per dimension value. Values not in the map use palette colors. */\n colorMap: z.record(z.string(), z.string()).optional(),\n /** Explicit order for dimension values in the legend and stack. */\n order: z.array(z.string()).optional(),\n /** Exclude specific dimension values from rendering. */\n exclude: z.array(z.string()).optional(),\n /** Custom labels per dimension value (overrides raw value). */\n labelMap: z.record(z.string(), z.string()).optional(),\n});\n\nexport type ChartSplitConfig = z.infer<typeof ChartSplitConfigSchema>;\n\n// ── Series Definition Schema ─────────────────────────────────\n// Visual mapping: \"take this measure from DataQuery results and render it.\"\n\nexport const ChartSeriesDefinitionSchema = z.object({\n /** Unique ref within this chart */\n ref: z.string(),\n /** Display name (legend label). Used as fallback when i18n key is not resolved. */\n name: z.string(),\n /**\n * i18n labelling key for the series name.\n *\n * When set, the chart system resolves this key via the i18n service\n * at render time and uses the result as the legend label and tooltip series name.\n * Falls back to `name` if the key is not found in the translations.\n *\n * Common pattern: `resources.{resource}.fields.{measureRef}.display.label`\n * to reuse existing resource field labels.\n */\n nameKey: z.string().optional(),\n /** Which measure ref from DataQuery to render */\n measureRef: z.string(),\n /** Override chart type for this series (for composed charts) */\n chartType: z.enum(ChartType).optional(),\n /** Which Y axis (0 = left, 1 = right) for dual-axis */\n yAxisIndex: z.number().optional(),\n /** Visual style */\n style: ChartSeriesStyleSchema.optional(),\n /** Show/hide by default (toggleable via legend) */\n hidden: z.boolean().optional(),\n /** Split this series into sub-series by a dimension's values (for stacked/grouped) */\n splitByDimension: z.string().optional(),\n /** Configuration for split sub-series */\n splitConfig: ChartSplitConfigSchema.optional(),\n});\n\nexport type ChartSeriesDefinition = z.infer<typeof ChartSeriesDefinitionSchema>;\n\n// ── Chart Series Schema (includes runtime fields) ───────────\n// Full series including runtime-only fields stripped from persisted definitions.\n\nexport const ChartSeriesSchema = ChartSeriesDefinitionSchema.extend({\n /** Runtime data points (not persisted in definitions) */\n data: z.array(z.record(z.string(), z.unknown())).optional(),\n});\n\nexport type ChartSeries = z.infer<typeof ChartSeriesSchema>;\n\n// ── Chart Input Contract ─────────────────────────────────────\n// Explicit chart inputs replace the old raw filter override seam.\n\nexport enum ChartInputValueType {\n STRING = 'string',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n STRING_ARRAY = 'string-array',\n NUMBER_ARRAY = 'number-array',\n}\n\nexport const ChartInputValueSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.array(z.string()),\n z.array(z.number()),\n]);\n\nexport type ChartInputValue = z.infer<typeof ChartInputValueSchema>;\n\nexport const ChartInputValuesSchema = z.record(z.string(), ChartInputValueSchema);\n\nexport type ChartInputValues = z.infer<typeof ChartInputValuesSchema>;\n\nexport function getChartInputValueTypeSchema(valueType: ChartInputValueType): z.ZodType<ChartInputValue> {\n switch (valueType) {\n case ChartInputValueType.STRING:\n return z.string();\n case ChartInputValueType.NUMBER:\n return z.number();\n case ChartInputValueType.BOOLEAN:\n return z.boolean();\n case ChartInputValueType.STRING_ARRAY:\n return z.array(z.string());\n case ChartInputValueType.NUMBER_ARRAY:\n return z.array(z.number());\n }\n}\n\nexport enum ChartInputBindingTargetKind {\n FILTER = 'filter',\n}\n\nexport enum ChartInputFilterOperator {\n EQUALS = 'equals',\n IN = 'in',\n GREATER_THAN_OR_EQUAL = 'gte',\n LESS_THAN_OR_EQUAL = 'lte',\n}\n\n/**\n * Declares the only query seam a chart input can influence.\n *\n * This intentionally avoids exposing arbitrary query fragments to callers.\n * The author chooses explicit binding points, and runtime input application can\n * only write into those declared seams.\n */\nexport const ChartInputBindingSchema = z.object({\n targetKind: z.enum(ChartInputBindingTargetKind).default(ChartInputBindingTargetKind.FILTER),\n filterField: z.string().min(1),\n operator: z.enum(ChartInputFilterOperator).default(ChartInputFilterOperator.EQUALS),\n});\n\nexport type ChartInputBinding = z.infer<typeof ChartInputBindingSchema>;\n\nexport const ChartInputDefinitionSchema = z.object({\n ref: z.string().min(1),\n valueType: z.enum(ChartInputValueType),\n required: z.boolean().default(false),\n description: z.string().optional(),\n defaultValue: ChartInputValueSchema.optional(),\n binding: ChartInputBindingSchema,\n}).superRefine((definition, ctx) => {\n if (definition.defaultValue === undefined) {\n return;\n }\n\n const parsed = getChartInputValueTypeSchema(definition.valueType).safeParse(definition.defaultValue);\n if (!parsed.success) {\n ctx.addIssue({\n code: 'custom',\n message: `defaultValue does not match declared chart input valueType \"${definition.valueType}\".`,\n path: ['defaultValue'],\n });\n }\n});\n\nexport type ChartInputDefinition = z.infer<typeof ChartInputDefinitionSchema>;\n\n/**\n * Runtime request payload for chart data execution.\n *\n * Unknown fields are intentionally stripped by Zod so deprecated raw `filters`\n * payloads cannot widen queries through this boundary anymore.\n */\nexport const ChartDataRequestBodySchema = z.object({\n inputs: ChartInputValuesSchema.optional(),\n contextResourceIdentifiers: z.record(z.string(), z.string()).optional(),\n});\n\nexport type ChartDataRequestBody = z.infer<typeof ChartDataRequestBodySchema>;\n\nexport function buildChartInputValuesSchema(\n definitions: readonly ChartInputDefinition[],\n): z.ZodType<ChartInputValues | undefined> {\n return ChartInputValuesSchema.optional().superRefine((inputValues, ctx) => {\n const definitionsByRef = new Map(definitions.map((definition) => [definition.ref, definition]));\n\n if (!inputValues) {\n for (const definition of definitions) {\n if (definition.required && definition.defaultValue === undefined) {\n ctx.addIssue({\n code: 'custom',\n message: `Missing required chart input \"${definition.ref}\".`,\n path: [definition.ref],\n });\n }\n }\n return;\n }\n\n for (const [inputRef, value] of Object.entries(inputValues)) {\n const definition = definitionsByRef.get(inputRef);\n if (!definition) {\n ctx.addIssue({\n code: 'custom',\n message: `Unknown chart input \"${inputRef}\".`,\n path: [inputRef],\n });\n continue;\n }\n\n const parsed = getChartInputValueTypeSchema(definition.valueType).safeParse(value);\n if (!parsed.success) {\n ctx.addIssue({\n code: 'custom',\n message: `Chart input \"${inputRef}\" does not match declared valueType \"${definition.valueType}\".`,\n path: [inputRef],\n });\n }\n }\n\n for (const definition of definitions) {\n if (definition.required && definition.defaultValue === undefined && inputValues[definition.ref] === undefined) {\n ctx.addIssue({\n code: 'custom',\n message: `Missing required chart input \"${definition.ref}\".`,\n path: [definition.ref],\n });\n }\n }\n });\n}\n\nfunction isObjectLike(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction compareFilterScalars(left: unknown, right: unknown): number | null {\n if (\n (typeof left === 'number' && typeof right === 'number')\n || (typeof left === 'string' && typeof right === 'string')\n ) {\n if (left < right) return -1;\n if (left > right) return 1;\n return 0;\n }\n\n return null;\n}\n\nfunction cloneFilterValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map((item) => cloneFilterValue(item));\n }\n\n if (isObjectLike(value)) {\n return Object.fromEntries(\n Object.entries(value).map(([key, nestedValue]) => [key, cloneFilterValue(nestedValue)]),\n );\n }\n\n return value;\n}\n\nfunction applyFilterBinding(params: {\n filters: Record<string, unknown>;\n binding: ChartInputBinding;\n value: ChartInputValue;\n}): void {\n const field = params.binding.filterField;\n const existingValue = params.filters[field];\n\n switch (params.binding.operator) {\n case ChartInputFilterOperator.EQUALS: {\n if (existingValue === undefined) {\n params.filters[field] = params.value;\n return;\n }\n\n if (Array.isArray(existingValue)) {\n if (existingValue.includes(params.value)) {\n params.filters[field] = params.value;\n return;\n }\n\n throw new Error(`Chart input conflicts with authored array filter on \"${field}\".`);\n }\n\n if (!isObjectLike(existingValue)) {\n if (existingValue === params.value) {\n return;\n }\n\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const nextFilterValue = { ...existingValue };\n const existingEquals = nextFilterValue.$eq;\n if (existingEquals !== undefined && existingEquals !== params.value) {\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const existingIn = nextFilterValue.$in;\n if (Array.isArray(existingIn) && !existingIn.includes(params.value)) {\n throw new Error(`Chart input conflicts with authored inclusion filter on \"${field}\".`);\n }\n\n nextFilterValue.$eq = params.value;\n params.filters[field] = nextFilterValue;\n return;\n }\n\n case ChartInputFilterOperator.IN: {\n const inputValues = Array.isArray(params.value) ? params.value : [params.value];\n if (existingValue === undefined) {\n params.filters[field] = { $in: inputValues };\n return;\n }\n\n if (Array.isArray(existingValue)) {\n const intersection = existingValue.filter((candidate) => inputValues.includes(candidate as never));\n if (intersection.length === 0) {\n throw new Error(`Chart input conflicts with authored array filter on \"${field}\".`);\n }\n\n params.filters[field] = { $in: intersection };\n return;\n }\n\n if (!isObjectLike(existingValue)) {\n if (inputValues.includes(existingValue as never)) {\n return;\n }\n\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const nextFilterValue = { ...existingValue };\n const existingEquals = nextFilterValue.$eq;\n if (existingEquals !== undefined) {\n if (inputValues.includes(existingEquals as never)) {\n return;\n }\n\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const existingIn = nextFilterValue.$in;\n if (Array.isArray(existingIn)) {\n const intersection = existingIn.filter((candidate) => inputValues.includes(candidate as never));\n if (intersection.length === 0) {\n throw new Error(`Chart input conflicts with authored inclusion filter on \"${field}\".`);\n }\n\n nextFilterValue.$in = intersection;\n params.filters[field] = nextFilterValue;\n return;\n }\n\n nextFilterValue.$in = inputValues;\n params.filters[field] = nextFilterValue;\n return;\n }\n\n case ChartInputFilterOperator.GREATER_THAN_OR_EQUAL:\n case ChartInputFilterOperator.LESS_THAN_OR_EQUAL: {\n const operatorKey = params.binding.operator === ChartInputFilterOperator.GREATER_THAN_OR_EQUAL\n ? '$gte'\n : '$lte';\n\n if (existingValue === undefined) {\n params.filters[field] = { [operatorKey]: params.value };\n return;\n }\n\n if (!isObjectLike(existingValue)) {\n const comparison = compareFilterScalars(existingValue, params.value);\n if (comparison === null) {\n throw new Error(`Chart input cannot narrow authored scalar filter on \"${field}\".`);\n }\n\n const satisfiesConstraint = params.binding.operator === ChartInputFilterOperator.GREATER_THAN_OR_EQUAL\n ? comparison >= 0\n : comparison <= 0;\n if (!satisfiesConstraint) {\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n return;\n }\n\n const nextFilterValue = { ...existingValue };\n const existingOperatorValue = nextFilterValue[operatorKey];\n if (existingOperatorValue !== undefined) {\n const comparison = compareFilterScalars(existingOperatorValue, params.value);\n if (comparison === null) {\n throw new Error(`Chart input cannot combine with authored range filter on \"${field}\".`);\n }\n\n nextFilterValue[operatorKey] = params.binding.operator === ChartInputFilterOperator.GREATER_THAN_OR_EQUAL\n ? (comparison >= 0 ? existingOperatorValue : params.value)\n : (comparison <= 0 ? existingOperatorValue : params.value);\n } else {\n nextFilterValue[operatorKey] = params.value;\n }\n\n const lowerBound = nextFilterValue.$gte;\n const upperBound = nextFilterValue.$lte;\n if (lowerBound !== undefined && upperBound !== undefined) {\n const comparison = compareFilterScalars(lowerBound, upperBound);\n if (comparison !== null && comparison > 0) {\n throw new Error(`Chart input produces an impossible range filter on \"${field}\".`);\n }\n }\n\n params.filters[field] = nextFilterValue;\n return;\n }\n }\n}\n\n/**\n * Applies explicit chart inputs to an aggregation query through the authored\n * chart-input bindings only.\n *\n * This intentionally narrows the query through declared filter fields rather\n * than exposing a raw caller-writable filter seam.\n */\nexport function applyChartInputsToAggregationQuery(params: {\n chartDefinition: ChartDefinition;\n inputs?: ChartInputValues;\n}): AggregationQuery {\n const parsedInputs = buildChartInputValuesSchema(params.chartDefinition.inputs ?? []).parse(params.inputs);\n const effectiveInputs = {\n ...Object.fromEntries(\n (params.chartDefinition.inputs ?? [])\n .filter((inputDefinition) => inputDefinition.defaultValue !== undefined)\n .map((inputDefinition) => [inputDefinition.ref, inputDefinition.defaultValue as ChartInputValue]),\n ),\n ...(parsedInputs ?? {}),\n };\n\n const query: AggregationQuery = cloneFilterValue(params.chartDefinition.dataQuery) as AggregationQuery;\n\n if (Object.keys(effectiveInputs).length === 0) {\n return query;\n }\n const filters = (query.filters ??= {});\n const inputDefinitionsByRef = new Map(\n (params.chartDefinition.inputs ?? []).map((inputDefinition) => [inputDefinition.ref, inputDefinition]),\n );\n\n for (const [inputRef, inputValue] of Object.entries(effectiveInputs)) {\n const inputDefinition = inputDefinitionsByRef.get(inputRef);\n if (!inputDefinition) {\n continue;\n }\n\n applyFilterBinding({\n filters,\n binding: inputDefinition.binding,\n value: inputValue,\n });\n }\n\n return query;\n}\n\n// ── Access Control Schema ────────────────────────────────────\n\nexport const ChartAccessControlSchema = z.object({\n /** Restrict to specific roles (must be a subset of LIST roles) */\n roles: z.array(z.string()).optional(),\n});\n\nexport type ChartAccessControl = z.infer<typeof ChartAccessControlSchema>;\n\n// ── Chart Appearance Schema ──────────────────────────────────\n// Per-chart appearance overrides (Layer 2 in the precedence model).\n// These override the theme's ChartStylePreset for this specific chart.\n\nexport const ChartAppearanceSchema = z.object({\n /** Override color palette for this chart (array of hex color strings) */\n colorPalette: z.array(z.string()).optional(),\n /** Override grid padding (partial — only specified sides are overridden) */\n gridPadding: z.object({\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n }).optional(),\n /** Show/hide legend (overrides auto-detection) */\n showLegend: z.boolean().optional(),\n /** Show/hide tooltip */\n showTooltip: z.boolean().optional(),\n /** Enable/disable animation */\n animated: z.boolean().optional(),\n /** Background: 'transparent' | 'surface' | hex color */\n background: z.string().optional(),\n\n // ── Title ──────────────────────────────────────────────────\n\n /** Chart title configuration */\n title: z.object({\n /** Main title text. Supports i18n key via `i18n.titleKey` */\n text: z.string().optional(),\n /** Subtitle text */\n subtext: z.string().optional(),\n /** Horizontal position. Default: 'left' */\n left: z.union([z.string(), z.number()]).optional(),\n /** Vertical position. Default: 'auto' */\n top: z.union([z.string(), z.number()]).optional(),\n /** Text alignment. Default: 'auto' */\n textAlign: z.enum(['auto', 'left', 'center', 'right']).optional(),\n }).optional(),\n\n // ── Animation overrides ────────────────────────────────────\n\n /** Animation duration in ms (overrides theme preset for this chart) */\n animationDuration: z.number().optional(),\n /** Animation easing function (overrides theme preset for this chart) */\n animationEasing: z.string().optional(),\n\n // ── Legend details ─────────────────────────────────────────\n\n /** Detailed legend configuration (beyond show/hide) */\n legend: z.object({\n /** Legend orientation. Default: 'horizontal' */\n orient: z.enum(['horizontal', 'vertical']).optional(),\n /** Position: top, bottom, left, right, or px/%. Default: bottom:0 */\n position: z.enum(['top', 'bottom', 'left', 'right']).optional(),\n /** Legend type. Default: 'scroll' */\n type: z.enum(['plain', 'scroll']).optional(),\n /** Max legend items before scrolling. Default: auto */\n pageSize: z.number().optional(),\n /** Item gap in px. Default: 10 */\n itemGap: z.number().optional(),\n }).optional(),\n\n // ── Tooltip details ────────────────────────────────────────\n\n /** Detailed tooltip configuration (beyond show/hide) */\n tooltip: z.object({\n /** Trigger mode override. Default: auto-detected per chart type */\n trigger: z.enum(['item', 'axis', 'none']).optional(),\n /** Confine tooltip to chart container. Default: true */\n confine: z.boolean().optional(),\n /** Custom tooltip formatter (ECharts formatter syntax) */\n formatter: z.string().optional(),\n /** Axis pointer type. Default: 'line' */\n axisPointerType: z.enum(['line', 'shadow', 'cross', 'none']).optional(),\n }).optional(),\n\n // ── Toolbox ────────────────────────────────────────────────\n\n /** ECharts toolbox configuration (save as image, data view, etc.) */\n toolbox: z.object({\n /** Show toolbox. Default: false */\n show: z.boolean().optional(),\n /** Save as image feature */\n saveAsImage: z.boolean().optional(),\n /** Data view (raw data table) feature */\n dataView: z.boolean().optional(),\n /** Restore (reset zoom/filter) feature */\n restore: z.boolean().optional(),\n /** Magic type switching (line <-> bar, etc.) */\n magicType: z.array(z.enum(['line', 'bar', 'stack'])).optional(),\n /** Toolbox position. Default: right:10, top:10 */\n right: z.union([z.string(), z.number()]).optional(),\n top: z.union([z.string(), z.number()]).optional(),\n }).optional(),\n\n // ── Data Zoom ──────────────────────────────────────────────\n\n /** Data zoom (slider/inside) for navigating large datasets */\n dataZoom: z.object({\n /** Enable data zoom. Default: false */\n enabled: z.boolean().optional(),\n /** Zoom type. Default: ['slider'] */\n type: z.array(z.enum(['slider', 'inside'])).optional(),\n /** Apply to axis. Default: 'x' */\n axis: z.enum(['x', 'y', 'both']).optional(),\n /** Initial start percentage (0-100). Default: 0 */\n start: z.number().optional(),\n /** Initial end percentage (0-100). Default: 100 */\n end: z.number().optional(),\n }).optional(),\n\n // ── Emphasis ───────────────────────────────────────────────\n\n /** Global emphasis shadow style (used by pie, heatmap, etc.) */\n emphasisShadow: z.object({\n /** Shadow blur radius in px. Default: 10 */\n blur: z.number().optional(),\n /** Shadow color. Default: 'rgba(0,0,0,0.2)' */\n color: z.string().optional(),\n /** Shadow X offset. Default: 0 */\n offsetX: z.number().optional(),\n }).optional(),\n});\n\nexport type ChartAppearance = z.infer<typeof ChartAppearanceSchema>;\n\n// ── Chart Type Config Schemas ────────────────────────────────\n// Per-family type-specific configuration. Each chart type family\n// gets its own strongly-typed config schema. These override\n// hardcoded builder defaults for chart-type-specific behavior.\n//\n// Every property is optional — builders fall back to their\n// current built-in defaults when not specified.\n\n/** Line/Area family: LINE, AREA, STACKED_AREA, STEP_LINE */\nexport const ChartTypeConfig_LineSchema = z.object({\n /** Max data points before symbols auto-hide. Default: 30 */\n symbolVisibilityThreshold: z.number().optional(),\n /** i18n key for the densified overlay series name suffix. Default: '(filled)' */\n densifiedOverlayNameKey: z.string().optional(),\n /** Densified (filled) data overlay styling */\n densifiedOverlay: z.object({\n /** Item opacity. Default: 0.4 */\n itemOpacity: z.number().min(0).max(1).optional(),\n /** Line opacity. Default: 0.5 */\n lineOpacity: z.number().min(0).max(1).optional(),\n /** Line width. Default: 1 */\n lineWidth: z.number().optional(),\n /** Area opacity for area charts. Default: 0.1 */\n areaOpacity: z.number().min(0).max(1).optional(),\n /** Line type for overlay. Default: 'dashed' */\n lineType: z.enum(['solid', 'dashed', 'dotted']).optional(),\n /** Show symbol on overlay series. Default: false */\n showSymbol: z.boolean().optional(),\n }).optional(),\n});\n\nexport type ChartTypeConfig_Line = z.infer<typeof ChartTypeConfig_LineSchema>;\n\n/** Bar family: BAR, HORIZONTAL_BAR, GROUPED_BAR, STACKED_BAR, WATERFALL */\nexport const ChartTypeConfig_BarSchema = z.object({\n /** Gap between bars in the same category (px or %). Default: auto */\n barGap: z.union([z.number(), z.string()]).optional(),\n /** Gap between bar categories (px or %). Default: auto */\n barCategoryGap: z.union([z.number(), z.string()]).optional(),\n /** Waterfall chart configuration */\n waterfall: z.object({\n /** Color for positive (gain) bars. Default: palette[0] */\n gainColor: z.string().optional(),\n /** Color for negative (loss) bars. Default: '#ee6666' */\n lossColor: z.string().optional(),\n /** Legend label for gain series. Default: 'Increase' */\n gainLabel: z.string().optional(),\n /** Legend label for loss series. Default: 'Decrease' */\n lossLabel: z.string().optional(),\n /** i18n key for gain label (overrides gainLabel when resolved) */\n gainLabelKey: z.string().optional(),\n /** i18n key for loss label (overrides lossLabel when resolved) */\n lossLabelKey: z.string().optional(),\n }).optional(),\n});\n\nexport type ChartTypeConfig_Bar = z.infer<typeof ChartTypeConfig_BarSchema>;\n\n/** Pie/Donut family: PIE, DONUT */\nexport const ChartTypeConfig_PieSchema = z.object({\n /** Radius — string ('70%') or tuple (['40%', '70%'] for donut). Default: varies */\n radius: z.union([z.string(), z.tuple([z.string(), z.string()])]).optional(),\n /** Start angle in degrees. Default: 90 */\n startAngle: z.number().optional(),\n /** Minimum slice angle in degrees (prevents tiny slices). Default: 0 */\n minAngle: z.number().optional(),\n /** Rose (nightingale) mode. Disabled by default */\n roseType: z.enum(['radius', 'area']).optional(),\n /** Label position. Default: 'outside' */\n labelPosition: z.enum(['inside', 'outside', 'center']).optional(),\n /** Label formatter (ECharts formatter syntax). Default: '{b}: {d}%' */\n labelFormatter: z.string().optional(),\n /** Show labels on slices. Default: true */\n showLabel: z.boolean().optional(),\n /** Center position [x, y] as percentage strings. Default: ['50%', '50%'] */\n center: z.tuple([z.string(), z.string()]).optional(),\n /** Border width between slices in px. Default: from preset.series.pieBorderWidth */\n borderWidth: z.number().optional(),\n /** Border color between slices. Default: from theme background */\n borderColor: z.string().optional(),\n /**\n * i18n key for the fallback item name pattern when data items lack names.\n * Default text: 'Item {idx}'. Use i18n to localize.\n */\n itemNameFallbackKey: z.string().optional(),\n});\n\nexport type ChartTypeConfig_Pie = z.infer<typeof ChartTypeConfig_PieSchema>;\n\n/** Scatter/Bubble family: SCATTER, BUBBLE */\nexport const ChartTypeConfig_ScatterSchema = z.object({\n /** Bubble size range [min, max] in px. Default: [4, 60] */\n bubbleSizeRange: z.tuple([z.number(), z.number()]).optional(),\n /** Symbol shape. Default: 'circle' */\n symbolShape: z.enum(['circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow']).optional(),\n /** Show regression line. Default: false */\n showRegressionLine: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Scatter = z.infer<typeof ChartTypeConfig_ScatterSchema>;\n\n/** Gauge: GAUGE */\nexport const ChartTypeConfig_GaugeSchema = z.object({\n /** Minimum value. Default: 0 */\n min: z.number().optional(),\n /** Maximum value. Default: 100 */\n max: z.number().optional(),\n /** Number of gauge segments. Default: 10 */\n splitNumber: z.number().optional(),\n /** Show progress arc. Default: true */\n showProgress: z.boolean().optional(),\n /** Detail value formatter. Default: '{value}' */\n detailFormatter: z.string().optional(),\n /** Detail font size. Default: 20 */\n detailFontSize: z.number().optional(),\n /** Gauge radius (string %). Default: '75%' */\n radius: z.string().optional(),\n /** Start angle in degrees. Default: 225 */\n startAngle: z.number().optional(),\n /** End angle in degrees. Default: -45 */\n endAngle: z.number().optional(),\n /** Pointer style. Default: auto */\n pointer: z.object({\n /** Show pointer. Default: true */\n show: z.boolean().optional(),\n /** Pointer length (% of radius). Default: '60%' */\n length: z.string().optional(),\n /** Pointer width in px. Default: 6 */\n width: z.number().optional(),\n }).optional(),\n /** Axis line width in px. Default: 30 */\n axisLineWidth: z.number().optional(),\n /** Color segments [[proportion, color], ...] for axis line */\n axisLineColors: z.array(z.tuple([z.number(), z.string()])).optional(),\n});\n\nexport type ChartTypeConfig_Gauge = z.infer<typeof ChartTypeConfig_GaugeSchema>;\n\n/** Funnel: FUNNEL */\nexport const ChartTypeConfig_FunnelSchema = z.object({\n /** Sort direction. Default: 'descending' */\n sort: z.enum(['ascending', 'descending', 'none']).optional(),\n /** Gap between funnel items in px. Default: 2 */\n gap: z.number().optional(),\n /** Label position. Default: 'inside' */\n labelPosition: z.enum(['inside', 'outside', 'left', 'right', 'leftTop', 'rightTop']).optional(),\n /** Horizontal alignment. Default: 'center' */\n funnelAlign: z.enum(['left', 'center', 'right']).optional(),\n /** Show label. Default: true */\n showLabel: z.boolean().optional(),\n /** Left position (string %). Default: '10%' */\n left: z.string().optional(),\n /** Width (string %). Default: '80%' */\n width: z.string().optional(),\n /** Min/max size for the narrowest/widest part. Default: '0%' / '100%' */\n minSize: z.string().optional(),\n maxSize: z.string().optional(),\n});\n\nexport type ChartTypeConfig_Funnel = z.infer<typeof ChartTypeConfig_FunnelSchema>;\n\n/** Radar: RADAR */\nexport const ChartTypeConfig_RadarSchema = z.object({\n /** Radar shape. Default: 'polygon' */\n shape: z.enum(['polygon', 'circle']).optional(),\n /** Area fill opacity. Default: 0.2 */\n areaOpacity: z.number().min(0).max(1).optional(),\n /** Radar center position [x, y]. Default: ['50%', '50%'] */\n center: z.tuple([z.string(), z.string()]).optional(),\n /** Radar radius (string %). Default: '75%' */\n radius: z.string().optional(),\n /** Start angle in degrees. Default: 90 */\n startAngle: z.number().optional(),\n /** Show split area (alternating region fills). Default: false */\n showSplitArea: z.boolean().optional(),\n /** Name gap (distance between indicator name and axis). Default: 15 */\n nameGap: z.number().optional(),\n});\n\nexport type ChartTypeConfig_Radar = z.infer<typeof ChartTypeConfig_RadarSchema>;\n\n/** Heatmap: HEATMAP */\nexport const ChartTypeConfig_HeatmapSchema = z.object({\n /** Show cell value labels. Default: true */\n showLabel: z.boolean().optional(),\n /** Visual map orientation. Default: 'horizontal' */\n visualMapOrient: z.enum(['horizontal', 'vertical']).optional(),\n /** Visual map position. Default: 'bottom' */\n visualMapPosition: z.enum(['top', 'bottom', 'left', 'right']).optional(),\n /** Visual map calculable (interactive dragging). Default: true */\n visualMapCalculable: z.boolean().optional(),\n /** Min value override for visual map range. Default: auto-detected from data */\n visualMapMin: z.number().optional(),\n /** Max value override for visual map range. Default: auto-detected from data */\n visualMapMax: z.number().optional(),\n /** In-range color gradient stops. Default: from theme palette */\n visualMapInRange: z.array(z.string()).optional(),\n /** Show axis split area (alternating background). Default: true */\n showSplitArea: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Heatmap = z.infer<typeof ChartTypeConfig_HeatmapSchema>;\n\n/** Sankey: SANKEY */\nexport const ChartTypeConfig_SankeySchema = z.object({\n /** Emphasis focus mode. Default: 'adjacency' */\n emphasisFocus: z.enum(['adjacency', 'self', 'none']).optional(),\n /** Node width in px. Default: 20 */\n nodeWidth: z.number().optional(),\n /** Gap between nodes in px. Default: 8 */\n nodeGap: z.number().optional(),\n /** Orient (layout direction). Default: 'horizontal' */\n orient: z.enum(['horizontal', 'vertical']).optional(),\n /** Draggable nodes. Default: true */\n draggable: z.boolean().optional(),\n /** Label position. Default: 'right' */\n labelPosition: z.enum(['left', 'right', 'top', 'bottom']).optional(),\n});\n\nexport type ChartTypeConfig_Sankey = z.infer<typeof ChartTypeConfig_SankeySchema>;\n\n/** Parallel: PARALLEL */\nexport const ChartTypeConfig_ParallelSchema = z.object({\n /** Line width. Default: 2 */\n lineWidth: z.number().optional(),\n /** Line opacity. Default: 0.6 */\n lineOpacity: z.number().min(0).max(1).optional(),\n /** Emphasis line width. Default: 4 */\n emphasisLineWidth: z.number().optional(),\n /** Emphasis opacity. Default: 1 */\n emphasisOpacity: z.number().min(0).max(1).optional(),\n /** Layout margins (%) */\n layoutMargins: z.object({\n left: z.string().optional(),\n right: z.string().optional(),\n top: z.string().optional(),\n bottom: z.string().optional(),\n }).optional(),\n});\n\nexport type ChartTypeConfig_Parallel = z.infer<typeof ChartTypeConfig_ParallelSchema>;\n\n/** Hierarchical family: SUNBURST, TREEMAP */\nexport const ChartTypeConfig_HierarchicalSchema = z.object({\n /** Sunburst radius range (e.g., ['15%', '90%']). Default: ['15%', '90%'] */\n sunburstRadius: z.tuple([z.string(), z.string()]).optional(),\n /** Sunburst emphasis focus. Default: 'ancestor' */\n sunburstEmphasisFocus: z.enum(['ancestor', 'descendant', 'self', 'none']).optional(),\n /** Sunburst level label configuration (overrides auto-computed per-level styles) */\n sunburstLevels: z.object({\n /** Level 1 (innermost ring) label rotation. Default: 'tangential' */\n level1LabelRotate: z.enum(['tangential', 'radial', 'none']).optional(),\n /** Level 2 label alignment. Default: 'right' */\n level2LabelAlign: z.enum(['left', 'right', 'center']).optional(),\n /** Level 3 (outermost ring) label position. Default: 'outside' */\n level3LabelPosition: z.enum(['inside', 'outside']).optional(),\n /** Level 3 label padding. Default: 3 */\n level3LabelPadding: z.number().optional(),\n }).optional(),\n /** Treemap leaf depth (drill-down levels). Default: auto */\n treemapLeafDepth: z.number().optional(),\n /** Treemap minimum visible area in px². Default: 300 */\n treemapVisibleMin: z.number().optional(),\n /** Show treemap breadcrumb. Default: true */\n showBreadcrumb: z.boolean().optional(),\n /** Label formatter for treemap. Default: '{b}' */\n treemapLabelFormatter: z.string().optional(),\n /** Show treemap labels. Default: true */\n treemapShowLabel: z.boolean().optional(),\n /** Treemap upper label (level header) height in px. Default: 30 */\n treemapUpperLabelHeight: z.number().optional(),\n /** Show treemap upper labels. Default: true */\n treemapShowUpperLabel: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Hierarchical = z.infer<typeof ChartTypeConfig_HierarchicalSchema>;\n\n/** Boxplot: BOXPLOT */\nexport const ChartTypeConfig_BoxplotSchema = z.object({\n /** Boundary gap on category axis. Default: true */\n boundaryGap: z.boolean().optional(),\n /** Box width (px or string %). Default: auto */\n boxWidth: z.union([z.number(), z.string()]).optional(),\n /** Show outlier points. Default: true */\n showOutliers: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Boxplot = z.infer<typeof ChartTypeConfig_BoxplotSchema>;\n\n// ── Chart Type Config Union ──────────────────────────────────\n\n/**\n * Union of all chart-type-specific config schemas.\n *\n * Each member uses `z.looseObject()` so that Zod doesn't strip keys\n * belonging to other families when the union tries members in order\n * (all properties are optional → the first schema would always match\n * and silently drop unknown keys without loose parsing).\n */\nexport const ChartTypeConfigSchema = z.union([\n z.looseObject(ChartTypeConfig_LineSchema.shape),\n z.looseObject(ChartTypeConfig_BarSchema.shape),\n z.looseObject(ChartTypeConfig_PieSchema.shape),\n z.looseObject(ChartTypeConfig_ScatterSchema.shape),\n z.looseObject(ChartTypeConfig_GaugeSchema.shape),\n z.looseObject(ChartTypeConfig_FunnelSchema.shape),\n z.looseObject(ChartTypeConfig_RadarSchema.shape),\n z.looseObject(ChartTypeConfig_HeatmapSchema.shape),\n z.looseObject(ChartTypeConfig_SankeySchema.shape),\n z.looseObject(ChartTypeConfig_ParallelSchema.shape),\n z.looseObject(ChartTypeConfig_HierarchicalSchema.shape),\n z.looseObject(ChartTypeConfig_BoxplotSchema.shape),\n]);\nexport type ChartTypeConfig = z.infer<typeof ChartTypeConfigSchema>;\n\nfunction getChartTypeConfigSchemaForChartType(chartType: ChartType): z.ZodTypeAny {\n switch (chartType) {\n case ChartType.LINE:\n case ChartType.AREA:\n case ChartType.STACKED_AREA:\n case ChartType.STEP_LINE:\n return ChartTypeConfig_LineSchema.strict();\n case ChartType.BAR:\n case ChartType.HORIZONTAL_BAR:\n case ChartType.GROUPED_BAR:\n case ChartType.STACKED_BAR:\n case ChartType.WATERFALL:\n return ChartTypeConfig_BarSchema.strict();\n case ChartType.PIE:\n case ChartType.DONUT:\n return ChartTypeConfig_PieSchema.strict();\n case ChartType.SCATTER:\n case ChartType.BUBBLE:\n return ChartTypeConfig_ScatterSchema.strict();\n case ChartType.GAUGE:\n return ChartTypeConfig_GaugeSchema.strict();\n case ChartType.FUNNEL:\n return ChartTypeConfig_FunnelSchema.strict();\n case ChartType.RADAR:\n return ChartTypeConfig_RadarSchema.strict();\n case ChartType.HEATMAP:\n return ChartTypeConfig_HeatmapSchema.strict();\n case ChartType.SANKEY:\n return ChartTypeConfig_SankeySchema.strict();\n case ChartType.PARALLEL:\n return ChartTypeConfig_ParallelSchema.strict();\n case ChartType.SUNBURST:\n case ChartType.TREEMAP:\n return ChartTypeConfig_HierarchicalSchema.strict();\n case ChartType.BOXPLOT:\n return ChartTypeConfig_BoxplotSchema.strict();\n case ChartType.COMPOSED:\n return z.strictObject({});\n }\n}\n\n/**\n * Mapped type for compile-time narrowing of chartTypeConfig by chartType.\n * Builders use: `const cfg = definition.chartTypeConfig as ChartTypeConfigFor<'pie'>`\n */\nexport type ChartTypeConfigFor<T extends ChartType> =\n T extends ChartType.LINE | ChartType.AREA | ChartType.STACKED_AREA | ChartType.STEP_LINE ? ChartTypeConfig_Line :\n T extends ChartType.BAR | ChartType.HORIZONTAL_BAR | ChartType.GROUPED_BAR | ChartType.STACKED_BAR | ChartType.WATERFALL ? ChartTypeConfig_Bar :\n T extends ChartType.PIE | ChartType.DONUT ? ChartTypeConfig_Pie :\n T extends ChartType.SCATTER | ChartType.BUBBLE ? ChartTypeConfig_Scatter :\n T extends ChartType.GAUGE ? ChartTypeConfig_Gauge :\n T extends ChartType.FUNNEL ? ChartTypeConfig_Funnel :\n T extends ChartType.RADAR ? ChartTypeConfig_Radar :\n T extends ChartType.HEATMAP ? ChartTypeConfig_Heatmap :\n T extends ChartType.SANKEY ? ChartTypeConfig_Sankey :\n T extends ChartType.PARALLEL ? ChartTypeConfig_Parallel :\n T extends ChartType.SUNBURST | ChartType.TREEMAP ? ChartTypeConfig_Hierarchical :\n T extends ChartType.BOXPLOT ? ChartTypeConfig_Boxplot :\n T extends ChartType.COMPOSED ? Record<string, never> :\n never;\n\n// ── Chart View Options Schema ────────────────────────────────\n// Visual configuration options for chart rendering.\n\nexport const ChartViewOptionsSchema = z.object({\n type: z.enum(ChartType).optional(),\n title: z.string().optional(),\n subtitle: z.string().optional(),\n showLegend: z.boolean().optional(),\n showTooltip: z.boolean().optional(),\n animated: z.boolean().optional(),\n chartTypeConfig: ChartTypeConfigSchema.optional(),\n});\n\nexport type ChartViewOptions = z.infer<typeof ChartViewOptionsSchema>;\n\n// ── Chart Definition Schema ──────────────────────────────────\n// The shared chart definition: identity + data query + visual encoding.\n// View wiring (scope, addressability, launcher) is added by InsertedChartDeclaration in saas-frontend-lib — charts are resource-owned inserted surfaces only.\n\nexport const ChartDefinitionSchema = z.object({\n /** Unique chart reference (used for registry lookup and the backend data endpoint `/charts/:chartRef/data`) */\n ref: z.string().min(1),\n\n /** Default chart type (series can override) */\n chartType: z.enum(ChartType),\n\n /** Data query specification (aggregation engine) */\n dataQuery: AggregationQuerySchema,\n\n /** Chart series — visual mapping from data query results to rendered elements */\n series: z.array(ChartSeriesDefinitionSchema).min(1),\n\n /**\n * Explicit runtime inputs the chart accepts.\n *\n * These definitions declare the public caller contract and the narrow query\n * binding points each input may affect.\n */\n inputs: z.array(ChartInputDefinitionSchema).optional(),\n\n /** Access control (narrows LIST roles) */\n accessControl: ChartAccessControlSchema.optional(),\n\n /** Canonical auto-refresh interval in ms for frontend polling */\n refreshInterval: z.number().positive().optional(),\n\n /** Required features — gates access via feature availability policy */\n requiredFeatures: RequiredFeaturesConfigSchema.optional(),\n\n /** Per-chart appearance overrides (takes precedence over theme's ChartStylePreset) */\n appearance: ChartAppearanceSchema.optional(),\n\n /** Chart-type-specific configuration (typed per chart family) */\n chartTypeConfig: ChartTypeConfigSchema.optional(),\n\n /**\n * i18n labelling key map for chart-level text.\n *\n * Each key maps a chart text slot to an i18n translation key.\n * When the key resolves to a translated string, it replaces the\n * hardcoded default. Falls back to built-in text when unresolved.\n */\n i18n: z.object({\n /** i18n key for chart title text */\n titleKey: z.string().optional(),\n /** i18n key for chart subtitle text */\n subtitleKey: z.string().optional(),\n /** i18n key for the X axis label */\n xAxisLabelKey: z.string().optional(),\n /** i18n key for the Y axis label */\n yAxisLabelKey: z.string().optional(),\n /** i18n key for the secondary Y axis label (dual-axis charts) */\n yAxisSecondaryLabelKey: z.string().optional(),\n /** i18n key for the tooltip title pattern */\n tooltipTitleKey: z.string().optional(),\n /** i18n key for the empty state message */\n emptyStateKey: z.string().optional(),\n /**\n * i18n keys for split dimension values.\n * Maps raw split values to i18n keys for translation.\n * Falls back to splitConfig.labelMap, then raw value.\n */\n splitValueKeys: z.record(z.string(), z.string()).optional(),\n }).optional(),\n}).superRefine((definition, ctx) => {\n if (definition.chartTypeConfig === undefined) {\n return;\n }\n\n const chartTypeConfigSchema = getChartTypeConfigSchemaForChartType(definition.chartType);\n const parsedChartTypeConfig = chartTypeConfigSchema.safeParse(definition.chartTypeConfig);\n if (parsedChartTypeConfig.success) {\n return;\n }\n\n ctx.addIssue({\n code: 'custom',\n message: `chartTypeConfig contains invalid options for chartType \"${definition.chartType}\".`,\n path: ['chartTypeConfig'],\n });\n}).superRefine((definition, ctx) => {\n // Cross-reference validation: catch authoring drift (renamed/typo'd refs) at\n // parse/registration time instead of silently rendering a blank chart. The\n // free-string refs (series.measureRef, splitByDimension, having.measureRef,\n // orderBy.ref) are otherwise never checked against the dataQuery they point at.\n const dq = definition.dataQuery;\n const dimensionRefs = new Set((dq.dimensions ?? []).map(d => d.ref));\n // Every aggregated/computed/windowed value becomes a result column the series\n // can target; dimensions are the categorical/temporal axes (splitByDimension).\n const measureRefs = new Set<string>([\n ...(dq.measures ?? []).map(m => m.ref),\n ...(dq.computedMeasures ?? []).map(m => m.ref),\n ...(dq.windowFunctions ?? []).map(w => w.ref),\n ]);\n\n // Dimension + measure refs all become result-row keys → must be globally unique.\n const seenDataRefs = new Set<string>();\n const dataRefEntries: Array<{ ref: string; path: (string | number)[] }> = [\n ...(dq.dimensions ?? []).map((d, i) => ({ ref: d.ref, path: ['dataQuery', 'dimensions', i, 'ref'] })),\n ...(dq.measures ?? []).map((m, i) => ({ ref: m.ref, path: ['dataQuery', 'measures', i, 'ref'] })),\n ...(dq.computedMeasures ?? []).map((m, i) => ({ ref: m.ref, path: ['dataQuery', 'computedMeasures', i, 'ref'] })),\n ...(dq.windowFunctions ?? []).map((w, i) => ({ ref: w.ref, path: ['dataQuery', 'windowFunctions', i, 'ref'] })),\n ];\n for (const { ref, path } of dataRefEntries) {\n if (seenDataRefs.has(ref)) {\n ctx.addIssue({\n code: 'custom',\n message: `Duplicate data ref \"${ref}\" — dimension/measure refs become result-row keys and must be unique.`,\n path,\n });\n }\n seenDataRefs.add(ref);\n }\n\n // `field: '*'` is the COUNT(*) sentinel; it is meaningless with any other aggregate.\n (dq.measures ?? []).forEach((m, i) => {\n if (m.field === '*' && m.aggregate !== AggregateFunction.COUNT) {\n ctx.addIssue({\n code: 'custom',\n message: `Measure \"${m.ref}\" uses field \"*\" which is only valid with COUNT (got \"${m.aggregate}\").`,\n path: ['dataQuery', 'measures', i, 'field'],\n });\n }\n });\n\n // Series: unique refs; measureRef must resolve; splitByDimension must resolve.\n const seenSeriesRefs = new Set<string>();\n definition.series.forEach((s, i) => {\n if (seenSeriesRefs.has(s.ref)) {\n ctx.addIssue({ code: 'custom', message: `Duplicate series ref \"${s.ref}\".`, path: ['series', i, 'ref'] });\n }\n seenSeriesRefs.add(s.ref);\n\n if (!measureRefs.has(s.measureRef)) {\n ctx.addIssue({\n code: 'custom',\n message: `series[${i}].measureRef \"${s.measureRef}\" matches no measure / computedMeasure / windowFunction ref. Known: [${[...measureRefs].join(', ')}].`,\n path: ['series', i, 'measureRef'],\n });\n }\n if (s.splitByDimension !== undefined && !dimensionRefs.has(s.splitByDimension)) {\n ctx.addIssue({\n code: 'custom',\n message: `series[${i}].splitByDimension \"${s.splitByDimension}\" matches no dimension ref. Known: [${[...dimensionRefs].join(', ')}].`,\n path: ['series', i, 'splitByDimension'],\n });\n }\n });\n\n // HAVING / ORDER BY refs must resolve to real result columns.\n (dq.having ?? []).forEach((h, i) => {\n if (!measureRefs.has(h.measureRef)) {\n ctx.addIssue({\n code: 'custom',\n message: `having[${i}].measureRef \"${h.measureRef}\" matches no measure ref.`,\n path: ['dataQuery', 'having', i, 'measureRef'],\n });\n }\n });\n (dq.orderBy ?? []).forEach((o, i) => {\n if (!dimensionRefs.has(o.ref) && !measureRefs.has(o.ref)) {\n ctx.addIssue({\n code: 'custom',\n message: `orderBy[${i}].ref \"${o.ref}\" matches no dimension or measure ref.`,\n path: ['dataQuery', 'orderBy', i, 'ref'],\n });\n }\n });\n});\n\n/** ──────────────────────────────────────────────────────────────\n * Types\n * ────────────────────────────────────────────────────────────── */\n\nexport interface ChartDefinition {\n ref: string;\n chartType: ChartType;\n dataQuery: AggregationQuery;\n series: ChartSeriesDefinition[];\n inputs?: ChartInputDefinition[];\n accessControl?: ChartAccessControl;\n refreshInterval?: number;\n requiredFeatures?: RequiredFeaturesConfig;\n appearance?: ChartAppearance;\n chartTypeConfig?: ChartTypeConfig;\n i18n?: {\n titleKey?: string;\n subtitleKey?: string;\n xAxisLabelKey?: string;\n yAxisLabelKey?: string;\n yAxisSecondaryLabelKey?: string;\n tooltipTitleKey?: string;\n emptyStateKey?: string;\n splitValueKeys?: Record<string, string>;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chart-definition.shared.schemas.js","sourceRoot":"","sources":["../../../../../src/config/frontend/chart-definition.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { AggregationQuerySchema } from '../../charts/aggregation-query.shared.schemas';\nimport type { AggregationQuery } from '../../charts/aggregation-query.shared.schemas';\nimport { AggregateFunction } from '../../charts/aggregation.shared.definitions';\nimport { RequiredFeaturesConfigSchema } from '../../features/feature-definition.shared.schemas';\nimport type { RequiredFeaturesConfig } from '../../resources/resources-config.shared.schemas';\n\n/** ──────────────────────────────────────────────────────────────\n * ChartView – Core primitives (ECharts-oriented)\n * ────────────────────────────────────────────────────────────── */\n\n\n// ── Chart Types ──────────────────────────────────────────────\n// Full taxonomy covering all ECharts-backed chart types.\n// Sparklines and mini-charts use existing Recharts wrappers (not part of ChartView).\n\nexport enum ChartType {\n // Comparisons & Rankings\n BAR = 'bar',\n HORIZONTAL_BAR = 'horizontal_bar',\n GROUPED_BAR = 'grouped_bar',\n STACKED_BAR = 'stacked_bar',\n WATERFALL = 'waterfall',\n\n // Trends & Time Series\n LINE = 'line',\n AREA = 'area',\n STACKED_AREA = 'stacked_area',\n STEP_LINE = 'step_line',\n\n // Part-of-Whole\n PIE = 'pie',\n DONUT = 'donut',\n SUNBURST = 'sunburst',\n TREEMAP = 'treemap',\n\n // Correlation & Distribution\n SCATTER = 'scatter',\n BUBBLE = 'bubble',\n HEATMAP = 'heatmap',\n BOXPLOT = 'boxplot',\n\n // Multi-Dimensional\n RADAR = 'radar',\n PARALLEL = 'parallel',\n\n // Business / Process\n FUNNEL = 'funnel',\n GAUGE = 'gauge',\n SANKEY = 'sankey',\n\n // Composed / Mixed\n COMPOSED = 'composed',\n}\n\n// ── Chart Point Shape ────────────────────────────────────────\n\nexport enum ChartPointShape {\n CIRCLE = 'circle',\n SQUARE = 'square',\n TRIANGLE = 'triangle',\n DIAMOND = 'diamond',\n PIN = 'pin',\n ARROW = 'arrow',\n NONE = 'none',\n}\n\n// ── Series Style Schema ──────────────────────────────────────\n// ECharts-oriented style properties for individual series.\n\nexport const ChartSeriesStyleSchema = z.object({\n /** Override series color (hex). Falls back to palette. */\n color: z.string().optional(),\n /** Line width in pixels (line/area charts). Default: 2 */\n lineWidth: z.number().positive().optional(),\n /** Line dash type. Default: 'solid' */\n lineType: z.enum(['solid', 'dashed', 'dotted']).optional(),\n /** Area opacity (0-1, for area charts). Default: 0.3 */\n areaOpacity: z.number().min(0).max(1).optional(),\n /** Point shape on data points */\n pointShape: z.enum(ChartPointShape).optional(),\n /** Point size in pixels. Default: 4. Set to 0 to hide. */\n pointSize: z.number().min(0).optional(),\n /** Smooth interpolation (line/area). Default: false */\n smooth: z.boolean().optional(),\n /** Bar width (pixels or percentage string like '60%'). Default: auto */\n barWidth: z.union([z.number().positive(), z.string()]).optional(),\n /** Opacity of the series (0-1). Default: 1 */\n opacity: z.number().min(0).max(1).optional(),\n\n // ── Universal properties (apply to multiple chart types) ──\n\n /** Connect null/missing data points with a line. Default: false (line/area) */\n connectNulls: z.boolean().optional(),\n /** Step line type. Default: 'start' (step_line charts) */\n step: z.enum(['start', 'middle', 'end']).optional(),\n /** Show data labels on points/bars/slices. Default: varies by chart type */\n showLabel: z.boolean().optional(),\n /** Label position. Default: varies by chart type */\n labelPosition: z.enum(['top', 'bottom', 'left', 'right', 'inside', 'outside', 'center']).optional(),\n /** Label formatter string (ECharts formatter syntax). Default: varies */\n labelFormatter: z.string().optional(),\n /** Scale emphasis effect on hover. Default: varies by chart type */\n emphasisScale: z.boolean().optional(),\n\n // ── Mark Lines (reference lines on series) ──\n\n /**\n * Reference lines drawn on this series (e.g., average, min, max, threshold).\n * Each entry renders a horizontal/vertical reference line on the chart.\n */\n markLines: z.array(z.object({\n /** Type of built-in line, or omit for custom value */\n type: z.enum(['average', 'min', 'max']).optional(),\n /** Custom Y value for the line (when type is not set) */\n yValue: z.number().optional(),\n /** Custom X value for the line (when type is not set) */\n xValue: z.union([z.number(), z.string()]).optional(),\n /** Line label text. Supports i18n key if prefixed with 'i18n:' */\n label: z.string().optional(),\n /** Line color. Default: from theme */\n color: z.string().optional(),\n /** Line type. Default: 'dashed' */\n lineType: z.enum(['solid', 'dashed', 'dotted']).optional(),\n })).optional(),\n\n // ── Mark Points (data point markers on series) ──\n\n /**\n * Highlighted data points on this series (e.g., max, min, custom).\n */\n markPoints: z.array(z.object({\n /** Type of built-in point */\n type: z.enum(['min', 'max', 'average']).optional(),\n /** Point label. Supports i18n key if prefixed with 'i18n:' */\n label: z.string().optional(),\n /** Symbol shape. Default: 'pin' */\n symbol: z.enum(['circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow']).optional(),\n /** Symbol size. Default: 50 */\n symbolSize: z.number().optional(),\n })).optional(),\n});\n\nexport type ChartSeriesStyle = z.infer<typeof ChartSeriesStyleSchema>;\n\n// ── Split Config Schema ──────────────────────────────────────\n// Configuration for splitting a series by dimension values (stacked/grouped charts).\n\nexport const ChartSplitConfigSchema = z.object({\n /** Explicit color per dimension value. Values not in the map use palette colors. */\n colorMap: z.record(z.string(), z.string()).optional(),\n /** Explicit order for dimension values in the legend and stack. */\n order: z.array(z.string()).optional(),\n /** Exclude specific dimension values from rendering. */\n exclude: z.array(z.string()).optional(),\n /** Custom labels per dimension value (overrides raw value). */\n labelMap: z.record(z.string(), z.string()).optional(),\n});\n\nexport type ChartSplitConfig = z.infer<typeof ChartSplitConfigSchema>;\n\n// ── Series Definition Schema ─────────────────────────────────\n// Visual mapping: \"take this measure from DataQuery results and render it.\"\n\nexport const ChartSeriesDefinitionSchema = z.object({\n /** Unique ref within this chart */\n ref: z.string(),\n /** Display name (legend label). Used as fallback when i18n key is not resolved. */\n name: z.string(),\n /**\n * i18n labelling key for the series name.\n *\n * When set, the chart system resolves this key via the i18n service\n * at render time and uses the result as the legend label and tooltip series name.\n * Falls back to `name` if the key is not found in the translations.\n *\n * Common pattern: `resources.{resource}.fields.{measureRef}.display.label`\n * to reuse existing resource field labels.\n */\n nameKey: z.string().optional(),\n /** Which measure ref from DataQuery to render */\n measureRef: z.string(),\n /** Override chart type for this series (for composed charts) */\n chartType: z.enum(ChartType).optional(),\n /** Which Y axis (0 = left, 1 = right) for dual-axis */\n yAxisIndex: z.number().optional(),\n /** Visual style */\n style: ChartSeriesStyleSchema.optional(),\n /** Show/hide by default (toggleable via legend) */\n hidden: z.boolean().optional(),\n /** Split this series into sub-series by a dimension's values (for stacked/grouped) */\n splitByDimension: z.string().optional(),\n /** Configuration for split sub-series */\n splitConfig: ChartSplitConfigSchema.optional(),\n});\n\nexport type ChartSeriesDefinition = z.infer<typeof ChartSeriesDefinitionSchema>;\n\n// ── Chart Series Schema (includes runtime fields) ───────────\n// Full series including runtime-only fields stripped from persisted definitions.\n\nexport const ChartSeriesSchema = ChartSeriesDefinitionSchema.extend({\n /** Runtime data points (not persisted in definitions) */\n data: z.array(z.record(z.string(), z.unknown())).optional(),\n});\n\nexport type ChartSeries = z.infer<typeof ChartSeriesSchema>;\n\n// ── Chart Input Contract ─────────────────────────────────────\n// Explicit chart inputs replace the old raw filter override seam.\n\nexport enum ChartInputValueType {\n STRING = 'string',\n NUMBER = 'number',\n BOOLEAN = 'boolean',\n STRING_ARRAY = 'string-array',\n NUMBER_ARRAY = 'number-array',\n}\n\nexport const ChartInputValueSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.array(z.string()),\n z.array(z.number()),\n]);\n\nexport type ChartInputValue = z.infer<typeof ChartInputValueSchema>;\n\nexport const ChartInputValuesSchema = z.record(z.string(), ChartInputValueSchema);\n\nexport type ChartInputValues = z.infer<typeof ChartInputValuesSchema>;\n\nexport function getChartInputValueTypeSchema(valueType: ChartInputValueType): z.ZodType<ChartInputValue> {\n switch (valueType) {\n case ChartInputValueType.STRING:\n return z.string();\n case ChartInputValueType.NUMBER:\n return z.number();\n case ChartInputValueType.BOOLEAN:\n return z.boolean();\n case ChartInputValueType.STRING_ARRAY:\n return z.array(z.string());\n case ChartInputValueType.NUMBER_ARRAY:\n return z.array(z.number());\n }\n}\n\nexport enum ChartInputBindingTargetKind {\n FILTER = 'filter',\n}\n\nexport enum ChartInputFilterOperator {\n EQUALS = 'equals',\n IN = 'in',\n GREATER_THAN_OR_EQUAL = 'gte',\n LESS_THAN_OR_EQUAL = 'lte',\n}\n\n/**\n * Declares the only query seam a chart input can influence.\n *\n * This intentionally avoids exposing arbitrary query fragments to callers.\n * The author chooses explicit binding points, and runtime input application can\n * only write into those declared seams.\n */\nexport const ChartInputBindingSchema = z.object({\n targetKind: z.enum(ChartInputBindingTargetKind).default(ChartInputBindingTargetKind.FILTER),\n filterField: z.string().min(1),\n operator: z.enum(ChartInputFilterOperator).default(ChartInputFilterOperator.EQUALS),\n});\n\nexport type ChartInputBinding = z.infer<typeof ChartInputBindingSchema>;\n\nexport const ChartInputDefinitionSchema = z.object({\n ref: z.string().min(1),\n valueType: z.enum(ChartInputValueType),\n required: z.boolean().default(false),\n description: z.string().optional(),\n defaultValue: ChartInputValueSchema.optional(),\n binding: ChartInputBindingSchema,\n}).superRefine((definition, ctx) => {\n if (definition.defaultValue === undefined) {\n return;\n }\n\n const parsed = getChartInputValueTypeSchema(definition.valueType).safeParse(definition.defaultValue);\n if (!parsed.success) {\n ctx.addIssue({\n code: 'custom',\n message: `defaultValue does not match declared chart input valueType \"${definition.valueType}\".`,\n path: ['defaultValue'],\n });\n }\n});\n\nexport type ChartInputDefinition = z.infer<typeof ChartInputDefinitionSchema>;\n\n/**\n * Runtime request payload for chart data execution.\n *\n * Unknown fields are intentionally stripped by Zod so deprecated raw `filters`\n * payloads cannot widen queries through this boundary anymore.\n */\nexport const ChartDataRequestBodySchema = z.object({\n inputs: ChartInputValuesSchema.optional(),\n contextResourceIdentifiers: z.record(z.string(), z.string()).optional(),\n});\n\nexport type ChartDataRequestBody = z.infer<typeof ChartDataRequestBodySchema>;\n\nexport function buildChartInputValuesSchema(\n definitions: readonly ChartInputDefinition[],\n): z.ZodType<ChartInputValues | undefined> {\n return ChartInputValuesSchema.optional().superRefine((inputValues, ctx) => {\n const definitionsByRef = new Map(definitions.map((definition) => [definition.ref, definition]));\n\n if (!inputValues) {\n for (const definition of definitions) {\n if (definition.required && definition.defaultValue === undefined) {\n ctx.addIssue({\n code: 'custom',\n message: `Missing required chart input \"${definition.ref}\".`,\n path: [definition.ref],\n });\n }\n }\n return;\n }\n\n for (const [inputRef, value] of Object.entries(inputValues)) {\n const definition = definitionsByRef.get(inputRef);\n if (!definition) {\n ctx.addIssue({\n code: 'custom',\n message: `Unknown chart input \"${inputRef}\".`,\n path: [inputRef],\n });\n continue;\n }\n\n const parsed = getChartInputValueTypeSchema(definition.valueType).safeParse(value);\n if (!parsed.success) {\n ctx.addIssue({\n code: 'custom',\n message: `Chart input \"${inputRef}\" does not match declared valueType \"${definition.valueType}\".`,\n path: [inputRef],\n });\n }\n }\n\n for (const definition of definitions) {\n if (definition.required && definition.defaultValue === undefined && inputValues[definition.ref] === undefined) {\n ctx.addIssue({\n code: 'custom',\n message: `Missing required chart input \"${definition.ref}\".`,\n path: [definition.ref],\n });\n }\n }\n });\n}\n\nfunction isObjectLike(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction compareFilterScalars(left: unknown, right: unknown): number | null {\n if (\n (typeof left === 'number' && typeof right === 'number')\n || (typeof left === 'string' && typeof right === 'string')\n ) {\n if (left < right) return -1;\n if (left > right) return 1;\n return 0;\n }\n\n return null;\n}\n\nfunction cloneFilterValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map((item) => cloneFilterValue(item));\n }\n\n if (isObjectLike(value)) {\n return Object.fromEntries(\n Object.entries(value).map(([key, nestedValue]) => [key, cloneFilterValue(nestedValue)]),\n );\n }\n\n return value;\n}\n\nfunction applyFilterBinding(params: {\n filters: Record<string, unknown>;\n binding: ChartInputBinding;\n value: ChartInputValue;\n}): void {\n const field = params.binding.filterField;\n const existingValue = params.filters[field];\n\n switch (params.binding.operator) {\n case ChartInputFilterOperator.EQUALS: {\n if (existingValue === undefined) {\n params.filters[field] = params.value;\n return;\n }\n\n if (Array.isArray(existingValue)) {\n if (existingValue.includes(params.value)) {\n params.filters[field] = params.value;\n return;\n }\n\n throw new Error(`Chart input conflicts with authored array filter on \"${field}\".`);\n }\n\n if (!isObjectLike(existingValue)) {\n if (existingValue === params.value) {\n return;\n }\n\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const nextFilterValue = { ...existingValue };\n const existingEquals = nextFilterValue.$eq;\n if (existingEquals !== undefined && existingEquals !== params.value) {\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const existingIn = nextFilterValue.$in;\n if (Array.isArray(existingIn) && !existingIn.includes(params.value)) {\n throw new Error(`Chart input conflicts with authored inclusion filter on \"${field}\".`);\n }\n\n nextFilterValue.$eq = params.value;\n params.filters[field] = nextFilterValue;\n return;\n }\n\n case ChartInputFilterOperator.IN: {\n const inputValues = Array.isArray(params.value) ? params.value : [params.value];\n if (existingValue === undefined) {\n params.filters[field] = { $in: inputValues };\n return;\n }\n\n if (Array.isArray(existingValue)) {\n const intersection = existingValue.filter((candidate) => inputValues.includes(candidate as never));\n if (intersection.length === 0) {\n throw new Error(`Chart input conflicts with authored array filter on \"${field}\".`);\n }\n\n params.filters[field] = { $in: intersection };\n return;\n }\n\n if (!isObjectLike(existingValue)) {\n if (inputValues.includes(existingValue as never)) {\n return;\n }\n\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const nextFilterValue = { ...existingValue };\n const existingEquals = nextFilterValue.$eq;\n if (existingEquals !== undefined) {\n if (inputValues.includes(existingEquals as never)) {\n return;\n }\n\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n const existingIn = nextFilterValue.$in;\n if (Array.isArray(existingIn)) {\n const intersection = existingIn.filter((candidate) => inputValues.includes(candidate as never));\n if (intersection.length === 0) {\n throw new Error(`Chart input conflicts with authored inclusion filter on \"${field}\".`);\n }\n\n nextFilterValue.$in = intersection;\n params.filters[field] = nextFilterValue;\n return;\n }\n\n nextFilterValue.$in = inputValues;\n params.filters[field] = nextFilterValue;\n return;\n }\n\n case ChartInputFilterOperator.GREATER_THAN_OR_EQUAL:\n case ChartInputFilterOperator.LESS_THAN_OR_EQUAL: {\n const operatorKey = params.binding.operator === ChartInputFilterOperator.GREATER_THAN_OR_EQUAL\n ? '$gte'\n : '$lte';\n\n if (existingValue === undefined) {\n params.filters[field] = { [operatorKey]: params.value };\n return;\n }\n\n if (!isObjectLike(existingValue)) {\n const comparison = compareFilterScalars(existingValue, params.value);\n if (comparison === null) {\n throw new Error(`Chart input cannot narrow authored scalar filter on \"${field}\".`);\n }\n\n const satisfiesConstraint = params.binding.operator === ChartInputFilterOperator.GREATER_THAN_OR_EQUAL\n ? comparison >= 0\n : comparison <= 0;\n if (!satisfiesConstraint) {\n throw new Error(`Chart input conflicts with authored equality filter on \"${field}\".`);\n }\n\n return;\n }\n\n const nextFilterValue = { ...existingValue };\n const existingOperatorValue = nextFilterValue[operatorKey];\n if (existingOperatorValue !== undefined) {\n const comparison = compareFilterScalars(existingOperatorValue, params.value);\n if (comparison === null) {\n throw new Error(`Chart input cannot combine with authored range filter on \"${field}\".`);\n }\n\n nextFilterValue[operatorKey] = params.binding.operator === ChartInputFilterOperator.GREATER_THAN_OR_EQUAL\n ? (comparison >= 0 ? existingOperatorValue : params.value)\n : (comparison <= 0 ? existingOperatorValue : params.value);\n } else {\n nextFilterValue[operatorKey] = params.value;\n }\n\n const lowerBound = nextFilterValue.$gte;\n const upperBound = nextFilterValue.$lte;\n if (lowerBound !== undefined && upperBound !== undefined) {\n const comparison = compareFilterScalars(lowerBound, upperBound);\n if (comparison !== null && comparison > 0) {\n throw new Error(`Chart input produces an impossible range filter on \"${field}\".`);\n }\n }\n\n params.filters[field] = nextFilterValue;\n return;\n }\n }\n}\n\n/**\n * Applies explicit chart inputs to an aggregation query through the authored\n * chart-input bindings only.\n *\n * This intentionally narrows the query through declared filter fields rather\n * than exposing a raw caller-writable filter seam.\n */\nexport function applyChartInputsToAggregationQuery(params: {\n chartDefinition: ChartDefinition;\n inputs?: ChartInputValues;\n}): AggregationQuery {\n const parsedInputs = buildChartInputValuesSchema(params.chartDefinition.inputs ?? []).parse(params.inputs);\n const effectiveInputs = {\n ...Object.fromEntries(\n (params.chartDefinition.inputs ?? [])\n .filter((inputDefinition) => inputDefinition.defaultValue !== undefined)\n .map((inputDefinition) => [inputDefinition.ref, inputDefinition.defaultValue as ChartInputValue]),\n ),\n ...(parsedInputs ?? {}),\n };\n\n const query: AggregationQuery = cloneFilterValue(params.chartDefinition.dataQuery) as AggregationQuery;\n\n if (Object.keys(effectiveInputs).length === 0) {\n return query;\n }\n const filters = (query.filters ??= {});\n const inputDefinitionsByRef = new Map(\n (params.chartDefinition.inputs ?? []).map((inputDefinition) => [inputDefinition.ref, inputDefinition]),\n );\n\n for (const [inputRef, inputValue] of Object.entries(effectiveInputs)) {\n const inputDefinition = inputDefinitionsByRef.get(inputRef);\n if (!inputDefinition) {\n continue;\n }\n\n applyFilterBinding({\n filters,\n binding: inputDefinition.binding,\n value: inputValue,\n });\n }\n\n return query;\n}\n\n// ── Access Control Schema ────────────────────────────────────\n\nexport const ChartAccessControlSchema = z.object({\n /** Restrict to specific roles (must be a subset of LIST roles) */\n roles: z.array(z.string()).optional(),\n});\n\nexport type ChartAccessControl = z.infer<typeof ChartAccessControlSchema>;\n\n// ── Chart Appearance Schema ──────────────────────────────────\n// Per-chart appearance overrides (Layer 2 in the precedence model).\n// These override the theme's ChartStylePreset for this specific chart.\n\nexport const ChartAppearanceSchema = z.object({\n /** Override color palette for this chart (array of hex color strings) */\n colorPalette: z.array(z.string()).optional(),\n /** Override grid padding (partial — only specified sides are overridden) */\n gridPadding: z.object({\n top: z.number().optional(),\n right: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n }).optional(),\n /** Show/hide legend (overrides auto-detection) */\n showLegend: z.boolean().optional(),\n /** Show/hide tooltip */\n showTooltip: z.boolean().optional(),\n /** Enable/disable animation */\n animated: z.boolean().optional(),\n /** Background: 'transparent' | 'surface' | hex color */\n background: z.string().optional(),\n\n // ── Title ──────────────────────────────────────────────────\n\n /** Chart title configuration */\n title: z.object({\n /** Main title text. Supports i18n key via `i18n.titleKey` */\n text: z.string().optional(),\n /** Subtitle text */\n subtext: z.string().optional(),\n /** Horizontal position. Default: 'left' */\n left: z.union([z.string(), z.number()]).optional(),\n /** Vertical position. Default: 'auto' */\n top: z.union([z.string(), z.number()]).optional(),\n /** Text alignment. Default: 'auto' */\n textAlign: z.enum(['auto', 'left', 'center', 'right']).optional(),\n }).optional(),\n\n // ── Animation overrides ────────────────────────────────────\n\n /** Animation duration in ms (overrides theme preset for this chart) */\n animationDuration: z.number().optional(),\n /** Animation easing function (overrides theme preset for this chart) */\n animationEasing: z.string().optional(),\n\n // ── Legend details ─────────────────────────────────────────\n\n /** Detailed legend configuration (beyond show/hide) */\n legend: z.object({\n /** Legend orientation. Default: 'horizontal' */\n orient: z.enum(['horizontal', 'vertical']).optional(),\n /** Position: top, bottom, left, right, or px/%. Default: bottom:0 */\n position: z.enum(['top', 'bottom', 'left', 'right']).optional(),\n /** Legend type. Default: 'scroll' */\n type: z.enum(['plain', 'scroll']).optional(),\n /** Max legend items before scrolling. Default: auto */\n pageSize: z.number().optional(),\n /** Item gap in px. Default: 10 */\n itemGap: z.number().optional(),\n }).optional(),\n\n // ── Tooltip details ────────────────────────────────────────\n\n /** Detailed tooltip configuration (beyond show/hide) */\n tooltip: z.object({\n /** Trigger mode override. Default: auto-detected per chart type */\n trigger: z.enum(['item', 'axis', 'none']).optional(),\n /** Confine tooltip to chart container. Default: true */\n confine: z.boolean().optional(),\n /** Custom tooltip formatter (ECharts formatter syntax) */\n formatter: z.string().optional(),\n /** Axis pointer type. Default: 'line' */\n axisPointerType: z.enum(['line', 'shadow', 'cross', 'none']).optional(),\n }).optional(),\n\n // ── Toolbox ────────────────────────────────────────────────\n\n /** ECharts toolbox configuration (save as image, data view, etc.) */\n toolbox: z.object({\n /** Show toolbox. Default: false */\n show: z.boolean().optional(),\n /** Save as image feature */\n saveAsImage: z.boolean().optional(),\n /** Data view (raw data table) feature */\n dataView: z.boolean().optional(),\n /** Restore (reset zoom/filter) feature */\n restore: z.boolean().optional(),\n /** Magic type switching (line <-> bar, etc.) */\n magicType: z.array(z.enum(['line', 'bar', 'stack'])).optional(),\n /** Toolbox position. Default: right:10, top:10 */\n right: z.union([z.string(), z.number()]).optional(),\n top: z.union([z.string(), z.number()]).optional(),\n }).optional(),\n\n // ── Data Zoom ──────────────────────────────────────────────\n\n /** Data zoom (slider/inside) for navigating large datasets */\n dataZoom: z.object({\n /** Enable data zoom. Default: false */\n enabled: z.boolean().optional(),\n /** Zoom type. Default: ['slider'] */\n type: z.array(z.enum(['slider', 'inside'])).optional(),\n /** Apply to axis. Default: 'x' */\n axis: z.enum(['x', 'y', 'both']).optional(),\n /** Initial start percentage (0-100). Default: 0 */\n start: z.number().optional(),\n /** Initial end percentage (0-100). Default: 100 */\n end: z.number().optional(),\n }).optional(),\n\n // ── Emphasis ───────────────────────────────────────────────\n\n /** Global emphasis shadow style (used by pie, heatmap, etc.) */\n emphasisShadow: z.object({\n /** Shadow blur radius in px. Default: 10 */\n blur: z.number().optional(),\n /** Shadow color. Default: 'rgba(0,0,0,0.2)' */\n color: z.string().optional(),\n /** Shadow X offset. Default: 0 */\n offsetX: z.number().optional(),\n }).optional(),\n});\n\nexport type ChartAppearance = z.infer<typeof ChartAppearanceSchema>;\n\n// ── Chart Type Config Schemas ────────────────────────────────\n// Per-family type-specific configuration. Each chart type family\n// gets its own strongly-typed config schema. These override\n// hardcoded builder defaults for chart-type-specific behavior.\n//\n// Every property is optional — builders fall back to their\n// current built-in defaults when not specified.\n\n/** Line/Area family: LINE, AREA, STACKED_AREA, STEP_LINE */\nexport const ChartTypeConfig_LineSchema = z.object({\n /** Max data points before symbols auto-hide. Default: 30 */\n symbolVisibilityThreshold: z.number().optional(),\n /** i18n key for the densified overlay series name suffix. Default: '(filled)' */\n densifiedOverlayNameKey: z.string().optional(),\n /** Densified (filled) data overlay styling */\n densifiedOverlay: z.object({\n /** Item opacity. Default: 0.4 */\n itemOpacity: z.number().min(0).max(1).optional(),\n /** Line opacity. Default: 0.5 */\n lineOpacity: z.number().min(0).max(1).optional(),\n /** Line width. Default: 1 */\n lineWidth: z.number().optional(),\n /** Area opacity for area charts. Default: 0.1 */\n areaOpacity: z.number().min(0).max(1).optional(),\n /** Line type for overlay. Default: 'dashed' */\n lineType: z.enum(['solid', 'dashed', 'dotted']).optional(),\n /** Show symbol on overlay series. Default: false */\n showSymbol: z.boolean().optional(),\n }).optional(),\n});\n\nexport type ChartTypeConfig_Line = z.infer<typeof ChartTypeConfig_LineSchema>;\n\n/** Bar family: BAR, HORIZONTAL_BAR, GROUPED_BAR, STACKED_BAR, WATERFALL */\nexport const ChartTypeConfig_BarSchema = z.object({\n /** Gap between bars in the same category (px or %). Default: auto */\n barGap: z.union([z.number(), z.string()]).optional(),\n /** Gap between bar categories (px or %). Default: auto */\n barCategoryGap: z.union([z.number(), z.string()]).optional(),\n /** Waterfall chart configuration */\n waterfall: z.object({\n /** Color for positive (gain) bars. Default: palette[0] */\n gainColor: z.string().optional(),\n /** Color for negative (loss) bars. Default: '#ee6666' */\n lossColor: z.string().optional(),\n /** Legend label for gain series. Default: 'Increase' */\n gainLabel: z.string().optional(),\n /** Legend label for loss series. Default: 'Decrease' */\n lossLabel: z.string().optional(),\n /** i18n key for gain label (overrides gainLabel when resolved) */\n gainLabelKey: z.string().optional(),\n /** i18n key for loss label (overrides lossLabel when resolved) */\n lossLabelKey: z.string().optional(),\n }).optional(),\n});\n\nexport type ChartTypeConfig_Bar = z.infer<typeof ChartTypeConfig_BarSchema>;\n\n/** Pie/Donut family: PIE, DONUT */\nexport const ChartTypeConfig_PieSchema = z.object({\n /** Radius — string ('70%') or tuple (['40%', '70%'] for donut). Default: varies */\n radius: z.union([z.string(), z.tuple([z.string(), z.string()])]).optional(),\n /** Start angle in degrees. Default: 90 */\n startAngle: z.number().optional(),\n /** Minimum slice angle in degrees (prevents tiny slices). Default: 0 */\n minAngle: z.number().optional(),\n /** Rose (nightingale) mode. Disabled by default */\n roseType: z.enum(['radius', 'area']).optional(),\n /** Label position. Default: 'outside' */\n labelPosition: z.enum(['inside', 'outside', 'center']).optional(),\n /** Label formatter (ECharts formatter syntax). Default: '{b}: {d}%' */\n labelFormatter: z.string().optional(),\n /** Show labels on slices. Default: true */\n showLabel: z.boolean().optional(),\n /** Center position [x, y] as percentage strings. Default: ['50%', '50%'] */\n center: z.tuple([z.string(), z.string()]).optional(),\n /** Border width between slices in px. Default: from preset.series.pieBorderWidth */\n borderWidth: z.number().optional(),\n /** Border color between slices. Default: from theme background */\n borderColor: z.string().optional(),\n /**\n * i18n key for the fallback item name pattern when data items lack names.\n * Default text: 'Item {idx}'. Use i18n to localize.\n */\n itemNameFallbackKey: z.string().optional(),\n});\n\nexport type ChartTypeConfig_Pie = z.infer<typeof ChartTypeConfig_PieSchema>;\n\n/** Scatter/Bubble family: SCATTER, BUBBLE */\nexport const ChartTypeConfig_ScatterSchema = z.object({\n /** Bubble size range [min, max] in px. Default: [4, 60] */\n bubbleSizeRange: z.tuple([z.number(), z.number()]).optional(),\n /** Symbol shape. Default: 'circle' */\n symbolShape: z.enum(['circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow']).optional(),\n /** Show regression line. Default: false */\n showRegressionLine: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Scatter = z.infer<typeof ChartTypeConfig_ScatterSchema>;\n\n/** Gauge: GAUGE */\nexport const ChartTypeConfig_GaugeSchema = z.object({\n /** Minimum value. Default: 0 */\n min: z.number().optional(),\n /** Maximum value. Default: 100 */\n max: z.number().optional(),\n /** Number of gauge segments. Default: 10 */\n splitNumber: z.number().optional(),\n /** Show progress arc. Default: true */\n showProgress: z.boolean().optional(),\n /** Detail value formatter. Default: '{value}' */\n detailFormatter: z.string().optional(),\n /** Detail font size. Default: 20 */\n detailFontSize: z.number().optional(),\n /** Gauge radius (string %). Default: '75%' */\n radius: z.string().optional(),\n /** Start angle in degrees. Default: 225 */\n startAngle: z.number().optional(),\n /** End angle in degrees. Default: -45 */\n endAngle: z.number().optional(),\n /** Pointer style. Default: auto */\n pointer: z.object({\n /** Show pointer. Default: true */\n show: z.boolean().optional(),\n /** Pointer length (% of radius). Default: '60%' */\n length: z.string().optional(),\n /** Pointer width in px. Default: 6 */\n width: z.number().optional(),\n }).optional(),\n /** Axis line width in px. Default: 30 */\n axisLineWidth: z.number().optional(),\n /** Color segments [[proportion, color], ...] for axis line */\n axisLineColors: z.array(z.tuple([z.number(), z.string()])).optional(),\n});\n\nexport type ChartTypeConfig_Gauge = z.infer<typeof ChartTypeConfig_GaugeSchema>;\n\n/** Funnel: FUNNEL */\nexport const ChartTypeConfig_FunnelSchema = z.object({\n /** Sort direction. Default: 'descending' */\n sort: z.enum(['ascending', 'descending', 'none']).optional(),\n /** Gap between funnel items in px. Default: 2 */\n gap: z.number().optional(),\n /** Label position. Default: 'inside' */\n labelPosition: z.enum(['inside', 'outside', 'left', 'right', 'leftTop', 'rightTop']).optional(),\n /** Horizontal alignment. Default: 'center' */\n funnelAlign: z.enum(['left', 'center', 'right']).optional(),\n /** Show label. Default: true */\n showLabel: z.boolean().optional(),\n /** Left position (string %). Default: '10%' */\n left: z.string().optional(),\n /** Width (string %). Default: '80%' */\n width: z.string().optional(),\n /** Min/max size for the narrowest/widest part. Default: '0%' / '100%' */\n minSize: z.string().optional(),\n maxSize: z.string().optional(),\n});\n\nexport type ChartTypeConfig_Funnel = z.infer<typeof ChartTypeConfig_FunnelSchema>;\n\n/** Radar: RADAR */\nexport const ChartTypeConfig_RadarSchema = z.object({\n /** Radar shape. Default: 'polygon' */\n shape: z.enum(['polygon', 'circle']).optional(),\n /** Area fill opacity. Default: 0.2 */\n areaOpacity: z.number().min(0).max(1).optional(),\n /** Radar center position [x, y]. Default: ['50%', '50%'] */\n center: z.tuple([z.string(), z.string()]).optional(),\n /** Radar radius (string %). Default: '75%' */\n radius: z.string().optional(),\n /** Start angle in degrees. Default: 90 */\n startAngle: z.number().optional(),\n /** Show split area (alternating region fills). Default: false */\n showSplitArea: z.boolean().optional(),\n /** Name gap (distance between indicator name and axis). Default: 15 */\n nameGap: z.number().optional(),\n});\n\nexport type ChartTypeConfig_Radar = z.infer<typeof ChartTypeConfig_RadarSchema>;\n\n/** Heatmap: HEATMAP */\nexport const ChartTypeConfig_HeatmapSchema = z.object({\n /** Show cell value labels. Default: true */\n showLabel: z.boolean().optional(),\n /** Visual map orientation. Default: 'horizontal' */\n visualMapOrient: z.enum(['horizontal', 'vertical']).optional(),\n /** Visual map position. Default: 'bottom' */\n visualMapPosition: z.enum(['top', 'bottom', 'left', 'right']).optional(),\n /** Visual map calculable (interactive dragging). Default: true */\n visualMapCalculable: z.boolean().optional(),\n /** Min value override for visual map range. Default: auto-detected from data */\n visualMapMin: z.number().optional(),\n /** Max value override for visual map range. Default: auto-detected from data */\n visualMapMax: z.number().optional(),\n /** In-range color gradient stops. Default: from theme palette */\n visualMapInRange: z.array(z.string()).optional(),\n /** Show axis split area (alternating background). Default: true */\n showSplitArea: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Heatmap = z.infer<typeof ChartTypeConfig_HeatmapSchema>;\n\n/** Sankey: SANKEY */\nexport const ChartTypeConfig_SankeySchema = z.object({\n /** Emphasis focus mode. Default: 'adjacency' */\n emphasisFocus: z.enum(['adjacency', 'self', 'none']).optional(),\n /** Node width in px. Default: 20 */\n nodeWidth: z.number().optional(),\n /** Gap between nodes in px. Default: 8 */\n nodeGap: z.number().optional(),\n /** Orient (layout direction). Default: 'horizontal' */\n orient: z.enum(['horizontal', 'vertical']).optional(),\n /** Draggable nodes. Default: true */\n draggable: z.boolean().optional(),\n /** Label position. Default: 'right' */\n labelPosition: z.enum(['left', 'right', 'top', 'bottom']).optional(),\n});\n\nexport type ChartTypeConfig_Sankey = z.infer<typeof ChartTypeConfig_SankeySchema>;\n\n/** Parallel: PARALLEL */\nexport const ChartTypeConfig_ParallelSchema = z.object({\n /** Line width. Default: 2 */\n lineWidth: z.number().optional(),\n /** Line opacity. Default: 0.6 */\n lineOpacity: z.number().min(0).max(1).optional(),\n /** Emphasis line width. Default: 4 */\n emphasisLineWidth: z.number().optional(),\n /** Emphasis opacity. Default: 1 */\n emphasisOpacity: z.number().min(0).max(1).optional(),\n /** Layout margins (%) */\n layoutMargins: z.object({\n left: z.string().optional(),\n right: z.string().optional(),\n top: z.string().optional(),\n bottom: z.string().optional(),\n }).optional(),\n});\n\nexport type ChartTypeConfig_Parallel = z.infer<typeof ChartTypeConfig_ParallelSchema>;\n\n/** Hierarchical family: SUNBURST, TREEMAP */\nexport const ChartTypeConfig_HierarchicalSchema = z.object({\n /** Sunburst radius range (e.g., ['15%', '90%']). Default: ['15%', '90%'] */\n sunburstRadius: z.tuple([z.string(), z.string()]).optional(),\n /** Sunburst emphasis focus. Default: 'ancestor' */\n sunburstEmphasisFocus: z.enum(['ancestor', 'descendant', 'self', 'none']).optional(),\n /** Sunburst level label configuration (overrides auto-computed per-level styles) */\n sunburstLevels: z.object({\n /** Level 1 (innermost ring) label rotation. Default: 'tangential' */\n level1LabelRotate: z.enum(['tangential', 'radial', 'none']).optional(),\n /** Level 2 label alignment. Default: 'right' */\n level2LabelAlign: z.enum(['left', 'right', 'center']).optional(),\n /** Level 3 (outermost ring) label position. Default: 'outside' */\n level3LabelPosition: z.enum(['inside', 'outside']).optional(),\n /** Level 3 label padding. Default: 3 */\n level3LabelPadding: z.number().optional(),\n }).optional(),\n /** Treemap leaf depth (drill-down levels). Default: auto */\n treemapLeafDepth: z.number().optional(),\n /** Treemap minimum visible area in px². Default: 300 */\n treemapVisibleMin: z.number().optional(),\n /** Show treemap breadcrumb. Default: true */\n showBreadcrumb: z.boolean().optional(),\n /** Label formatter for treemap. Default: '{b}' */\n treemapLabelFormatter: z.string().optional(),\n /** Show treemap labels. Default: true */\n treemapShowLabel: z.boolean().optional(),\n /** Treemap upper label (level header) height in px. Default: 30 */\n treemapUpperLabelHeight: z.number().optional(),\n /** Show treemap upper labels. Default: true */\n treemapShowUpperLabel: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Hierarchical = z.infer<typeof ChartTypeConfig_HierarchicalSchema>;\n\n/** Boxplot: BOXPLOT */\nexport const ChartTypeConfig_BoxplotSchema = z.object({\n /** Boundary gap on category axis. Default: true */\n boundaryGap: z.boolean().optional(),\n /** Box width (px or string %). Default: auto */\n boxWidth: z.union([z.number(), z.string()]).optional(),\n /** Show outlier points. Default: true */\n showOutliers: z.boolean().optional(),\n});\n\nexport type ChartTypeConfig_Boxplot = z.infer<typeof ChartTypeConfig_BoxplotSchema>;\n\n// ── Chart Type Config Union ──────────────────────────────────\n\n/**\n * Union of all chart-type-specific config schemas.\n *\n * Each member uses `z.looseObject()` so that Zod doesn't strip keys\n * belonging to other families when the union tries members in order\n * (all properties are optional → the first schema would always match\n * and silently drop unknown keys without loose parsing).\n */\nexport const ChartTypeConfigSchema = z.union([\n z.looseObject(ChartTypeConfig_LineSchema.shape),\n z.looseObject(ChartTypeConfig_BarSchema.shape),\n z.looseObject(ChartTypeConfig_PieSchema.shape),\n z.looseObject(ChartTypeConfig_ScatterSchema.shape),\n z.looseObject(ChartTypeConfig_GaugeSchema.shape),\n z.looseObject(ChartTypeConfig_FunnelSchema.shape),\n z.looseObject(ChartTypeConfig_RadarSchema.shape),\n z.looseObject(ChartTypeConfig_HeatmapSchema.shape),\n z.looseObject(ChartTypeConfig_SankeySchema.shape),\n z.looseObject(ChartTypeConfig_ParallelSchema.shape),\n z.looseObject(ChartTypeConfig_HierarchicalSchema.shape),\n z.looseObject(ChartTypeConfig_BoxplotSchema.shape),\n]);\nexport type ChartTypeConfig = z.infer<typeof ChartTypeConfigSchema>;\n\nfunction getChartTypeConfigSchemaForChartType(chartType: ChartType): z.ZodTypeAny {\n switch (chartType) {\n case ChartType.LINE:\n case ChartType.AREA:\n case ChartType.STACKED_AREA:\n case ChartType.STEP_LINE:\n return ChartTypeConfig_LineSchema.strict();\n case ChartType.BAR:\n case ChartType.HORIZONTAL_BAR:\n case ChartType.GROUPED_BAR:\n case ChartType.STACKED_BAR:\n case ChartType.WATERFALL:\n return ChartTypeConfig_BarSchema.strict();\n case ChartType.PIE:\n case ChartType.DONUT:\n return ChartTypeConfig_PieSchema.strict();\n case ChartType.SCATTER:\n case ChartType.BUBBLE:\n return ChartTypeConfig_ScatterSchema.strict();\n case ChartType.GAUGE:\n return ChartTypeConfig_GaugeSchema.strict();\n case ChartType.FUNNEL:\n return ChartTypeConfig_FunnelSchema.strict();\n case ChartType.RADAR:\n return ChartTypeConfig_RadarSchema.strict();\n case ChartType.HEATMAP:\n return ChartTypeConfig_HeatmapSchema.strict();\n case ChartType.SANKEY:\n return ChartTypeConfig_SankeySchema.strict();\n case ChartType.PARALLEL:\n return ChartTypeConfig_ParallelSchema.strict();\n case ChartType.SUNBURST:\n case ChartType.TREEMAP:\n return ChartTypeConfig_HierarchicalSchema.strict();\n case ChartType.BOXPLOT:\n return ChartTypeConfig_BoxplotSchema.strict();\n case ChartType.COMPOSED:\n return z.strictObject({});\n }\n}\n\n/**\n * Mapped type for compile-time narrowing of chartTypeConfig by chartType.\n * Builders use: `const cfg = definition.chartTypeConfig as ChartTypeConfigFor<'pie'>`\n */\nexport type ChartTypeConfigFor<T extends ChartType> =\n T extends ChartType.LINE | ChartType.AREA | ChartType.STACKED_AREA | ChartType.STEP_LINE ? ChartTypeConfig_Line :\n T extends ChartType.BAR | ChartType.HORIZONTAL_BAR | ChartType.GROUPED_BAR | ChartType.STACKED_BAR | ChartType.WATERFALL ? ChartTypeConfig_Bar :\n T extends ChartType.PIE | ChartType.DONUT ? ChartTypeConfig_Pie :\n T extends ChartType.SCATTER | ChartType.BUBBLE ? ChartTypeConfig_Scatter :\n T extends ChartType.GAUGE ? ChartTypeConfig_Gauge :\n T extends ChartType.FUNNEL ? ChartTypeConfig_Funnel :\n T extends ChartType.RADAR ? ChartTypeConfig_Radar :\n T extends ChartType.HEATMAP ? ChartTypeConfig_Heatmap :\n T extends ChartType.SANKEY ? ChartTypeConfig_Sankey :\n T extends ChartType.PARALLEL ? ChartTypeConfig_Parallel :\n T extends ChartType.SUNBURST | ChartType.TREEMAP ? ChartTypeConfig_Hierarchical :\n T extends ChartType.BOXPLOT ? ChartTypeConfig_Boxplot :\n T extends ChartType.COMPOSED ? Record<string, never> :\n never;\n\n// ── Chart View Options Schema ────────────────────────────────\n// Visual configuration options for chart rendering.\n\nexport const ChartViewOptionsSchema = z.object({\n type: z.enum(ChartType).optional(),\n title: z.string().optional(),\n subtitle: z.string().optional(),\n showLegend: z.boolean().optional(),\n showTooltip: z.boolean().optional(),\n animated: z.boolean().optional(),\n chartTypeConfig: ChartTypeConfigSchema.optional(),\n});\n\nexport type ChartViewOptions = z.infer<typeof ChartViewOptionsSchema>;\n\n// ── Chart Definition Schema ──────────────────────────────────\n// The shared chart definition: identity + data query + visual encoding.\n// View wiring (scope, addressability, launcher) is added by InsertedChartDeclaration in saas-frontend-lib — charts are resource-owned inserted surfaces only.\n\nexport const ChartDefinitionSchema = z.object({\n /** Unique chart reference (used for registry lookup and the backend data endpoint `/charts/:chartRef/data`) */\n ref: z.string().min(1),\n\n /** Default chart type (series can override) */\n chartType: z.enum(ChartType),\n\n /** Data query specification (aggregation engine) */\n dataQuery: AggregationQuerySchema,\n\n /** Chart series — visual mapping from data query results to rendered elements */\n series: z.array(ChartSeriesDefinitionSchema).min(1),\n\n /**\n * Explicit runtime inputs the chart accepts.\n *\n * These definitions declare the public caller contract and the narrow query\n * binding points each input may affect.\n */\n inputs: z.array(ChartInputDefinitionSchema).optional(),\n\n /** Access control (narrows LIST roles) */\n accessControl: ChartAccessControlSchema.optional(),\n\n /** Canonical auto-refresh interval in ms for frontend polling */\n refreshInterval: z.number().positive().optional(),\n\n /** Required features — gates access via feature availability policy */\n requiredFeatures: RequiredFeaturesConfigSchema.optional(),\n\n /** Per-chart appearance overrides (takes precedence over theme's ChartStylePreset) */\n appearance: ChartAppearanceSchema.optional(),\n\n /** Chart-type-specific configuration (typed per chart family) */\n chartTypeConfig: ChartTypeConfigSchema.optional(),\n\n /**\n * i18n labelling key map for chart-level text.\n *\n * Each key maps a chart text slot to an i18n translation key.\n * When the key resolves to a translated string, it replaces the\n * hardcoded default. Falls back to built-in text when unresolved.\n */\n i18n: z.object({\n /** i18n key for chart title text */\n titleKey: z.string().optional(),\n /** i18n key for chart subtitle text */\n subtitleKey: z.string().optional(),\n /** i18n key for the X axis label */\n xAxisLabelKey: z.string().optional(),\n /** i18n key for the Y axis label */\n yAxisLabelKey: z.string().optional(),\n /** i18n key for the secondary Y axis label (dual-axis charts) */\n yAxisSecondaryLabelKey: z.string().optional(),\n /** i18n key for the tooltip title pattern */\n tooltipTitleKey: z.string().optional(),\n /** i18n key for the empty state message */\n emptyStateKey: z.string().optional(),\n /**\n * i18n keys for split dimension values.\n * Maps raw split values to i18n keys for translation.\n * Falls back to splitConfig.labelMap, then raw value.\n */\n splitValueKeys: z.record(z.string(), z.string()).optional(),\n }).optional(),\n}).superRefine((definition, ctx) => {\n if (definition.chartTypeConfig === undefined) {\n return;\n }\n\n const chartTypeConfigSchema = getChartTypeConfigSchemaForChartType(definition.chartType);\n const parsedChartTypeConfig = chartTypeConfigSchema.safeParse(definition.chartTypeConfig);\n if (parsedChartTypeConfig.success) {\n return;\n }\n\n ctx.addIssue({\n code: 'custom',\n message: `chartTypeConfig contains invalid options for chartType \"${definition.chartType}\".`,\n path: ['chartTypeConfig'],\n });\n}).superRefine((definition, ctx) => {\n // Cross-reference validation: catch authoring drift (renamed/typo'd refs) at\n // parse/registration time instead of silently rendering a blank chart. The\n // free-string refs (series.measureRef, splitByDimension, having.measureRef,\n // orderBy.ref) are otherwise never checked against the dataQuery they point at.\n const dq = definition.dataQuery;\n const dimensionRefs = new Set((dq.dimensions ?? []).map(d => d.ref));\n // Every aggregated/computed/windowed value becomes a result column the series\n // can target; dimensions are the categorical/temporal axes (splitByDimension).\n const measureRefs = new Set<string>([\n ...(dq.measures ?? []).map(m => m.ref),\n ...(dq.computedMeasures ?? []).map(m => m.ref),\n ...(dq.windowFunctions ?? []).map(w => w.ref),\n ]);\n\n // Dimension + measure refs all become result-row keys → must be globally unique.\n const seenDataRefs = new Set<string>();\n const dataRefEntries: Array<{ ref: string; path: (string | number)[] }> = [\n ...(dq.dimensions ?? []).map((d, i) => ({ ref: d.ref, path: ['dataQuery', 'dimensions', i, 'ref'] })),\n ...(dq.measures ?? []).map((m, i) => ({ ref: m.ref, path: ['dataQuery', 'measures', i, 'ref'] })),\n ...(dq.computedMeasures ?? []).map((m, i) => ({ ref: m.ref, path: ['dataQuery', 'computedMeasures', i, 'ref'] })),\n ...(dq.windowFunctions ?? []).map((w, i) => ({ ref: w.ref, path: ['dataQuery', 'windowFunctions', i, 'ref'] })),\n ];\n for (const { ref, path } of dataRefEntries) {\n if (seenDataRefs.has(ref)) {\n ctx.addIssue({\n code: 'custom',\n message: `Duplicate data ref \"${ref}\" — dimension/measure refs become result-row keys and must be unique.`,\n path,\n });\n }\n seenDataRefs.add(ref);\n }\n\n // `field: '*'` is the COUNT(*) sentinel; it is meaningless with any other aggregate.\n (dq.measures ?? []).forEach((m, i) => {\n if (m.field === '*' && m.aggregate !== AggregateFunction.COUNT) {\n ctx.addIssue({\n code: 'custom',\n message: `Measure \"${m.ref}\" uses field \"*\" which is only valid with COUNT (got \"${m.aggregate}\").`,\n path: ['dataQuery', 'measures', i, 'field'],\n });\n }\n });\n\n // Series: unique refs; measureRef must resolve; splitByDimension must resolve.\n const seenSeriesRefs = new Set<string>();\n definition.series.forEach((s, i) => {\n if (seenSeriesRefs.has(s.ref)) {\n ctx.addIssue({ code: 'custom', message: `Duplicate series ref \"${s.ref}\".`, path: ['series', i, 'ref'] });\n }\n seenSeriesRefs.add(s.ref);\n\n if (!measureRefs.has(s.measureRef)) {\n ctx.addIssue({\n code: 'custom',\n message: `series[${i}].measureRef \"${s.measureRef}\" matches no measure / computedMeasure / windowFunction ref. Known: [${[...measureRefs].join(', ')}].`,\n path: ['series', i, 'measureRef'],\n });\n }\n if (s.splitByDimension !== undefined && !dimensionRefs.has(s.splitByDimension)) {\n ctx.addIssue({\n code: 'custom',\n message: `series[${i}].splitByDimension \"${s.splitByDimension}\" matches no dimension ref. Known: [${[...dimensionRefs].join(', ')}].`,\n path: ['series', i, 'splitByDimension'],\n });\n }\n });\n\n // HAVING / ORDER BY refs must resolve to real result columns.\n (dq.having ?? []).forEach((h, i) => {\n if (!measureRefs.has(h.measureRef)) {\n ctx.addIssue({\n code: 'custom',\n message: `having[${i}].measureRef \"${h.measureRef}\" matches no measure ref.`,\n path: ['dataQuery', 'having', i, 'measureRef'],\n });\n }\n });\n (dq.orderBy ?? []).forEach((o, i) => {\n if (!dimensionRefs.has(o.ref) && !measureRefs.has(o.ref)) {\n ctx.addIssue({\n code: 'custom',\n message: `orderBy[${i}].ref \"${o.ref}\" matches no dimension or measure ref.`,\n path: ['dataQuery', 'orderBy', i, 'ref'],\n });\n }\n });\n});\n\n/** ──────────────────────────────────────────────────────────────\n * Types\n * ────────────────────────────────────────────────────────────── */\n\nexport interface ChartDefinition {\n ref: string;\n chartType: ChartType;\n dataQuery: AggregationQuery;\n series: ChartSeriesDefinition[];\n inputs?: ChartInputDefinition[];\n accessControl?: ChartAccessControl;\n refreshInterval?: number;\n requiredFeatures?: RequiredFeaturesConfig;\n appearance?: ChartAppearance;\n chartTypeConfig?: ChartTypeConfig;\n i18n?: {\n titleKey?: string;\n subtitleKey?: string;\n xAxisLabelKey?: string;\n yAxisLabelKey?: string;\n yAxisSecondaryLabelKey?: string;\n tooltipTitleKey?: string;\n emptyStateKey?: string;\n splitValueKeys?: Record<string, string>;\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-registration-alignment.shared.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"chart-registration-alignment.shared.d.ts","sourceRoot":"","sources":["../../../../../src/config/frontend/chart-registration-alignment.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oEA6EoE;AAEpE;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,8EAA8E;AAC9E,MAAM,WAAW,4BAA4B;IAC3C,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,oBAAY,sCAAsC;IAChD;;;;;OAKG;IACH,+BAA+B,oCAAoC;IACnE;;;;;;;;;OASG;IACH,mBAAmB,wBAAwB;CAC5C;AAED,0FAA0F;AAC1F,oBAAY,iCAAiC;IAC3C,iFAAiF;IACjF,OAAO,YAAY;IACnB,8FAA8F;IAC9F,UAAU,eAAe;IACzB;;;;OAIG;IACH,YAAY,iBAAiB;CAC9B;AAED,oCAAoC;AACpC,MAAM,WAAW,gCAAgC;IAC/C,0FAA0F;IAC1F,qBAAqB,EAAE,sCAAsC,CAAC;IAC9D,mGAAmG;IACnG,OAAO,EAAE,iCAAiC,CAAC;IAC3C;;;OAGG;IACH,0BAA0B,EAAE,4BAA4B,EAAE,CAAC;IAC3D;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;IAClD,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,sCAAsC,CAAC;CAChE,GAAG,gCAAgC,CA0BnC;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,gCAAgC,GACvC,MAAM,GAAG,SAAS,CAWpB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gCAAgC,EACxC,WAAW,SAA+B,EAC1C,qBAAqB,UAAO,GAC3B,IAAI,CAiBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-registration-alignment.shared.js","sourceRoot":"","sources":["../../../../src/config/frontend/chart-registration-alignment.shared.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * Chart registration alignment (drift guard)\n *\n * A resource-owned chart must be wired on BOTH sides:\n * - FRONTEND: authored in `ResourceUIBehaviorConfig.chartViews[].chartDefinition`\n * (frontend-only — the backend cannot import it), and\n * - BACKEND: registered via `BackendDomainModule.chartDefinitions`, which feeds\n * the backend `ChartRegistry` so `POST /charts/:ref/data` can execute.\n *\n * A frontend chartView whose `chartDefinition.ref` has NO backend registration\n * produces a runtime 404 (`chart_not_found`) — the host renders but the data\n * fetch fails. This module is the pure, framework-general comparator that a\n * build-time / CLI guard uses to catch that drift before it ships.\n *\n * ## The failure is LOUD but LATE, and the distinction decides what this guard is for\n * Earlier revisions of this file, the CLI verb and the CI workflow all called that 404\n * \"silent\". Measured on the runtime path, it is not: `ChartView` renders `ChartErrorState`\n * (an error card with a retry action), a standalone chart page also raises the global error\n * toast (`localErrorOnly` is only set by EMBEDDED hosts), and the backend answers a NOT_FOUND\n * whose context names the resolved ref.\n *\n * So this guard does not exist to make an invisible failure visible. It exists because the\n * failure is only visible to whoever OPENS the chart — a chart on a rarely-visited surface\n * ships broken and is discovered by a user. Everything here moves that discovery to authoring\n * time. Do not restate \"silent\"; it overstates the defect and misdescribes what is being fixed.\n *\n * ## Why this is a comparator and not a boot refusal\n * Neither runtime process can perform this join, so there is no boot to refuse at:\n * - the BACKEND cannot see `chartViews` — it lives on `ResourceUIBehaviorConfig` in `.tsx`\n * ui-behavior modules the backend cannot import, which is why the dev companion needs a\n * dedicated introspection SUBPROCESS to materialize it (and why the backend module slot\n * exists as a second wiring in the first place);\n * - the FRONTEND has `chartViews` but never receives the backend's registered set — nothing\n * serializes `ChartRegistry.getRegisteredChartRefs()` into any boot payload.\n * The only process that sees both is the companion, which is where every channel that runs\n * this comparator lives: `POST /api/companion/charts/audit`, `wildo charts audit`, and the CI\n * gate. The BACKEND-visible half of chart wiring — a chart naming a resource type that does\n * not exist — is refused at boot by `ChartRegistryBackendService.registerChart`.\n *\n * ## The backend set has TWO possible sources, and only ONE of them is the answer\n * `ApplicationInitializationConfig.chartDefinitions` — the array `StartApplicationBackendService`\n * actually registers — is assembled as\n * `overrides.chartDefinitions ?? input.backendRegistry.chartDefinitions`\n * (`buildApplicationInitializationConfigFromModules`). That is a REPLACE, not a merge. So an\n * application supplying `overrides.chartDefinitions` makes the module DECLARATIONS an arbitrary set\n * with no relation to what registers: it may drop a declared chart (a comparison built on the\n * declarations then reports ALIGNED while the chart 404s) and it may add one that is not declared\n * (the same comparison then reports a false FAIL).\n *\n * Hence {@link ChartRegistrationBackendRefsProvenance}. A caller must say WHICH set it brought, and\n * a comparison built on the declarations yields\n * {@link ChartRegistrationAlignmentVerdict.CANNOT_VOUCH} — never `ALIGNED`. A guard that says \"I\n * cannot answer\" beats one that answers about a different population; that is the same class as a\n * green report read off a stale artifact\n * (`.claude/rules/staleness-presents-as-a-logic-defect.md`).\n *\n * ## The effective set IS reachable — no contract change is needed\n * An earlier note on `ChartRegistryBackendService.getRegisteredChartRefs` said closing this \"needs\n * the overrides to reach the companion, which the `companion-exports` contract does not currently\n * carry\". **That was wrong, and the contract had already answered it**:\n * `BackendCompanionExports.buildApplicationInitializationConfig()` is REQUIRED, is the same pure\n * builder backend startup uses, starts nothing, and its JSDoc says in as many words that \"tooling\n * must not reconstruct selected runtime capabilities from lower-level registries\". Composing the\n * backend side from `mergeBackendDomainModules(...)` was exactly that reconstruction.\n *\n * Residual, stated rather than hidden: the companion calls the builder with NO host overrides, so it\n * sees the set the APPLICATION declares. A HOST that passed `chartDefinitions` in its own overrides\n * would diverge — neither dogfood host does (both pass only `customControllers`, `container`,\n * `serviceIdentifier`, `providerRuntime`), and a host-level chart override has no use case today.\n *\n * ## Join key\n * The comparison key is `chartView.chartDefinition.ref` (the execution ref the\n * frontend runtime sends), NOT the outer `chartView.ref` (the view identity).\n *\n * This module is import-safe (pure functions + types, no frontend-lib /\n * backend-lib deps) so it can run from the companion subprocess, a CLI audit,\n * and unit tests alike.\n * ────────────────────────────────────────────────────────────── */\n\n/**\n * Normalize a chart execution reference to its canonical registry key. This is\n * the SINGLE source of truth for ref normalization, shared by the backend\n * `ChartRegistry` (registration + lookup) and this alignment guard, so the two\n * can never diverge on whitespace and silently disagree about whether a chart is\n * registered.\n */\nexport function normalizeChartExecutionRef(rawRef: string): string {\n return rawRef.trim();\n}\n\n/** One frontend chartView's registration identity (the drift-guard input). */\nexport interface FrontendChartRegistrationRef {\n /** `chartView.chartDefinition.ref` — the execution/registry join key. */\n chartDefinitionRef: string;\n /** The resource type whose ui-behavior authored this chartView. */\n resourceType: string;\n /** `chartView.ref` — the view identity (for a precise, locatable error). */\n chartViewRef: string;\n}\n\n/**\n * WHERE a caller's `backendRegisteredRefs` came from — the input that decides whether this\n * comparison is about the population that actually registers.\n *\n * A closed vocabulary with a named home rather than a boolean, because the two members are not\n * \"good/bad\": each names a concrete assembly step, and the reason one of them cannot be vouched for\n * is a specific line of code (`overrides.chartDefinitions ?? input.backendRegistry.chartDefinitions`)\n * that a `trusted: false` flag could never carry.\n */\nexport enum ChartRegistrationBackendRefsProvenance {\n /**\n * From `BackendCompanionExports.buildApplicationInitializationConfig().chartDefinitions` — the\n * exact array `StartApplicationBackendService` registers, with any\n * `ApplicationInitializationOverrides.chartDefinitions` already applied. The only provenance that\n * supports a vouched verdict.\n */\n EFFECTIVE_INITIALIZATION_CONFIG = 'effective-initialization-config',\n /**\n * From `mergeBackendDomainModules(...).chartDefinitions` — what the modules DECLARE. Equal to the\n * effective set only while no application supplies `overrides.chartDefinitions`; nothing in this\n * set records whether one does, which is why a caller supplying it gets `CANNOT_VOUCH` rather\n * than a verdict.\n *\n * This is also what an ABSENT provenance means. The permissive reading was deliberately NOT\n * chosen for the default: a caller that has not thought about which set it brought has, by\n * definition, brought the one it could reach without asking.\n */\n MODULE_DECLARATIONS = 'module-declarations',\n}\n\n/** What the comparison is entitled to conclude, given where its backend set came from. */\nexport enum ChartRegistrationAlignmentVerdict {\n /** Every frontend chartView resolves against the set that actually registers. */\n ALIGNED = 'aligned',\n /** At least one frontend chartView has no registration in the set that actually registers. */\n MISALIGNED = 'misaligned',\n /**\n * The comparison ran and its channels are populated, but the backend set was not the effective\n * one — so NEITHER a clean nor a dirty result may be reported as fact. Report the channels as\n * evidence; do not report alignment.\n */\n CANNOT_VOUCH = 'cannot-vouch',\n}\n\n/** The two-channel drift report. */\nexport interface ChartRegistrationAlignmentReport {\n /** Echoed so a consumer renders, logs or gates on the same answer the comparison used. */\n backendRefsProvenance: ChartRegistrationBackendRefsProvenance;\n /** What this comparison is entitled to conclude. See {@link ChartRegistrationAlignmentVerdict}. */\n verdict: ChartRegistrationAlignmentVerdict;\n /**\n * Frontend chartViews whose `chartDefinition.ref` has NO backend registration.\n * FAIL channel — each one is a guaranteed runtime 404.\n */\n unregisteredFrontendCharts: FrontendChartRegistrationRef[];\n /**\n * Backend-registered chart refs referenced by NO frontend chartView. WARN\n * channel — a backend-only chart is valid (e.g. a programmatic/API-only chart\n * consumed directly via `/charts/:ref/data`), so this is never a hard failure.\n */\n orphanBackendCharts: string[];\n}\n\n/**\n * Compare the set of frontend chartView refs against the set of backend-registered\n * chart refs. Both sides are normalized via {@link normalizeChartExecutionRef}\n * before comparison so whitespace never causes a phantom mismatch.\n */\nexport function computeChartRegistrationAlignment(params: {\n frontendChartRefs: FrontendChartRegistrationRef[];\n backendRegisteredRefs: string[];\n /**\n * WHERE `backendRegisteredRefs` came from. Optional so that adding it did not red-line an\n * existing caller this change could not reach — absence is read as\n * {@link ChartRegistrationBackendRefsProvenance.MODULE_DECLARATIONS}, i.e. the answer that\n * yields `CANNOT_VOUCH`, never the permissive one.\n */\n backendRefsProvenance?: ChartRegistrationBackendRefsProvenance;\n}): ChartRegistrationAlignmentReport {\n const normalizedBackend = params.backendRegisteredRefs.map(normalizeChartExecutionRef);\n const backendSet = new Set(normalizedBackend);\n const frontendSet = new Set(\n params.frontendChartRefs.map((r) => normalizeChartExecutionRef(r.chartDefinitionRef)),\n );\n\n const unregisteredFrontendCharts = params.frontendChartRefs.filter(\n (r) => !backendSet.has(normalizeChartExecutionRef(r.chartDefinitionRef)),\n );\n\n const orphanBackendCharts = [\n ...new Set(normalizedBackend.filter((ref) => !frontendSet.has(ref))),\n ];\n\n const backendRefsProvenance =\n params.backendRefsProvenance ?? ChartRegistrationBackendRefsProvenance.MODULE_DECLARATIONS;\n\n const verdict =\n backendRefsProvenance !== ChartRegistrationBackendRefsProvenance.EFFECTIVE_INITIALIZATION_CONFIG\n ? ChartRegistrationAlignmentVerdict.CANNOT_VOUCH\n : unregisteredFrontendCharts.length > 0\n ? ChartRegistrationAlignmentVerdict.MISALIGNED\n : ChartRegistrationAlignmentVerdict.ALIGNED;\n\n return { backendRefsProvenance, verdict, unregisteredFrontendCharts, orphanBackendCharts };\n}\n\n/**\n * Render the provenance caveat, or `undefined` when the report may be taken at face value.\n *\n * Exists so the two surfaces a person reads — the CLI's summary line and the thrown gate message —\n * cannot word this differently, or one of them forget it. A caveat that appears on one surface is\n * the state this whole change is repairing.\n */\nexport function describeChartRegistrationVerdictCaveat(\n report: ChartRegistrationAlignmentReport,\n): string | undefined {\n if (report.verdict !== ChartRegistrationAlignmentVerdict.CANNOT_VOUCH) return undefined;\n return (\n 'This comparison used the module DECLARATIONS '\n + `(provenance: ${report.backendRefsProvenance}), not the set the backend registers. `\n + 'An application supplying `ApplicationInitializationOverrides.chartDefinitions` REPLACES the '\n + 'declared array, so a dropped chart would read as aligned here and 404 at runtime. '\n + 'Fix: take the backend refs from '\n + '`backendCompanionExports.buildApplicationInitializationConfig().chartDefinitions` and pass '\n + `backendRefsProvenance: ${ChartRegistrationBackendRefsProvenance.EFFECTIVE_INITIALIZATION_CONFIG}.`\n );\n}\n\n/**\n * Throw a verbose, locatable error if any frontend chartView is unregistered\n * backend-side. Only the FAIL channel throws; `orphanBackendCharts` (WARN) never\n * throws. Use in the `--strict` path of the CLI audit / a CI gate.\n *\n * ## `requireVouchedVerdict` defaults to `true`, and that is the point of the parameter\n *\n * A clean FAIL channel is only evidence of alignment when the backend set was the EFFECTIVE one — a\n * chart dropped by an `ApplicationInitializationOverrides.chartDefinitions` override is registered\n * nowhere and declared everywhere, so a comparison against the DECLARATIONS reports ALIGNED about a\n * population the application does not run. So this refuses a\n * {@link ChartRegistrationAlignmentVerdict.CANNOT_VOUCH} report rather than returning quietly, and a\n * caller has to say deliberately that it does not want that.\n *\n * It shipped defaulting to `false` (2026-09-09) for one turn, because the companion's own CI-gate\n * test still composed its backend set from `mergeBackendDomainModules(...)` and defaulting to `true`\n * would have turned a green gate red with no hand able to repair it. That caller was fixed the same\n * day and the default flipped with it. The permissive default is gone deliberately: it protected one\n * known caller and would have silently absolved every future one.\n *\n * Pass `false` only where the verdict is being REPORTED rather than gated — a summary line that\n * prints {@link describeChartRegistrationVerdictCaveat} beside it is honest; a gate that returns\n * quietly is not.\n */\nexport function assertChartRegistrationAligned(\n report: ChartRegistrationAlignmentReport,\n errorPrefix = 'ChartRegistrationAlignment',\n requireVouchedVerdict = true,\n): void {\n if (requireVouchedVerdict && report.verdict === ChartRegistrationAlignmentVerdict.CANNOT_VOUCH) {\n throw new Error(\n `${errorPrefix}: refusing to report alignment. `\n + describeChartRegistrationVerdictCaveat(report),\n );\n }\n if (report.unregisteredFrontendCharts.length === 0) return;\n const lines = report.unregisteredFrontendCharts.map(\n (r) =>\n ` - ${r.resourceType}.${r.chartViewRef} → chartDefinition.ref '${r.chartDefinitionRef}' has no backend chartDefinitions registration`,\n );\n throw new Error(\n `${errorPrefix}: ${report.unregisteredFrontendCharts.length} chart view(s) reference a chart that is NOT registered backend-side (each would 404 with chart_not_found at runtime):\\n` +\n `${lines.join('\\n')}\\n` +\n `Fix: add the shared ChartDefinition to the owning backend module's \\`chartDefinitions\\` array.`,\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chart-registration-alignment.shared.js","sourceRoot":"","sources":["../../../../../src/config/frontend/chart-registration-alignment.shared.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * Chart registration alignment (drift guard)\n *\n * A resource-owned chart must be wired on BOTH sides:\n * - FRONTEND: authored in `ResourceUIBehaviorConfig.chartViews[].chartDefinition`\n * (frontend-only — the backend cannot import it), and\n * - BACKEND: registered via `BackendDomainModule.chartDefinitions`, which feeds\n * the backend `ChartRegistry` so `POST /charts/:ref/data` can execute.\n *\n * A frontend chartView whose `chartDefinition.ref` has NO backend registration\n * produces a runtime 404 (`chart_not_found`) — the host renders but the data\n * fetch fails. This module is the pure, framework-general comparator that a\n * build-time / CLI guard uses to catch that drift before it ships.\n *\n * ## The failure is LOUD but LATE, and the distinction decides what this guard is for\n * Earlier revisions of this file, the CLI verb and the CI workflow all called that 404\n * \"silent\". Measured on the runtime path, it is not: `ChartView` renders `ChartErrorState`\n * (an error card with a retry action), a standalone chart page also raises the global error\n * toast (`localErrorOnly` is only set by EMBEDDED hosts), and the backend answers a NOT_FOUND\n * whose context names the resolved ref.\n *\n * So this guard does not exist to make an invisible failure visible. It exists because the\n * failure is only visible to whoever OPENS the chart — a chart on a rarely-visited surface\n * ships broken and is discovered by a user. Everything here moves that discovery to authoring\n * time. Do not restate \"silent\"; it overstates the defect and misdescribes what is being fixed.\n *\n * ## Why this is a comparator and not a boot refusal\n * Neither runtime process can perform this join, so there is no boot to refuse at:\n * - the BACKEND cannot see `chartViews` — it lives on `ResourceUIBehaviorConfig` in `.tsx`\n * ui-behavior modules the backend cannot import, which is why the dev companion needs a\n * dedicated introspection SUBPROCESS to materialize it (and why the backend module slot\n * exists as a second wiring in the first place);\n * - the FRONTEND has `chartViews` but never receives the backend's registered set — nothing\n * serializes `ChartRegistry.getRegisteredChartRefs()` into any boot payload.\n * The only process that sees both is the companion, which is where every channel that runs\n * this comparator lives: `POST /api/companion/charts/audit`, `wildo charts audit`, and the CI\n * gate. The BACKEND-visible half of chart wiring — a chart naming a resource type that does\n * not exist — is refused at boot by `ChartRegistryBackendService.registerChart`.\n *\n * ## The backend set has TWO possible sources, and only ONE of them is the answer\n * `ApplicationInitializationConfig.chartDefinitions` — the array `StartApplicationBackendService`\n * actually registers — is assembled as\n * `overrides.chartDefinitions ?? input.backendRegistry.chartDefinitions`\n * (`buildApplicationInitializationConfigFromModules`). That is a REPLACE, not a merge. So an\n * application supplying `overrides.chartDefinitions` makes the module DECLARATIONS an arbitrary set\n * with no relation to what registers: it may drop a declared chart (a comparison built on the\n * declarations then reports ALIGNED while the chart 404s) and it may add one that is not declared\n * (the same comparison then reports a false FAIL).\n *\n * Hence {@link ChartRegistrationBackendRefsProvenance}. A caller must say WHICH set it brought, and\n * a comparison built on the declarations yields\n * {@link ChartRegistrationAlignmentVerdict.CANNOT_VOUCH} — never `ALIGNED`. A guard that says \"I\n * cannot answer\" beats one that answers about a different population; that is the same class as a\n * green report read off a stale artifact\n * (`.claude/rules/staleness-presents-as-a-logic-defect.md`).\n *\n * ## The effective set IS reachable — no contract change is needed\n * An earlier note on `ChartRegistryBackendService.getRegisteredChartRefs` said closing this \"needs\n * the overrides to reach the companion, which the `companion-exports` contract does not currently\n * carry\". **That was wrong, and the contract had already answered it**:\n * `BackendCompanionExports.buildApplicationInitializationConfig()` is REQUIRED, is the same pure\n * builder backend startup uses, starts nothing, and its JSDoc says in as many words that \"tooling\n * must not reconstruct selected runtime capabilities from lower-level registries\". Composing the\n * backend side from `mergeBackendDomainModules(...)` was exactly that reconstruction.\n *\n * Residual, stated rather than hidden: the companion calls the builder with NO host overrides, so it\n * sees the set the APPLICATION declares. A HOST that passed `chartDefinitions` in its own overrides\n * would diverge — neither dogfood host does (both pass only `customControllers`, `container`,\n * `serviceIdentifier`, `providerRuntime`), and a host-level chart override has no use case today.\n *\n * ## Join key\n * The comparison key is `chartView.chartDefinition.ref` (the execution ref the\n * frontend runtime sends), NOT the outer `chartView.ref` (the view identity).\n *\n * This module is import-safe (pure functions + types, no frontend-lib /\n * backend-lib deps) so it can run from the companion subprocess, a CLI audit,\n * and unit tests alike.\n * ────────────────────────────────────────────────────────────── */\n\n/**\n * Normalize a chart execution reference to its canonical registry key. This is\n * the SINGLE source of truth for ref normalization, shared by the backend\n * `ChartRegistry` (registration + lookup) and this alignment guard, so the two\n * can never diverge on whitespace and silently disagree about whether a chart is\n * registered.\n */\nexport function normalizeChartExecutionRef(rawRef: string): string {\n return rawRef.trim();\n}\n\n/** One frontend chartView's registration identity (the drift-guard input). */\nexport interface FrontendChartRegistrationRef {\n /** `chartView.chartDefinition.ref` — the execution/registry join key. */\n chartDefinitionRef: string;\n /** The resource type whose ui-behavior authored this chartView. */\n resourceType: string;\n /** `chartView.ref` — the view identity (for a precise, locatable error). */\n chartViewRef: string;\n}\n\n/**\n * WHERE a caller's `backendRegisteredRefs` came from — the input that decides whether this\n * comparison is about the population that actually registers.\n *\n * A closed vocabulary with a named home rather than a boolean, because the two members are not\n * \"good/bad\": each names a concrete assembly step, and the reason one of them cannot be vouched for\n * is a specific line of code (`overrides.chartDefinitions ?? input.backendRegistry.chartDefinitions`)\n * that a `trusted: false` flag could never carry.\n */\nexport enum ChartRegistrationBackendRefsProvenance {\n /**\n * From `BackendCompanionExports.buildApplicationInitializationConfig().chartDefinitions` — the\n * exact array `StartApplicationBackendService` registers, with any\n * `ApplicationInitializationOverrides.chartDefinitions` already applied. The only provenance that\n * supports a vouched verdict.\n */\n EFFECTIVE_INITIALIZATION_CONFIG = 'effective-initialization-config',\n /**\n * From `mergeBackendDomainModules(...).chartDefinitions` — what the modules DECLARE. Equal to the\n * effective set only while no application supplies `overrides.chartDefinitions`; nothing in this\n * set records whether one does, which is why a caller supplying it gets `CANNOT_VOUCH` rather\n * than a verdict.\n *\n * This is also what an ABSENT provenance means. The permissive reading was deliberately NOT\n * chosen for the default: a caller that has not thought about which set it brought has, by\n * definition, brought the one it could reach without asking.\n */\n MODULE_DECLARATIONS = 'module-declarations',\n}\n\n/** What the comparison is entitled to conclude, given where its backend set came from. */\nexport enum ChartRegistrationAlignmentVerdict {\n /** Every frontend chartView resolves against the set that actually registers. */\n ALIGNED = 'aligned',\n /** At least one frontend chartView has no registration in the set that actually registers. */\n MISALIGNED = 'misaligned',\n /**\n * The comparison ran and its channels are populated, but the backend set was not the effective\n * one — so NEITHER a clean nor a dirty result may be reported as fact. Report the channels as\n * evidence; do not report alignment.\n */\n CANNOT_VOUCH = 'cannot-vouch',\n}\n\n/** The two-channel drift report. */\nexport interface ChartRegistrationAlignmentReport {\n /** Echoed so a consumer renders, logs or gates on the same answer the comparison used. */\n backendRefsProvenance: ChartRegistrationBackendRefsProvenance;\n /** What this comparison is entitled to conclude. See {@link ChartRegistrationAlignmentVerdict}. */\n verdict: ChartRegistrationAlignmentVerdict;\n /**\n * Frontend chartViews whose `chartDefinition.ref` has NO backend registration.\n * FAIL channel — each one is a guaranteed runtime 404.\n */\n unregisteredFrontendCharts: FrontendChartRegistrationRef[];\n /**\n * Backend-registered chart refs referenced by NO frontend chartView. WARN\n * channel — a backend-only chart is valid (e.g. a programmatic/API-only chart\n * consumed directly via `/charts/:ref/data`), so this is never a hard failure.\n */\n orphanBackendCharts: string[];\n}\n\n/**\n * Compare the set of frontend chartView refs against the set of backend-registered\n * chart refs. Both sides are normalized via {@link normalizeChartExecutionRef}\n * before comparison so whitespace never causes a phantom mismatch.\n */\nexport function computeChartRegistrationAlignment(params: {\n frontendChartRefs: FrontendChartRegistrationRef[];\n backendRegisteredRefs: string[];\n /**\n * WHERE `backendRegisteredRefs` came from. Optional so that adding it did not red-line an\n * existing caller this change could not reach — absence is read as\n * {@link ChartRegistrationBackendRefsProvenance.MODULE_DECLARATIONS}, i.e. the answer that\n * yields `CANNOT_VOUCH`, never the permissive one.\n */\n backendRefsProvenance?: ChartRegistrationBackendRefsProvenance;\n}): ChartRegistrationAlignmentReport {\n const normalizedBackend = params.backendRegisteredRefs.map(normalizeChartExecutionRef);\n const backendSet = new Set(normalizedBackend);\n const frontendSet = new Set(\n params.frontendChartRefs.map((r) => normalizeChartExecutionRef(r.chartDefinitionRef)),\n );\n\n const unregisteredFrontendCharts = params.frontendChartRefs.filter(\n (r) => !backendSet.has(normalizeChartExecutionRef(r.chartDefinitionRef)),\n );\n\n const orphanBackendCharts = [\n ...new Set(normalizedBackend.filter((ref) => !frontendSet.has(ref))),\n ];\n\n const backendRefsProvenance =\n params.backendRefsProvenance ?? ChartRegistrationBackendRefsProvenance.MODULE_DECLARATIONS;\n\n const verdict =\n backendRefsProvenance !== ChartRegistrationBackendRefsProvenance.EFFECTIVE_INITIALIZATION_CONFIG\n ? ChartRegistrationAlignmentVerdict.CANNOT_VOUCH\n : unregisteredFrontendCharts.length > 0\n ? ChartRegistrationAlignmentVerdict.MISALIGNED\n : ChartRegistrationAlignmentVerdict.ALIGNED;\n\n return { backendRefsProvenance, verdict, unregisteredFrontendCharts, orphanBackendCharts };\n}\n\n/**\n * Render the provenance caveat, or `undefined` when the report may be taken at face value.\n *\n * Exists so the two surfaces a person reads — the CLI's summary line and the thrown gate message —\n * cannot word this differently, or one of them forget it. A caveat that appears on one surface is\n * the state this whole change is repairing.\n */\nexport function describeChartRegistrationVerdictCaveat(\n report: ChartRegistrationAlignmentReport,\n): string | undefined {\n if (report.verdict !== ChartRegistrationAlignmentVerdict.CANNOT_VOUCH) return undefined;\n return (\n 'This comparison used the module DECLARATIONS '\n + `(provenance: ${report.backendRefsProvenance}), not the set the backend registers. `\n + 'An application supplying `ApplicationInitializationOverrides.chartDefinitions` REPLACES the '\n + 'declared array, so a dropped chart would read as aligned here and 404 at runtime. '\n + 'Fix: take the backend refs from '\n + '`backendCompanionExports.buildApplicationInitializationConfig().chartDefinitions` and pass '\n + `backendRefsProvenance: ${ChartRegistrationBackendRefsProvenance.EFFECTIVE_INITIALIZATION_CONFIG}.`\n );\n}\n\n/**\n * Throw a verbose, locatable error if any frontend chartView is unregistered\n * backend-side. Only the FAIL channel throws; `orphanBackendCharts` (WARN) never\n * throws. Use in the `--strict` path of the CLI audit / a CI gate.\n *\n * ## `requireVouchedVerdict` defaults to `true`, and that is the point of the parameter\n *\n * A clean FAIL channel is only evidence of alignment when the backend set was the EFFECTIVE one — a\n * chart dropped by an `ApplicationInitializationOverrides.chartDefinitions` override is registered\n * nowhere and declared everywhere, so a comparison against the DECLARATIONS reports ALIGNED about a\n * population the application does not run. So this refuses a\n * {@link ChartRegistrationAlignmentVerdict.CANNOT_VOUCH} report rather than returning quietly, and a\n * caller has to say deliberately that it does not want that.\n *\n * It shipped defaulting to `false` (2026-09-09) for one turn, because the companion's own CI-gate\n * test still composed its backend set from `mergeBackendDomainModules(...)` and defaulting to `true`\n * would have turned a green gate red with no hand able to repair it. That caller was fixed the same\n * day and the default flipped with it. The permissive default is gone deliberately: it protected one\n * known caller and would have silently absolved every future one.\n *\n * Pass `false` only where the verdict is being REPORTED rather than gated — a summary line that\n * prints {@link describeChartRegistrationVerdictCaveat} beside it is honest; a gate that returns\n * quietly is not.\n */\nexport function assertChartRegistrationAligned(\n report: ChartRegistrationAlignmentReport,\n errorPrefix = 'ChartRegistrationAlignment',\n requireVouchedVerdict = true,\n): void {\n if (requireVouchedVerdict && report.verdict === ChartRegistrationAlignmentVerdict.CANNOT_VOUCH) {\n throw new Error(\n `${errorPrefix}: refusing to report alignment. `\n + describeChartRegistrationVerdictCaveat(report),\n );\n }\n if (report.unregisteredFrontendCharts.length === 0) return;\n const lines = report.unregisteredFrontendCharts.map(\n (r) =>\n ` - ${r.resourceType}.${r.chartViewRef} → chartDefinition.ref '${r.chartDefinitionRef}' has no backend chartDefinitions registration`,\n );\n throw new Error(\n `${errorPrefix}: ${report.unregisteredFrontendCharts.length} chart view(s) reference a chart that is NOT registered backend-side (each would 404 with chart_not_found at runtime):\\n` +\n `${lines.join('\\n')}\\n` +\n `Fix: add the shared ChartDefinition to the owning backend module's \\`chartDefinitions\\` array.`,\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"navigation.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/config/frontend/navigation.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAO1F;;;;;;;;;;;;;;;;GAgBG;AACH,oBAAY,oBAAoB;IAC9B;;;;OAIG;IACH,IAAI,SAAS;IACb;;;;OAIG;IACH,OAAO,YAAY;IACnB;;;;;;OAMG;IACH,KAAK,UAAU;IACf;;;;;;;OAOG;IACH,OAAO,YAAY;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,OAAO,YAAY;IACnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,YAAY;CACpB;AACD,0EAA0E;AAE1E;;;;;;;;;;;;;;GAcG;AACH,oBAAY,kBAAkB;IAC5B,oFAAoF;IACpF,OAAO,YAAY;IACnB;;;;OAIG;IACH,SAAS,cAAc;IACvB;;;;;;OAMG;IACH,SAAS,cAAc;CACxB;AAED;;;;;;GAMG;AACH,oBAAY,0BAA0B;IACpC;;;;;OAKG;IACH,MAAM,WAAW;IACjB;;;;;;OAMG;IACH,MAAM,WAAW;CAClB;AAED;;;;;;;;GAQG;AACH,oBAAY,sBAAsB;IAChC;;;;OAIG;IACH,IAAI,SAAS;IACb;;;;OAIG;IACH,OAAO,YAAY;CACpB;AACD,uEAAuE;AAEvE;;;;;;GAMG;AACH,oBAAY,iBAAiB;IAC3B;;;;OAIG;IACH,QAAQ,aAAa;IACrB;;;;OAIG;IACH,WAAW,eAAe;CAC3B;AACD,qEAAqE;AAErE;;;;;GAKG;AACH,oBAAY,iBAAiB;IAC3B;;;;OAIG;IACH,MAAM,WAAW;IACjB;;;;OAIG;IACH,KAAK,UAAU;IACf;;;;OAIG;IACH,MAAM,WAAW;CAClB;AAyBD,uEAAuE;AAMvE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;AAElF;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,oGAQ9E;AAOD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,sBAAsB;;;;iBA0BlC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;mBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAOtE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,+HAA+H;AAC/H,eAAO,MAAM,qBAAqB,EAGlB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACpF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAEvF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB;;iBAS/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;iBAgF3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,qEAAqE;AAOrE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAOxE;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;iBAcrC,CAAC;AAYH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;iBA4C5B,CAAC;AAeH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAO5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;iBAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAOtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;;;;;;;;;;;;;;GAcG;AACH,oBAAY,6BAA6B;IACvC;;;;;;OAMG;IACH,OAAO,YAAY;IACnB;;;;;OAKG;IACH,KAAK,UAAU;IACf;;;;;OAKG;IACH,IAAI,SAAS;CACd;AAED,qGAAqG;AACrG,eAAO,MAAM,wCAAwC,EAAE,6BAAqE,CAAC;AAE7H;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,6BAA6B,GAAG,SAAS,GAAG,OAAO,CAG7G;AAED,yEAAyE;AACzE,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,6BAA6B,GAAG,SAAS,GAAG,OAAO,CAG/G;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoDjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,2DAA2D;AAO3D;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,CAGhF;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAGvE;AAED,6GAA6G;AAC7G,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAGxE;AAOD;;;;;;;;GAQG;AACH,oBAAY,kCAAkC;IAC5C,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,iGAAiG;AACjG,oBAAY,8BAA8B;IACxC;;;;;;;;OAQG;IACH,2BAA2B,gCAAgC;IAC3D;;;;;;;;OAQG;IACH,kCAAkC,uCAAuC;IACzE;;;;;;OAMG;IACH,wBAAwB,6BAA6B;IACrD,oGAAoG;IACpG,0BAA0B,+BAA+B;CAC1D;AAED,8DAA8D;AAC9D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,8BAA8B,CAAC;IACrC,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,gBAAgB,GAAG,0BAA0B,EAAE,CAsFzG"}
|