game-analysis-types
Version:
Common TypeScript types and utilities for game analysis tools.
62 lines • 1.61 kB
TypeScript
/**
* Common AI related type definitions
*/
/** Options for AI requests */
export interface AIRequestOptions {
temperature?: number;
maxTokens?: number;
systemPrompt?: string;
format?: 'text' | 'json';
type?: string;
batch?: string;
model?: string;
}
/** Represents a request sent to an AI model */
export interface AIRequest {
prompt: string;
options?: AIRequestOptions;
}
/** Represents the token usage statistics for an AI response */
export interface AITokenUsage {
input: number;
output: number;
total: number;
}
/** Represents a response received from an AI model */
export interface AIResponse {
content: string;
model: string;
tokenUsage: AITokenUsage;
cost: number;
error?: string;
metadata?: any;
}
/** Configuration for a specific AI model instance */
export interface AIModelConfig {
id: string;
name: string;
provider: string;
model: string;
apiKey: string;
apiEndpoint?: string;
maxTokens?: number;
temperature?: number;
inputCostPer1K: number;
outputCostPer1K: number;
costPerRequest?: number;
creditCost?: number;
requiresSubscription?: boolean;
minSubscriptionTier?: string;
capabilities?: string[];
pricing?: {
inputCostPer1MTokens: number;
outputCostPer1MTokens: number;
};
}
/** Interface for different AI model interaction strategies */
export interface AIModelStrategy {
getConfig(): AIModelConfig;
generate(request: AIRequest): Promise<AIResponse>;
isAvailable(): Promise<boolean>;
}
//# sourceMappingURL=ai.d.ts.map