@debugmcp/mcp-debugger
Version:
Run-time step-through debugging for LLM agents.
71 lines (70 loc) • 2.15 kB
TypeScript
/**
* Implementation of the Adapter Registry for managing debug adapters
*
* @since 2.0.0
*/
import { EventEmitter } from 'events';
import { IAdapterRegistry, IAdapterFactory, AdapterInfo, AdapterRegistryConfig } from './adapter-registry-interface.js';
import { IDebugAdapter, AdapterConfig } from './debug-adapter-interface.js';
/**
* Implementation of the adapter registry
*/
export declare class AdapterRegistry extends EventEmitter implements IAdapterRegistry {
private readonly factories;
private readonly activeAdapters;
private readonly config;
private readonly disposeTimers;
constructor(config?: AdapterRegistryConfig);
/**
* Register a new adapter factory for a language
*/
register(language: string, factory: IAdapterFactory): Promise<void>;
/**
* Unregister an adapter factory
*/
unregister(language: string): boolean;
/**
* Create a new adapter instance for the specified language
*/
create(language: string, config: AdapterConfig): Promise<IDebugAdapter>;
/**
* Get list of all supported languages
*/
getSupportedLanguages(): string[];
/**
* Check if a language is supported
*/
isLanguageSupported(language: string): boolean;
/**
* Get metadata about a registered adapter
*/
getAdapterInfo(language: string): AdapterInfo | undefined;
/**
* Get all registered adapter information
*/
getAllAdapterInfo(): Map<string, AdapterInfo>;
/**
* Dispose all created adapters and clear registry
*/
disposeAll(): Promise<void>;
/**
* Get count of active adapter instances
*/
getActiveAdapterCount(): number;
/**
* Create dependencies for adapter creation
*/
private createDependencies;
/**
* Set up auto-dispose for an adapter
*/
private setupAutoDispose;
}
/**
* Get the singleton adapter registry instance
*/
export declare function getAdapterRegistry(config?: AdapterRegistryConfig): AdapterRegistry;
/**
* Reset the singleton instance (mainly for testing)
*/
export declare function resetAdapterRegistry(): void;