from __future__ import annotations from typing import Literal from pydantic import BaseModel class RouteResponse(BaseModel): sectors: list[str] lens: list[str] type: list[str] class BindResponse(BaseModel): indicator_id: str variables: list[str] measurable: Literal["MEASURABLE", "PROXY", "NOT_MEASURABLE"] reasons: str result_ids: list[str] = [] class PickVarsResponse(BaseModel): candidate_variables: list[str] # 1–2 Kobo variable names; empty if no match found