agent-diva-files 0.5.0

File management system for agent-diva with deduplication and reference counting
Documentation
# agent-diva-files

`agent-diva-files` provides the file storage layer used by Agent Diva crates.
It offers content-addressed storage, deduplication, reference counting, and
channel-aware file bookkeeping for local runtimes.

## Scope

- Stores file payloads by SHA-256 hash.
- Tracks references so files are only deleted when no handles remain.
- Supports hooks around store/read/cleanup flows.
- Exposes channel-level file associations on top of the shared storage/index.

This crate is publishable on its own, but it is primarily maintained as part of
the `agent-diva-*` stack. Expect APIs to remain practical for integration, not
as a general-purpose blob store abstraction.

## Minimal usage

```rust,no_run
use agent_diva_files::{FileConfig, FileManager};
use std::path::PathBuf;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let config = FileConfig::with_path(PathBuf::from("./data"));
    let _manager = FileManager::new(config).await?;
    Ok(())
}
```

## Relationship to other crates

- `agent-diva-core` depends on this crate for attachment and storage primitives.
- `agent-diva-tools` uses it to expose file-oriented built-in tools.
- `agent-diva-agent` and `agent-diva-nano` consume it indirectly for runtime flows.

## Development notes

- Rust `1.80+`
- Validate with `cargo test -p agent-diva-files`
- Additional docs live in `docs/`