from pydantic import BaseModel, HttpUrl class ParseRequest(BaseModel): spec_url: HttpUrl path: str | None = None method: str | None = None class Parameter(BaseModel): name: str location: str # query, path, header, cookie type: str required: bool description: str | None = None class FieldInfo(BaseModel): type: str format: str | None = None class RequestBody(BaseModel): content_type: str fields: dict[str, FieldInfo] class Response(BaseModel): status_code: str description: str | None = None content_type: str | None = None fields: dict[str, FieldInfo] class EndpointInfo(BaseModel): path: str method: str summary: str | None = None description: str | None = None operation_id: str | None = None parameters: list[Parameter] request_body: RequestBody | None = None responses: list[Response] class ParseResponse(BaseModel): endpoints: list[EndpointInfo]