package commands

import (
	"fmt"

	"github.com/spf13/cobra"
)

var stopAgentCmd = &cobra.Command{
	Use:   "stop-agent [agent-name]",
	Short: "Stop a running agent",
	Long: `Stop a specific running agent.

Examples:
  staff stop-agent backend-engineer
  staff stop-agent frontend-engineer`,
	Args: cobra.ExactArgs(1),
	RunE: runStopAgent,
}

func runStopAgent(cmd *cobra.Command, args []string) error {
	agentName := args[0]

	err := agentManager.StopAgent(agentName)
	if err != nil {
		return fmt.Errorf("failed to stop agent: %w", err)
	}

	fmt.Printf("Agent %s stopped successfully\n", agentName)
	return nil
}
