kaish_types/lib.rs
1//! Pure data types for kaish — structured output, values, tool schemas.
2//!
3//! This crate is a leaf dependency with no async runtime, no parser, no I/O.
4//! It exists so that consumers (kaijutsu, external tools) can work with kaish's
5//! type system without pulling kaish-kernel's ~60 transitive deps.
6
7pub mod backend;
8pub mod bytes;
9pub mod clock;
10pub mod command;
11pub mod dir_entry;
12pub mod job;
13pub mod kernel;
14pub mod output;
15// `plan` is deliberately NOT in the flat re-export block below: its names
16// are generic (Plan, PlannedCommand, PlannedValue) and would collide at the
17// crate root. Consumers write `kaish_types::plan::Plan`, like `clock`.
18pub mod plan;
19pub mod result;
20pub mod rfc3339;
21pub mod tool;
22pub mod value;
23
24// Flat re-exports for convenience
25pub use backend::*;
26pub use bytes::{bytes_to_envelope, envelope_to_bytes, hex_dump};
27pub use command::*;
28pub use dir_entry::*;
29pub use job::*;
30pub use kernel::*;
31pub use output::*;
32pub use result::*;
33pub use tool::*;
34pub use value::*;