hippocampus: move MemoryNode + store ops to where they belong
MemoryNode moved from agent/memory.rs to hippocampus/memory.rs — it's a view over hippocampus data, not agent-specific. Store operations (set_weight, set_link_strength, add_link) moved into store/ops.rs. CLI code (cli/graph.rs, cli/node.rs) and agent tools both call the same store methods now. render_node() delegates to MemoryNode::from_store().render() — 3 lines instead of 40. Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
parent
4b97bb2f2e
commit
10932cb67e
10 changed files with 108 additions and 191 deletions
|
|
@ -16,8 +16,6 @@
|
|||
use anyhow::Result;
|
||||
use tiktoken_rs::CoreBPE;
|
||||
|
||||
use std::io::Write;
|
||||
|
||||
use crate::agent::api::ApiClient;
|
||||
use crate::agent::journal;
|
||||
use crate::agent::log::ConversationLog;
|
||||
|
|
@ -445,7 +443,7 @@ impl Agent {
|
|||
match call.function.name.as_str() {
|
||||
"memory_render" | "memory_links" => {
|
||||
if let Some(key) = args.get("key").and_then(|v| v.as_str()) {
|
||||
if let Some(node) = crate::agent::memory::MemoryNode::load(key) {
|
||||
if let Some(node) = crate::hippocampus::memory::MemoryNode::load(key) {
|
||||
// Replace if already tracked, otherwise add
|
||||
if let Some(existing) = self.context.loaded_nodes.iter_mut()
|
||||
.find(|n| n.key == node.key) {
|
||||
|
|
@ -458,7 +456,7 @@ impl Agent {
|
|||
}
|
||||
"memory_write" => {
|
||||
if let Some(key) = args.get("key").and_then(|v| v.as_str()) {
|
||||
if let Some(node) = crate::agent::memory::MemoryNode::load(key) {
|
||||
if let Some(node) = crate::hippocampus::memory::MemoryNode::load(key) {
|
||||
// Refresh if already tracked
|
||||
if let Some(existing) = self.context.loaded_nodes.iter_mut()
|
||||
.find(|n| n.key == node.key) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue