Metadata Filtering
Filter recall with meta.eq, contains, comparisons, and AND/OR/NOT boolean trees.
What is it?
Structured filters on memory metadata (and agent scope) applied during recall(), forget(), and related APIs.
Why does it exist?
Organizations share one store. Filters keep retrieval scoped to a topic, tenant facet, priority, or agent without re-embedding.
How does it work?
import { meta } from "wolbarg";
meta.eq("topic", "billing")
meta.contains("title", "invoice")
meta.gt("score", 10)
meta.gte("score", 10)
meta.lt("score", 100)
meta.lte("score", 100)
meta.between("year", 2020, 2026)
meta.and(filterA, filterB)
meta.or(filterA, filterB)
meta.not(filterA)await ctx.recall({
query: "pricing",
filter: {
agent: "sales",
metadata: meta.and(
meta.eq("region", "eu"),
meta.gte("priority", 2),
),
},
});Opaque metadata is never validated by the SDK — store any JSON-serializable object and filter on known fields.
When should it be used?
Always attach meaningful metadata at remember / ingest time. Prefer filters before raising topK.