Skip to content

Memory API

The memory module currently provides conversation fact-extraction helpers. It does not provide an automatic chat memory runner or built-in fact store.

Overview

  • Fact Extraction: LLM-powered extraction of structured facts from conversation messages
  • Memory Operations: LLM-assisted ADD/UPDATE/NONE decisions for an external memory store

Call these helpers explicitly from application/reflection workflows. Public Interaction construction always uses the base model runner.

Types

Fact

typescript
import type { Fact } from './core/memory/types.js';

const fact: Fact = {
  type: "preference",
  text: "Prefers detailed explanations with examples"
};

MemoryFact

typescript
import type { MemoryFact } from './core/memory/types.js';

const memoryFact: MemoryFact = {
  id: "fact-001",
  type: "professional",
  text: "Works as a software engineer"
};

MemoryOperation

typescript
import type { MemoryOperation } from './core/memory/types.js';

const operation: MemoryOperation = {
  id: "fact-001",
  fact: { type: "professional", text: "Works as a senior software engineer" },
  event: "UPDATE",
  old_memory: "Works as a software engineer"
};

extractFacts()

Extract structured facts from a conversation using an LLM.

typescript
import { extractFacts } from './core/memory/extract_facts.js';

const facts = await extractFacts(interaction, modelDetails);

determineOperations()

Given new facts and existing memories, determine what memory operations (ADD, UPDATE, NONE) to perform.

typescript
import { determineOperations } from './core/memory/determine_operations.js';

const result = await determineOperations(modelDetails, newFacts, existingMemories);

Released under the MIT License.