Main memory service - orchestrates storage, summarization, and search.

This is the primary entry point for memory operations. It coordinates:

  • Storage: Where and how memories are persisted
  • Summarization: How sessions are transformed into memories
  • Embeddings: How semantic search is enabled
// Simple setup
const memoryService = new MemoryService({
storage: new InMemoryStorageProvider(),
});

// Production setup with semantic search
const memoryService = new MemoryService({
storage: new VectorStorageProvider({ vectorStore: pinecone }),
summaryProvider: new LlmSummaryProvider({ model: 'gpt-4o-mini' }),
embeddingProvider: new OpenAIEmbeddingProvider(),
});

Constructors

Methods

  • Add a session to memory.

    Flow:

    1. If summaryProvider configured: summarize session into MemoryContent
    2. If embeddingProvider configured: generate embedding for the content
    3. Store the memory record via storage provider

    Parameters

    • session: Session

      The session to add to memory

    • Optionaloptions: {
          appName?: string;
          userId?: string;
      }

      Additional options for the memory record

      • OptionalappName?: string

        Override the app name (defaults to session.appName)

      • OptionaluserId?: string

        Override the user ID (defaults to session.userId)

    Returns Promise<MemoryRecord>

    The created memory record