UNPKG

@toolprint/hypertool-mcp

Version:

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

56 lines • 2.43 kB
/** * List Extensions Command */ import { Command } from "commander"; import { ExtensionManager } from "../../extensions/index.js"; export function extensionsList() { return new Command("list") .description("List all available extensions with their status") .option("--config <path>", "Path to configuration file") .option("--extensions-dir <path>", "Path to extensions directory") .option("--verbose", "Show detailed information") .action(async (options) => { try { const extensionManager = new ExtensionManager(options.config, options.extensionsDir); await extensionManager.initialize(); const extensions = extensionManager.listExtensions(); if (extensions.length === 0) { console.log("No extensions found."); return; } console.log("Extensions:"); console.log(); for (const ext of extensions) { const status = ext.enabled ? (ext.valid ? "✓" : "✗") : "○"; const statusText = ext.enabled ? ext.valid ? "[enabled]" : "[disabled - invalid]" : "[disabled]"; console.log(`${status} ${ext.name} ${statusText} - v${ext.version}`); if (ext.description) { console.log(` ${ext.description}`); } if (options.verbose || !ext.valid) { if (ext.errors.length > 0) { console.log(` Errors: ${ext.errors.join(", ")}`); } if (ext.warnings.length > 0) { console.log(` Warnings: ${ext.warnings.join(", ")}`); } } console.log(); } // Summary const enabled = extensions.filter((e) => e.enabled && e.valid).length; const disabled = extensions.filter((e) => !e.enabled).length; const invalid = extensions.filter((e) => e.enabled && !e.valid).length; console.log(`Summary: ${enabled} enabled, ${disabled} disabled, ${invalid} invalid`); } catch (error) { console.error(`Failed to list extensions: ${error.message}`); process.exit(1); } }); } //# sourceMappingURL=list.js.map