Interface for agent memory management.

Agents can store information in short-term memory (current session), long-term memory (persistent), and semantic memory (vector embeddings for search).

class InMemoryAgentMemory implements AgentMemory {
private shortTerm = new Map<string, unknown>();
private longTerm = new Map<string, unknown>();

async store(key: string, value: unknown, type: 'short' | 'long'): Promise<void> {
if (type === 'short') {
this.shortTerm.set(key, value);
} else {
this.longTerm.set(key, value);
}
}

async retrieve(key: string): Promise<unknown> {
return this.shortTerm.get(key) ?? this.longTerm.get(key);
}
}
interface AgentMemory {
    store(
        key: string,
        value: unknown,
        type: "short" | "long",
    ): Promise<void>;
    retrieve(key: string): Promise<unknown>;
    search(query: string, limit: number): Promise<unknown[]>;
    clear(type: "short" | "long" | "all"): Promise<void>;
}

Methods

  • Stores a value in agent memory

    Parameters

    • key: string

      The key to store the value under

    • value: unknown

      The value to store

    • type: "short" | "long"

      Type of memory: 'short' (session) or 'long' (persistent)

    Returns Promise<void>

  • Retrieves a value from agent memory

    Parameters

    • key: string

      The key to retrieve

    Returns Promise<unknown>

    The stored value, or null if not found

  • Searches memory semantically (requires vector store implementation)

    Parameters

    • query: string

      The search query

    • limit: number

      Maximum number of results

    Returns Promise<unknown[]>

    Array of relevant stored values

  • Clears memory of specified type

    Parameters

    • type: "short" | "long" | "all"

      Type of memory to clear: 'short', 'long', or 'all'

    Returns Promise<void>