adk-rs 0.6.0

Rust port of the Google Agent Development Kit (ADK).
Documentation
//! Core types and service traits for adk-rs.
//!
//! This crate is the domain layer: it owns `Event`, `Session`, `State`,
//! `LlmRequest`/`LlmResponse`, `InvocationContext`, and the service traits
//! (`SessionService`, `ArtifactService`, `MemoryService`, `CredentialService`,
//! `Model`). Implementations live in `adk-services-*` and `adk-providers-*`.

pub mod artifact;
pub mod cache;
pub mod callback;
pub mod cancel;
pub mod context;
pub mod embedder;
pub mod event;
pub mod llm_request;
pub mod llm_response;
pub mod memory;
pub mod model;
pub mod retry;
pub mod run_config;
pub mod services;
pub mod session;
pub mod state;
pub mod stream;
pub mod tool_confirmation;
pub mod tool_object;

#[cfg(any(test, feature = "testing"))]
pub mod testing;

pub use crate::error::{
    Context as ErrorContext, Error, ProviderError, Result, ServiceError, ToolError,
};
pub use crate::genai_types as types;
pub use artifact::{Artifact, ArtifactKey};
pub use cache::{CacheMetadata, ContextCacheConfig};
pub use callback::{
    AfterAgentCallback, AfterModelCallback, AfterToolCallback, BeforeAgentCallback,
    BeforeModelCallback, BeforeToolCallback, CallbackContext, OnModelErrorCallback,
    OnToolErrorCallback, ReadonlyContext,
};
pub use cancel::CancellationToken;
pub use context::{InvocationContext, InvocationOrigin, ToolContext};
pub use embedder::{Embedder, cosine_similarity};
pub use event::{Event, EventActions, EventCompaction, history_with_compaction};
pub use llm_request::LlmRequest;
pub use llm_response::LlmResponse;
pub use memory::{MemoryEntry, SearchMemoryResponse};
pub use model::{Model, ModelRegistry};
pub use retry::RetryConfig;
pub use run_config::{ResumabilityConfig, RunConfig, StreamingMode};
pub use services::{
    ArtifactService, CredentialService, GetSessionConfig, ListSessionsResponse, MemoryService,
    SessionService, SessionsMeta, apply_event_to_session,
};
pub use session::{Session, SessionId, SessionMeta};
pub use state::{State, StateDelta, StateScope};
pub use stream::{EventStream, LlmResponseStream};
pub use tool_confirmation::{
    ConfirmationPreprocessor, ConfirmationRequest, REQUEST_CONFIRMATION_FUNCTION_NAME,
    ToolConfirmation,
};
pub use tool_object::DynTool;