libindex - Base index class for storage-backed data. Index class provides JSONL storage operations and filtering logic. BufferedIndex adds high-volume write support with periodic flushing. Use for building custom indexes, implementing data stores, and managing persistent collections.
Index: Base class providing read/write/filter operations on JSONL files. Subclass to create domain-specific indexes.
BufferedIndex: Extends Index with write buffering for high-throughput scenarios, flushing periodically.
import { Index } from "@copilot-ld/libindex";
class UserIndex extends Index {
constructor(storage) {
super(storage, "users");
}
async findByEmail(email) {
return this.filter((user) => user.email === email);
}
}
import { BufferedIndex } from "@copilot-ld/libindex";
const index = new BufferedIndex(storage, "logs", { flushInterval: 5000 });
await index.append(logEntry); // Buffered
await index.flush(); // Force flush
Base class for VectorIndex, TraceIndex, ResourceIndex and other domain indexes.