hehe-cli 0.0.1

Command-line interface for hehe AI Agent framework
pub mod chat;
pub mod run;
pub mod serve;

use hehe_agent::Agent;
use hehe_llm::OpenAiProvider;
use hehe_tools::create_default_registry;
use std::sync::Arc;

pub fn create_agent(
    api_key: Option<String>,
    model: &str,
    system_prompt: &str,
) -> anyhow::Result<Agent> {
    let api_key = api_key.ok_or_else(|| anyhow::anyhow!(
        "API key required. Set OPENAI_API_KEY env var or use --api-key"
    ))?;

    let llm = Arc::new(OpenAiProvider::new(api_key));
    let registry = Arc::new(create_default_registry());

    let agent = Agent::builder()
        .system_prompt(system_prompt)
        .model(model)
        .llm(llm)
        .tool_registry(registry)
        .build()
        .map_err(|e| anyhow::anyhow!("Failed to create agent: {}", e))?;

    Ok(agent)
}