UNPKG

@toolprint/hypertool-mcp

Version:

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

88 lines • 2.52 kB
/** * Extension Discovery Service * Handles auto-discovery, unpacking, and validation of DXT extensions */ import { ExtensionMetadata, HypertoolConfig, ExtensionRuntimeConfig } from "../config/dxt-config.js"; /** * Extension discovery and management service */ export declare class ExtensionDiscoveryService { private readonly extensionsDir; private readonly installedDir; private readonly metadataFile; private metadata; constructor(baseDir?: string); /** * Initialize the extensions directory structure */ initialize(): Promise<void>; /** * Discover all DXT files in the extensions directory */ discoverExtensions(): Promise<string[]>; /** * Discover already-installed extensions in the installed directory */ discoverInstalledExtensions(): Promise<string[]>; /** * Check if an extension needs to be unpacked or re-unpacked */ needsUnpacking(dxtPath: string): Promise<boolean>; /** * Unpack a DXT extension to the installed directory */ unpackExtension(dxtPath: string): Promise<ExtensionMetadata>; /** * Get extension metadata by filename (without .dxt extension) */ getExtensionMetadata(filename: string): ExtensionMetadata | undefined; /** * Get all extension metadata */ getAllMetadata(): Record<string, ExtensionMetadata>; /** * Load runtime configurations for all extensions */ loadExtensionConfigs(config: HypertoolConfig): Promise<ExtensionRuntimeConfig[]>; /** * Validate extension configuration against manifest user_config schema */ private validateExtensionConfig; /** * Validate parameter type */ private validateParameterType; /** * Validate single value type */ private validateSingleType; /** * Build server configuration with template substitution */ private buildServerConfig; /** * Substitute template variables in environment variables */ private substituteTemplates; /** * Substitute template variables in a string */ private substituteTemplateString; /** * Extract DXT to installed directory instead of temp */ private extractToInstalled; /** * Remove directory recursively */ private removeDirectory; /** * Load metadata from file */ private loadMetadata; /** * Save metadata to file */ private saveMetadata; } //# sourceMappingURL=discovery.d.ts.map