diff --git a/shared/src/types.ts b/shared/src/types.ts index 54cd457..f4b2549 100644 --- a/shared/src/types.ts +++ b/shared/src/types.ts @@ -312,6 +312,29 @@ export interface LogEntry { message: string; } +export interface LlmCallTypeStats { + templateName: string; + label: string; + count: number; + totalCost: number; + minCost: number; + maxCost: number; + avgCost: number; + retryCount: number; + failCount: number; + retryPct: number; + failPct: number; +} + +export interface LlmStatsData { + types: LlmCallTypeStats[]; + totalCount: number; + totalCost: number; + totalRetries: number; + totalFailures: number; + trackingEnabled: boolean; +} + // Server -> Client events export interface ServerEvents { 'world-state': (data: WorldState) => void; @@ -335,6 +358,8 @@ export interface ServerEvents { 'admin-constants-updated': (data: TunableConstants) => void; 'log-history': (data: LogEntry[]) => void; 'log-entry': (data: LogEntry) => void; + 'admin-llm-stats-result': (data: LlmStatsData) => void; + 'admin-llm-tracking-toggled': (data: { enabled: boolean }) => void; } // Client -> Server events @@ -349,4 +374,6 @@ export interface ClientEvents { 'admin-reset-defaults': () => void; 'log-subscribe': () => void; 'log-unsubscribe': () => void; + 'admin-llm-stats': () => void; + 'admin-toggle-llm-tracking': (data: { enabled: boolean }) => void; }