Files
nessi 58eab24258 chore: initial project setup with AI usage dashboard for Codex and Devin
Add FastAPI-based monitoring dashboard with support for Codex CLI and Devin API v3 Enterprise consumption tracking. Includes Docker deployment, systemd service configuration, kiosk mode launcher, comprehensive documentation, and demo mode for testing without credentials.
2026-09-18 11:34:33 +02:00

36 lines
1017 B
Python

from datetime import datetime
from typing import Literal
from pydantic import BaseModel, Field
class UsageLimit(BaseModel):
id: str
name: str
used_percent: float | None = Field(default=None, ge=0, le=100)
remaining_percent: float | None = Field(default=None, ge=0, le=100)
used: float | None = Field(default=None, ge=0)
remaining: float | None = Field(default=None, ge=0)
limit: float | None = Field(default=None, ge=0)
unit: str | None = None
reset_at: datetime | None = None
window: str | None = None
updated_at: datetime
class ProviderUsage(BaseModel):
provider: Literal['codex', 'devin']
status: Literal['ok', 'error', 'disabled']
limits: list[UsageLimit] = Field(default_factory=list)
error: str | None = None
last_successful_update: datetime | None = None
source: str | None = None
class UsageResponse(BaseModel):
codex: ProviderUsage
devin: ProviderUsage
server_time: datetime
demo_mode: bool
refresh_interval: int