@sirmrmarty/n8n-nodes-tmux-orchestrator
Version:
n8n nodes for orchestrating Claude AI agents through tmux sessions
38 lines (37 loc) • 2.17 kB
TypeScript
export interface WaitCondition {
check: () => Promise<boolean> | boolean;
description?: string;
}
export interface WaitOptions {
timeout?: number;
interval?: number;
retries?: number;
exponentialBackoff?: boolean;
minInterval?: number;
maxInterval?: number;
}
export interface WaitResult {
success: boolean;
duration: number;
attempts: number;
reason?: string;
}
export declare class ConditionWaiter {
private static readonly DEFAULT_TIMEOUT;
private static readonly DEFAULT_INTERVAL;
private static readonly DEFAULT_MIN_INTERVAL;
private static readonly DEFAULT_MAX_INTERVAL;
private static readonly DEFAULT_RETRIES;
static waitForCondition(condition: WaitCondition, options?: WaitOptions): Promise<WaitResult>;
static waitForTmuxWindow(bridge: any, sessionName: string, windowIndex: number, expectedContent: string | RegExp, options?: WaitOptions): Promise<WaitResult>;
static waitForPrompt(bridge: any, sessionName: string, windowIndex: number, promptPattern?: RegExp, options?: WaitOptions): Promise<WaitResult>;
static waitForClaudeReady(bridge: any, sessionName: string, windowIndex: number, options?: WaitOptions): Promise<WaitResult>;
static waitForGitOperation(bridge: any, sessionName: string, windowIndex: number, operation: 'push' | 'pull' | 'commit' | 'branch', options?: WaitOptions): Promise<WaitResult>;
static waitForPath(pathToCheck: string, options?: WaitOptions): Promise<WaitResult>;
static waitForClaudeOperation(bridge: any, sessionName: string, windowIndex: number, operationDescription: string, options?: WaitOptions): Promise<WaitResult>;
static waitForAgentResponsive(bridge: any, sessionName: string, windowIndex: number, options?: WaitOptions): Promise<WaitResult>;
static waitForProcessCompletion(bridge: any, sessionName: string, windowIndex: number, options?: WaitOptions): Promise<WaitResult>;
static waitForNetwork(host?: string, options?: WaitOptions): Promise<WaitResult>;
static combineConditions(...conditions: WaitCondition[]): WaitCondition;
static anyCondition(...conditions: WaitCondition[]): WaitCondition;
}