Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.agentfront.dev/llms.txt

Use this file to discover all available pages before exploring further.

Interfaces for storage adapters in VectoriaDB.

StorageMetadata

Metadata stored with embeddings for cache validation.
interface StorageMetadata {
  /**
   * VectoriaDB version
   */
  version: string;

  /**
   * Hash of tools/documents schema
   */
  toolsHash: string;

  /**
   * Timestamp when stored
   */
  timestamp: number;

  /**
   * Embedding model name
   */
  modelName: string;

  /**
   * Vector dimensions
   */
  dimensions: number;

  /**
   * Number of documents stored
   */
  documentCount: number;
}

StoredData

Data structure for persisted embeddings.
interface StoredData<T extends DocumentMetadata = DocumentMetadata> {
  metadata: StorageMetadata;
  embeddings: SerializedEmbedding<T>[];
}

SerializedEmbedding

Serialized form of document embedding (JSON-compatible).
interface SerializedEmbedding<T extends DocumentMetadata = DocumentMetadata> {
  id: string;
  vector: number[]; // Float32Array serialized
  metadata: T;
  text: string;
  createdAt: string; // ISO date string
}

BaseStorageAdapter

Abstract base class for storage adapters.
abstract class BaseStorageAdapter<T extends DocumentMetadata> {
  protected config: Required<StorageAdapterConfig>;

  constructor(config?: StorageAdapterConfig);

  abstract initialize(): Promise<void>;
  abstract load(): Promise<StoredData<T> | null>;
  abstract save(data: StoredData<T>): Promise<void>;
  abstract clear(): Promise<void>;
  abstract close(): Promise<void>;

  async hasValidCache(metadata: StorageMetadata): Promise<boolean>;
  protected safeJsonParse<R>(content: string): R | null;
  protected safeJsonStringify(data: unknown, pretty?: boolean): string | null;
}

Implementing Custom Adapters

import { BaseStorageAdapter, StoredData, StorageMetadata } from 'vectoriadb';

class CustomStorageAdapter<T extends DocumentMetadata>
  extends BaseStorageAdapter<T> {

  async initialize(): Promise<void> {
    // Setup connection
  }

  async load(): Promise<StoredData<T> | null> {
    // Load from storage
    return null;
  }

  async save(data: StoredData<T>): Promise<void> {
    // Save to storage
  }

  async clear(): Promise<void> {
    // Clear storage
  }

  async close(): Promise<void> {
    // Cleanup
  }
}

FileStorageAdapter

File storage

RedisStorageAdapter

Redis storage

Storage Guide

Storage guide