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
58 lines • 2.08 kB
TypeScript
/**
* Enhanced AI Client Manager Module for Requirements Gathering Agent
*
* Advanced client management system with improved connection pooling, error handling,
* and multi-provider authentication for reliable AI service integration.
*
* @version 2.1.3
* @author Requirements Gathering Agent Team
* @created 2024
* @updated June 2025
*
* Key Features:
* - Multi-provider client management (Azure, Google, GitHub, Ollama)
* - Advanced connection pooling and resource management
* - Robust authentication handling (API keys, Entra ID, tokens)
* - Enhanced error handling and recovery mechanisms
* - Performance optimization and monitoring
*
* @filepath c:\Users\menno\Source\Repos\requirements-gathering-agent\src\modules\ai\AIClientManager.ts
*/
import { AIProvider } from "./types.js";
declare class AIClientManager {
private static instance;
private clients;
private initialized;
private skipAI;
private config;
private readonly MAX_CONNECTION_ATTEMPTS;
private readonly CONNECTION_TIMEOUT_MS;
private constructor();
static getInstance(): AIClientManager;
initializeClients(): Promise<void>;
initializeSpecificProvider(provider: AIProvider): Promise<void>;
private initializeProvider;
private initializeGoogleAI;
private initializeAzureOpenAIWithEntra;
private initializeAzureOpenAIWithKey;
private initializeAzureAIStudio;
private initializeGitHubAI;
private initializeOllama;
private setClient;
private validateConnection;
private performHealthCheck;
private healthCheckAzureOpenAI;
private healthCheckAzureAIStudio;
private healthCheckGitHubAI;
private createTimeoutPromise;
private enhanceConnectionError;
getClient(provider?: AIProvider): any;
getCurrentProvider(): AIProvider;
isInitialized(): boolean;
shouldSkipAI(): boolean;
getClientHealth(): Record<string, any>;
refreshConnection(provider?: AIProvider): Promise<void>;
cleanup(): void;
}
export { AIClientManager };
//# sourceMappingURL=AIClientManager.d.ts.map