UNPKG

@sirmrmarty/n8n-nodes-tmux-orchestrator

Version:

n8n nodes for orchestrating Claude AI agents through tmux sessions

57 lines (56 loc) 1.8 kB
export interface SanitizedCommand { command: string; args: string[]; isValid: boolean; errors: string[]; } export declare class CommandSanitizer { private static readonly ALLOWED_TMUX_COMMANDS; private static readonly DANGEROUS_PATTERNS; private static readonly SAFE_IDENTIFIER_PATTERN; static sanitizeTmuxCommand(command: string, args: string[]): SanitizedCommand; private static sanitizeArgument; static validateProjectName(projectName: string): { isValid: boolean; errors: string[]; }; static validateSessionName(sessionName: string): { isValid: boolean; errors: string[]; }; static sanitizeFilePath(filePath: string, allowedBasePath?: string): { path: string; isValid: boolean; errors: string[]; }; static createSafeTmuxTarget(sessionName: string, windowIndex: number | string): string; static prepareTmuxExecution(command: string, args: string[]): SanitizedCommand; static validateProjectIdea(projectIdea: string): { isValid: boolean; errors: string[]; }; static validateQualityRequirements(qualityRequirements: string): { isValid: boolean; errors: string[]; }; static validateTimeString(timeString: string): { isValid: boolean; errors: string[]; }; static validateReference(reference: string): { isValid: boolean; errors: string[]; }; static validateProjectInputs(inputs: { projectIdea: string; projectName: string; projectPath: string; qualityRequirements: string; teamSizePriority?: string; preferredStartTime?: string; reference?: string; }): { isValid: boolean; errors: string[]; }; }