/** * Core AI Types and Interfaces Module for Requirements Gathering Agent * * Defines essential TypeScript interfaces and types for AI provider integration, * message handling, and response processing across the system. * * @version 2.1.3 * @author Requirements Gathering Agent Team * @created 2024 * @updated June 2025 * * Key Features: * - Comprehensive AI provider type definitions * - Message and response interface specifications * - Metrics and performance tracking types * - Configuration and validation interfaces * - Cross-module type consistency * * @filepath c:\Users\menno\Source\Repos\requirements-gathering-agent\src\modules\ai\types.ts */ export interface ChatMessage { role: 'system' | 'user' | 'assistant'; content: string; } export interface ProviderMetrics { totalCalls: number; successfulCalls: number; failedCalls: number; totalResponseTime: number; averageResponseTime: number; lastUsed: Date; rateLimitHits: number; errors: { [errorType: string]: number; }; } export interface RetryConfig { maxRetries: number; baseDelay: number; maxDelay: number; backoffMultiplier: number; retryableErrors: string[]; } export type AIProvider = 'azure-openai' | 'azure-openai-key' | 'azure-openai-entra' | 'github-ai' | 'ollama' | 'azure-ai-studio' | 'google-ai'; export interface AIClientConfig { provider: AIProvider; endpoint?: string; apiKey?: string; deployment?: string; model?: string; useEntraID?: boolean; } export interface AIResponse { content: string; metadata?: { provider: AIProvider; responseTime: number; tokensUsed?: number; }; } export interface ProjectContext { projectName: string; programName?: string; programManager?: string; projectType?: string; description?: string; } //# sourceMappingURL=types.d.ts.map