agent_stream_kit/
lib.rs

1#![recursion_limit = "256"]
2//! Agent Stream Kit - A framework for building and managing agents in Rust
3//!
4//! This crate provides a set of tools and abstractions to create, configure, and run agents
5//! in a stream-based architecture. It includes support for defining agent behaviors, managing
6//! agent flows, handling agent input and output.
7
8mod agent;
9mod askit;
10mod board_agent;
11mod config;
12mod context;
13mod definition;
14mod error;
15mod id;
16mod llm;
17mod message;
18mod output;
19mod registry;
20mod runtime;
21mod spec;
22mod stream;
23pub mod tool;
24mod value;
25
26#[cfg(feature = "mcp")]
27pub mod mcp;
28
29#[cfg(feature = "test-utils")]
30pub mod test_utils;
31
32// re-export async_trait
33pub use async_trait::async_trait;
34
35// re-export photon_rs
36#[cfg(feature = "image")]
37pub use photon_rs::{self, PhotonImage};
38
39// Re-export the crate under its canonical name for proc-macros.
40pub extern crate self as agent_stream_kit;
41pub use inventory;
42
43// re-export FnvIndexMap
44pub use fnv;
45pub use indexmap;
46pub type FnvIndexMap<K, V> = indexmap::IndexMap<K, V, fnv::FnvBuildHasher>;
47pub type FnvIndexSet<T> = indexmap::IndexSet<T, fnv::FnvBuildHasher>;
48
49// Re-exports askit_macros
50pub use askit_macros::askit_agent;
51
52pub use agent::{Agent, AgentData, AgentStatus, AsAgent, HasAgentData, agent_new, new_agent_boxed};
53pub use askit::{ASKit, ASKitEvent};
54pub use config::{AgentConfigs, AgentConfigsMap};
55pub use context::AgentContext;
56pub use definition::{AgentConfigSpec, AgentConfigSpecs, AgentDefinition, AgentDefinitions};
57pub use error::AgentError;
58pub use llm::{Message, ToolCall, ToolCallFunction};
59pub use output::AgentOutput;
60pub use registry::AgentRegistration;
61pub use spec::{AgentSpec, AgentStreamSpec, AgentStreamSpecs, ChannelSpec};
62pub use stream::{AgentStream, AgentStreamInfo, AgentStreams};
63pub use value::{AgentValue, AgentValueMap};