@sirmrmarty/n8n-nodes-tmux-orchestrator
Version:
n8n nodes for orchestrating Claude AI agents through tmux sessions
34 lines (33 loc) • 2.09 kB
TypeScript
export interface TmuxExecutionResult {
success: boolean;
stdout: string;
stderr: string;
command: string;
timestamp: string;
}
export interface TmuxExecutionOptions {
timeout?: number;
maxBuffer?: number;
cwd?: string;
env?: Record<string, string>;
}
export declare class SecureTmuxWrapper {
private static readonly DEFAULT_TIMEOUT;
private static readonly DEFAULT_MAX_BUFFER;
private static readonly TMUX_BINARY;
static executeSecurely(command: string, args: string[], options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static sendKeysSecurely(sessionName: string, windowIndex: number, keys: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static sendCommandSecurely(sessionName: string, windowIndex: number, command: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static createSessionSecurely(sessionName: string, initialDirectory?: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static createWindowSecurely(sessionName: string, windowName: string, initialDirectory?: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static capturePaneSecurely(sessionName: string, windowIndex: number, startLine?: number, endLine?: number, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static listSessionsSecurely(options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static listWindowsSecurely(sessionName: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static killSessionSecurely(sessionName: string, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
static hasSessionSecurely(sessionName: string, options?: TmuxExecutionOptions): Promise<boolean>;
static killWindowSecurely(sessionName: string, windowIndex: number, options?: TmuxExecutionOptions): Promise<TmuxExecutionResult>;
private static buildCommand;
private static sanitizeKeys;
private static escapeShellArgument;
static validateTmuxAvailable(): Promise<boolean>;
}