Skip to main content

Crate nap_core

Crate nap_core 

Source
Expand description

§NAP Core — Narrative Addressing Protocol

Four primitives for entertainment infrastructure:

  • URI: Identity — nap://starwars/character/lukeskywalker
  • Manifest: Current state — YAML, human/machine/agent-readable
  • Commit: History — snapshot + delta metadata
  • Resolver: Resolution — URI → Manifest, with query/version selectors

Re-exports§

pub use autopublish::AutopublishConfig;
pub use autopublish::AutopublishHandle;
pub use autopublish::AutopublishWorker;
pub use commit::Change;
pub use commit::ChangeOp;
pub use commit::Commit;
pub use content::ContentHash;
pub use context_docs::ContextDocsManager;
pub use error::NapError;
pub use manifest::Manifest;
pub use manifest::Principal;
pub use manifest::Provenance;
pub use manifest::Representation;
pub use merge::conflict::Conflict;
pub use merge::conflict::ConflictType;
pub use merge::conflict::MergeResult;
pub use merge::diff::Change as DiffChange;
pub use merge::diff::ChangeOp as DiffChangeOp;
pub use merge::diff::DiffResult;
pub use merge::diff::diff;
pub use merge::diff::diff_normalized;
pub use merge::merge_engine::MergeEngine;
pub use merge::normalization::normalize;
pub use merge::path::CanonicalPath;
pub use merge::sdl::IdentityRule;
pub use merge::sdl::MergeStrategyDef;
pub use merge::sdl::MergeStrategyType;
pub use merge::sdl::PropertyDef;
pub use merge::sdl::PropertyType;
pub use merge::sdl::SdlDocument;
pub use merge::sdl::SdlError;
pub use merge::strategies;
pub use permission_gate::PermissionGate;
pub use query::ManifestQuery;
pub use repo_service::RepoService;
pub use repository::Repository;
pub use resolver::ResolveConfig;
pub use resolver::ResolveOptions;
pub use resolver::Resolver;
pub use storage::StorageBackend;
pub use storage::StorageConfig;
pub use storage::StorageEngine;
pub use storage::StorageError;
pub use storage::get_engine;
pub use types::EntityType;
pub use uri::NapUri;
pub use vcs::AccessLevel;
pub use vcs::CommitInfo;
pub use vcs::ContextDocument;
pub use vcs::Permission;
pub use vcs::Revision;
pub use vcs::VcsBackend;
pub use vcs_git::GitBackend;
pub use vcs_lore::LoreBackend;

Modules§

autopublish
Autopublish — a background worker that stages, commits, and publishes workspace changes on a configurable cadence.
commit
NAP Commit — the history primitive.
content
BLAKE3 content addressing for NAP resources.
context_docs
Context document metadata and dependency-graph management.
error
Error types for the Narrative Addressing Protocol.
grpc_client
gRPC client for lore-server’s revision service (branch ref sync).
manifest
NAP Manifest — the core primitive.
merge
NAP Structured Merge Engine v2.
permission_gate
Application-layer ACL for directory and file paths in a Lore workspace.
query
Subtree query engine for NAP manifests.
repo_service
RepoService — the stable, high-level boundary between NAP consumer code and the Lore VCS adapter layer.
repository
Universe repository — filesystem layout and manifest CRUD.
resolver
NAP Resolver — URI → Manifest, with query and version selectors.
schema
JSON Schema generation for NAP core types.
storage
Storage Engine — NAP Asset Ingestion & Content-Addressed Storage
types
Entity types in the NAP protocol.
uri
NAP URI parser and builder.
validation
Validation layer for NAP structured merge.
vcs
VCS backend abstraction and Lore VCS type system.
vcs_git
Git backend implementation via shell commands.
vcs_lore
Lore VCS backend implementation.