import { Schema } from "effect"; export interface ServiceInfo { name: string; port: number; internal_port: number; protocol: string; status: string; description?: string | null;} export interface SystemConfig { host: string; port: number; inference_port: number; api_key_configured: boolean; models_dir: string; data_dir: string; db_path: string; sglang_python: string | null; llama_bin: string | null; mlx_python: string | null;} export interface EnvironmentInfo { controller_url: string; inference_url: string; frontend_url: string;} export interface RuntimeBackendInfo { installed: boolean; version: string | null; python_path?: string | null; binary_path?: string | null; upgrade_command_available?: boolean;} export type EngineBackend = "vllm" | "sglang" | "llamacpp" | "mlx"; export const RUNTIME_JOB_BACKENDS = ["vllm", "sglang", "llamacpp", "mlx", "cuda", "rocm"] as const; export type RuntimeJobBackend = (typeof RUNTIME_JOB_BACKENDS)[number]; export type RuntimeKind = "venv" | "docker" | "binary" | "system"; export const RUNTIME_JOB_TYPES = ["install", "update"] as const; export type RuntimeJobType = (typeof RUNTIME_JOB_TYPES)[number]; export interface RuntimeTarget { id: string; backend: EngineBackend; kind: RuntimeKind; label: string; installed: boolean; active: boolean; version: string | null; pythonPath?: string | null; binaryPath?: string | null; dockerImage?: string | null; source: "configured" | "discovered" | "running" | "bundled"; capabilities: { canLaunch: boolean; canUpdate: boolean; canInspectOptions: boolean; supportsDocker: boolean; }; health: { status: "ok" | "warning" | "error" | "unknown"; message?: string; }; update?: { currentVersion: string | null; targetVersion: string; packageSpec: string; releaseNotesUrl: string; restartRequired: boolean; changes: string[]; };} export interface EngineJob { id: string; backend: RuntimeJobBackend; targetId?: string; type: RuntimeJobType; status: "queued" | "running" | "success" | "error" | "cancelled"; progress?: number; message: string; command?: string; startedAt: string; finishedAt?: string; outputTail?: string; error?: string;} export const EngineJobSchema = Schema.Struct({ id: Schema.String, backend: Schema.Literals(["vllm", "sglang", "llamacpp", "mlx"]), targetId: Schema.optional(Schema.String), type: Schema.Literals(RUNTIME_JOB_TYPES), status: Schema.Literals(["queued", "running", "success", "error", "cancelled"]), progress: Schema.optional(Schema.Number), message: Schema.String, command: Schema.optional(Schema.String), startedAt: Schema.String, finishedAt: Schema.optional(Schema.String), outputTail: Schema.optional(Schema.String), error: Schema.optional(Schema.String),}); export type RuntimePlatformKind = "cuda" | "rocm" | "metal" | "unknown"; export type RuntimeRocmSmiTool = "amd-smi" | "rocm-smi"; export type RuntimeGpuMonitoringTool = | "nvidia-smi" | "intel-sysfs" | "apple-metal" | RuntimeRocmSmiTool; export interface RuntimeCudaInfo { driver_version: string | null; cuda_version: string | null; upgrade_command_available: boolean;} export interface RuntimeRocmInfo { rocm_version: string | null; hip_version: string | null; smi_tool: RuntimeRocmSmiTool | null; gpu_arch: string[]; upgrade_command_available: boolean;} export interface RuntimeTorchBuildInfo { torch_version: string | null; torch_cuda: string | null; torch_hip: string | null;} export interface RuntimePlatformInfo { kind: RuntimePlatformKind; vendor: "nvidia" | "amd" | "apple" | null; rocm: RuntimeRocmInfo | null; torch: RuntimeTorchBuildInfo;} export interface RuntimeGpuMonitoringInfo { available: boolean; tool: RuntimeGpuMonitoringTool | null;} export interface RuntimeGpuInfoSummary { count: number; types: string[];} export type CompatibilitySeverity = "info" | "warn" | "error"; export interface CompatibilityCheck { id: string; severity: CompatibilitySeverity; message: string; evidence: string | null; suggested_fix: string | null;} export interface SystemRuntimeInfo { platform: RuntimePlatformInfo; gpu_monitoring: RuntimeGpuMonitoringInfo; cuda: RuntimeCudaInfo; gpus: RuntimeGpuInfoSummary; backends: { vllm: RuntimeBackendInfo; sglang: RuntimeBackendInfo; llamacpp: RuntimeBackendInfo; mlx?: RuntimeBackendInfo; };} export interface CompatibilityReport { platform: { kind: RuntimePlatformKind; }; gpu_monitoring: RuntimeGpuMonitoringInfo; torch: RuntimeTorchBuildInfo; backends: SystemRuntimeInfo["backends"]; checks: CompatibilityCheck[];} export interface ConfigData { config: SystemConfig; services: ServiceInfo[]; environment: EnvironmentInfo; runtime: SystemRuntimeInfo;} export interface RuntimeUpgradeResult { success: boolean; version: string | null; output: string | null; error: string | null; used_command: string | null;}
import { Schema } from "effect";
export interface ServiceInfo {
name: string;
port: number;
internal_port: number;
protocol: string;
status: string;
description?: string | null;
}
export interface SystemConfig {
host: string;
port: number;
inference_port: number;
api_key_configured: boolean;
models_dir: string;
data_dir: string;
db_path: string;
sglang_python: string | null;
llama_bin: string | null;
mlx_python: string | null;
}
export interface EnvironmentInfo {
controller_url: string;
inference_url: string;
frontend_url: string;
}
export interface RuntimeBackendInfo {
installed: boolean;
version: string | null;
python_path?: string | null;
binary_path?: string | null;
upgrade_command_available?: boolean;
}
export type EngineBackend = "vllm" | "sglang" | "llamacpp" | "mlx";
export const RUNTIME_JOB_BACKENDS = ["vllm", "sglang", "llamacpp", "mlx", "cuda", "rocm"] as const;
export type RuntimeJobBackend = (typeof RUNTIME_JOB_BACKENDS)[number];
export type RuntimeKind = "venv" | "docker" | "binary" | "system";
export const RUNTIME_JOB_TYPES = ["install", "update"] as const;
export type RuntimeJobType = (typeof RUNTIME_JOB_TYPES)[number];
export interface RuntimeTarget {
id: string;
backend: EngineBackend;
kind: RuntimeKind;
label: string;
installed: boolean;
active: boolean;
version: string | null;
pythonPath?: string | null;
binaryPath?: string | null;
dockerImage?: string | null;
source: "configured" | "discovered" | "running" | "bundled";
capabilities: {
canLaunch: boolean;
canUpdate: boolean;
canInspectOptions: boolean;
supportsDocker: boolean;
};
health: {
status: "ok" | "warning" | "error" | "unknown";
message?: string;
};
update?: {
currentVersion: string | null;
targetVersion: string;
packageSpec: string;
releaseNotesUrl: string;
restartRequired: boolean;
changes: string[];
};
}
export interface EngineJob {
id: string;
backend: RuntimeJobBackend;
targetId?: string;
type: RuntimeJobType;
status: "queued" | "running" | "success" | "error" | "cancelled";
progress?: number;
message: string;
command?: string;
startedAt: string;
finishedAt?: string;
outputTail?: string;
error?: string;
}
export const EngineJobSchema = Schema.Struct({
id: Schema.String,
backend: Schema.Literals(["vllm", "sglang", "llamacpp", "mlx"]),
targetId: Schema.optional(Schema.String),
type: Schema.Literals(RUNTIME_JOB_TYPES),
status: Schema.Literals(["queued", "running", "success", "error", "cancelled"]),
progress: Schema.optional(Schema.Number),
message: Schema.String,
command: Schema.optional(Schema.String),
startedAt: Schema.String,
finishedAt: Schema.optional(Schema.String),
outputTail: Schema.optional(Schema.String),
error: Schema.optional(Schema.String),
});
export type RuntimePlatformKind = "cuda" | "rocm" | "metal" | "unknown";
export type RuntimeRocmSmiTool = "amd-smi" | "rocm-smi";
export type RuntimeGpuMonitoringTool =
| "nvidia-smi"
| "intel-sysfs"
| "apple-metal"
| RuntimeRocmSmiTool;
export interface RuntimeCudaInfo {
driver_version: string | null;
cuda_version: string | null;
upgrade_command_available: boolean;
}
export interface RuntimeRocmInfo {
rocm_version: string | null;
hip_version: string | null;
smi_tool: RuntimeRocmSmiTool | null;
gpu_arch: string[];
upgrade_command_available: boolean;
}
export interface RuntimeTorchBuildInfo {
torch_version: string | null;
torch_cuda: string | null;
torch_hip: string | null;
}
export interface RuntimePlatformInfo {
kind: RuntimePlatformKind;
vendor: "nvidia" | "amd" | "apple" | null;
rocm: RuntimeRocmInfo | null;
torch: RuntimeTorchBuildInfo;
}
export interface RuntimeGpuMonitoringInfo {
available: boolean;
tool: RuntimeGpuMonitoringTool | null;
}
export interface RuntimeGpuInfoSummary {
count: number;
types: string[];
}
export type CompatibilitySeverity = "info" | "warn" | "error";
export interface CompatibilityCheck {
id: string;
severity: CompatibilitySeverity;
message: string;
evidence: string | null;
suggested_fix: string | null;
}
export interface SystemRuntimeInfo {
platform: RuntimePlatformInfo;
gpu_monitoring: RuntimeGpuMonitoringInfo;
cuda: RuntimeCudaInfo;
gpus: RuntimeGpuInfoSummary;
backends: {
vllm: RuntimeBackendInfo;
sglang: RuntimeBackendInfo;
llamacpp: RuntimeBackendInfo;
mlx?: RuntimeBackendInfo;
};
}
export interface CompatibilityReport {
platform: {
kind: RuntimePlatformKind;
};
gpu_monitoring: RuntimeGpuMonitoringInfo;
torch: RuntimeTorchBuildInfo;
backends: SystemRuntimeInfo["backends"];
checks: CompatibilityCheck[];
}
export interface ConfigData {
config: SystemConfig;
services: ServiceInfo[];
environment: EnvironmentInfo;
runtime: SystemRuntimeInfo;
}
export interface RuntimeUpgradeResult {
success: boolean;
version: string | null;
output: string | null;
error: string | null;
used_command: string | null;
}