Cyril Dupland
First Commit
bd44418
raw
history blame contribute delete
648 Bytes
"""Post-processing pipeline base interfaces and orchestrator."""
from typing import Protocol, List
from .context import RunContext
class PostProcessor(Protocol):
name: str
def process(self, ctx: RunContext) -> None:
...
class PostProcessingOrchestrator:
def __init__(self, processors: List[PostProcessor]):
self._processors = processors
def run(self, ctx: RunContext) -> None:
for processor in self._processors:
try:
processor.process(ctx)
except Exception:
# Best effort: don't break the response if a processor fails
continue