@sethdouglasford/claude-flow
Version:
Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology
59 lines • 1.95 kB
TypeScript
/**
* Terminal manager interface and implementation
*/
import { AgentProfile, AgentSession, TerminalConfig } from "../utils/types.js";
import { IEventBus } from "../core/event-bus.js";
import { ILogger } from "../core/logger.js";
import { TerminalSession } from "./session.js";
export interface ITerminalManager {
initialize(): Promise<void>;
shutdown(): Promise<void>;
spawnTerminal(profile: AgentProfile): Promise<string>;
terminateTerminal(terminalId: string): Promise<void>;
executeCommand(terminalId: string, command: string): Promise<string>;
getHealthStatus(): Promise<{
healthy: boolean;
error?: string;
metrics?: Record<string, number>;
}>;
performMaintenance(): Promise<void>;
}
/**
* Terminal manager implementation
*/
export declare class TerminalManager implements ITerminalManager {
private config;
private eventBus;
private logger;
private adapter;
private pool;
private sessions;
private initialized;
constructor(config: TerminalConfig, eventBus: IEventBus, logger: ILogger);
initialize(): Promise<void>;
shutdown(): Promise<void>;
spawnTerminal(profile: AgentProfile): Promise<string>;
terminateTerminal(terminalId: string): Promise<void>;
executeCommand(terminalId: string, command: string): Promise<string>;
getHealthStatus(): Promise<{
healthy: boolean;
error?: string;
metrics?: Record<string, number>;
}>;
performMaintenance(): Promise<void>;
/**
* Get all active sessions
*/
getActiveSessions(): AgentSession[];
/**
* Get session by ID
*/
getSession(sessionId: string): TerminalSession | undefined;
/**
* Stream terminal output
*/
streamOutput(terminalId: string, callback: (output: string) => void): Promise<() => void>;
private createAdapter;
private isVSCodeEnvironment;
}
//# sourceMappingURL=manager.d.ts.map