mcp-omnisearch
Version:
MCP server for integrating Omnisearch with LLMs
52 lines (51 loc) • 1.77 kB
JavaScript
// 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);
};