Coverage for lintro / ai / metadata / summary_payload.py: 100%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""Serialized summary payload for JSON output."""
3from __future__ import annotations
5from dataclasses import asdict, dataclass, field
6from typing import Any
9@dataclass
10class AISummaryPayload:
11 """Serialized summary payload for JSON output."""
13 overview: str = ""
14 key_patterns: list[str] = field(default_factory=list)
15 priority_actions: list[str] = field(default_factory=list)
16 triage_suggestions: list[str] = field(default_factory=list)
17 estimated_effort: str = ""
18 input_tokens: int = 0
19 output_tokens: int = 0
20 cost_estimate: float = 0.0
22 def to_dict(self) -> dict[str, Any]:
23 """Convert to JSON-serializable dict."""
24 return asdict(self)