from __future__ import annotations from pydantic import BaseModel class PluginSummaryDTO(BaseModel): plugin_id: str name: str version: str channel_type: str status: str source: str is_configured: bool class PluginDetailDTO(BaseModel): plugin_id: str name: str version: str channel_type: str status: str source: str is_configured: bool capabilities: dict config_schema: dict | None = None registered_at: str | None = None error: str | None = None class PluginListDTO(BaseModel): plugins: list[PluginSummaryDTO] total: int class ReloadResultDTO(BaseModel): plugin_id: str old_version: str new_version: str success: bool