"""Prior-art veri modelleri — Espacenet + Google Patents için ortak schema."""

from __future__ import annotations

from pydantic import BaseModel, Field


class PriorArtHit(BaseModel):
    """Tek bir patent hit'i (arama sonucu veya AI analiz girdisi).

    Source-agnostic; hem EPO OPS hem Google Patents hit'leri bu şemaya çevrilir.
    """

    source: str = Field(..., description="'epo' | 'google'")
    patent_no: str = Field(..., description="Örn. EP1234567B1, US10000000B2, WO2020123456A1")
    title: str | None = Field(default=None)
    abstract: str | None = Field(default=None)
    applicant: str | None = Field(default=None)
    inventors: list[str] | None = Field(default=None)
    filing_date: str | None = Field(default=None, description="ISO 8601 YYYY-MM-DD")
    publication_date: str | None = Field(default=None, description="ISO 8601 YYYY-MM-DD")
    cpc_classes: list[str] | None = Field(default=None)
    url: str | None = Field(default=None)
