Interface EpisodicMemory

Represents an episodic memory (specific experience/event)

interface EpisodicMemory {
    id: string;
    type: "error" | "success" | "task" | "conversation" | "discovery" | "interaction";
    summary: string;
    description?: string;
    participants: string[];
    valence?: number;
    importance: number;
    entityIds: string[];
    embedding?: number[];
    occurredAt: string;
    durationMs?: number;
    outcome?: "success" | "failure" | "partial" | "unknown";
    insights?: string[];
    context?: Record<string, unknown>;
    createdAt: string;
    accessCount: number;
    lastAccessedAt: string;
}

Properties

id: string

Unique memory ID

type: "error" | "success" | "task" | "conversation" | "discovery" | "interaction"

Memory type

summary: string

Summary of the episode

description?: string

Detailed description

participants: string[]

Participants (user IDs, GMI IDs)

valence?: number

Emotional valence (-1 to 1, negative to positive)

importance: number

Importance score (0-1)

entityIds: string[]

Associated entity IDs

embedding?: number[]

Vector embedding

occurredAt: string

When did this happen?

durationMs?: number

Duration in milliseconds

outcome?: "success" | "failure" | "partial" | "unknown"

Outcome/result

insights?: string[]

Lessons learned

context?: Record<string, unknown>

Raw context data

createdAt: string

Creation timestamp

accessCount: number

Access count (for decay/reinforcement)

lastAccessedAt: string

Last accessed timestamp