JavaScript/TypeScript SDK
Libro distributes a lightweight, dependency-free SDK designed to run in any JavaScript environment.
Installation
npm install libro-sdk
Initialization
import { LibroClient } from 'libro-sdk';
const client = new LibroClient({
apiKey: "cos_live_YOUR_KEY",
baseUrl: "https://libro.co.in" // Optional: defaults to production
});
Core Methods
1. Ingest
Save a piece of memory for a specific user.
const response = await client.ingest({
userId: "user_123",
content: "User prefers functional programming paradigms.",
metadata: { source: "slack", priority: "high" }
});
console.log(response.memory.id); // 'uuid-...'
2. Get Context
Retrieve an optimized, LLM-ready context string.
const context = await client.getContext(
"user_123",
"What programming style should I recommend?"
);
// "User prefers functional programming paradigms."
3. Semantic Search
Return raw memory objects with scores and metadata.
const results = await client.search({
userId: "user_123",
query: "programming style",
limit: 5
});
console.log(results[0].content);
4. Update
Modify an existing memory block.
await client.update({
userId: "user_123",
memoryId: "uuid-...",
text: "User prefers functional programming and TypeScript."
});
5. Forget (Delete)
Delete a specific memory by ID, or delete all memories matching a semantic query, or wipe a user entirely.
// Delete specific memory
await client.forget({ userId: "user_123", memoryId: "uuid-..." });
// Delete based on semantic query
await client.forget({ userId: "user_123", query: "credit card details" });
// Wipe all user data
await client.forget({ userId: "user_123" });