package builtin import "gitea.maximumdirect.net/eric/seriatim/internal/pipeline" // NewRegistry registers the MVP built-in modules. func NewRegistry() *pipeline.Registry { registry := pipeline.NewRegistry() registry.RegisterInputReader(jsonFilesReader{}) registry.RegisterPreprocessor(noopPreprocessor{name: "validate-raw", requires: pipeline.StateRaw, produces: pipeline.StateRaw}) registry.RegisterPreprocessor(normalizeSpeakers{}) registry.RegisterPreprocessor(trimText{}) registry.RegisterMerger(placeholderMerger{}) registry.RegisterPostprocessor(detectOverlaps{}) registry.RegisterPostprocessor(resolveOverlaps{}) registry.RegisterPostprocessor(backchannelPostprocessor{}) registry.RegisterPostprocessor(fillerPostprocessor{}) registry.RegisterPostprocessor(coalescePostprocessor{}) registry.RegisterPostprocessor(assignIDs{}) registry.RegisterPostprocessor(noopPostprocessor{name: "validate-output"}) registry.RegisterPostprocessor(autocorrectPostprocessor{}) registry.RegisterOutputWriter(jsonOutputWriter{}) return registry }