Skip to main content

lellm_agent/runtime/
mod.rs

1//! Agent 运行时 — 编排循环、防御机制、工具系统。
2//!
3//! 提供 ToolUseLoop、AgentBuilder 以及防御机制
4//! (重试策略、Fallback 等)。
5
6pub mod builder;
7pub mod config;
8pub mod context;
9pub mod event;
10pub mod event_bridge;
11pub mod fallback;
12pub mod invoker;
13pub mod react;
14pub mod request_opts;
15pub mod retry;
16#[allow(clippy::module_inception)]
17pub mod runtime;
18pub mod stream_translation;
19pub mod tools;
20pub mod typed_state;
21
22// ─── 工具系统 re-export ──────────────────────────────────────────
23
24pub use tools::{
25    BatchExecutionResult, CompositeCatalog, ExecutableTool, ParallelSafety, StaticCatalog,
26    ToolArgs, ToolCatalog, ToolCategory, ToolExecutor, ToolFn, ToolSnapshot, execute_batch_with,
27};
28
29// ─── 运行时 re-export ────────────────────────────────────────────
30
31pub use builder::AgentBuilder;
32pub use config::{ToolCachePolicy, ToolUseConfig, ToolUseDeps};
33pub use context::{
34    CompactionResult, ContextBudget, ContextCompactor, LocalCompactor, estimate_message,
35    estimate_text, estimate_tokens,
36};
37pub use event::{AgentEvent, AgentStream, StopReason};
38pub use fallback::{DefaultFallback, FallbackAction, FallbackContext, FallbackStrategy};
39pub use lellm_provider::ResolvedModel;
40pub use react::StopConfig;
41pub use request_opts::RequestOptions;
42pub use retry::{BackoffStrategy, RetryPolicy};
43pub use runtime::{ResolvedRound, ToolUseLoop, ToolUseResult};
44pub use typed_state::{AgentMutation, AgentState};
45
46// 从 core 再导出,方便用户统一从 lellm::agent 引入
47pub use lellm_core::{IntoToolError, IntoToolResult, ToolError, ToolErrorKind, ToolResult};
48
49// 流式事件翻译
50pub use stream_translation::{AgentStreamEvent, TranslationResult, translate_provider_event};