mod all_in;
mod calling;
mod clone;
mod config;
mod folding;
mod generator;
mod random;
mod replay;
use crate::arena::{GameState, Historian, action::AgentAction};
use async_trait::async_trait;
#[async_trait]
pub trait Agent: Send {
async fn act(&mut self, id: u128, game_state: &GameState) -> AgentAction;
fn name(&self) -> &str;
fn historian(&self) -> Option<Box<dyn Historian>> {
None
}
}
pub use all_in::{AllInAgent, AllInAgentGenerator};
pub use calling::{CallingAgent, CallingAgentGenerator};
pub use clone::{CloneAgent, CloneAgentGenerator};
pub use config::{AgentConfig, AgentConfigError, CfrExploration, ConfigAgentBuilder};
pub use folding::{FoldingAgent, FoldingAgentGenerator};
pub use generator::AgentGenerator;
pub use random::{RandomAgent, RandomAgentGenerator, RandomPotControlAgent};
pub use replay::{SliceReplayAgent, VecReplayAgent};