mod inmemory;
mod store;
pub use inmemory::InMemoryTaskStore;
pub use store::{StoredTask, TaskStore, TaskVersion};
use a2a::Task;
pub(crate) fn apply_history_length(task: &mut Task, history_length: Option<i32>) {
let Some(requested) = history_length else {
return;
};
let keep = if requested <= 0 {
0
} else {
requested as usize
};
let Some(history) = task.history.as_mut() else {
return;
};
if keep == 0 {
history.clear();
return;
}
if history.len() > keep {
history.drain(..history.len() - keep);
}
}