Test / api /models /responses.py
vladpp91's picture
Deploy free-claude-code FastAPI proxy as Docker space
6172a47
Raw
History Blame Contribute Delete
1.09 kB
"""Pydantic models for API responses."""
from typing import Any, Literal
from pydantic import BaseModel
from .anthropic import ContentBlockText, ContentBlockThinking, ContentBlockToolUse
class TokenCountResponse(BaseModel):
input_tokens: int
class ModelResponse(BaseModel):
created_at: str
display_name: str
id: str
type: Literal["model"] = "model"
class ModelsListResponse(BaseModel):
data: list[ModelResponse]
first_id: str | None
has_more: bool
last_id: str | None
class Usage(BaseModel):
input_tokens: int
output_tokens: int
cache_creation_input_tokens: int = 0
cache_read_input_tokens: int = 0
class MessagesResponse(BaseModel):
id: str
model: str
role: Literal["assistant"] = "assistant"
content: list[
ContentBlockText | ContentBlockToolUse | ContentBlockThinking | dict[str, Any]
]
type: Literal["message"] = "message"
stop_reason: (
Literal["end_turn", "max_tokens", "stop_sequence", "tool_use"] | None
) = None
stop_sequence: str | None = None
usage: Usage