# generated by datamodel-codegen: # filename: insight_card.json from __future__ import annotations from enum import StrEnum from pydantic import AwareDatetime, BaseModel, ConfigDict, constr class Page(StrEnum): TRADING_DESK = 'TRADING_DESK' RESOURCE_POOL = 'RESOURCE_POOL' OPERATIONS_DASHBOARD = 'OPERATIONS_DASHBOARD' 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 | None class Kind(StrEnum): SITUATION_REPORT = 'SITUATION_REPORT' REVIEW_FINDING = 'REVIEW_FINDING' DECISION_CASE = 'DECISION_CASE' POTENTIAL_ASSESSMENT = 'POTENTIAL_ASSESSMENT' class Source(BaseModel): model_config = ConfigDict( extra='forbid', ) kind: Kind id: constr(min_length=1) ref: constr(pattern=r'^[0-9a-f]{64}$') | None class InsightCard(BaseModel): model_config = ConfigDict( extra='forbid', ) id: constr(min_length=1) page: Page market_date: constr(pattern=r'^\d{4}-\d{2}-\d{2}$') title: constr(min_length=1) headline: constr(min_length=1) metrics: list[Metric] source: Source generated_at: AwareDatetime