/** * Team Manager — orchestrates agent teams, task boards, messaging, and plan review. * * Storage layout: * ~/.openvide-daemon/teams/{teamId}/ * config.json — TeamConfig * tasks/{taskId}.json — TeamTask * messages.jsonl — one TeamMessage per line * plans/{planId}.json — TeamPlan */ import type { TeamConfig, TeamTask, TaskStatus, TaskComment, TeamMessage, TeamPlan, PlanRevision, PlanMode, Tool } from "./types.js"; type BroadcastFn = (event: Record) => void; export declare function registerTeamBroadcast(fn: BroadcastFn): void; export declare function createTeam(name: string, workingDirectory: string, members: Array<{ name: string; tool: Tool; model?: string; role: string; }>): TeamConfig; export declare function updateTeam(teamId: string, updates: { name?: string; workingDirectory?: string; members?: Array<{ name: string; tool: Tool; model?: string; role: string; }>; }): TeamConfig | null; export declare function listTeams(): TeamConfig[]; export declare function getTeam(teamId: string): TeamConfig | undefined; export declare function deleteTeam(teamId: string): boolean; export declare function deletePlan(teamId: string, planId: string): boolean; export declare function createTask(teamId: string, subject: string, description: string, owner: string, dependencies?: string[], opts?: { autoStart?: boolean; }): TeamTask; export declare function listTasks(teamId: string): TeamTask[]; export declare function getTask(teamId: string, taskId: string): TeamTask | null; export declare function updateTask(teamId: string, taskId: string, updates: { status?: TaskStatus; owner?: string; description?: string; }): TeamTask | null; export declare function addComment(teamId: string, taskId: string, author: string, text: string): TaskComment | null; export declare function sendMessage(teamId: string, from: string, to: string, text: string): TeamMessage; export declare function listMessages(teamId: string, limit?: number): TeamMessage[]; export declare function listPlans(teamId: string): TeamPlan[]; export declare function getLatestPlan(teamId: string): TeamPlan | null; export declare function generatePlan(teamId: string, request: string, opts?: { mode?: PlanMode; reviewers?: string[]; maxIterations?: number; }): boolean; export declare function submitPlan(teamId: string, tasks: PlanRevision["tasks"], createdBy: string, opts?: { mode?: PlanMode; reviewers?: string[]; maxIterations?: number; }): TeamPlan; export declare function reviewPlan(teamId: string, planId: string, reviewer: string, vote: "approve" | "revise" | "reject", feedback?: string): TeamPlan | null; export declare function revisePlan(teamId: string, planId: string, author: string, tasks: PlanRevision["tasks"]): TeamPlan | null; export declare function getPlan(teamId: string, planId: string): TeamPlan | null; export {};