Automation

This commit is contained in:
Alex Emmet 2026-06-07 16:06:39 +02:00
commit e45a8063e3
6 changed files with 1022 additions and 4 deletions

View file

@ -2,7 +2,8 @@ use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::enums::{TaskResultType, TaskStatus};
use crate::agents::AgentType;
use crate::enums::{TaskResultType, TaskStatus, TestStrategy};
use crate::todo::ToDo;
#[derive(Debug, Clone, Serialize, Deserialize)]
@ -146,6 +147,10 @@ pub struct TestCase {
pub name: String,
pub command: String,
pub expected_output: Option<String>,
#[serde(default)]
pub test_strategy: Option<TestStrategy>,
#[serde(default)]
pub suggested_test_files: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
@ -156,6 +161,12 @@ pub struct ResourceLimits {
pub timeout_seconds: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionBudget {
pub max_tool_calls: u32,
pub max_tokens: u32,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct FileRange {
pub path: String,
@ -177,6 +188,12 @@ pub struct AgentTaskSpec {
pub token_budget: usize,
pub resource_limits: ResourceLimits,
pub parent_task_id: Option<Uuid>,
pub pre_approved_plan_id: Option<Uuid>,
pub execution_token: Option<Uuid>,
pub session_budget: Option<SessionBudget>,
pub agent_type: Option<AgentType>,
#[serde(default)]
pub suggested_test_files: Vec<String>,
}
impl AgentTaskSpec {
@ -199,6 +216,11 @@ impl AgentTaskSpec {
timeout_seconds: 3600, // 1 hour
},
parent_task_id: None,
pre_approved_plan_id: None,
execution_token: None,
session_budget: None,
agent_type: None,
suggested_test_files: Vec::new(),
}
}
}