@sirmrmarty/n8n-nodes-tmux-orchestrator
Version:
n8n nodes for orchestrating Claude AI agents through tmux sessions
57 lines (56 loc) • 1.8 kB
TypeScript
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[];
};
}