1 unstable release
Uses new Rust 2024
| 0.1.8 | Apr 12, 2026 |
|---|
#17 in #file-backed
Used in 3 crates
355KB
7K
SLoC
Durable harness state that sits above gemini-live-runtime and below a
concrete host application.
gemini-live-runtime already owns hot-session orchestration, tool-call
request fanout, and short-lived in-process conversation continuity. This
crate is the next layer up:
- tasks are durable filesystem records under one harness root
- notifications are durable queue items, not ephemeral callbacks
- memory is stored on disk and may be inspected directly by other agents
- shared host-tool execution contracts live next to harness policy
- harness-owned wrappers may keep blocking host tools within an inline latency budget and spill eligible calls into durable background tasks
HarnessControlleris the preferred host-facing boundary for combining tool execution and passive notification delivery
The default root is ~/.gemini-live/harness, but callers may supply any
alternative path for testing or custom deployments.
gemini-live-harness
Durable file-backed harness state, shared host-tool execution contracts, and host-side orchestration for Gemini Live applications.
This crate sits above gemini-live-runtime and below concrete hosts. It keeps
tasks, notifications, and long-lived memory on disk so state survives process
restarts and remains inspectable by other local agents. It also owns the
host-fed ToolProvider / ToolExecutor surface used by hosts and reusable
tool families, plus the harness-side execution wrapper that can keep blocking
tools inline within a latency budget and spill eligible calls into durable
background tasks. The preferred host boundaries are:
HarnessControllerfor durable tools + passive notification deliveryHarnessRuntimeBridgefor runtime tool-call orchestration and completion forwarding
Dependencies
~17–33MB
~459K SLoC