-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlib.rs
More file actions
58 lines (52 loc) · 1.96 KB
/
lib.rs
File metadata and controls
58 lines (52 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! # arcp — Agent Runtime Control Protocol (reference implementation)
//!
//! This crate is a Rust reference implementation of [ARCP v1.1][rfc], the
//! Agent Runtime Control Protocol. See `CONFORMANCE.md` for the per-section
//! status and `docs/` for narrative guides.
//!
//! ## Scope
//!
//! The crate implements the protocol fundamentals: envelopes, sessions and
//! authentication (`bearer`, `signed_jwt`, `none`), capability negotiation,
//! jobs, streams, permissions, leases, subscriptions, artifacts, the canonical
//! error taxonomy, observability primitives, and the `WebSocket`, stdio, and
//! in-memory transports.
//!
//! Out-of-scope items (`HTTP/2`, `QUIC`, `mTLS`, `OAuth2`, sidecar binary
//! frames, scheduled jobs, multi-agent delegation, workflows, trust
//! elevation, checkpoint-based resume) return `ARCPError::Unimplemented`
//! when invoked.
//!
//! ## Status
//!
//! The public API centers on [`ARCPClient`] for consumers and [`ARCPRuntime`]
//! for runtimes.
//!
//! [rfc]: https://github.com/agentruntimecontrolprotocol/spec/blob/main/docs/draft-arcp-1.1.md
#![deny(unsafe_code)]
#![deny(missing_docs)]
#![warn(unreachable_pub)]
pub mod auth;
pub mod client;
pub mod envelope;
pub mod error;
pub mod extensions;
pub mod ids;
pub mod messages;
pub mod runtime;
pub mod store;
pub mod transport;
pub use client::ARCPClient;
pub use envelope::{Envelope, Priority, RawEnvelope};
pub use error::{ARCPError, ErrorCode};
pub use extensions::{ExtensionRegistry, TypeClassification};
pub use messages::{Capabilities, MessageType};
pub use runtime::ARCPRuntime;
/// Protocol version implemented by this crate, as carried in the `arcp` field
/// of every envelope (RFC §6.1).
pub const PROTOCOL_VERSION: &str = "1.1";
/// Implementation version of this crate, derived from `Cargo.toml`.
pub const IMPL_VERSION: &str = env!("CARGO_PKG_VERSION");
/// Implementation kind reported in `runtime.kind` / `client.kind` blocks
/// (RFC §8.2, §8.3).
pub const IMPL_KIND: &str = "arcp-rs";