Улучшить валидацию входа workflow и вынести схемы ответов.

Подключена pydantic-валидация input_schema для сценария, а модели успешного и ошибочного результата запуска вынесены в отдельный модуль для более явных boundary-контрактов.
This commit is contained in:
Barabashka
2026-04-21 17:20:46 +03:00
parent 2b0c748474
commit d341941f87
2 changed files with 109 additions and 35 deletions
+31
View File
@@ -0,0 +1,31 @@
from __future__ import annotations
from typing import Any, Literal
from pydantic import BaseModel
class RunError(BaseModel):
code: str
message: str
class ScenarioRunBase(BaseModel):
scenario_id: str
status: Literal["success", "failed"]
input: dict[str, Any]
class ScenarioRunFailed(ScenarioRunBase):
status: Literal["failed"] = "failed"
scenario_name: str | None = None
error: RunError
class ScenarioRunSuccess(ScenarioRunBase):
status: Literal["success"] = "success"
workflow_name: str
scenario_name: str
result: dict[str, Any]
run_id: str | None = None
session_id: str | None = None