package cmd import ( "encoding/json" "fmt" "github.com/spf13/cobra" ) var servicesCmd = &cobra.Command{ Use: "services", Short: "List all available services and pricing", Long: `Get a list of all available services and their credit costs`, RunE: runServices, } func init() { rootCmd.AddCommand(servicesCmd) } func runServices(cmd *cobra.Command, args []string) error { c, err := newUnauthenticatedClient() if err != nil { return err } data, err := c.ListServices() if err != nil { return err } if IsJSONOutput() { fmt.Println(string(data)) return nil } var services map[string]interface{} if err := json.Unmarshal(data, &services); err != nil { return fmt.Errorf("failed to parse services: %w", err) } fmt.Println("\nAvailable Services:") fmt.Println("===================\n") servicesData, _ := json.MarshalIndent(services, "", " ") fmt.Println(string(servicesData)) return nil }