use std::path::PathBuf;
use crate::SessionId;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TaskSpec {
pub id: String,
pub label: String,
pub program: String,
pub args: Vec<String>,
pub cwd: PathBuf,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TaskOrigin {
Human,
Agent { session: SessionId },
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TaskStatus {
Starting,
Running,
Succeeded,
Failed,
Cancelled,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ProblemSeverity {
Error,
Warning,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Problem {
pub path: PathBuf,
pub line: usize,
pub column: usize,
pub severity: ProblemSeverity,
pub message: String,
}