import { type TaskRecord } from './task-runner.js'; import type { ParsedTask } from '../planner/plan-parser.js'; export interface OrchestratorCallbacks { onAgentStart?: (taskId: string, taskTitle: string, role: string) => void; onAgentOutput?: (taskId: string, role: string, chunk: string) => void; onAgentEnd?: (taskId: string, role: string, success: boolean) => void; onInputNeeded?: (taskId: string, role: string, promptText: string) => Promise; } export interface OrchestratorResult { completed: string[]; failed: string[]; blocked: string[]; } /** Scope a plan-level task ID to a session so it is globally unique in the DB. */ export declare function scopeTaskId(sessionId: string, planTaskId: string): string; /** Strip the session prefix from a scoped task ID for user-facing display. */ export declare function displayTaskId(dbId: string): string; export declare function insertTasksFromPlan(sessionId: string, parsedTasks: ParsedTask[], orderOffset?: number): void; export declare function getTasksForSession(sessionId: string): TaskRecord[]; export declare function runOrchestrator(sessionId: string, repoPath: string, sessionBranch: string, callbacks?: OrchestratorCallbacks | ((chunk: string) => void), options?: { images?: string[]; }): Promise; //# sourceMappingURL=orchestrator.d.ts.map