1export type Compat = "compatible" | "compatible_with_restrictions" | "experimental" | "not_recommended" | "incompatible";23export interface Model {4 id: string;5 name: string;6 family: string | null;7 provider: string | null;8 architecture: string | null;9 model_type: string | null;10 parameter_count: number | null;11 active_parameter_count: number | null;12 quantization: string | null;13 quant_bits: number | null;14 runtime: "mlx" | "llamacpp";15 format: string;16 path: string;17 weights_file: string | null;18 disk_size_bytes: number;19 weights_bytes: number;20 estimated_ram_gb: number | null;21 kv_bytes_per_token: number | null;22 recommended_context: number | null;23 max_context: number | null;24 task: string;25 vision: boolean;26 embedding: boolean;27 reranker: boolean;28 thinking: boolean;29 tools: boolean;30 size_class: string | null;31 installed: boolean;32 enabled: boolean;33 favorite: boolean;34 pinned: boolean;35 verified: boolean;36 compatible: boolean;37 compatibility_status: Compat;38 compatibility_reason: string | null;39 tags: string[];40 repository: string | null;41 notes: string | null;42 overrides: Record<string, unknown>;43 created_at: number;44 updated_at: number;45 last_loaded_at: number | null;46 last_used_at: number | null;47 load_count: number;48 request_count: number;49 tokens_generated: number;50 min_load_ms: number | null;51 avg_load_ms: number | null;52 max_load_ms: number | null;53 last_load_ms: number | null;54 avg_tps: number | null;55 first_token_latency_ms: number | null;56 status: string;57 loaded: boolean;58 aliases?: string[];59 worker?: Worker;60 progress?: Progress;61}6263export interface Worker {64 model_id: string;65 name: string;66 runtime: string;67 status: string;68 port: number;69 pid: number;70 context: number;71 started_at: number;72 ready_at: number | null;73 last_used: number;74 in_flight: number;75 estimate_gb: number;76 measured_gb: number;77 warm: Record<string, unknown>;78 error: string | null;79 requests: number;80 pinned: boolean;81 elapsed_seconds: number;82 load_ms?: number;83}8485export interface Progress {86 status: string;87 started: number;88 elapsed_seconds: number;89 [k: string]: unknown;90}9192export interface ManagerState {93 loaded: Worker[];94 progress: Record<string, Progress>;95 waiting: Record<string, number>;96 switching: boolean;97 stats: { requests: number; tokens: number; loads: number; unloads: number; evictions: number; errors: number };98 resident_gb: number;99 runtimes: Record<string, boolean>;100}101102export interface Telemetry {103 ts: number;104 mem_total_gb: number;105 mem_used_gb: number;106 mem_available_gb: number;107 mem_wired_gb: number | null;108 mem_compressed_gb: number | null;109 mem_pressure_percent: number | null;110 mem_pressure_level: string;111 swap_used_gb: number;112 swap_total_gb: number;113 cpu_percent: number;114 cpu_per_core: number[];115 load_avg: number[];116 gpu_percent: number | null;117 gpu_renderer_percent: number | null;118 gpu_memory_gb: number | null;119 thermal_state: string;120 thermal_cpu_speed_limit: number | null;121 disk_total_gb: number;122 disk_used_gb: number;123 disk_free_gb: number;124 uptime_seconds: number;125 process_rss_gb: number;126 worker_rss_gb?: number;127 loaded_model?: string | null;128 loaded_models?: string[];129 app_uptime_seconds?: number;130}131132export interface Hardware {133 chip: string;134 memory_gb: number;135 cpu_cores: number;136 performance_cores: number | null;137 efficiency_cores: number | null;138 gpu_cores: number | null;139 os: string;140 os_version: string;141 hostname: string;142 apple_silicon: boolean;143 disk_total_gb: number;144 python: string;145}146147export interface Job {148 id: string;149 kind: string;150 title: string;151 payload: Record<string, unknown>;152 status: "queued" | "running" | "completed" | "failed" | "cancelled";153 progress: number;154 detail: Record<string, unknown>;155 result: unknown;156 error: string | null;157 created_at: number;158 started_at: number | null;159 finished_at: number | null;160}161162export interface ApiKey {163 id: number;164 name: string;165 prefix: string;166 scopes: string[];167 created_at: number;168 last_used_at: number | null;169 request_count: number;170 revoked_at: number | null;171}172173export interface Benchmark {174 id: number;175 model_id: string;176 created_at: number;177 load_ms: number | null;178 prompt_tokens: number | null;179 prompt_tps: number | null;180 generation_tokens: number | null;181 generation_tps: number | null;182 ttft_ms: number | null;183 peak_memory_gb: number | null;184 avg_memory_gb: number | null;185 cpu_percent: number | null;186 gpu_percent: number | null;187 thermal_state: string | null;188 context: number | null;189 runtime: string | null;190 params: Record<string, unknown> | string | null;191}192193export interface Candidate {194 repo_id: string;195 runtime: string;196 family: string;197 base_model: string;198 name: string;199 task: string;200 quantization: string | null;201 parameter_count: number | null;202 download_bytes: number | null;203 estimated_ram_gb: number | null;204 size_class: string | null;205 compatibility_status: Compat;206 compatibility_reason: string | null;207 downloads: number;208 likes: number;209 last_modified: string;210 duplicate_of: string | null;211 installed: number;212 selected: number;213 dismissed: number;214 score: number;215}216217export interface SystemInfo {218 hardware: Hardware;219 telemetry: Telemetry;220 manager: ManagerState;221 policy: { max_model_memory_gb: number; absolute_max_memory_gb: number; max_simultaneous_models: number; macos_reserve_gb: number; min_free_disk_gb: number };222 version: string;223 started_at: number;224 runtimes: Record<string, string | null>;225}226