MCPcopy Create free account
hub / github.com/compozy/agh / newTaskPauseCommand

Function newTaskPauseCommand

internal/cli/task.go:2003–2043  ·  view source on GitHub ↗
(deps commandDeps)

Source from the content-addressed store, hash-verified

2001}
2002
2003func newTaskPauseCommand(deps commandDeps) *cobra.Command {
2004 var reason string
2005 var metadataRaw string
2006
2007 cmd := &cobra.Command{
2008 Use: "pause <task-id>",
2009 Short: "Pause new runs for one task",
2010 Args: cobra.ExactArgs(1),
2011 Example: ` # Pause a noisy task while current claims finish
2012 agh task pause task-123 --reason "provider incident"`,
2013 RunE: func(cmd *cobra.Command, args []string) error {
2014 taskID, err := requiredTaskID(args[0])
2015 if err != nil {
2016 return err
2017 }
2018 request := PauseTaskRequest{Reason: strings.TrimSpace(reason)}
2019 if request.Reason == "" {
2020 return errors.New("cli: --reason is required")
2021 }
2022 if cmd.Flags().Changed("metadata") {
2023 request.Metadata, err = parseAgentTaskJSONFlag("metadata", metadataRaw)
2024 if err != nil {
2025 return err
2026 }
2027 }
2028 client, err := clientFromDeps(deps)
2029 if err != nil {
2030 return err
2031 }
2032 record, err := client.PauseTask(cmd.Context(), taskID, request)
2033 if err != nil {
2034 return err
2035 }
2036 return writeCommandOutput(cmd, taskBundle(&record))
2037 },
2038 }
2039 cmd.Flags().StringVar(&reason, "reason", "", "Task-pause reason")
2040 cmd.Flags().StringVar(&metadataRaw, "metadata", "", "Optional task-pause metadata JSON")
2041 mustMarkFlagRequired(cmd, "reason")
2042 return cmd
2043}
2044
2045func newTaskResumeCommand(deps commandDeps) *cobra.Command {
2046 var metadataRaw string

Callers 1

newTaskCommandFunction · 0.85

Calls 7

requiredTaskIDFunction · 0.85
parseAgentTaskJSONFlagFunction · 0.85
clientFromDepsFunction · 0.85
writeCommandOutputFunction · 0.85
taskBundleFunction · 0.85
mustMarkFlagRequiredFunction · 0.85
PauseTaskMethod · 0.65

Tested by

no test coverage detected