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

1"""Serialized fix suggestion payload for JSON output.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import asdict, dataclass 

6from typing import Any 

7 

8from lintro.ai.enums import ConfidenceLevel, RiskLevel 

9 

10 

11@dataclass 

12class AIFixSuggestionPayload: 

13 """Serialized fix suggestion payload for JSON output.""" 

14 

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 

28 

29 def to_dict(self) -> dict[str, Any]: 

30 """Convert to JSON-serializable dict.""" 

31 return asdict(self)