package cli import ( "github.com/spf13/cobra" "gitea.maximumdirect.net/eric/seriatim/internal/config" "gitea.maximumdirect.net/eric/seriatim/internal/normalize" ) func newNormalizeCommand() *cobra.Command { var opts config.NormalizeOptions cmd := &cobra.Command{ Use: "normalize", Short: "Normalize a transcript artifact into a standard seriatim output shape", RunE: func(cmd *cobra.Command, args []string) error { normalizeOpts := opts if !cmd.Flags().Changed("output-schema") { normalizeOpts.OutputSchema = "" } cfg, err := config.NewNormalizeConfig(normalizeOpts) if err != nil { return err } return normalize.Run(cmd.Context(), cfg) }, } flags := cmd.Flags() flags.StringVar(&opts.InputFile, "input-file", "", "input transcript JSON file") addOutputFileFlag(cmd, &opts.OutputFile) addReportFileFlag(cmd, &opts.ReportFile) addNormalizeOutputSchemaFlag(cmd, &opts.OutputSchema) addOutputModulesFlag(cmd, &opts.OutputModules) return cmd }