adk_artifact/lib.rs
1//! # adk-artifact
2//!
3//! Binary artifact storage for ADK agents.
4//!
5//! ## Overview
6//!
7//! This crate provides artifact storage for binary data:
8//!
9//! - [`InMemoryArtifactService`] - Simple in-memory storage
10//! - [`ArtifactService`] - Trait for custom backends
11//! - [`ScopedArtifacts`] - Session-scoped artifact access
12//!
13//! ## Quick Start
14//!
15//! ```rust,no_run
16//! use adk_artifact::InMemoryArtifactService;
17//!
18//! let service = InMemoryArtifactService::new();
19//!
20//! // Artifacts are stored with app/user/session scope
21//! // Supports versioning and MIME type detection
22//! ```
23//!
24//! ## Use Cases
25//!
26//! - Store generated images, PDFs, audio
27//! - Cache intermediate results
28//! - Share binary data between agent turns
29
30pub mod inmemory;
31pub mod scoped;
32pub mod service;
33
34pub use inmemory::InMemoryArtifactService;
35pub use scoped::ScopedArtifacts;
36pub use service::{
37 ArtifactService, DeleteRequest, ListRequest, ListResponse, LoadRequest, LoadResponse,
38 SaveRequest, SaveResponse, VersionsRequest, VersionsResponse,
39};