pynydus.api.raw_types

Data types for spawner/hatcher interfaces and the pipeline.

ParseResult is produced by spawner.parse() from redacted files. RenderResult is produced by hatcher.render() with placeholders intact. RawSkill and RawMemory are row-level records inside ParseResult.

Module Contents

Classes

RawSkill

A skill extracted verbatim from a source platform.

RawMemory

A single memory snippet extracted from a source platform.

ParseResult

Output of spawner.parse(): structured records from redacted files.

RenderResult

Output of hatcher.render(): target file contents from Egg records.

API

class pynydus.api.raw_types.RawSkill(/, **data: typing.Any)

Bases: pydantic.BaseModel

A skill extracted verbatim from a source platform.

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

name: str

None

content: str

None

source_file: str | None

None

class pynydus.api.raw_types.RawMemory(/, **data: typing.Any)

Bases: pydantic.BaseModel

A single memory snippet extracted from a source platform.

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

text: str

None

source_file: str | None

None

label: pynydus.common.enums.MemoryLabel | None

None

Optional label hint from the spawner (e.g. MemoryLabel.PERSONA).

timestamp: datetime.datetime | None

None

Optional timestamp from source data.

skill_ref: str | None

None

Optional reference to a skill name this memory is associated with.

class pynydus.api.raw_types.ParseResult(/, **data: typing.Any)

Bases: pydantic.BaseModel

Output of spawner.parse(): structured records from redacted files.

Spawners produce this after receiving pre-redacted file contents. No secrets, no raw_artifacts, no source_type: those are pipeline concerns.

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

skills: list[pynydus.api.raw_types.RawSkill]

‘Field(…)’

memory: list[pynydus.api.raw_types.RawMemory]

‘Field(…)’

mcp_configs: dict[str, dict]

‘Field(…)’

MCP server configs discovered during parsing, keyed by server name.

agent_name: str | None

None

agent_description: str | None

None

llm_model: str | None

None

llm_context_window: int | None

None

embedding_model: str | None

None

class pynydus.api.raw_types.RenderResult(/, **data: typing.Any)

Bases: pydantic.BaseModel

Output of hatcher.render(): target file contents from Egg records.

Hatchers produce this from an Egg. Files contain {{SECRET_NNN}} and {{PII_NNN}} placeholders. the pipeline substitutes real values at the secrets-IN boundary.

Initialization

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

files: dict[str, str]

‘Field(…)’

Filename → UTF-8 content (with placeholders intact).

warnings: list[str]

‘Field(…)’