adpa-enterprise-framework-automation
Version:
Modular, standards-compliant Node.js/TypeScript automation framework for enterprise requirements, project, and data management. Provides CLI and API for BABOK v3, PMBOK 7th Edition, and DMBOK 2.0 (in progress). Production-ready Express.js API with TypeSpe
68 lines • 1.91 kB
TypeScript
/**
* 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