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" });