From 57635a9fbe5e217acd5ad609d7d9b97ce5cef232 Mon Sep 17 00:00:00 2001 From: Omni Worker Date: Fri, 21 Nov 2025 22:59:58 -0500 Subject: feat(task): support updating deps in task update Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp --- Omni/Task.hs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'Omni/Task.hs') diff --git a/Omni/Task.hs b/Omni/Task.hs index 36b318b..f19ab73 100644 --- a/Omni/Task.hs +++ b/Omni/Task.hs @@ -44,7 +44,7 @@ Usage: task list [options] task ready [--json] task show [--json] - task update [--json] + task update [--deps=] [--dep-type=] [--json] task deps [--json] task tree [] [--json] task progress [--json] @@ -214,13 +214,30 @@ move args | args `Cli.has` Cli.command "update" = do tid <- getArgText args "id" statusStr <- getArgText args "status" + + -- Handle update dependencies + (deps, depType) <- do + -- Parse --deps and --dep-type + ids <- case Cli.getArg args (Cli.longOption "deps") of + Nothing -> pure [] + Just depStr -> pure <| T.splitOn "," (T.pack depStr) + dtype <- case Cli.getArg args (Cli.longOption "dep-type") of + Nothing -> pure Blocks + Just "blocks" -> pure Blocks + Just "discovered-from" -> pure DiscoveredFrom + Just "parent-child" -> pure ParentChild + Just "related" -> pure Related + Just other -> panic <| "Invalid dependency type: " <> T.pack other <> ". Use: blocks, discovered-from, parent-child, or related" + pure (map (\d -> Dependency {depId = d, depType = dtype}) ids, dtype) + let newStatus = case statusStr of "open" -> Open "in-progress" -> InProgress "review" -> Review "done" -> Done _ -> panic "Invalid status. Use: open, in-progress, review, or done" - updateTaskStatus tid newStatus + + updateTaskStatus tid newStatus deps if isJsonMode args then outputSuccess <| "Updated task " <> tid else do -- cgit v1.2.3 From 029b1018432973f9631562268d01af8919f5113c Mon Sep 17 00:00:00 2001 From: Omni Worker Date: Fri, 21 Nov 2025 23:02:34 -0500 Subject: feat(task): support updating dependencies via CLI Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp --- Omni/Task.hs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Omni/Task.hs') diff --git a/Omni/Task.hs b/Omni/Task.hs index f19ab73..5008dd2 100644 --- a/Omni/Task.hs +++ b/Omni/Task.hs @@ -44,7 +44,7 @@ Usage: task list [options] task ready [--json] task show [--json] - task update [--deps=] [--dep-type=] [--json] + task update [options] task deps [--json] task tree [] [--json] task progress [--json] @@ -214,9 +214,9 @@ move args | args `Cli.has` Cli.command "update" = do tid <- getArgText args "id" statusStr <- getArgText args "status" - + -- Handle update dependencies - (deps, depType) <- do + deps <- do -- Parse --deps and --dep-type ids <- case Cli.getArg args (Cli.longOption "deps") of Nothing -> pure [] @@ -228,7 +228,7 @@ move args Just "parent-child" -> pure ParentChild Just "related" -> pure Related Just other -> panic <| "Invalid dependency type: " <> T.pack other <> ". Use: blocks, discovered-from, parent-child, or related" - pure (map (\d -> Dependency {depId = d, depType = dtype}) ids, dtype) + pure (map (\d -> Dependency {depId = d, depType = dtype}) ids) let newStatus = case statusStr of "open" -> Open @@ -236,7 +236,7 @@ move args "review" -> Review "done" -> Done _ -> panic "Invalid status. Use: open, in-progress, review, or done" - + updateTaskStatus tid newStatus deps if isJsonMode args then outputSuccess <| "Updated task " <> tid -- cgit v1.2.3