"""Pydantic request/response models for config API."""

from __future__ import annotations
from typing import Any, Optional
from pydantic import BaseModel


class ServiceConfigResponse(BaseModel):
    service_id: str
    model: str
    system_prompt: Optional[str] = None
    prompt_template_id: Optional[str] = None
    temperature: float = 0.0
    max_output_tokens: int = 4096
    extra: dict[str, Any] = {}


class ServiceConfigUpdate(BaseModel):
    model: Optional[str] = None
    system_prompt: Optional[str] = None
    prompt_template_id: Optional[str] = None
    temperature: Optional[float] = None
    max_output_tokens: Optional[int] = None
    extra: Optional[dict[str, Any]] = None
