Skip to main content

mofa_foundation/
lib.rs

1#![allow(
2    dead_code,
3    unused_imports,
4    non_camel_case_types,
5    ambiguous_glob_reexports
6)]
7// prompt module
8pub mod prompt;
9
10// react module
11pub mod react;
12
13// messaging module
14pub mod messaging;
15
16// persistence module
17pub mod persistence;
18
19// llm module
20pub mod llm;
21
22// workflow module
23pub mod workflow;
24
25// coordination module
26pub mod coordination;
27
28// config module
29pub mod config;
30
31// secretary module - 秘书Agent模式
32pub mod secretary;
33
34// collaboration module - 自适应协作协议
35pub mod agent;
36pub mod collaboration;
37
38// Re-export config types
39pub use config::{AgentInfo, AgentYamlConfig, LLMYamlConfig, RuntimeConfig, ToolConfig};
40
41// Re-export messaging types
42pub use messaging::{
43    InboundMessage, MessageBus, OutboundMessage, SimpleInboundMessage, SimpleOutboundMessage,
44};
45
46// Re-export prompt types
47pub use prompt::{
48    ConversationBuilder, GlobalPromptRegistry, PromptBuilder, PromptComposition, PromptError,
49    PromptRegistry, PromptResult, PromptTemplate, PromptVariable, VariableType,
50};
51
52// Re-export secretary types for convenience
53pub use secretary::{
54    Artifact,
55    ChannelConnection,
56    ChatMessage,
57    // Connection
58    CriticalDecision,
59    DecisionOption,
60    // LLM
61    DecisionType,
62    DefaultInput,
63    DefaultOutput,
64    DefaultSecretaryBehavior,
65    // Default implementation
66    DefaultSecretaryBuilder,
67    ExecutionResult,
68    HumanResponse,
69    // LLM integration
70    LLMProvider,
71    ProjectRequirement,
72    QueryType,
73    // Command types
74    Report,
75    ReportType,
76    Resource,
77    // Task types
78    SecretaryBehavior,
79    SecretaryCommand,
80    SecretaryContext,
81    SecretaryCore,
82    SecretaryEvent,
83    SecretaryHandle,
84    SecretaryMessage,
85    Subtask,
86    TaskExecutionStatus,
87    TodoItem,
88    TodoPriority,
89    TodoStatus,
90    UserConnection,
91    WorkPhase,
92    // Core types
93    extract_json_block,
94    parse_llm_json,
95};