use solagent::{Config, SolanaAgentKit};
use std::sync::Arc;
#[tokio::main]
async fn main() {
let config = Config { openai_api_key: Some("your_api_key".to_string()), ..Default::default() };
let agent = Arc::new(SolanaAgentKit::new("private_key", "RPC_URL", config));
let title = "Implement New Feature";
let content = "We need to implement a new authentication system using JWT tokens";
let requirements =
"- Experience with Rust and JWT\n- Understanding of authentication flows\n- Test coverage required";
let tags = vec!["rust".to_string(), "authentication".to_string(), "jwt".to_string()];
let token_mint_address = "So11111111111111111111111111111111111111112";
let token_amount = 1_000_000_000;
let payer = None;
let response = agent
.create_gibwork_task(title, content, requirements, tags, token_mint_address, token_amount, payer)
.await
.unwrap();
println!("Task created successfully!");
println!("Task ID: {}", response.task_id);
println!("Transaction signature: {}", response.signature);
}