from __future__ import annotations from pydantic import BaseModel class PublishReadinessSnapshot(BaseModel): available: bool categories_count: int rules_count: int class PublishReadinessPricingCoverage(BaseModel): total_seats: int priced_seats: int unpriced_seats: int coverage_percent: float class PublishReadinessFlags(BaseModel): validation_publishable: bool snapshot_available: bool require_full_pricing_coverage: bool full_pricing_coverage: bool pricing_gate_passed: bool is_ready_to_publish: bool class PublishReadinessResponse(BaseModel): scheme_id: str scheme_version_id: str status: str validation_summary: dict pricing_coverage: PublishReadinessPricingCoverage snapshot: PublishReadinessSnapshot readiness: PublishReadinessFlags class PublishExecutionResponse(BaseModel): scheme_id: str scheme_version_id: str status: str current_version_number: int published_at: str | None pricing_snapshot: dict validation_summary: dict