Skip to main content

mofa_foundation/agent/
mod.rs

1//! Agent 基础构建块
2//!
3//! 包含 Agent 能力描述和组件 trait 定义
4
5pub mod base;
6pub mod components;
7pub mod context;
8pub mod executor;
9pub mod session;
10pub mod tools;
11
12// ========================================================================
13// 从 Kernel 层重导出核心类型
14// ========================================================================
15
16pub use mofa_kernel::agent::{AgentCapabilities, AgentRequirements, ReasoningStrategy};
17
18// Re-export additional types needed by components
19pub use mofa_kernel::agent::context::AgentContext;
20pub use mofa_kernel::agent::error::{AgentError, AgentResult};
21pub use mofa_kernel::agent::types::AgentInput;
22
23// 重新导出组件 (从 components 模块统一导入)
24pub use components::{
25    CoordinationPattern,
26    // Kernel traits 和类型 (通过 components 重导出)
27    Coordinator,
28    Decision,
29    // Foundation 具体实现
30    DirectReasoner,
31    DispatchResult,
32    EchoTool,
33    FileBasedStorage,
34    InMemoryStorage,
35    LLMTool,
36    Memory,
37    MemoryItem,
38    MemoryStats,
39    MemoryValue,
40    Message,
41    MessageRole,
42    ParallelCoordinator,
43    Reasoner,
44    ReasoningResult,
45    SequentialCoordinator,
46    // SimpleTool 便捷接口
47    SimpleTool,
48    SimpleToolAdapter,
49    SimpleToolRegistry,
50    Task,
51    ThoughtStep,
52    Tool,
53    // Foundation 扩展类型
54    ToolCategory,
55    ToolDescriptor,
56    ToolExt,
57    ToolInput,
58    ToolMetadata,
59    ToolRegistry,
60    ToolResult,
61    as_tool,
62};
63
64// Tool adapters and registries (Foundation implementations)
65pub use tools::{BuiltinTools, ClosureTool, FunctionTool, ToolSearcher};
66
67// Re-export context module
68pub use context::{
69    AgentIdentity, ContextExt, PromptContext, PromptContextBuilder, RichAgentContext,
70};
71
72// Re-export business types from rich context
73pub use context::rich::{ComponentOutput, ExecutionMetrics};
74
75// Re-export session module
76pub use session::{
77    JsonlSessionStorage, MemorySessionStorage, Session, SessionManager, SessionMessage,
78    SessionStorage,
79};
80
81// Re-export executor module
82pub use executor::{AgentExecutor, AgentExecutorConfig};
83
84// Re-export LLM types from kernel
85pub use mofa_kernel::agent::types::{
86    ChatCompletionRequest, ChatCompletionResponse, ChatMessage, LLMProvider, TokenUsage, ToolCall,
87    ToolDefinition,
88};
89
90// Re-export BaseAgent from base module
91pub use base::BaseAgent;
92
93// Note: Secretary abstract traits are in mofa_kernel::agent::secretary
94// Foundation layer provides concrete implementations
95// Use mofa_kernel::agent::secretary for traits, or mofa_foundation::secretary for implementations
96
97/// Prelude 模块
98pub mod prelude {
99    pub use super::{AgentCapabilities, AgentRequirements, ReasoningStrategy};
100}