Source code for axio.types

"""Primitive types: ToolName, ToolCallID, StopReason, Usage."""

from __future__ import annotations

from dataclasses import dataclass
from enum import StrEnum

type ToolName = str
type ToolCallID = str


[docs] class StopReason(StrEnum): end_turn = "end_turn" tool_use = "tool_use" max_tokens = "max_tokens" error = "error"
[docs] @dataclass(frozen=True, slots=True) class Usage: input_tokens: int output_tokens: int def __add__(self, other: Usage) -> Usage: return Usage( input_tokens=self.input_tokens + other.input_tokens, output_tokens=self.output_tokens + other.output_tokens, )