game-analysis-types
Version:
Common TypeScript types and utilities for game analysis tools.
96 lines • 2.28 kB
TypeScript
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