agecli_skill_protocol/lib.rs
1//! Wire protocol contract for agecli skill ↔ host UDS communication.
2//!
3//! This crate defines the binary message framing and JSON payload types used
4//! between the agecli host and skill processes. It is the **shared contract**
5//! consumed by both:
6//!
7//! - the host workspace (via `agecli-skill-runtime` for skill orchestration), and
8//! - the skills workspace (via `agecli-skill-sdk` for skill implementations).
9//!
10//! Wire format: `[type: u32 BE][length: u32 BE][payload: JSON bytes]`
11//!
12//! This crate has **no** dependencies on other `agecli-*` crates. Changes to
13//! this crate constitute a breaking wire-protocol change and must be versioned
14//! accordingly (semver).
15
16mod message;
17mod reader;
18mod writer;
19
20pub use message::*;
21pub use reader::SkillMessageReader;
22pub use writer::SkillMessageWriter;