Expand description
Manifest, lockfile, resolver, and installer logic for pakx.
This crate is the functional core: parsing, validation, and pure logic.
Filesystem and network side effects live in pakx-agents and
pakx-registry-client, respectively.
Re-exports§
pub use atomic_write::atomic_write;pub use credentials::Credentials;pub use credentials::CredentialsError;pub use credentials::Entry as CredentialEntry;pub use credentials::DEFAULT_REGISTRY_URL;pub use errors::LockfileError;pub use errors::ManifestError;pub use http_client::http_client;pub use http_client::http_client_with_timeout;pub use http_client::DEFAULT_CONNECT_TIMEOUT;pub use http_client::DEFAULT_REQUEST_TIMEOUT;pub use http_client::UPLOAD_REQUEST_TIMEOUT;pub use install::compute_integrity;pub use install::Command;pub use install::Hook;pub use install::McpServer;pub use install::McpTransport;pub use install::Prompt;pub use install::Skill;pub use install::SkillFile;pub use install::Subagent;pub use lockfile::parse_lockfile;pub use lockfile::read_from as read_lockfile_from;pub use lockfile::write_lockfile;pub use lockfile::write_to as write_lockfile_to;pub use lockfile::Integrity;pub use lockfile::LockEntry;pub use lockfile::Lockfile;pub use lockfile::RegistrySource;pub use lockfile::LOCKFILE_VERSION;pub use lockfile::REGISTRY_SOURCES;pub use manifest::add_dep;pub use manifest::add_shorthand;pub use manifest::delete_value as manifest_delete_value;pub use manifest::get_value as manifest_get_value;pub use manifest::get_value_json as manifest_get_value_json;pub use manifest::parse_manifest;pub use manifest::parse_path as manifest_parse_path;pub use manifest::read_from as read_manifest_from;pub use manifest::remove_shorthand;pub use manifest::sections_containing;pub use manifest::sections_containing_id;pub use manifest::set_value as manifest_set_value;pub use manifest::split_shorthand;pub use manifest::update_shorthand;pub use manifest::validate_sponsors;pub use manifest::write_manifest;pub use manifest::write_to as write_manifest_to;pub use manifest::AddOutcome;pub use manifest::AgentId;pub use manifest::DeleteOutcome;pub use manifest::DepSpec;pub use manifest::Dependencies;pub use manifest::GitSpec;pub use manifest::Manifest;pub use manifest::PackageType;pub use manifest::PathError as ManifestPathError;pub use manifest::PathSeg as ManifestPathSeg;pub use manifest::RegistrySpec;pub use manifest::RemoveOutcome;pub use manifest::Sponsor;pub use manifest::SponsorError;pub use manifest::SponsorKind;pub use manifest::StringSpec;pub use manifest::UpdateOutcome;pub use manifest::KNOWN_AGENT_IDS;pub use manifest::MAX_SPONSORS;pub use manifest::PACKAGE_TYPES;pub use validation::validate_package_name;pub use validation::validate_version;pub use validation::ValidationError;pub use validation::MAX_VERSION_LEN;
Modules§
- atomic_
write - Crash-safe write helper used by
agents.lock,agents.yml, and the federated-registry response cache. - credentials
- Credential store for
pakx login/pakx publish/pakx whoami. - errors
- Typed error variants for parsing and validating manifests / lockfiles.
- http_
client - Shared
reqwest::Clientfactory with project-wide timeouts. - install
- Resolved install payloads — what an adapter actually writes to disk.
- lockfile
- Lockfile types and (de)serialization for
agents.lock. - manifest
- Manifest types and (de)serialization for
agents.yml. - validation
- Shape guards for untrusted strings that ride in URL path segments against the pakx-registry backend.