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 capabilities;
20pub mod context;
21pub mod error;
22pub mod logging;
23pub mod maintenance;
24pub mod memory;
25pub mod message;
26pub mod multi_agent;
27pub mod notification;
28pub mod pipeline;
29pub mod provider;
30pub mod rag;
31pub mod risk;
32pub mod simulation;
33pub mod skill;
34pub mod store;
35pub mod strategy;
36pub mod streaming;
37pub mod tool;
38
39pub use anyhow;
40
41/// Prelude - commonly used types
42pub mod prelude {
43    pub use crate::agent::{Agent, AgentBuilder, AgentConfig};
44    pub use crate::context::{ContextConfig, ContextManager};
45    pub use crate::error::{Error, Result};
46    pub use crate::maintenance::{MaintenanceConfig, MaintenanceManager};
47    pub use crate::memory::{LongTermMemory, Memory, MemoryManager, QmdMemory, ShortTermMemory};
48    pub use crate::message::{Content, Message, Role, ToolCall};
49    pub use crate::multi_agent::{AgentRole, Coordinator, MultiAgent};
50    pub use crate::notification::{Notifier, NotifyChannel};
51    pub use crate::provider::Provider;
52    pub use crate::risk::{
53        RiskCheck, RiskCheckBuilder, RiskCheckResult, RiskConfig, RiskManager, TradeContext,
54    };
55    pub use crate::simulation::{SimulationRequest, SimulationResult, Simulator};
56    pub use crate::skill::{DynamicSkill, SkillExecutionConfig, SkillLoader, SkillMetadata};
57    pub use crate::strategy::{Action, Condition, Pipeline, Strategy};
58    pub use crate::streaming::{StreamingChoice, StreamingResponse};
59    pub use crate::tool::{Tool, ToolDefinition, ToolSet};
60}