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
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""AI provider response dataclass.
3Contains the ``AIResponse`` dataclass used by all AI providers to
4return completion results with usage metadata.
5"""
7from __future__ import annotations
9from dataclasses import dataclass, field
11from lintro.ai.provider_enum import AIProvider
14@dataclass
15class AIResponse:
16 """Response from an AI provider API call.
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 """
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="")