jezweb-mcp-core
Version:
Jezweb Model Context Protocol (MCP) Core - A universal server for providing AI tools and resources, designed for seamless integration with various AI models and clients. Features adaptable multi-provider support, comprehensive tool and resource management
85 lines • 2.52 kB
TypeScript
/**
* Provider Registry System - MVP Implementation
*
* Simplified registry for managing LLM providers with minimal complexity.
* This is a Minimum Viable Product focused on core functionality.
*
* MVP Features:
* - Basic provider registration and retrieval
* - Simple default provider selection
* - Essential configuration support
*
* Advanced features (commented out for future implementation):
* - Health monitoring, complex selection strategies, dynamic management
*/
import { LLMProvider, LLMProviderFactory, LLMProviderConfig } from './llm-service.js';
/**
* MVP Provider Registry Configuration - Simplified
*/
export interface ProviderRegistryConfig {
/** Default provider name to use */
defaultProvider?: string;
/** Provider configurations */
providers: LLMProviderConfig[];
}
/**
* MVP Provider Registry Class
* Simplified provider management focused on core functionality
*/
export declare class ProviderRegistry {
private providers;
private factories;
private configs;
private config;
private initialized;
constructor(config: ProviderRegistryConfig);
/**
* MVP Initialize the registry with configured providers
*/
initialize(): Promise<void>;
/**
* Register a provider factory
*/
registerFactory(factory: LLMProviderFactory): void;
/**
* MVP Register a provider instance directly
*/
registerProvider(provider: LLMProvider, config?: LLMProviderConfig): Promise<void>;
/**
* Get a provider by name
*/
getProvider(providerName: string): LLMProvider | undefined;
/**
* Get the default provider
*/
getDefaultProvider(): LLMProvider | undefined;
/**
* MVP Select a provider - simplified to default selection only
*/
selectProvider(): LLMProvider;
/**
* MVP Set default provider
*/
setDefaultProvider(providerName: string): void;
/**
* MVP Shutdown the registry
*/
shutdown(): Promise<void>;
/**
* Private Methods
*/
private initializeProvider;
}
/**
* Get or create the global provider registry
*/
export declare function getGlobalProviderRegistry(): ProviderRegistry;
/**
* Initialize the global provider registry
*/
export declare function initializeGlobalProviderRegistry(config: ProviderRegistryConfig): ProviderRegistry;
/**
* Shutdown the global provider registry
*/
export declare function shutdownGlobalProviderRegistry(): Promise<void>;
//# sourceMappingURL=provider-registry.d.ts.map