UNPKG

mcp-omnisearch

Version:

MCP server for integrating Omnisearch with LLMs

52 lines (51 loc) 1.77 kB
// Track available providers by category export const available_providers = { search: new Set(), ai_response: new Set(), processing: new Set(), enhancement: new Set(), }; class ProviderRegistry { constructor() { this.search_providers = new Map(); this.processing_providers = new Map(); this.enhancement_providers = new Map(); } register_search_provider(provider, is_ai_response = false) { this.search_providers.set(provider.name, provider); if (is_ai_response) { available_providers.ai_response.add(provider.name); } else { available_providers.search.add(provider.name); } } register_processing_provider(provider) { this.processing_providers.set(provider.name, provider); available_providers.processing.add(provider.name); } register_enhancement_provider(provider) { this.enhancement_providers.set(provider.name, provider); available_providers.enhancement.add(provider.name); } get_search_providers() { return this.search_providers; } get_processing_providers() { return this.processing_providers; } get_enhancement_providers() { return this.enhancement_providers; } } export const registry = new ProviderRegistry(); // Convenience exports for current initialization flow export const register_search_provider = (provider, is_ai_response = false) => { registry.register_search_provider(provider, is_ai_response); }; export const register_processing_provider = (provider) => { registry.register_processing_provider(provider); }; export const register_enhancement_provider = (provider) => { registry.register_enhancement_provider(provider); };