@catladder/cli
Version:
Panter cli tool for cloud CI/CD and DevOps
28 lines • 1.32 kB
TypeScript
import type { CommandDef, IO, InputDef, InputResultType, InputsSchema } from "../core/types";
import { BaseContext } from "./baseContext";
export interface TerminalOptions {
/** Pre-supplied values from CLI flags/positional args, keyed by input name */
cliOptions?: Record<string, unknown>;
/** Pre-supplied values from --inputs JSON flag */
jsonInputs?: Record<string, unknown>;
/** Whether interactive prompts are allowed (default: auto-detect from TTY) */
interactive?: boolean;
/** If true, all confirm() calls return true without prompting (--yes flag) */
yes?: boolean;
}
declare class TerminalContext<TInputs extends InputsSchema> extends BaseContext<TInputs> {
private options;
constructor(command: CommandDef<TInputs>, options: TerminalOptions);
log(message: string): void;
confirm(message: string): Promise<boolean>;
protected resolveInput<P extends InputDef>(name: string, spec: P): Promise<InputResultType<P>>;
}
/**
* Create a CommandContext for terminal usage.
*/
export declare function createTerminalContext<TInputs extends InputsSchema>(command: CommandDef<TInputs>, options?: TerminalOptions): TerminalContext<TInputs>;
/**
* Create a bare IO instance for terminal helper functions.
*/
export declare function createTerminalIO(options?: TerminalOptions): IO;
export {};