cortex-agent 0.2.1

Self-learning AI agent with persistent memory, tools, plugins, and a beautiful terminal UI
pub mod core_tools;
pub mod memory_tools;
pub mod self_tools;
pub mod skill_tools;

use std::sync::Arc;

use crate::memory::store::MemoryStore;
use crate::tool::ToolSpec;

/// Build the default tool list for the agent.
pub fn default_tools(
    memory_store: Option<Arc<std::sync::Mutex<MemoryStore>>>,
) -> Vec<ToolSpec> {
    let mut tools = Vec::new();
    tools.extend(core_tools::core_tools());
    tools.extend(memory_tools::memory_tools(memory_store.clone()));
    tools.extend(skill_tools::skill_tools(memory_store));
    tools.extend(self_tools::self_tools());
    // Load user plugins from ~/.cortex/plugins/
    let plugins = crate::plugin::load_plugins();
    for p in &plugins {
        tools.push(crate::plugin::plugin_to_tool(p));
    }
    tools
}