1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! # funera
//!
//! High-level LLM agent framework for Rust. Build AI agents with tools, skills, middleware,
//! and pluggable LLM backends — all with multi-layered security.
//!
//! ## Quick Start
//!
//! ```rust,ignore
//! use funera::{Agent, AgentRuntime, DeepSeekProvider};
//!
//! let runtime = AgentRuntime::<DeepSeekProvider>::builder()
//! .api_key(std::env::var("DEEPSEEK_API_KEY")?)
//! .model("deepseek-v4-flash")
//! .build()?;
//!
//! let agent = Agent::builder()
//! .system_prompt("You are a helpful assistant.")
//! .build();
//!
//! let resp = agent.fire("Hello!", &runtime).await?;
//! println!("{}", resp.content);
//! ```
//!
//! ## Security Configuration
//!
//! Enable the `security` feature to restrict tool execution:
//!
//! ```rust,ignore
//! use funera::{AgentRuntime, DeepSeekProvider, ToolPolicy, ShellPolicy};
//!
//! let runtime = AgentRuntime::<DeepSeekProvider>::builder()
//! .api_key(std::env::var("DEEPSEEK_API_KEY")?)
//! .model("deepseek-v4-flash")
//! .with_tool_policy(ToolPolicy::strict())
//! .build()?;
//! ```
//!
//! See the `examples/tool_policy.rs` example for a comprehensive walk-through
//! of all policy configuration options.
//!
//! ## Accessing the core layer
//!
//! Lower-level APIs from `funera_core` are available under [`core`]:
//!
//! ```rust,ignore
//! use funera::core::re_act::tool::Tool;
//! use funera::core::security::policy::ToolPolicy;
//! use funera::core::middleware::MiddlewareChain;
//! ```
/// Re-export of the public orchestration API.
///
/// This is the primary entry point for most users.
pub use *;
/// Re-export of the core engine crate.
///
/// Provides low-level access to the `ReAct` loop, tool/skill system,
/// security policies, event buses, and middleware.
pub use funera_core as core;