@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
85 lines • 2.3 kB
TypeScript
/**
* Extension Configuration Management
* Handles loading, saving, and validation of extension configurations
*/
import { HypertoolConfig, ExtensionUserConfig } from "./dxt-config.js";
/**
* Extension configuration manager
*/
export declare class ExtensionConfigManager {
private readonly configPath;
private config;
constructor(configPath?: string);
/**
* Load configuration from file
*/
load(): Promise<HypertoolConfig>;
/**
* Save configuration to file
*/
save(config?: HypertoolConfig): Promise<void>;
/**
* Get current configuration
*/
getConfig(): HypertoolConfig;
/**
* Get extension settings for a specific extension
*/
getExtensionSettings(extensionName: string): ExtensionUserConfig | undefined;
/**
* Set extension settings for a specific extension
*/
setExtensionSettings(extensionName: string, settings: ExtensionUserConfig): Promise<void>;
/**
* Enable an extension
*/
enableExtension(extensionName: string): Promise<void>;
/**
* Disable an extension
*/
disableExtension(extensionName: string): Promise<void>;
/**
* Update user config for an extension
*/
updateExtensionUserConfig(extensionName: string, userConfig: Record<string, any>): Promise<void>;
/**
* Remove extension settings
*/
removeExtension(extensionName: string): Promise<void>;
/**
* Get all extension names
*/
getExtensionNames(): string[];
/**
* Check if auto-discovery is enabled
*/
isAutoDiscoveryEnabled(): boolean;
/**
* Set auto-discovery setting
*/
setAutoDiscovery(enabled: boolean): Promise<void>;
/**
* Get extensions directory
*/
getExtensionsDirectory(): string;
/**
* Set extensions directory
*/
setExtensionsDirectory(directory: string): Promise<void>;
/**
* Get default configuration
*/
private getDefaultConfig;
/**
* Validate configuration structure
*/
validateConfig(config: any): {
isValid: boolean;
errors: string[];
};
/**
* Initialize configuration file if it doesn't exist
*/
initialize(): Promise<void>;
}
//# sourceMappingURL=extensionConfig.d.ts.map