Table of Contents

Namespace JD.AI.Core.Memory

Classes

BatchEmbeddingPipeline

Processes documents through a chunking → embedding → storage pipeline. Handles batching to stay within embedding provider rate limits.

InMemoryVectorStore

In-memory vector store for testing and lightweight use cases. Uses brute-force cosine similarity (O(n) per query).

MemoryConsolidator

Background consolidation service that periodically reads recent daily logs and updates the long-term MEMORY.md file for each project.

MemoryEntry

A chunk of content stored in the vector store with its embedding.

MemoryManager

Unified memory manager that combines embedding + vector store.

MemorySearchResult

Search result from vector similarity search.

MemoryService

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

SqliteVectorStore

SQLite-based vector store using manual cosine similarity. For production, consider sqlite-vec extension or a dedicated vector DB.

TextChunk

A chunk of text with position metadata.

TextChunker

Splits text into overlapping chunks suitable for embedding. Supports configurable chunk size and overlap to maintain context across chunk boundaries.

Interfaces

IEmbeddingProvider

Abstraction for text embedding providers (OpenAI, Ollama, Voyage, etc.).

IMemoryService

Provides access to the JD.AI per-project memory directory at ~/.jdai/memory/{projectId}/. Each project has a MEMORY.md file for long-term context and a memory/YYYY/MM/ subtree for daily turn logs.

IVectorStore

Vector store abstraction for semantic memory.