UNPKG

game-analysis-types

Version:

Common TypeScript types and utilities for game analysis tools.

96 lines 2.28 kB
export declare enum FactionPersona { GENERIC = "GENERIC" } export declare enum CoachingStyle { BALANCED = "BALANCED", AGGRESSIVE = "AGGRESSIVE", DEFENSIVE = "DEFENSIVE" } export declare enum AnalysisType { ROSTER = "ROSTER", GAME = "GAME", MATCHUP = "MATCHUP", META = "META" } export interface AnalysisRequest { id: string; user_id: string; session_id: string; type: AnalysisType; input_data: any; model?: string; status: 'pending' | 'complete' | 'error'; created_at: string; } export interface AnalysisResult { id: string; request_id: string; result: any; created_at: string; } export interface CoachingSession { id: string; user_id: string; created_at: string; updated_at: string; persona: FactionPersona; style: CoachingStyle; analysis_type?: AnalysisType; tournament_context_id?: string; name?: string; } export type CoachingSessionCreateInput = Omit<CoachingSession, 'id' | 'created_at' | 'updated_at'>; export interface CoachingMessage { id: string; session_id: string; user_id: string; created_at: string; role: 'user' | 'coach'; content: string; token_count?: number; } export declare enum RecommendationCategory { TACTIC = "TACTIC", STRATEGY = "STRATEGY", LIST = "LIST", PRACTICE = "PRACTICE" } export declare enum RecommendationPriority { LOW = "LOW", MEDIUM = "MEDIUM", HIGH = "HIGH" } export interface Recommendation { id: string; session_id: string; category: RecommendationCategory; priority: RecommendationPriority; notes: string; metadata?: Record<string, any>; implemented: boolean; created_at: string; } export interface TournamentContext { id: string; user_id: string; title: string; event_details?: string; mission_pack?: string; meta?: string; timeline?: string; practice_plan?: string; created_at: string; } export declare enum CreditTransactionReason { USAGE = "USAGE", GRANT = "GRANT", REFUND = "REFUND" } export interface CoachCreditTransaction { id: string; user_id: string; amount: number; reason: CreditTransactionReason; timestamp: string; } //# sourceMappingURL=coaching.d.ts.map