workflows/default/systems/mcp/tools/task-mark-todo/script.ps1
|
Import-Module (Join-Path $global:DotbotProjectRoot ".bot\systems\mcp\modules\TaskStore.psm1") -Force function Invoke-TaskMarkTodo { param( [hashtable]$Arguments ) $taskId = $Arguments['task_id'] if (-not $taskId) { throw "Task ID is required" } # Clear completion timestamps when reverting to todo $updates = @{ completed_at = $null started_at = $null } $previousState = Find-TaskFileById -TaskId $taskId if (-not $previousState) { throw "Task with ID '$taskId' not found" } $result = Move-TaskState -TaskId $taskId ` -FromStates @('todo', 'in-progress', 'done', 'skipped') ` -ToState 'todo' ` -Updates $updates if ($result.already_in_state) { return @{ success = $true message = "Task is already marked as todo" task_id = $taskId status = 'todo' } } return @{ success = $true message = "Task marked as todo" task_id = $taskId old_status = $result.old_status new_status = 'todo' old_path = $previousState.File.FullName new_path = $result.file_path } } |