Skip to main content

leash_harness/
lib.rs

1//! Reusable harness runtime for local LLM tools, simulations, and robot adapters.
2//!
3//! The crate defaults to a simulation-safe runtime. Physical adapters are opt-in
4//! features and also require an explicit runtime gate before any motor command is
5//! allowed to reach hardware.
6
7pub mod accelerator;
8pub mod agent;
9pub mod capability;
10pub mod config;
11pub mod daemon;
12#[cfg(feature = "http")]
13pub mod http;
14#[cfg(feature = "mcp")]
15pub mod mcp;
16pub mod module;
17pub mod replay;
18pub mod runtime;
19pub mod stack;
20pub mod stream_processing;
21pub mod transport;
22pub mod types;
23
24pub use accelerator::{AcceleratorProbe, AcceleratorProvider, AcceleratorStatus};
25pub use agent::complete as complete_agent_prompt;
26pub use capability::{CapabilityDescriptor, CapabilityRegistry, SafetyClass};
27pub use config::{AcceleratorBackend, AgentProvider, HarnessConfig, Profile};
28pub use daemon::{RunRecord, RunRegistry};
29pub use module::{ModuleCoordinator, ModuleGraph, ModuleInfo, ModuleState};
30pub use replay::{
31    scaled_delay, validate_replay_speed, ReplayEvent, ReplayEventKind, ReplayPlayback,
32    ReplayRecording, REPLAY_FORMAT_VERSION,
33};
34pub use runtime::Harness;
35pub use stack::{Stack, StackModule, StackTransport, TransportBinding};
36pub use stream_processing::{
37    pair_by_timestamp, select_best_frame, FrameQuality, LatestValue, QualityDecision,
38    QualityFilter, RateLimiter, TimestampPair, Timestamped,
39};
40pub use transport::{
41    new_stream_transport, StreamMessage, StreamRecvError, StreamSubscriber, StreamTransport,
42    StreamTransportBackend,
43};
44pub use types::{
45    AgentModelResponse, Capabilities, CaptureResult, Health, ResourceSample, RunLogEntry,
46    SpeedMode, TelemetryFrame, TelemetryStreamFrame,
47};