Skip to main content

output.registry

Output generator registry — spec-driven factory for wiring output generators based on agentspec configuration.

OutputRegistry Objects

class OutputRegistry()

Spec-driven factory for creating output generators.

Usage::

registry = OutputRegistry()

# Register custom generators
registry.register("csv", CSVOutputGenerator)

# Create from agentspec configuration
generator = registry.create_from_spec({
"format": "pdf",
"template": "/templates/report.html",
"sandbox_url": "http://sandbox:8888",
"output_dir": "/results",
})

register

def register(format_name: str,
generator_class: type[BaseOutputGenerator]) -> None

Register a new output format.

list_formats

def list_formats() -> list[str]

Return available output format names.

create

def create(format_name: str, **kwargs: Any) -> BaseOutputGenerator

Create an output generator by format name.

create_from_spec

def create_from_spec(spec_config: dict[str, Any]) -> BaseOutputGenerator

Create an output generator from agentspec output configuration.

Expected spec_config keys: format: str — e.g. "pdf" template: str | None — optional template path sandbox_url: str — Jupyter sandbox URL output_dir: str — directory for output files ... additional generator-specific keys

get_default_registry

def get_default_registry() -> OutputRegistry

Return (and lazily create) the default output registry.

create_output_generator

def create_output_generator(
spec_config: dict[str, Any]) -> BaseOutputGenerator

Convenience: create a generator from spec config using the default registry.