bamboo_engine/runtime/managers/adapters/
memory.rs1use async_trait::async_trait;
2use bamboo_agent_core::tools::ToolSchema;
3use bamboo_agent_core::Session;
4
5use crate::runtime::config::AgentLoopConfig;
6use crate::runtime::managers::memory::MemoryManager;
7
8pub struct DefaultMemoryManager;
10
11#[async_trait]
12impl MemoryManager for DefaultMemoryManager {
13 async fn recall_memories(&self, session: &mut Session, config: &AgentLoopConfig) -> bool {
14 let msg_count_before = session.messages.len();
15 crate::runtime::runner::prompt_context::inject_external_memory_into_system_message(
16 session,
17 config.prompt_memory_flags,
18 None,
19 )
20 .await;
21 session.messages.len() > msg_count_before
22 }
23
24 async fn maybe_compress(
25 &self,
26 _session: &mut Session,
27 _config: &AgentLoopConfig,
28 _phase: &str,
29 _session_id: &str,
30 _model_name: &str,
31 _tool_schemas: &[ToolSchema],
32 ) -> bool {
33 false
35 }
36}