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

Function newTaskRunRecoverCommand

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

Source from the content-addressed store, hash-verified

1960}
1961
1962func newTaskRunRecoverCommand(deps commandDeps) *cobra.Command {
1963 var (
1964 reason string
1965 metadataRaw string
1966 )
1967
1968 cmd := &cobra.Command{
1969 Use: "recover <run-id>",
1970 Short: "Recover one needs_attention task run",
1971 Args: cobra.ExactArgs(1),
1972 Example: ` # Re-enqueue one run stuck in needs_attention
1973 agh task run recover run-123 --reason "operator recovery"`,
1974 RunE: func(cmd *cobra.Command, args []string) error {
1975 runIDs, err := requiredTaskRunIDs(args)
1976 if err != nil {
1977 return err
1978 }
1979 request := RecoverTaskRunRequest{Reason: strings.TrimSpace(reason)}
1980 if cmd.Flags().Changed("metadata") {
1981 request.Metadata, err = parseAgentTaskJSONFlag("metadata", metadataRaw)
1982 if err != nil {
1983 return err
1984 }
1985 }
1986 client, err := clientFromDeps(deps)
1987 if err != nil {
1988 return err
1989 }
1990 record, err := client.RecoverTaskRun(cmd.Context(), runIDs[0], request)
1991 if err != nil {
1992 return err
1993 }
1994 return writeCommandOutput(cmd, recoverTaskRunBundle(&record))
1995 },
1996 }
1997 cmd.Flags().
1998 StringVar(&reason, "reason", "", "Optional recovery reason recorded in the audit event")
1999 cmd.Flags().StringVar(&metadataRaw, "metadata", "", "Optional recovery metadata JSON")
2000 return cmd
2001}
2002
2003func newTaskPauseCommand(deps commandDeps) *cobra.Command {
2004 var reason string

Callers 1

newTaskRunCommandFunction · 0.85

Calls 6

requiredTaskRunIDsFunction · 0.85
parseAgentTaskJSONFlagFunction · 0.85
clientFromDepsFunction · 0.85
writeCommandOutputFunction · 0.85
recoverTaskRunBundleFunction · 0.85
RecoverTaskRunMethod · 0.65

Tested by

no test coverage detected