| 140 | |
| 141 | |
| 142 | class ExtractionReport(BaseModel): |
| 143 | version: Literal[1] = 1 |
| 144 | command: Literal["extract"] = "extract" |
| 145 | timestamp: str |
| 146 | git: GitInfo |
| 147 | config: ExtractConfig |
| 148 | elapsed_seconds: float |
| 149 | summary: ExtractSummary |
| 150 | db_before: DbCounts |
| 151 | db_after: DbCounts |
| 152 | usage: TokenUsage = Field(default_factory=TokenUsage) |
| 153 | option_counts: OptionCountSummary = Field(default_factory=OptionCountSummary.empty) |
| 154 | failures: list[FailureEntry] = Field(default_factory=list) |
| 155 | skips: list[SkipEntry] = Field(default_factory=list) |
| 156 | batch_manifest: dict[str, Any] | None = None |
| 157 | reason: str | None = None |
no outgoing calls