mirror of
https://github.com/tiennm99/ccstatusline.git
synced 2026-05-14 06:58:26 +00:00
dfa009e7df
Closes #204
27 lines
946 B
TypeScript
27 lines
946 B
TypeScript
import { z } from 'zod';
|
|
|
|
export const FIVE_HOUR_BLOCK_MS = 5 * 60 * 60 * 1000;
|
|
export const SEVEN_DAY_WINDOW_MS = 7 * 24 * 60 * 60 * 1000;
|
|
|
|
export const UsageErrorSchema = z.enum(['no-credentials', 'timeout', 'rate-limited', 'api-error', 'parse-error']);
|
|
export type UsageError = z.infer<typeof UsageErrorSchema>;
|
|
|
|
export interface UsageData {
|
|
sessionUsage?: number; // five_hour.utilization (percentage)
|
|
sessionResetAt?: string; // five_hour.resets_at
|
|
weeklyUsage?: number; // seven_day.utilization (percentage)
|
|
weeklyResetAt?: string; // seven_day.resets_at
|
|
extraUsageEnabled?: boolean;
|
|
extraUsageLimit?: number; // in cents
|
|
extraUsageUsed?: number; // in cents
|
|
extraUsageUtilization?: number;
|
|
error?: UsageError;
|
|
}
|
|
|
|
export interface UsageWindowMetrics {
|
|
sessionDurationMs: number;
|
|
elapsedMs: number;
|
|
remainingMs: number;
|
|
elapsedPercent: number;
|
|
remainingPercent: number;
|
|
} |