pynydus.api.schemas¶
Pydantic models for the Egg data model.
Includes manifest, skills, memory, secrets modules, and the top-level Egg
container types used in spawn/hatch/save.
Module Contents¶
Classes¶
Raw MCP server configs. Nydus does not model MCP fields. |
|
Container for all skills in an Egg (agentskills.io format). |
|
A single memory record. |
|
Container for all memory records in an Egg. |
|
A single redaction placeholder record (credential or PII). Spec §6.2. |
|
Container for all redaction placeholder records in an Egg. |
|
Records what redaction was applied during spawning. |
|
The single SOURCE tree that contributed to this egg, if any. |
|
Top-level Egg metadata. |
|
The canonical portable artifact. |
|
A single validation finding (error or warning). |
|
Result of validating an Egg or source input. |
|
Intermediate result from a spawner before full packaging. |
|
Output from a hatcher. |
|
A single manifest-level field difference between two Eggs. |
|
A single record-level difference within a module type. |
|
Result of comparing two Eggs. |
API¶
- class pynydus.api.schemas.McpModule(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelRaw MCP server configs. Nydus does not model MCP fields.
Stored as
mcp.jsonin the egg archive using Claude Desktop format ({ "mcpServers": { "<name>": { ... } } }).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.selfis explicitly positional-only to allowselfas a field name.
- class pynydus.api.schemas.SkillsModule(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelContainer for all skills in an Egg (agentskills.io format).
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.selfis explicitly positional-only to allowselfas a field name.- skills: list[pynydus.api.skill_format.AgentSkill]¶
‘Field(…)’
- class pynydus.api.schemas.MemoryRecord(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelA single memory record.
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.selfis explicitly positional-only to allowselfas a field name.- label: pynydus.common.enums.MemoryLabel¶
None
- timestamp: datetime.datetime | None¶
None
True
- class pynydus.api.schemas.MemoryModule(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelContainer for all memory records in an Egg.
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.selfis explicitly positional-only to allowselfas a field name.- memory: list[pynydus.api.schemas.MemoryRecord]¶
‘Field(…)’
- class pynydus.api.schemas.SecretRecord(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelA single redaction placeholder record (credential or PII). Spec §6.2.
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.selfis explicitly positional-only to allowselfas a field name.- kind: pynydus.common.enums.SecretKind¶
None
- injection_mode: pynydus.common.enums.InjectionMode¶
None
- class pynydus.api.schemas.SecretsModule(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelContainer for all redaction placeholder records in an Egg.
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.selfis explicitly positional-only to allowselfas a field name.- secrets: list[pynydus.api.schemas.SecretRecord]¶
‘Field(…)’
- class pynydus.api.schemas.RedactionPolicy(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelRecords what redaction was applied during spawning.
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.selfis explicitly positional-only to allowselfas a field name.
- class pynydus.api.schemas.SourceEntry(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelThe single SOURCE tree that contributed to this egg, if any.
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.selfis explicitly positional-only to allowselfas a field name.
- class pynydus.api.schemas.Manifest(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelTop-level Egg metadata.
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.selfis explicitly positional-only to allowselfas a field name.- created_at: datetime.datetime¶
None
- agent_type: pynydus.common.enums.AgentType¶
None
- base_egg: str | None¶
None
Base egg reference this egg inherited from (e.g. ‘nydus/openclaw:0.3.0’).
- redaction_policy: pynydus.api.schemas.RedactionPolicy | None¶
None
- sources: Annotated[list[pynydus.api.schemas.SourceEntry], Field(max_length=1)]¶
‘Field(…)’
At most one source entry (FROM-only spawns may omit this list).
- class pynydus.api.schemas.Egg(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelThe canonical portable artifact.
Redacted sources and spawn pipeline log align with
raw/andspawn_log.jsonin the.eggarchive. Use :func:~pynydus.engine.packager.loadto populate these from disk, and :func:~pynydus.engine.packager.saveto write them.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.selfis explicitly positional-only to allowselfas a field name.- manifest: pynydus.api.schemas.Manifest¶
None
- skills: pynydus.api.schemas.SkillsModule¶
‘Field(…)’
- mcp: pynydus.api.schemas.McpModule¶
‘Field(…)’
- memory: pynydus.api.schemas.MemoryModule¶
‘Field(…)’
- secrets: pynydus.api.schemas.SecretsModule¶
‘Field(…)’
- class pynydus.api.schemas.ValidationIssue(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelA single validation finding (error or warning).
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.selfis explicitly positional-only to allowselfas a field name.
- class pynydus.api.schemas.ValidationReport(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelResult of validating an Egg or source input.
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.selfis explicitly positional-only to allowselfas a field name.- issues: list[pynydus.api.schemas.ValidationIssue]¶
‘Field(…)’
- class pynydus.api.schemas.EggPartial(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelIntermediate result from a spawner before full packaging.
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.selfis explicitly positional-only to allowselfas a field name.- skills: pynydus.api.schemas.SkillsModule¶
‘Field(…)’
- mcp: pynydus.api.schemas.McpModule¶
‘Field(…)’
- memory: pynydus.api.schemas.MemoryModule¶
‘Field(…)’
- secrets: pynydus.api.schemas.SecretsModule¶
‘Field(…)’
- class pynydus.api.schemas.HatchResult(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelOutput from a hatcher.
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.selfis explicitly positional-only to allowselfas a field name.- target: pynydus.common.enums.AgentType¶
None
- output_dir: pathlib.Path¶
None
- class pynydus.api.schemas.ManifestChange(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelA single manifest-level field difference between two Eggs.
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.selfis explicitly positional-only to allowselfas a field name.
- class pynydus.api.schemas.DiffEntry(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelA single record-level difference within a module type.
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.selfis explicitly positional-only to allowselfas a field name.- bucket: pynydus.common.enums.ModuleType¶
None
Which module the record belongs to (skill, memory, secret).
- change: pynydus.common.enums.DiffChange¶
None
Type of change: ADDED, REMOVED, or MODIFIED.
- class pynydus.api.schemas.DiffReport(/, **data: typing.Any)¶
Bases:
pydantic.BaseModelResult of comparing two Eggs.
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.selfis explicitly positional-only to allowselfas a field name.- manifest_changes: list[pynydus.api.schemas.ManifestChange]¶
‘Field(…)’
- entries: list[pynydus.api.schemas.DiffEntry]¶
‘Field(…)’