UNPKG

@lanonasis/cli

Version:

Professional CLI for LanOnasis Memory as a Service (MaaS) with MCP support, seamless inline editing, and enterprise-grade security

73 lines (72 loc) 2.23 kB
/** * Connection Manager Implementation * * Manages MCP server discovery, configuration, and connection lifecycle * Implementation of the ConnectionManager interface. */ import { ConnectionManager, ConnectionResult, ConfigResult, ServerInstance, ConnectionStatus, MCPConfig } from '../interfaces/ConnectionManager.js'; /** * ConnectionManagerImpl manages MCP server discovery, configuration, and connection lifecycle * * This implementation automatically detects the embedded MCP server location within the CLI package, * generates configuration files with correct server paths, and manages server processes. */ export declare class ConnectionManagerImpl implements ConnectionManager { private config; private connectionStatus; private serverProcess; private configPath; constructor(configPath?: string); /** * Initialize the connection manager by loading persisted configuration */ init(): Promise<void>; /** * Connect to the local embedded MCP server */ connectLocal(): Promise<ConnectionResult>; /** * Automatically configure the local MCP server with correct paths */ autoConfigureLocalServer(): Promise<ConfigResult>; /** * Detect the embedded MCP server path within the CLI package */ detectServerPath(): Promise<string | null>; /** * Start the local MCP server process */ startLocalServer(): Promise<ServerInstance>; /** * Verify that the MCP server connection is working */ verifyConnection(serverPath: string): Promise<boolean>; /** * Get the current connection status */ getConnectionStatus(): ConnectionStatus; /** * Stop the local MCP server if running */ stopLocalServer(): Promise<void>; /** * Get the current MCP configuration */ getConfig(): MCPConfig; /** * Update the MCP configuration */ updateConfig(config: Partial<MCPConfig>): Promise<void>; /** * Check if the server is currently running */ private isServerRunning; /** * Save the current configuration to disk */ private saveConfig; /** * Load configuration from disk */ private loadConfig; }