UNPKG

context-forge

Version:

AI orchestration platform with autonomous teams, enhancement planning, migration tools, 25+ slash commands, checkpoints & hooks. Multi-IDE: Claude, Cursor, Windsurf, Cline, Copilot

111 lines 3.28 kB
import { TmuxWindowConfig, AgentSession } from '../types/orchestration'; export interface TmuxWindow { sessionName: string; windowIndex: number; windowName: string; active: boolean; paneCount?: number; } export interface TmuxSession { name: string; windows: TmuxWindow[]; attached: boolean; created?: Date; } export declare class TmuxManager { private maxLinesCapture; private safetyMode; /** * Check if tmux is installed and available */ checkTmuxAvailable(): Promise<boolean>; /** * Get all tmux sessions */ getSessions(): Promise<TmuxSession[]>; /** * Get windows for a specific session */ getSessionWindows(sessionName: string): Promise<TmuxWindow[]>; /** * Create a new tmux session */ createSession(sessionName: string, workingDirectory?: string): Promise<void>; /** * Create a new window in a session */ createWindow(config: TmuxWindowConfig): Promise<void>; /** * Rename a window */ renameWindow(sessionName: string, windowIndex: number, newName: string): Promise<void>; /** * Send keys to a window */ sendKeys(sessionName: string, windowIndex: number, keys: string): Promise<void>; /** * Send a command to a window (adds Enter automatically) */ sendCommand(sessionName: string, windowIndex: number, command: string): Promise<void>; /** * Send a message to a Claude agent window * Uses proper timing to ensure Claude receives the message */ sendClaudeMessage(sessionName: string, windowIndex: number, message: string): Promise<void>; /** * Capture window content */ captureWindowContent(sessionName: string, windowIndex: number, lines?: number): Promise<string>; /** * Get window information */ getWindowInfo(sessionName: string, windowIndex: number): Promise<any>; /** * Check if a session exists */ sessionExists(sessionName: string): Promise<boolean>; /** * Kill a window */ killWindow(sessionName: string, windowIndex: number): Promise<void>; /** * Kill a session */ killSession(sessionName: string): Promise<void>; /** * Find windows by name pattern */ findWindowsByName(pattern: string): Promise<Array<{ session: string; window: number; name: string; }>>; /** * Create a monitoring snapshot for all sessions */ createMonitoringSnapshot(): Promise<string>; /** * Wait for a window to contain specific text */ waitForText(sessionName: string, windowIndex: number, text: string, timeout?: number): Promise<boolean>; /** * Get the last window index for a session */ private getLastWindowIndex; /** * Move a window to a new index */ private moveWindow; /** * Execute a shell command and return the result */ executeShellCommand(command: string, cwd?: string): Promise<{ stdout: string; stderr: string; }>; /** * Convert AgentSession to TmuxWindowConfig */ agentSessionToWindowConfig(session: AgentSession, workingDirectory: string): TmuxWindowConfig; } //# sourceMappingURL=tmuxManager.d.ts.map