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

Function newTaskPromoteCommand

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

Source from the content-addressed store, hash-verified

2079}
2080
2081func newTaskPromoteCommand(deps commandDeps) *cobra.Command {
2082 var input taskPromoteInput
2083 cmd := &cobra.Command{
2084 Use: networkPromoteCommandUse,
2085 Short: "Promote one network thread message into a task",
2086 Args: cobra.NoArgs,
2087 RunE: func(cmd *cobra.Command, _ []string) error {
2088 metadata, err := parseOptionalNetworkMetadata(cmd, input.MetadataRaw)
2089 if err != nil {
2090 return err
2091 }
2092 client, err := clientFromDeps(deps)
2093 if err != nil {
2094 return err
2095 }
2096 workspace, err := resolveCLIWorkspaceRouteRef(
2097 cmd.Context(),
2098 deps,
2099 client,
2100 strings.TrimSpace(input.WorkspaceRef),
2101 )
2102 if err != nil {
2103 return err
2104 }
2105 promoted, err := client.PromoteNetworkThreadTask(
2106 cmd.Context(),
2107 workspace,
2108 strings.TrimSpace(input.Channel),
2109 strings.TrimSpace(input.ThreadID),
2110 PromoteNetworkThreadTaskRequest{
2111 OriginMessageID: strings.TrimSpace(input.OriginMessageID),
2112 Title: strings.TrimSpace(input.Title),
2113 Description: strings.TrimSpace(input.Description),
2114 Priority: strings.TrimSpace(input.Priority),
2115 Metadata: metadata,
2116 },
2117 )
2118 if err != nil {
2119 return err
2120 }
2121 return writeCommandOutput(cmd, networkThreadPromotionBundle(&promoted))
2122 },
2123 }
2124 cmd.Flags().StringVar(&input.WorkspaceRef, "workspace", "", "Workspace path, name, or ID")
2125 cmd.Flags().StringVar(&input.Channel, networkChannelKey, "", "Source network channel")
2126 cmd.Flags().StringVar(&input.ThreadID, networkSurfaceThread, "", "Source public thread id")
2127 cmd.Flags().StringVar(&input.OriginMessageID, "origin-message", "", "Origin message id to promote")
2128 cmd.Flags().StringVar(&input.Title, taskTitleKey, "", "Optional task title")
2129 cmd.Flags().StringVar(&input.Description, taskDescriptionKey, "", "Optional task description")
2130 cmd.Flags().StringVar(&input.Priority, "priority", "", "Optional task priority")
2131 cmd.Flags().StringVar(&input.MetadataRaw, "metadata", "", "Optional JSON metadata for the promoted task")
2132 mustMarkFlagRequired(cmd, "workspace")
2133 mustMarkFlagRequired(cmd, networkChannelKey)
2134 mustMarkFlagRequired(cmd, networkSurfaceThread)
2135 mustMarkFlagRequired(cmd, "origin-message")
2136 return cmd
2137}
2138

Callers 1

newTaskCommandFunction · 0.85

Calls 7

clientFromDepsFunction · 0.85
writeCommandOutputFunction · 0.85
mustMarkFlagRequiredFunction · 0.85

Tested by

no test coverage detected