export type RunStatus = "created" | "clarifying" | "running" | "blocked" | "failed" | "completed" | "stopped" | "awaiting_feedback";
export type SeedRunMode = "single_agent" | "coordinator";
export type TaskStatus = "pending" | "in_progress" | "blocked" | "review" | "completed" | "cancelled";
export declare const SEED_RUN_SCHEMA_VERSION = 1;
export declare const SEED_TASK_SCHEMA_VERSION = 1;
export declare const SEED_ACTIVE_RUN_SCHEMA_VERSION = 1;
export type SeedRun = {
    schema_version: typeof SEED_RUN_SCHEMA_VERSION;
    state_revision: number;
    run_id: string;
    created_at: string;
    updated_at: string;
    completed_at?: string;
    root_session_id?: string;
    professor_goal: string;
    status: RunStatus;
    run_mode: SeedRunMode;
    coordinator_direct_work_reason?: string;
    coordinator_direct_work_granted_at?: string;
    coordinator_direct_work_used_at?: string;
    active_agent: string;
    model_provider?: string;
    model_id?: string;
    model_variant?: string;
    plugin_version: string;
    workspace_root: string;
    acceptance_criteria: string[];
    final_artifacts: string[];
};
export type SeedTask = {
    schema_version: typeof SEED_TASK_SCHEMA_VERSION;
    task_id: string;
    title: string;
    description: string;
    owner_agent: string;
    status: TaskStatus;
    priority: number;
    depends_on: string[];
    acceptance_criteria: string[];
    evidence_refs: string[];
    created_at: string;
    updated_at: string;
    completed_at?: string;
    blocker?: string;
};
export type SeedEvent = {
    event_id: string;
    timestamp: string;
    run_id: string;
    session_id?: string;
    type: string;
    actor: string;
    summary: string;
    related_task_id?: string;
    related_agent_call_id?: string;
    related_tool_call_id?: string;
    metadata?: Record<string, unknown>;
};
export type AgentCall = {
    agent_call_id: string;
    idempotency_key?: string;
    current_attempt_id?: string;
    timestamp_start: string;
    timestamp_end?: string;
    run_id: string;
    parent_session_id?: string;
    child_session_id?: string;
    caller_agent: string;
    target_agent: string;
    task_id?: string;
    mode: "sync" | "background" | "followup";
    prompt_summary: string;
    full_prompt_ref?: string;
    result_summary?: string;
    model_profile?: string;
    requested_model?: string;
    resolved_model?: string;
    model_attempts?: AgentModelAttempt[];
    status: "queued" | "running" | "completed" | "failed" | "cancelled";
    evidence_refs: string[];
    token_usage?: Record<string, unknown>;
    error?: string;
};
export type AgentModelAttempt = {
    attempt_id?: string;
    attempt: number;
    source: "agent_override" | "model_profile" | "fallback" | "opencode_current";
    model?: string;
    providerID?: string;
    modelID?: string;
    variant?: string;
    model_profile?: string;
    child_session_id?: string;
    current?: boolean;
    stale?: boolean;
    status: "pending" | "succeeded" | "failed" | "skipped";
    error?: string;
};
export type ModelCall = {
    model_call_id: string;
    attempt_id?: string;
    timestamp: string;
    run_id: string;
    agent_call_id: string;
    parent_session_id?: string;
    child_session_id?: string;
    caller_agent: string;
    target_agent: string;
    mode: AgentCall["mode"];
    prompt_summary: string;
    prompt_ref?: string;
    result_summary?: string;
    attempt: number;
    source: AgentModelAttempt["source"];
    model?: string;
    providerID?: string;
    modelID?: string;
    variant?: string;
    model_profile?: string;
    status: AgentModelAttempt["status"];
    resolved_model?: string;
    token_usage?: Record<string, unknown>;
    error?: string;
};
export type ToolCall = {
    tool_call_id: string;
    timestamp_start: string;
    timestamp_end?: string;
    run_id: string;
    session_id?: string;
    agent?: string;
    task_id?: string;
    tool_name: string;
    args_summary?: string;
    args_ref?: string;
    status: "started" | "completed" | "failed";
    exit_code?: number;
    output_summary?: string;
    output_ref?: string;
    evidence_refs: string[];
    error?: string;
};
export type ActiveRun = {
    schema_version: typeof SEED_ACTIVE_RUN_SCHEMA_VERSION;
    state_revision: number;
    run_id: string;
    run_dir: string;
    updated_at: string;
};
