io-harness 0.19.0

An embeddable agent runtime for Rust: any task, any provider, in your own process. Run commands, edit files and search a repository under a layered permission boundary on files, commands and network; gate the result on the project's own test command in any language, or on nothing at all; and keep a full SQLite trace of every step, refusal and budget draw. With an execution sandbox, contained sub-agents, an MCP client, and durable resume for unattended runs.
Documentation
//! Documents — formats the agent reads and writes that are not source text.
//!
//! Every format here is optional and behind its own feature, and every one of
//! them obeys the same rule: the bytes come from and go back through
//! [`Workspace::read_bytes`](crate::tools::Workspace::read_bytes) and
//! [`write_bytes`](crate::tools::Workspace::write_bytes). No parser is handed a
//! path. That is not a style preference — a document capability that opened
//! files itself would sit outside the permission policy, and a
//! `deny_write("secrets/*")` that stops `write_file` but not `set_cell` is not a
//! policy, it is a suggestion.
//!
//! The formats are spreadsheets (`xlsx`), Word (`docx`), PowerPoint text
//! (`pptx`, read-only), PDF (`pdf`) and barcode decoding (`barcode`). Each is
//! behind its own feature; the `documents` umbrella turns on all five.
//!
//! The names are written plainly rather than as intra-doc links: each is both a
//! feature and a module, and the module only exists when the feature is on, so
//! a link resolves in an `--all-features` build and dangles in the default one.

pub mod barcode;
pub mod docx;
pub mod pdf;
pub mod pptx;
pub mod xlsx;