a3s-code-core 8.1.0

A3S Code Core - Embeddable AI agent library with tool execution
Documentation
use a3s_code_core::{DurableMemoryMode, DurableMemorySession, SessionOptions};
use a3s_memory::repository::{InMemoryRepository, MemoryNamespace};
use std::sync::Arc;

#[test]
fn durable_memory_binding_is_typed_exact_and_shadow_only() {
    let namespace = MemoryNamespace::try_new("tenant-a", "principal-a", "repo-a").unwrap();
    let repository = Arc::new(InMemoryRepository::new());
    let binding = DurableMemorySession::shadow(repository, namespace.clone());

    assert_eq!(binding.namespace(), &namespace);
    assert_eq!(binding.mode(), DurableMemoryMode::ShadowCandidates);
    assert!(format!("{binding:?}").contains("ShadowCandidates"));

    let options = SessionOptions::new().with_durable_memory(binding.clone());
    assert_eq!(
        options
            .durable_memory
            .as_ref()
            .expect("binding installed")
            .namespace(),
        &namespace
    );
}