Skip to main content

arcp_client/
lib.rs

1//! Reference client (consumer side) for the Agent Runtime Control Protocol.
2//!
3//! Ships [`ARCPClient`] and the type-state [`Session`] for opening,
4//! authenticating, and driving a session over any
5//! [`Transport`][arcp_core::transport::Transport]. Job, stream, and
6//! subscription handles hang off `Session<Authenticated>`.
7//!
8//! Wire-format types are re-exported from `arcp-core` for ergonomics; most
9//! users should pull in the umbrella `arcp` crate which bundles client +
10//! runtime + core.
11
12#![deny(unsafe_code)]
13#![deny(missing_docs)]
14#![warn(unreachable_pub)]
15
16pub mod api;
17pub mod handlers;
18
19pub use api::{ARCPClient, Authenticated, JobHandle, Session, SubscriptionHandle, Unauthenticated};
20
21// Re-export the protocol primitives consumers will routinely reach for.
22pub use arcp_core::{ARCPError, Envelope, ErrorCode, MessageType, PROTOCOL_VERSION};