@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
TypeScript
/**
* 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;
}