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

1"""Serialized summary payload for JSON output.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import asdict, dataclass, field 

6from typing import Any 

7 

8 

9@dataclass 

10class AISummaryPayload: 

11 """Serialized summary payload for JSON output.""" 

12 

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 

21 

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

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

24 return asdict(self)