WOLBΛRG

Configuration

Required and optional constructor options for Wolbarg — organization, storage, embedding, and providers.

What is it?

The constructor API for new Wolbarg(options). Three options are required; everything else is optional and enables a specific capability.

Why does it exist?

Wolbarg uses constructor dependency injection so you compose only the backends you need — no global config files, no hidden services.

Required

OptionTypeDescription
organizationstringNamespace isolating memories in a shared database
storageStorageProvider | StorageConfigsqlite(...) or postgres(...)
embeddingEmbeddingProvider | EmbeddingConfigAny OpenAI-compatible embedding factory or custom provider

Optional

OptionEnables
llmcompress() (typed at compile time)
keywordSearchHybrid recall
rerankerrecall({ rerank: true })
ocr / visionImage ingest enrichment
chunkingDefault ingest chunking strategy
compressionCustom compression provider (overrides llm default)
retrievalDefault hybrid / MMR / over-fetch settings

Full example

import {
  Wolbarg, sqlite, openaiEmbedding, openaiLlm,
  bm25, jinaReranker, tesseract, geminiVision,
} from "wolbarg";

const ctx = new Wolbarg({
  organization: "my-org",
  storage: sqlite("./memory.db"),
  embedding: openaiEmbedding({
    apiKey: process.env.OPENAI_API_KEY!,
    model: "text-embedding-3-small",
  }),
  llm: openaiLlm({
    apiKey: process.env.OPENAI_API_KEY!,
    model: "gpt-4.1-mini",
  }),
  keywordSearch: bm25(),
  reranker: jinaReranker({ apiKey: process.env.JINA_API_KEY! }),
  ocr: tesseract(),
  vision: geminiVision({ apiKey: process.env.GEMINI_API_KEY! }),
  retrieval: {
    overFetchFactor: 4,
    hybrid: { semanticWeight: 0.7, keywordWeight: 0.3 },
  },
});

Lazy initialization

Storage opens and embedding dimensions are probed on the first API call, or when you call await ctx.ready(). Optional providers are not probed until used.