ai-agent 0.88.0

Idiomatic agent sdk inspired by the claude code source leak
Documentation
use std::sync::Arc;

pub fn create_abort_controller(_max_listeners: usize) -> Arc<std::sync::atomic::AtomicBool> {
    Arc::new(std::sync::atomic::AtomicBool::new(false))
}

pub fn create_child_abort_controller(
    parent: &Arc<std::sync::atomic::AtomicBool>,
    _max_listeners: Option<usize>,
) -> Arc<std::sync::atomic::AtomicBool> {
    let child = Arc::new(std::sync::atomic::AtomicBool::new(false));

    if parent.load(std::sync::atomic::Ordering::SeqCst) {
        child.store(true, std::sync::atomic::Ordering::SeqCst);
        return child;
    }

    child
}