# generated by datamodel-codegen: # filename: skill_report.json from __future__ import annotations from enum import StrEnum from pydantic import AwareDatetime, BaseModel, ConfigDict, constr class Kind(StrEnum): DAY_AHEAD_BID_SUMMARY = 'DAY_AHEAD_BID_SUMMARY' FORECAST_EVAL = 'FORECAST_EVAL' BID_BACKTEST = 'BID_BACKTEST' class Ref(BaseModel): model_config = ConfigDict( extra='forbid', ) tool_call_id: constr(min_length=1) path: constr(min_length=1) class Metric(BaseModel): model_config = ConfigDict( extra='forbid', ) name: constr(min_length=1) value: constr(pattern=r'^-?\d+(\.\d+)?$') unit: constr(min_length=1) ref: Ref class Section(BaseModel): model_config = ConfigDict( extra='forbid', ) title: constr(min_length=1) metrics: list[Metric] notes: list[str] class SkillReport(BaseModel): model_config = ConfigDict( extra='forbid', ) id: constr(min_length=1) kind: Kind market_date: constr(pattern=r'^\d{4}-\d{2}-\d{2}$') sections: list[Section] skill_version: constr(pattern=r'^\d+\.\d+\.\d+$') generated_at: AwareDatetime