Taskspace Orchestration Tools
spawn_taskspace
#![allow(unused)] fn main() { // --- Parameters ----------------------- #[derive(Debug, Deserialize, Serialize, schemars::JsonSchema)] struct SpawnTaskspaceParams { /// Name for the new taskspace name: String, /// Description of the task to be performed task_description: String, /// Initial prompt to provide to the agent when it starts initial_prompt: String, } // --- Tool definition ------------------ #[tool( description = "Create a new taskspace with name, description, and initial prompt. \ The new taskspace will be launched with VSCode and the configured agent tool." )] async fn spawn_taskspace( &self, Parameters(params): Parameters<SpawnTaskspaceParams>, ) -> Result<CallToolResult, McpError> { }
Use case: Create new collaborative workspaces for specific tasks
update_taskspace
#![allow(unused)] fn main() { // --- Parameters ----------------------- #[derive(Debug, Deserialize, Serialize, schemars::JsonSchema)] struct UpdateTaskspaceParams { /// New name for the taskspace name: String, /// New description for the taskspace description: String, } // --- Tool definition ------------------ #[tool( description = "Update the name and description of the current taskspace. \ Use this to set meaningful names and descriptions based on user interaction." )] async fn update_taskspace( &self, Parameters(params): Parameters<UpdateTaskspaceParams>, ) -> Result<CallToolResult, McpError> { }
Use case: Update taskspace name and description based on user interaction
delete_taskspace
Use case: Delete the current taskspace, removing filesystem directories, closing VSCode windows, and cleaning up git worktrees
log_progress
#![allow(unused)] fn main() { // --- Parameters ----------------------- #[derive(Debug, Deserialize, Serialize, schemars::JsonSchema)] struct LogProgressParams { /// Progress message to display message: String, /// Category for visual indicator (info, warn, error, milestone, question) category: String, } // --- Tool definition ------------------ #[tool(description = "Report progress with visual indicators. \ Categories: 'info' or ℹ️, 'warn' or ⚠️, 'error' or ❌, 'milestone' or ✅, 'question' or ❓")] async fn log_progress( &self, Parameters(params): Parameters<LogProgressParams>, ) -> Result<CallToolResult, McpError> { }
Progress categories:
#![allow(unused)] fn main() { #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "lowercase")] pub enum ProgressCategory { Info, Warn, Error, Milestone, Question, } }
Use case: Keep users informed of agent progress and status
signal_user
#![allow(unused)] fn main() { // --- Parameters ----------------------- #[derive(Debug, Deserialize, Serialize, schemars::JsonSchema)] struct SignalUserParams { /// Message describing why user attention is needed message: String, } // --- Tool definition ------------------ #[tool(description = "Request user attention for assistance. \ The taskspace will be highlighted and moved toward the front of the panel.")] async fn signal_user( &self, Parameters(params): Parameters<SignalUserParams>, ) -> Result<CallToolResult, McpError> { }
Use case: Alert users when agents need help or input