holger-agent-lib 0.6.9

Holger agent library: airgap, export, push operations using connectors
//! Agent crate: the airgap courier that moves artifacts across the network
//! boundary. This is the public facade — the actual work lives in
//! [`operations`], and every endpoint is a [`ConnectorTrait`] (Nexus,
//! Artifactory, crates.io/PyPI `world`; holger/znippy/directory live server-side).
//!
//! Flow: a Source connector's assets are pulled through `operations` into a
//! carriable sink — a `.znippy` archive, a `.tar.zst`, or a loose directory —
//! then, on the secure side, pushed from that sink back into a Target connector.
//! Download/pack and read/upload are the two halves; the archive in between is
//! the thing that crosses the airgap.
//!
//! Gotcha: an upload failure is *data*, not an error — one bad asset is counted
//! and skipped so a whole push does not abort, whereas a source read/decode
//! error short-circuits. So a successful return can still hide failed assets;
//! check the tallies. Untrusted `.tar.zst` input is per-entry size-capped
//! against decompression bombs.

pub mod operations;

pub use traits::{ConnectorTrait, RemoteAsset, RemoteRepository};
pub use connector_nexus::{NexusConnector, ConnectorAuth, fetch_oidc_token};
pub use connector_artifactory::ArtifactoryConnector;
pub use connector_world::{
    WorldConnector, parse_lockfile, packages_to_assets,
    PipError, PipFile, PipPackage, PypiIndex, PypiJsonClient,
    parse_requirements_txt, parse_uv_lockfile, resolve_with_index, pip_packages_to_assets,
};