22 lines
1.0 KiB
Python
22 lines
1.0 KiB
Python
"""Входные параметры агента «Погода».
|
|
|
|
AMS валидирует входящие params этой моделью до вызова handler.step.
|
|
|
|
Важно: loader AMS создаёт `Params()` без аргументов (для интроспекции UI),
|
|
поэтому у всех полей обязаны быть значения по умолчанию. Пустой город
|
|
отсекается уже в handler'е понятным сообщением.
|
|
"""
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class Params(BaseModel):
|
|
# Обрезаем случайные пробелы по краям — « Казань » и «Казань» эквивалентны.
|
|
model_config = ConfigDict(str_strip_whitespace=True)
|
|
|
|
city: str = Field(
|
|
default="",
|
|
max_length=100,
|
|
description="Название города (кириллица или латиница), например «Казань»",
|
|
json_schema_extra={"ui_type": "input", "ui_main": True},
|
|
)
|