UNPKG

@toolprint/hypertool-mcp

Version:

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

225 lines • 4.91 kB
/** * Core types for the unified configuration management system */ /** * Platform-specific application configuration */ export interface PlatformConfig { configPath: string; format: "standard" | "custom"; transformer?: string; } /** * Application detection configuration */ export interface DetectionConfig { type: "file" | "directory" | "project-local" | "command"; path?: string; indicator?: string; command?: string; } /** * Application definition in the registry */ export interface ApplicationDefinition { name: string; enabled: boolean; platforms: { darwin?: PlatformConfig; linux?: PlatformConfig; win32?: PlatformConfig; all?: PlatformConfig; }; detection: DetectionConfig; defaultToolset?: string[]; } /** * Application registry structure */ export interface ApplicationRegistry { version: string; applications: Record<string, ApplicationDefinition>; } /** * Backup metadata structure */ export interface BackupMetadata { version: string; timestamp: string; hypertool_version: string; applications: Record<string, { source_path: string; format: string; servers_count: number; }>; total_servers: number; system_info: { platform: NodeJS.Platform; arch: string; node_version: string; }; database?: { servers_count: number; groups_count: number; sources_count: number; export_files: string[]; }; } /** * Result type for backup operations */ export interface BackupResult { success: boolean; backupId?: string; backupPath?: string; metadata?: BackupMetadata; error?: string; } /** * Result type for restore operations */ export interface RestoreResult { success: boolean; restored: string[]; failed: string[]; error?: string; } /** * Result type for delete operations */ export interface DeleteResult { success: boolean; error?: string; } /** * Backup list item */ export interface BackupListItem { id: string; timestamp: string; metadata: BackupMetadata; path?: string; } /** * Configuration transformer interface */ export interface ConfigTransformer { /** * Convert from app-specific format to standard MCP format */ toStandard(appConfig: any): MCPConfig; /** * Convert from standard MCP format to app-specific format */ fromStandard(standardConfig: MCPConfig, existingConfig?: any): any; /** * Validate app-specific configuration format */ validate(config: any): ValidationResult; } /** * Standard MCP configuration format */ export interface MCPConfig { mcpServers: Record<string, MCPServerConfig>; _metadata?: { sources?: Record<string, { app: string; importedAt: string; }>; }; } /** * Individual MCP server configuration */ export interface MCPServerConfig { type: "stdio" | "http" | "websocket" | "sse"; command?: string; url?: string; args?: string[]; env?: Record<string, string>; [key: string]: any; } /** * Validation result for configuration transformers */ export interface ValidationResult { valid: boolean; errors?: string[]; warnings?: string[]; } /** * Application configuration in config.json */ export interface ApplicationConfig { configPath: string; lastSync: string; format: string; mcpConfig?: string; linkedProfiles?: string[]; } /** * Main configuration file structure */ export interface MainConfig { version: string; lastBackup?: string; applications: Record<string, ApplicationConfig>; preferences?: { defaultApp?: string; defaultProfile?: string; }; } /** * Toolset definition */ export interface Toolset { name: string; description: string; tools: Array<{ namespacedName: string; refId: string; }>; metadata?: { autoGenerated?: boolean; sourceApp?: string; createdAt?: string; }; } /** * Preferences configuration */ export interface PreferencesConfig { toolsets: Record<string, Toolset>; appDefaults?: Record<string, string>; version?: string; } /** * Profile configuration for workspace/project support */ export interface ProfileConfig { id: string; appId: string; name: string; description?: string; mcpConfig: string; toolsets?: string[]; createdAt: string; lastModified: string; } /** * Per-application MCP configuration */ export interface AppMCPConfig extends MCPConfig { _metadata?: { app: string; profile?: string; importedAt: string; lastModified: string; sources?: Record<string, { app: string; importedAt: string; }>; }; } //# sourceMappingURL=index.d.ts.map