mirror of
https://github.com/tiennm99/ccstatusline.git
synced 2026-05-14 10:58:16 +00:00
dfa009e7df
Closes #204
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import type {
|
|
BlockMetrics,
|
|
SkillsMetrics
|
|
} from '../types';
|
|
|
|
import type { SpeedMetrics } from './SpeedMetrics';
|
|
import type { StatusJSON } from './StatusJSON';
|
|
import type { TokenMetrics } from './TokenMetrics';
|
|
|
|
export interface RenderUsageData {
|
|
sessionUsage?: number;
|
|
sessionResetAt?: string;
|
|
weeklyUsage?: number;
|
|
weeklyResetAt?: string;
|
|
extraUsageEnabled?: boolean;
|
|
extraUsageLimit?: number;
|
|
extraUsageUsed?: number;
|
|
extraUsageUtilization?: number;
|
|
error?: 'no-credentials' | 'timeout' | 'rate-limited' | 'api-error' | 'parse-error';
|
|
}
|
|
|
|
export interface RenderContext {
|
|
data?: StatusJSON;
|
|
tokenMetrics?: TokenMetrics | null;
|
|
speedMetrics?: SpeedMetrics | null;
|
|
windowedSpeedMetrics?: Record<string, SpeedMetrics> | null;
|
|
usageData?: RenderUsageData | null;
|
|
sessionDuration?: string | null;
|
|
blockMetrics?: BlockMetrics | null;
|
|
skillsMetrics?: SkillsMetrics | null;
|
|
terminalWidth?: number | null;
|
|
isPreview?: boolean;
|
|
lineIndex?: number; // Index of the current line being rendered (for theme cycling)
|
|
globalSeparatorIndex?: number; // Global separator index that continues across lines
|
|
} |