fix(memory): use edge role=memory not presentation
build-and-publish / image (push) Has been cancelled
build-and-publish / test (push) Has been cancelled

EA2 enforces one-defines-presentation-per-node — only the first
memory could ever attach because every subsequent
create_edge(role=presentation) from the vault returned 500
[ERR 1650]. Use role=memory for ongoing memories. listAll filter
accepts both for back-compat with the single existing
presentation edge.
This commit is contained in:
canvas-bot
2026-06-16 21:19:11 +04:00
parent f3a3794e54
commit 2b91368a23
+2 -2
View File
@@ -94,7 +94,7 @@ export const agentMemory = {
body: JSON.stringify({
request_id: newRequestId(),
ops: [
{ op: "create_edge", edge_coll: "defines", from: `flow/${vaultKey}`, to: `flow/${mem._key}`, role: "presentation" },
{ op: "create_edge", edge_coll: "defines", from: `flow/${vaultKey}`, to: `flow/${mem._key}`, role: "memory" },
],
}),
signal,
@@ -116,7 +116,7 @@ export const agentMemory = {
if (!edgesRes.ok) return [];
const edges = (await edgesRes.json())?.items || [];
const memKeys = (edges as any[])
.filter((e) => e?.role === "presentation")
.filter((e) => e?.role === "memory" || e?.role === "presentation")
.map((e) => (e._to || "").split("/").pop())
.filter(Boolean)
.slice(0, cap) as string[];