Protocols (pynydus.api.protocols)

Abstract base classes that all platform connectors must subclass.

Spawner

class Spawner

Bases: abc.ABC

Base class for all platform spawners.

A spawner reads redacted source files and produces a ParseResult containing structured skills, memory, MCP configs, and neutral metadata.

abstract parse(files: dict[str, str]) pynydus.api.raw_types.ParseResult

Parse redacted source files into structured records.

Args: files: Mapping of relative path to UTF-8 content (already redacted).

Returns: Structured parse output.

All spawners must implement parse(files: dict[str, str]) -> ParseResult. The method receives pre-redacted file contents (placeholder tokens instead of real secrets) and returns structured records.

Concrete implementations: OpenClawSpawner, ZeroClawSpawner, LettaSpawner.

Hatcher

class Hatcher

Bases: abc.ABC

Base class for all platform hatchers.

A hatcher takes a loaded Egg and produces target-platform files in an output directory.

abstract render(egg: pynydus.api.schemas.Egg, output_dir: pathlib.Path) pynydus.api.raw_types.RenderResult

Render egg contents into target-platform files.

Args: egg: Loaded Egg with all modules. output_dir: Target output directory (connectors may ignore until write).

Returns: File mapping and optional warnings (placeholders intact).

All hatchers must implement render(egg: Egg, output_dir: Path) -> RenderResult. The method produces target-platform files from the egg’s structured modules. Placeholders remain intact; secret injection happens after rendering.

Concrete implementations: OpenClawHatcher, ZeroClawHatcher, LettaHatcher.