feat(brain): preserve memory source field
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
c75911be67
commit
5c5d9c33bf
4 changed files with 9 additions and 0 deletions
|
|
@ -48,6 +48,7 @@ func TestActions_HandleList_Good(t *testing.T) {
|
|||
"type": "decision",
|
||||
"project": "agent",
|
||||
"agent_id": "cladius",
|
||||
"source": "manual",
|
||||
"confidence": 0.9,
|
||||
"created_at": "2026-03-31T00:00:00Z",
|
||||
"updated_at": "2026-03-31T00:00:00Z",
|
||||
|
|
@ -78,6 +79,7 @@ func TestActions_HandleList_Good(t *testing.T) {
|
|||
assert.Equal(t, 1, output.Count)
|
||||
require.Len(t, output.Memories, 1)
|
||||
assert.Equal(t, "mem-1", output.Memories[0].ID)
|
||||
assert.Equal(t, "manual", output.Memories[0].Source)
|
||||
}
|
||||
|
||||
func TestActions_HandleList_Bad(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -254,6 +254,7 @@ func memoriesFromPayload(payload map[string]any) []Memory {
|
|||
Type: stringField(memoryMap, "type"),
|
||||
Project: stringField(memoryMap, "project"),
|
||||
AgentID: stringField(memoryMap, "agent_id"),
|
||||
Source: stringField(memoryMap, "source"),
|
||||
CreatedAt: stringField(memoryMap, "created_at"),
|
||||
UpdatedAt: stringField(memoryMap, "updated_at"),
|
||||
ExpiresAt: stringField(memoryMap, "expires_at"),
|
||||
|
|
@ -276,6 +277,9 @@ func memoriesFromPayload(payload map[string]any) []Memory {
|
|||
}
|
||||
}
|
||||
if source, ok := memoryMap["source"].(string); ok {
|
||||
if memory.Source == "" {
|
||||
memory.Source = source
|
||||
}
|
||||
memory.Tags = append(memory.Tags, core.Concat("source:", source))
|
||||
}
|
||||
memories = append(memories, memory)
|
||||
|
|
|
|||
|
|
@ -298,6 +298,7 @@ func TestDirect_Recall_Good_WithMemories(t *testing.T) {
|
|||
assert.Equal(t, "decision", out.Memories[0].Type)
|
||||
assert.Equal(t, "virgil", out.Memories[0].AgentID)
|
||||
assert.Equal(t, 0.95, out.Memories[0].Confidence)
|
||||
assert.Equal(t, "manual", out.Memories[0].Source)
|
||||
assert.Contains(t, out.Memories[0].Tags, "source:manual")
|
||||
|
||||
assert.Equal(t, "mem-2", out.Memories[1].ID)
|
||||
|
|
@ -463,6 +464,7 @@ func TestDirect_List_Good_WithMemories(t *testing.T) {
|
|||
assert.Equal(t, "mem-list-1", out.Memories[0].ID)
|
||||
assert.Equal(t, 0.73, out.Memories[0].Confidence)
|
||||
assert.Equal(t, "mem-old", out.Memories[0].SupersedesID)
|
||||
assert.Equal(t, "manual", out.Memories[0].Source)
|
||||
assert.Equal(t, "2026-03-30T10:00:00Z", out.Memories[0].UpdatedAt)
|
||||
assert.Equal(t, "2026-04-01T00:00:00Z", out.Memories[0].ExpiresAt)
|
||||
assert.Contains(t, out.Memories[0].Tags, "queue")
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ type Memory struct {
|
|||
Content string `json:"content"`
|
||||
Tags []string `json:"tags,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
Source string `json:"source,omitempty"`
|
||||
Confidence float64 `json:"confidence"`
|
||||
SupersedesID string `json:"supersedes_id,omitempty"`
|
||||
ExpiresAt string `json:"expires_at,omitempty"`
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue