Coverage for lintro / ai / providers / response.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""AI provider response dataclass. 

2 

3Contains the ``AIResponse`` dataclass used by all AI providers to 

4return completion results with usage metadata. 

5""" 

6 

7from __future__ import annotations 

8 

9from dataclasses import dataclass, field 

10 

11from lintro.ai.provider_enum import AIProvider 

12 

13 

14@dataclass 

15class AIResponse: 

16 """Response from an AI provider API call. 

17 

18 Attributes: 

19 content: The generated text content. 

20 model: Model identifier that produced this response. 

21 input_tokens: Number of input tokens consumed. 

22 output_tokens: Number of output tokens generated. 

23 cost_estimate: Estimated cost in USD for this call. 

24 provider: Name of the provider (e.g., "anthropic", "openai"). 

25 """ 

26 

27 content: str 

28 model: str 

29 input_tokens: int = field(default=0) 

30 output_tokens: int = field(default=0) 

31 cost_estimate: float = field(default=0.0) 

32 provider: AIProvider | str = field(default="")