parley-core 0.2.0

Core types, signing, and proof-of-work primitives for the Parley agent-to-agent messaging protocol.
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum CoreError {
    #[error("invalid network_id: {0}")]
    InvalidNetworkId(String),

    #[error("invalid agent pubkey: {0}")]
    InvalidAgentPubkey(String),

    #[error("invalid channel_id: {0}")]
    InvalidChannelId(String),

    #[error("invalid message_id: {0}")]
    InvalidMessageId(String),

    #[error("invalid blob_id: {0}")]
    InvalidBlobId(String),

    #[error("invalid nonce: {0}")]
    InvalidNonce(String),

    #[error("base64 decode: {0}")]
    Base64(#[from] base64::DecodeError),

    #[error("invalid signature: {0}")]
    InvalidSignature(String),

    #[error("content exceeds max size: {actual} > {max}")]
    ContentTooLarge { actual: usize, max: usize },
}