import type { BridgeConnectionConfig, KernelToHostMessage, } from "../../bridge/protocol.ts"; import type { SubprocessSpawn } from "./subprocess-process.ts"; export interface KernelRunInput { readonly cellId: string; readonly code: string; readonly strings?: Readonly>; readonly timeoutMs?: number; } export type KernelResult = Extract; export type ToolCallMessage = Extract< KernelToHostMessage, { type: "tool-call" } >; export interface SubprocessKernelOptions { readonly args: readonly string[]; readonly command: string; readonly connection: BridgeConnectionConfig; readonly cwd?: string; readonly env?: NodeJS.ProcessEnv; readonly onMessage?: (message: KernelToHostMessage) => void; readonly sessionId: string; readonly spawn?: SubprocessSpawn; }