Skip to main content

aagt_core/
lib.rs

1//! # AAGT Core - AI Agent for Trading
2//!
3//! Core types, traits, and abstractions for the AAGT framework.
4//!
5//! This crate provides:
6//! - Agent system (`agent`) - AI agent with tool calling
7//! - Tool definitions (`tool`) - Define callable tools
8//! - Message types (`message`) - Conversation messages
9//! - Streaming (`streaming`) - Stream response handling
10//! - Memory (`memory`) - Short and long-term memory
11//! - Strategy (`strategy`) - Automated trading pipelines
12//! - Risk control (`risk`) - Trading safeguards
13//! - Simulation (`simulation`) - Trade simulation
14//! - Multi-agent (`multi_agent`) - Agent coordination
15
16#![warn(missing_docs)]
17
18pub mod agent;
19pub mod error;
20pub mod logging;
21pub mod maintenance;
22pub mod memory;
23pub mod message;
24pub mod multi_agent;
25pub mod notification;
26pub mod pipeline;
27pub mod provider;
28pub mod rag;
29pub mod risk;
30pub mod simulation;
31pub mod skill;
32pub mod store;
33pub mod strategy;
34pub mod streaming;
35pub mod tool;
36
37/// Prelude - commonly used types
38pub mod prelude {
39    pub use crate::agent::{Agent, AgentBuilder, AgentConfig};
40    pub use crate::error::{Error, Result};
41    pub use crate::maintenance::{MaintenanceConfig, MaintenanceManager};
42    pub use crate::memory::{LongTermMemory, Memory, MemoryManager, QmdMemory, ShortTermMemory};
43    pub use crate::message::{Content, Message, Role, ToolCall};
44    pub use crate::multi_agent::{AgentRole, Coordinator, MultiAgent};
45    pub use crate::notification::{Notifier, NotifyChannel};
46    pub use crate::provider::Provider;
47    pub use crate::risk::{
48        RiskCheck, RiskCheckBuilder, RiskCheckResult, RiskConfig, RiskManager, TradeContext,
49    };
50    pub use crate::simulation::{SimulationRequest, SimulationResult, Simulator};
51    pub use crate::skill::{DynamicSkill, SkillExecutionConfig, SkillLoader, SkillMetadata};
52    pub use crate::strategy::{Action, Condition, Pipeline, Strategy};
53    pub use crate::streaming::{StreamingChoice, StreamingResponse};
54    pub use crate::tool::{Tool, ToolDefinition, ToolSet};
55}