Auto deployments & columns

This commit is contained in:
Alex Emmet 2026-06-16 22:33:27 +02:00
commit f75c11b67d
2 changed files with 6 additions and 19 deletions

View file

@ -194,6 +194,8 @@ pub struct AgentTaskSpec {
pub agent_type: Option<AgentType>, pub agent_type: Option<AgentType>,
#[serde(default)] #[serde(default)]
pub suggested_test_files: Vec<String>, pub suggested_test_files: Vec<String>,
#[serde(default)]
pub project_id: Option<Uuid>,
} }
impl AgentTaskSpec { impl AgentTaskSpec {
@ -221,6 +223,7 @@ impl AgentTaskSpec {
session_budget: None, session_budget: None,
agent_type: None, agent_type: None,
suggested_test_files: Vec::new(), suggested_test_files: Vec::new(),
project_id: None,
} }
} }
} }

View file

@ -1112,7 +1112,8 @@ pub fn tool_definitions() -> Vec<ToolDefinition> {
"priority": { "type": "number", "description": "Priority (1-1000)" }, "priority": { "type": "number", "description": "Priority (1-1000)" },
"deploy_agent": { "type": "boolean", "description": "Whether to deploy an agent for this todo" }, "deploy_agent": { "type": "boolean", "description": "Whether to deploy an agent for this todo" },
"agent_prompt": { "type": "string", "description": "Optional agent prompt if deploy_agent is true" }, "agent_prompt": { "type": "string", "description": "Optional agent prompt if deploy_agent is true" },
"agent_task_details": { "type": "string", "description": "Optional agent task details" } "agent_task_details": { "type": "string", "description": "Optional agent task details" },
"parent_todo_id": { "type": "string", "description": "Optional parent todo ID" }
}, },
"required": ["project_id", "title"] "required": ["project_id", "title"]
}) })
@ -1129,7 +1130,7 @@ pub fn tool_definitions() -> Vec<ToolDefinition> {
"todo_id": { "type": "string", "description": "ID of the todo to update" }, "todo_id": { "type": "string", "description": "ID of the todo to update" },
"title": { "type": "string", "description": "New title" }, "title": { "type": "string", "description": "New title" },
"description": { "type": "string", "description": "New description" }, "description": { "type": "string", "description": "New description" },
"status": { "type": "string", "description": "New status (pending, in_progress, completed, blocked)" }, "status": { "type": "string", "enum": ["backlog","in_progress","in_review","done","blocked","delegated","failed"], "description": "New status" },
"priority": { "type": "number", "description": "New priority" } "priority": { "type": "number", "description": "New priority" }
}, },
"required": ["project_id", "todo_id"] "required": ["project_id", "todo_id"]
@ -1214,23 +1215,6 @@ pub fn tool_definitions() -> Vec<ToolDefinition> {
"required": ["project_id", "todo_id", "tag_name"] "required": ["project_id", "todo_id", "tag_name"]
}) })
), ),
tool!(
"kanban_create_column",
"Create a new column in the Kanban board",
"kanban",
false, false, true,
serde_json::json!({
"type": "object",
"properties": {
"project_id": { "type": "string", "description": "Project ID" },
"board_id": { "type": "string", "description": "Board ID (defaults to project's primary board)" },
"name": { "type": "string", "description": "Column name" },
"column_order": { "type": "number", "description": "Display order" }
},
"required": ["project_id", "name"]
})
),
// ======================== // ========================
// Documentation Tools // Documentation Tools
// ======================== // ========================