vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
59 lines • 2.15 kB
TypeScript
export interface IDisposable {
dispose(): void | Promise<void>;
}
export interface IEnhancedDisposable extends IDisposable {
cleanup?(): void | Promise<void>;
destroy?(): void | Promise<void>;
close?(): void | Promise<void>;
}
export type ManagedResource = NodeJS.Timeout | NodeJS.Timer | {
dispose(): void | Promise<void>;
} | {
cleanup(): void | Promise<void>;
} | {
destroy(): void | Promise<void>;
} | {
close(): void | Promise<void>;
} | {
clear(): void;
} | (() => void | Promise<void>);
export declare class ResourceManager implements IDisposable {
private resources;
private disposed;
register(resource: ManagedResource): void;
unregister(resource: ManagedResource): boolean;
getResourceCount(): number;
dispose(): Promise<void>;
private disposeResource;
isDisposed(): boolean;
}
export declare abstract class DisposableService implements IEnhancedDisposable {
protected resourceManager: ResourceManager;
protected disposed: boolean;
protected registerResource(resource: ManagedResource): void;
protected unregisterResource(resource: ManagedResource): boolean;
protected createTimer(callback: () => void, delay: number, repeat?: boolean): NodeJS.Timeout | NodeJS.Timer;
dispose(): Promise<void>;
cleanup(): Promise<void>;
destroy(): Promise<void>;
isDisposed(): boolean;
protected onDispose(): Promise<void>;
}
export declare class DisposableWrapper implements IDisposable {
private target;
private disposeMethod;
private disposed;
constructor(target: unknown, disposeMethod?: string | (() => void | Promise<void>));
dispose(): Promise<void>;
isDisposed(): boolean;
}
export declare class GlobalDisposableRegistry {
private static disposables;
static register(disposable: IDisposable): void;
static unregister(disposable: IDisposable): boolean;
static disposeAll(): Promise<void>;
static getCount(): number;
static clear(): void;
}
export declare function AutoDispose<T extends new (...args: unknown[]) => IDisposable>(target: T): T;
//# sourceMappingURL=disposable-patterns.d.ts.map