diff --git a/src/pipecat/pipeline/parallel_pipeline.py b/src/pipecat/pipeline/parallel_pipeline.py index 0e9ad0e4e..926b25204 100644 --- a/src/pipecat/pipeline/parallel_pipeline.py +++ b/src/pipecat/pipeline/parallel_pipeline.py @@ -152,6 +152,18 @@ class ParallelPipeline(BasePipeline): # Frame processor # + @property + def processors(self): + """Return the list of sub-processors contained within this processor. + + Only compound processors (e.g. pipelines and parallel pipelines) have + sub-processors. Non-compound processors will return an empty list. + + Returns: + The list of sub-processors if this is a compound processor. + """ + return self._pipelines + def processors_with_metrics(self) -> List[FrameProcessor]: """Collect processors that can generate metrics from all parallel branches. diff --git a/src/pipecat/pipeline/pipeline.py b/src/pipecat/pipeline/pipeline.py index d9068767b..98d6d089e 100644 --- a/src/pipecat/pipeline/pipeline.py +++ b/src/pipecat/pipeline/pipeline.py @@ -114,6 +114,10 @@ class Pipeline(BasePipeline): # Frame processor # + @property + def processors(self): + return self._processors + def processors_with_metrics(self): """Return processors that can generate metrics. diff --git a/src/pipecat/pipeline/sync_parallel_pipeline.py b/src/pipecat/pipeline/sync_parallel_pipeline.py index 332e5d35c..9175a1ef0 100644 --- a/src/pipecat/pipeline/sync_parallel_pipeline.py +++ b/src/pipecat/pipeline/sync_parallel_pipeline.py @@ -137,6 +137,18 @@ class SyncParallelPipeline(BasePipeline): # Frame processor # + @property + def processors(self): + """Return the list of sub-processors contained within this processor. + + Only compound processors (e.g. pipelines and parallel pipelines) have + sub-processors. Non-compound processors will return an empty list. + + Returns: + The list of sub-processors if this is a compound processor. + """ + return self._pipelines + def processors_with_metrics(self) -> List[FrameProcessor]: """Collect processors that can generate metrics from all parallel pipelines.