from __future__ import annotations from pydantic import BaseModel, Field class ProviderCapability(BaseModel): provider_name: str display_name: str authority_level: str supported_layers: list[str] supported_geometry_types: list[str] supported_query_modes: list[str] fetch_signature: str configured: bool status: str limitation_message: str attribution: str license_note: str not_configured_reason: str | None = None class HealthResponse(BaseModel): status: str service: str version: str build_sha: str | None = None build_time: str | None = None database: str | None = None postgis: str | None = None migration: str | None = None storage: str | None = None checks: dict[str, str] = Field(default_factory=dict) class SystemCapabilities(BaseModel): postgis: bool rasterio: bool geopandas: bool yolo: bool | str yolo_status: str sam: bool | str grb: str sentinel: str version: str build_sha: str | None = None providers: list[ProviderCapability] = Field(default_factory=list) class SystemCapabilitiesEnvelope(BaseModel): data: SystemCapabilities