Spaces:
Paused
Paused
File size: 1,524 Bytes
2996fd8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | export interface AccountQuotaWindow {
used_percent?: number | null;
limit_reached?: boolean;
reset_at?: number | null;
limit_window_seconds?: number | null;
}
export interface AccountQuota {
rate_limit?: AccountQuotaWindow;
/** Secondary rate limit window (e.g. weekly cap). */
secondary_rate_limit?: AccountQuotaWindow | null;
}
export interface Account {
id: string;
email: string;
status: string;
planType?: string;
usage?: {
request_count?: number;
input_tokens?: number;
output_tokens?: number;
window_request_count?: number;
window_input_tokens?: number;
window_output_tokens?: number;
};
quota?: AccountQuota;
proxyId?: string;
proxyName?: string;
}
export interface ProxyHealthInfo {
exitIp: string | null;
latencyMs: number;
lastChecked: string;
error: string | null;
}
export interface ProxyEntry {
id: string;
name: string;
url: string;
status: "active" | "unreachable" | "disabled";
health: ProxyHealthInfo | null;
addedAt: string;
}
export interface ProxyAssignment {
accountId: string;
proxyId: string;
}
export type DiagnosticStatus = "pass" | "fail" | "skip";
export interface DiagnosticCheck {
name: string;
status: DiagnosticStatus;
latencyMs: number;
detail: string | null;
error: string | null;
}
export interface TestConnectionResult {
checks: DiagnosticCheck[];
overall: DiagnosticStatus;
timestamp: string;
}
|