feat: агент «Погода» для AMS (Open-Meteo + met.no)

This commit is contained in:
Maksim Totmin
2026-09-23 19:03:10 +07:00
commit 534ff9c5b0
9 changed files with 696 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
"""Входные параметры агента «Погода».
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},
)