funera_core/lib.rs
1//! # funera-core
2//!
3//! Core LLM agent engine providing the ReAct execution loop, message/session
4//! management, event buses, a pluggable provider architecture, a tool system,
5//! a skill system, a middleware pipeline, and multi-layered security.
6//!
7//! ## Modules
8//!
9//! | Module | Description |
10//! |--------|-------------|
11//! | [`mod@chat`] | Message types and session actor for conversation history |
12//! | [`mod@env`] | Runtime environment: watch-based hot-reload (`FuneraEnv`, `FuneraEnvWatcher`) plus reversible effects (`effect` / `dispose`, LIFO teardown) |
13//! | [`mod@env_actor`] | EnvActor — single source of truth owning all env state, mutations, and ToolExecutor |
14//! | [`mod@event_bus`] | Event buses for streaming tokens, ReAct cycle events, session lifecycle, and tool commands |
15//! | [`mod@provider`] | Provider abstraction over LLM backends (OpenAI, DeepSeek) |
16//! | [`mod@re_act`] | The ReAct execution loop, [`Tool`](re_act::tool::Tool) trait and registry, and skill system |
17//! | [`mod@security`] | Tool/shell policy enforcement, path allowlisting, audit logging, and secure API key storage |
18//! | [`mod@middleware`] | Pluggable event interception pipeline (Inspector + Mutator) with typestate error channel |
19
20pub mod chat;
21pub mod env;
22pub mod env_actor;
23pub mod event_bus;
24pub mod middleware;
25pub mod provider;
26pub mod re_act;
27pub mod security;
28
29#[cfg(any(test, feature = "test-utils"))]
30pub mod test_helpers;