chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from typing import Literal
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class FinancialMetric(BaseModel):
|
||||
source_file: str = Field(
|
||||
description="Workspace-relative source path under data/, such as data/10-k-mdna-overview.txt."
|
||||
)
|
||||
filing_section: Literal[
|
||||
"Part II, Item 7. Management's Discussion and Analysis of Financial Condition and Results of Operations",
|
||||
"Part II, Item 8. Financial Statements and Supplementary Data",
|
||||
] = Field(description="Normalized 10-K filing section for the source document.")
|
||||
metric_name: str = Field(
|
||||
description="Metric label exactly as written in the source document or table."
|
||||
)
|
||||
fiscal_period: Literal["FY2025", "FY2024", "2025-12-31", "2024-12-31"] = Field(
|
||||
description="Annual period label for statement rows, or balance-sheet date for point-in-time rows."
|
||||
)
|
||||
value: float = Field(description="Numeric value from the source row.")
|
||||
unit: Literal["USD millions", "percent"] = Field(
|
||||
description="Unit for `value`; use USD millions for dollar amounts and percent for margins."
|
||||
)
|
||||
segment: str | None = Field(
|
||||
default=None,
|
||||
description="Reportable segment or geography when the row is segment-specific, otherwise null.",
|
||||
)
|
||||
|
||||
|
||||
class FinancialMetricBatch(BaseModel):
|
||||
metrics: list[FinancialMetric] = Field(
|
||||
description="One row per metric-period pair extracted from each source document."
|
||||
)
|
||||
Reference in New Issue
Block a user