@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
118 lines • 3.49 kB
TypeScript
/**
* Extension Manager
* Orchestrates extension discovery, configuration, validation, and runtime management
*/
import { ExtensionRuntimeConfig, ValidationResult } from "../config/dxt-config.js";
/**
* Extension manager coordinates all extension operations
*/
export declare class ExtensionManager {
private discoveryService;
private readonly validationService;
private readonly configManager;
private runtimeConfigs;
private initialized;
constructor(configPath?: string, extensionsBaseDir?: string);
/**
* Initialize the extension system
*/
initialize(): Promise<void>;
/**
* Load and validate all extensions
*/
loadExtensions(): Promise<ExtensionRuntimeConfig[]>;
/**
* Get all runtime configurations
*/
getRuntimeConfigs(): ExtensionRuntimeConfig[];
/**
* Get enabled runtime configurations only
*/
getEnabledConfigs(): ExtensionRuntimeConfig[];
/**
* Get runtime configuration for a specific extension
*/
getExtensionConfig(name: string): ExtensionRuntimeConfig | undefined;
/**
* Enable an extension
*/
enableExtension(name: string): Promise<void>;
/**
* Disable an extension
*/
disableExtension(name: string): Promise<void>;
/**
* Update extension user configuration
*/
updateExtensionUserConfig(name: string, userConfig: Record<string, any>): Promise<ValidationResult>;
/**
* Install a new extension from DXT file
*/
installExtension(dxtPath: string): Promise<{
success: boolean;
message: string;
name?: string;
}>;
/**
* Refresh all extensions (re-unpack if needed)
*/
refreshExtensions(): Promise<void>;
/**
* Get validation report for an extension
*/
getValidationReport(name: string): string | undefined;
/**
* Get configuration suggestions for fixing validation errors
*/
getConfigSuggestions(name: string): string[];
/**
* List all extensions with their status
*/
listExtensions(): Array<{
name: string;
enabled: boolean;
valid: boolean;
version: string;
description?: string;
errors: string[];
warnings: string[];
}>;
/**
* Get extension directory path
*/
getExtensionsDirectory(): string;
/**
* Set extension directory and refresh
*/
setExtensionsDirectory(directory: string): Promise<void>;
/**
* Check if auto-discovery is enabled
*/
isAutoDiscoveryEnabled(): boolean;
/**
* Enable/disable auto-discovery
*/
setAutoDiscovery(enabled: boolean): Promise<void>;
/**
* Remove an extension
*/
removeExtension(name: string): Promise<void>;
/**
* Get extension metadata
*/
getExtensionMetadata(name: string): import("../config/dxt-config.js").ExtensionMetadata | undefined;
/**
* Get all extension metadata
*/
getAllMetadata(): Record<string, import("../config/dxt-config.js").ExtensionMetadata>;
/**
* Create a server configuration that can be used with the connection factory
* This replaces the old DXT server type approach
*/
createServerConfigForExtension(name: string): any;
/**
* Get all enabled extensions as server configs for connection factory
*/
getEnabledExtensionsAsServerConfigs(): Record<string, any>;
}
//# sourceMappingURL=manager.d.ts.map