digital-samba-mcp-server
Version:
Digital Samba MCP Server - Model Context Protocol server for Digital Samba's video conferencing API
83 lines • 2.44 kB
TypeScript
/**
* Digital Samba MCP Server - Connection Manager Module (Simplified)
*
* This is a simplified version that focuses on basic fetch functionality
* without the complexity of connection pools and reconnection logic.
*/
import { EventEmitter } from 'events';
import fetch, { RequestInfo, RequestInit, Response } from 'node-fetch';
/**
* Connection state enum
*/
export declare enum ConnectionState {
CONNECTING = "connecting",
CONNECTED = "connected",
DISCONNECTED = "disconnected",
RECONNECTING = "reconnecting",
ERROR = "error"
}
/**
* Connection manager options
*/
export interface ConnectionManagerOptions {
/** Base URL for the Digital Samba API */
apiUrl: string;
/** Function to create a fetch implementation (for testing) */
fetchImpl?: typeof fetch;
/** Connection pool size */
poolSize?: number;
}
/**
* Simplified Connection Manager class
*/
export declare class ConnectionManager extends EventEmitter {
private options;
private _fetch;
/**
* Connection Manager constructor
* @param options Connection manager options
*/
constructor(options: ConnectionManagerOptions);
/**
* Execute a request
* @param url URL to fetch
* @param options Request options
* @returns Promise resolving to the response
*/
fetch(url: RequestInfo, options?: RequestInit): Promise<Response>;
/**
* Reset the connection manager
*/
reset(): void;
/**
* Check if the connection manager is healthy
* @returns True if the connection manager is healthy
*/
isHealthy(): boolean;
/**
* Get connection manager statistics
* @returns Connection manager statistics
*/
getStats(): Record<string, any>;
/**
* Clean up resources
*/
destroy(): void;
}
/**
* Create a connection manager
* @param apiUrl API URL
* @param options Additional connection manager options
* @returns A new connection manager instance
*/
export declare function createConnectionManager(apiUrl: string, options?: Partial<Omit<ConnectionManagerOptions, 'apiUrl'>>): ConnectionManager;
/**
* Export default connection manager utilities
*/
declare const _default: {
ConnectionManager: typeof ConnectionManager;
createConnectionManager: typeof createConnectionManager;
ConnectionState: typeof ConnectionState;
};
export default _default;
//# sourceMappingURL=connection-manager.d.ts.map