import type { RunnerMode } from "./config.ts"; import type { SubagentRunResult } from "./schema.ts"; export interface RunSingleTaskInput { cwd: string; meta: Record; onEvent?: (event: any) => void; } export type RunSingleTask = (input: RunSingleTaskInput) => Promise; export function createConfiguredRunSingleTask(deps: { loadConfig: (cwd: string) => { runner: RunnerMode }; processRunner: RunSingleTask; tmuxRunner: RunSingleTask; }): RunSingleTask { return (input) => { const config = deps.loadConfig(input.cwd); return (config.runner === "tmux" ? deps.tmuxRunner : deps.processRunner)(input); }; }