/** * @fileoverview Input resolver. * * Resolves input by priority: --input, --file, positional, stdin, interactive * prompt (human mode only). Agent and JSON modes never prompt. Byte-capable * tools receive bytes and a streaming byte source so large files stay bounded. */ import { type ExecutionMode, type ResolvedInput, type TextaviaToolDefinition } from '@textavia/core'; /** Request payload for the input resolver. */ export interface InputRequest { readonly globals: { readonly input?: string; readonly file?: string; readonly files?: string; readonly stdin?: boolean; readonly encoding?: string; }; readonly positional?: string; readonly mode: ExecutionMode; readonly stdin: StdinSource; /** Max input bytes for agent/mcp contexts; undefined disables the limit. */ readonly maxInputBytes?: number; } /** Injectable prompt function for interactive human mode. */ export type PromptFn = (question: string) => Promise; /** Descriptor for the process stdin used by the resolver. */ export interface StdinSource { readonly stream: NodeJS.ReadableStream; readonly isTty: boolean; } /** * Resolves a {@link ResolvedInput} according to the priority rules. Throws * {@link UsageError} when no input is available and prompting is disabled. */ export declare function resolveInput(request: InputRequest, tool: TextaviaToolDefinition, prompt?: PromptFn): Promise; //# sourceMappingURL=input.d.ts.map