use ai_session::{SessionConfig, SessionManager};
use anyhow::Result;
use std::path::PathBuf;
#[tokio::main]
async fn main() -> Result<()> {
println!("๐ง Testing ai-session PTY implementation...");
let manager = SessionManager::new();
let config = SessionConfig {
name: Some("pty-test".to_string()),
enable_ai_features: false, working_directory: PathBuf::from("/tmp"),
..Default::default()
};
println!("๐ Creating session with config");
println!(" Name: {:?}", config.name);
println!(" Working directory: {:?}", config.working_directory);
println!(" AI features: {}", config.enable_ai_features);
match manager.create_session_with_config(config).await {
Ok(session) => {
println!("โ
Session created successfully!");
println!(" Session ID: {}", session.id);
println!(" Status: {:?}", *session.status.read().await);
println!(" Created at: {}", session.created_at);
println!("๐งช Testing AI context access...");
match session.get_ai_context().await {
Ok(context) => {
println!("โ
AI context accessible:");
println!(" Message count: {}", context.get_message_count());
println!(" Total tokens: {}", context.get_total_tokens());
}
Err(e) => {
println!("โ ๏ธ Failed to access AI context: {}", e);
}
}
println!("โ
PTY functionality test completed successfully!");
}
Err(e) => {
println!("โ Failed to create session: {}", e);
return Err(e);
}
}
Ok(())
}