@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
20 lines • 1.26 kB
TypeScript
import type { Runtime } from '../../../runtime/base.ts';
import type { ByteSource, IOResult } from '../../../io/types.ts';
import type { RouteDecision } from '../../../runtime/types.ts';
import type { Argv } from '../../expand/argv.ts';
import type { MountRegistry } from '../../mount/registry.ts';
import type { SessionState } from '../../session/session.ts';
import { ExecutionNode } from '../../types.ts';
import { type JobConsole } from '../../../shell/console/index.ts';
/**
* Execute one admitted program; its surrounding shell stays in Mirage.
*
* Its output is handed over as it runs (`runOutput`), within the line's
* deadline, kept alive until the output is closed. A program writes its
* stderr into `sink` as it arrives, where the statement it runs in writes (a
* job's console, a redirect, a compound body), so it lands beside its stdout
* and stays when the program is stopped; without one it lands on the result,
* kept as it arrives all the same.
*/
export declare function runExternal(argv: Argv, stdin: ByteSource | null, session: SessionState, registry: MountRegistry, routing: RouteDecision<Runtime>, signal?: AbortSignal, sink?: JobConsole): Promise<[ByteSource | null, IOResult, ExecutionNode]>;
//# sourceMappingURL=external.d.ts.map