Coverage for lintro / ai / metadata / fix_suggestion_payload.py: 100%
21 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 fix suggestion payload for JSON output."""
3from __future__ import annotations
5from dataclasses import asdict, dataclass
6from typing import Any
8from lintro.ai.enums import ConfidenceLevel, RiskLevel
11@dataclass
12class AIFixSuggestionPayload:
13 """Serialized fix suggestion payload for JSON output."""
15 file: str = ""
16 line: int = 0
17 code: str = ""
18 tool_name: str = ""
19 original_code: str = ""
20 suggested_code: str = ""
21 explanation: str = ""
22 confidence: ConfidenceLevel | str = ""
23 risk_level: RiskLevel | str = ""
24 diff: str = ""
25 input_tokens: int = 0
26 output_tokens: int = 0
27 cost_estimate: float = 0.0
29 def to_dict(self) -> dict[str, Any]:
30 """Convert to JSON-serializable dict."""
31 return asdict(self)