@xec-sh/core
Version:
Universal shell execution engine
37 lines (36 loc) • 1.62 kB
TypeScript
import type { SSHTunnel } from './ssh-api.js';
import type { ExecutionResult } from '../core/result.js';
import type { K8sLogStream, K8sPortForward } from './kubernetes-api.js';
import type { ProcessPromise, ExecutionEngine } from '../core/execution-engine.js';
export declare class ConvenienceAPI {
private engine;
constructor(engine: ExecutionEngine);
onHost(hosts: string | string[], command: string | TemplateStringsArray, ...values: any[]): Promise<ExecutionResult | ExecutionResult[]>;
in(target: string, command?: string | TemplateStringsArray, ...values: any[]): Promise<ProcessPromise | ExecutionResult>;
copy(source: string, destination: string): Promise<void>;
forward(source: string, localPort?: number): Promise<SSHTunnel | K8sPortForward | {
localPort: number;
close: () => Promise<void>;
}>;
logs(source: string, options?: {
follow?: boolean;
tail?: number;
since?: string;
timestamps?: boolean;
onData?: (data: string) => void;
}): Promise<string | K8sLogStream | void>;
smart(command: string): Promise<ExecutionResult>;
private resolveHost;
private resolveContainer;
private resolvePod;
private parseLocation;
}
export interface ExtendedExecutionEngine extends ExecutionEngine {
onHost: ConvenienceAPI['onHost'];
in: ConvenienceAPI['in'];
copy: ConvenienceAPI['copy'];
forward: ConvenienceAPI['forward'];
logs: ConvenienceAPI['logs'];
smart: ConvenienceAPI['smart'];
}
export declare function attachConvenienceMethods(engine: ExecutionEngine): ExtendedExecutionEngine;