"""Schemas for Claude Code Integration API endpoints.""" from __future__ import annotations from datetime import datetime from typing import Any from sqlmodel import SQLModel class SessionTokensRead(SQLModel): input: int output: int cache_read: int cache_write: int total: int class ClaudeSessionRead(SQLModel): session_id: str project_dir: str cwd: str | None = None title: str | None = None models: list[str] tokens: SessionTokensRead cost_usd: float message_count: int first_message_at: datetime | None = None last_message_at: datetime | None = None is_active: bool entrypoints: list[str] git_branch: str | None = None version: str | None = None class ClaudeSessionStatsRead(SQLModel): session_count: int active_sessions: int total_tokens: int total_cost_usd: float models: list[str] class ClaudeSessionListResponse(SQLModel): sessions: list[ClaudeSessionRead] total: int stats: ClaudeSessionStatsRead class ClaudeProjectRead(SQLModel): project_dir: str cwd: str | None = None session_count: int total_tokens: int total_cost_usd: float last_active_at: datetime | None = None is_active: bool class ClaudeConfigRead(SQLModel): claude_settings: dict[str, Any] codex_config: dict[str, Any] codex_rules: list[str] claude_credentials_configured: bool codex_credentials_configured: bool