pynydus.agents.zeroclaw.spawner

ZeroClaw spawner connector. Spec §11.6.

Parses a ZeroClaw workspace directory containing:

  • SOUL.md / persona.md -> memory records labeled “persona”

  • IDENTITY.md -> memory records labeled “persona”

  • identity.json -> memory records labeled “persona” (AIEOS format)

  • AGENTS.md / instructions.md / system_prompt.md -> memory records labeled “flow”

  • HEARTBEAT.md -> memory records labeled “flow”

  • USER.md / context.md -> memory records labeled “context”

  • TOOLS.md -> memory records labeled “context”

  • MEMORY.md -> memory records labeled “state”

  • memory/YYYY-MM-DD.md -> memory records labeled “state”

  • memory/session_*.md -> memory records labeled “state”

  • memory.db (SQLite) -> memory records by category (Core/Daily/Conversation)

  • tools/ -> Python tool files -> skill records

  • tools.json -> tool manifest with metadata

  • .zeroclaw/ -> marker directory (optional)

  • config.json / config.yaml / config.toml -> secret requirements

Module Contents

Classes

ZeroClawSpawner

Parse a ZeroClaw project directory.

Functions

_parse_neutral_metadata_from_toml

Map config.toml fields into neutral ParseResult metadata.

_extract_timestamp_from_row

Try to extract a timestamp from a database row.

Data

_PERSONA_FILES

_FLOW_FILES

_CONTEXT_FILES

_STATE_FILES

_CONFIG_FILES

_CATEGORY_LABEL_MAP

FILE_PATTERNS

Glob patterns the pipeline uses to read source files from disk.

API

pynydus.agents.zeroclaw.spawner._PERSONA_FILES

(‘SOUL.md’, ‘persona.md’, ‘IDENTITY.md’)

pynydus.agents.zeroclaw.spawner._FLOW_FILES

(‘AGENTS.md’, ‘agents.md’, ‘instructions.md’, ‘system_prompt.md’, ‘HEARTBEAT.md’)

pynydus.agents.zeroclaw.spawner._CONTEXT_FILES

(‘USER.md’, ‘user.md’, ‘context.md’, ‘TOOLS.md’)

pynydus.agents.zeroclaw.spawner._STATE_FILES

(‘MEMORY.md’, ‘knowledge.md’)

pynydus.agents.zeroclaw.spawner._CONFIG_FILES

(‘config.json’, ‘config.yaml’, ‘config.yml’, ‘config.toml’)

pynydus.agents.zeroclaw.spawner._CATEGORY_LABEL_MAP: dict[str, pynydus.common.enums.MemoryLabel]

None

pynydus.agents.zeroclaw.spawner.FILE_PATTERNS

[’.md’, ‘.yaml’, ‘.yml’, ‘.json’, ‘.txt’, ‘.toml’, ‘tools/.py’, ‘memory/.md’]

Glob patterns the pipeline uses to read source files from disk.

class pynydus.agents.zeroclaw.spawner.ZeroClawSpawner

Bases: pynydus.api.protocols.Spawner

Parse a ZeroClaw project directory.

FILE_PATTERNS

None

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

Parse pre-redacted file contents into raw skills and memory.

Args: files: filename -> UTF-8 content (already redacted).

Returns: Skills, memory, MCP configs, and neutral metadata when present in config.

parse_db(db_path: pathlib.Path, supplemental_files: dict[str, str] | None = None) pynydus.api.raw_types.ParseResult

Parse memory entries from a ZeroClaw memory.db SQLite database.

ZeroClaw stores MemoryEntry records with category fields (Core, Daily, Conversation, Custom).

Args: db_path: Path to the memory.db SQLite file. supplemental_files: Additional text files to parse alongside the DB.

Returns: Skills, memory, MCP configs, and neutral metadata from supplemental files.

_parse_skills(files: dict[str, str]) list[pynydus.api.raw_types.RawSkill]

Parse skills from file contents dict.

_parse_memories(files: dict[str, str]) list[pynydus.api.raw_types.RawMemory]

Parse memory from all recognized ZeroClaw workspace files.

static _parse_mcp_configs(files: dict[str, str]) dict[str, dict]
pynydus.agents.zeroclaw.spawner._parse_neutral_metadata_from_toml(files: dict[str, str]) tuple[str | None, str | None, str | None]

Map config.toml fields into neutral ParseResult metadata.

pynydus.agents.zeroclaw.spawner._extract_timestamp_from_row(row: dict) datetime.datetime | None

Try to extract a timestamp from a database row.