"""Response shapes for app/routers/rpa.py — the Connectors screen's
provider-driven forms (RPA platforms, SQL databases, file transfer) and
Task Designer's RPA process picker."""

from pydantic import BaseModel

from app.schemas.payments import PaymentProviderField


class ConnectorProvider(BaseModel):
    id: str
    name: str
    tagline: str
    environments: list[str] = []
    docs_url: str | None = None
    fields: list[PaymentProviderField]
    notes: str = ""
    # RPA only: "jobs" (start a process), "queues" (add a queue item),
    # "status" (a started job can be checked/waited on later).
    capabilities: list[str] = []


RpaProvider = ConnectorProvider


class RpaProcess(BaseModel):
    id: str  # what a Task node stores in rpa_process
    name: str
    description: str = ""
