phoxal 0.67.0

Phoxal - production-oriented autonomous robot framework: the one framework library, holding the runtime engine, the api contract tree, the typed bus, the canonical model, and the bundle.
Documentation
//! Read access to the runtime bundle the supervisor is running.
//!
//! The supervisor is the only process that knows where the bundle lives, so a
//! client asks it for a path rather than reaching into a filesystem it does not
//! own. What paths resolve, and which of them are refused, is the supervisor's
//! decision; this module owns only the request and the three answers.

crate::endpoints! {
    get: Query<GetRequest, GetResponse>;
}

#[derive(
    phoxal_macros::DescribeWire, Clone, Debug, PartialEq, serde::Serialize, serde::Deserialize,
)]
pub struct GetRequest {
    pub path: String,
}

/// A missing entry and a path the supervisor refuses to resolve are distinct
/// answers, so a client can tell "not in this bundle" from "never ask that".
#[derive(
    phoxal_macros::DescribeWire, Clone, Debug, PartialEq, serde::Serialize, serde::Deserialize,
)]
pub enum GetResponse {
    Found { bytes: Vec<u8> },
    Missing,
    InvalidPath,
}