UNPKG

@xec-sh/core

Version:

Universal shell execution engine

37 lines (36 loc) 1.62 kB
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;