shin / src /free_claude_code /api /ports.py
shinmentakezo07
feat: add usage tracking with live throughput rates and analytics dashboard
e8f2acc
Raw
History Blame Contribute Delete
1.68 kB
"""Runtime capabilities consumed by the HTTP API adapter."""
from collections.abc import Mapping
from dataclasses import dataclass
from typing import Any, Protocol
from free_claude_code.application.connected_accounts import (
ConnectedAccountLoginMode,
ConnectedAccountStatus,
)
from free_claude_code.application.model_metadata import ProviderModelRefreshResult
from free_claude_code.application.ports import RequestRuntimePort, TaskController
class AdminRuntimePort(Protocol):
"""Runtime operations exposed by the local Admin API."""
async def apply_admin_config(
self, updates: Mapping[str, Any]
) -> dict[str, Any]: ...
def admin_status(self) -> dict[str, Any]: ...
async def test_provider(self, provider_id: str) -> dict[str, Any]: ...
async def refresh_models(self) -> ProviderModelRefreshResult: ...
def usage_stats(self) -> dict[str, Any]: ...
async def request_restart(self) -> None: ...
async def connected_account_status(
self, provider_id: str
) -> ConnectedAccountStatus: ...
async def start_connected_account_login(
self,
provider_id: str,
mode: ConnectedAccountLoginMode,
) -> ConnectedAccountStatus: ...
async def cancel_connected_account_login(
self, provider_id: str
) -> ConnectedAccountStatus: ...
async def disconnect_connected_account(
self, provider_id: str
) -> ConnectedAccountStatus: ...
@dataclass(frozen=True, slots=True)
class ApiServices:
"""Complete runtime boundary required to construct the API application."""
requests: RequestRuntimePort
admin: AdminRuntimePort
tasks: TaskController