UNPKG

@toolprint/hypertool-mcp

Version:

HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers

143 lines • 4.41 kB
/** * Unified Configuration Manager for HyperTool MCP * * This module provides centralized configuration management for integrating * HyperTool with multiple MCP client applications. * * TODO: Full Profile Management System * - Implement profile creation, switching, and deletion * - Add profile-specific configuration storage * - Support workspace/project-specific profiles * - Add profile inheritance and merging * - Implement profile templates and presets */ import { EnvironmentConfig } from "../config/environment.js"; export declare class ConfigurationManager { private basePath; private registry; private backupManager; private fs; /** * Get current working directory (for testing support) */ private getCurrentWorkingDirectory; constructor(basePath?: string); /** * Create a ConfigurationManager from environment config */ static fromEnvironment(envConfig?: EnvironmentConfig): ConfigurationManager; /** * Initialize the configuration manager and directory structure */ initialize(): Promise<void>; /** * Discover and import configurations from all enabled applications */ discoverAndImport(): Promise<{ imported: string[]; importedDetails: Array<{ appId: string; configPath: string; }>; failed: string[]; backup: string; }>; /** * Import configuration from a specific application */ private importFromApplication; /** * Import configuration from a specific application with path information */ private importFromApplicationWithPath; /** * Save the merged MCP configuration to database or file based on feature flag */ private saveMergedConfig; /** * Calculate checksum for a server configuration */ private calculateChecksum; /** * Save app-specific MCP configuration to database or file based on feature flag */ private saveAppConfig; /** * Update the main configuration in database */ private updateMainConfig; /** * Generate default toolsets for each application */ private generateDefaultToolsets; /** * Link HyperTool configuration to specified applications */ linkApplications(appConfigs: Array<{ appId: string; appName?: string; configType: "global" | "per-app"; perAppInit?: "empty" | "copy" | "import"; }> | string[]): Promise<{ linked: string[]; failed: string[]; }>; /** * Initialize per-app configuration */ private initializePerAppConfig; /** * Link HyperTool configuration to a specific application */ private linkApplication; /** * Create a backup of all current configurations */ createBackup(): Promise<import("./types/index.js").BackupResult>; /** * List available backups */ listBackups(): Promise<import("./types/index.js").BackupListItem[]>; /** * Get a specific backup by ID */ getBackup(backupId: string): Promise<import("./types/index.js").BackupListItem | null>; /** * Restore from a specific backup */ restoreBackup(backupId: string, options?: { applications?: string[]; }): Promise<import("./types/index.js").RestoreResult>; /** * Delete a backup by ID */ deleteBackup(backupId: string): Promise<import("./types/index.js").DeleteResult>; /** * Unlink HyperTool from specified applications */ unlinkApplications(appIds: string[], options?: { restore?: boolean; backupId?: string; }): Promise<{ unlinked: string[]; failed: string[]; restoredWithHypertool?: string[]; }>; /** * Check if app config has hypertool and remove it while preserving other servers */ private checkAndRemoveHypertoolFromApp; /** * Remove HyperTool from a specific application without restoration */ private removeHypertoolFromApp; /** * Check if we're running in development mode */ private isInDevelopmentMode; } export * from "./types/index.js"; export { AppRegistry } from "./apps/registry.js"; export { BackupManager } from "./backup/manager.js"; export { TransformerRegistry, StandardTransformer, } from "./transformers/base.js"; //# sourceMappingURL=index.d.ts.map