From f75c11b67d697266f5f0205d928a9c0ea6be3cb7 Mon Sep 17 00:00:00 2001 From: Alex Emmet <111742636+Alex-Emmet@users.noreply.github.com> Date: Tue, 16 Jun 2026 22:33:27 +0200 Subject: [PATCH] Auto deployments & columns --- src/task.rs | 3 +++ src/tools.rs | 22 +++------------------- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/src/task.rs b/src/task.rs index 5034830..b445dcd 100644 --- a/src/task.rs +++ b/src/task.rs @@ -194,6 +194,8 @@ pub struct AgentTaskSpec { pub agent_type: Option, #[serde(default)] pub suggested_test_files: Vec, + #[serde(default)] + pub project_id: Option, } impl AgentTaskSpec { @@ -221,6 +223,7 @@ impl AgentTaskSpec { session_budget: None, agent_type: None, suggested_test_files: Vec::new(), + project_id: None, } } } diff --git a/src/tools.rs b/src/tools.rs index 94f89bc..a414d09 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -1112,7 +1112,8 @@ pub fn tool_definitions() -> Vec { "priority": { "type": "number", "description": "Priority (1-1000)" }, "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_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"] }) @@ -1129,7 +1130,7 @@ pub fn tool_definitions() -> Vec { "todo_id": { "type": "string", "description": "ID of the todo to update" }, "title": { "type": "string", "description": "New title" }, "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" } }, "required": ["project_id", "todo_id"] @@ -1214,23 +1215,6 @@ pub fn tool_definitions() -> Vec { "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 // ========================