MemoryKit

TypeScript SDK

Official TypeScript/JavaScript SDK for MemoryKit.

Installation

npm install memorykit

Quick setup

import { MemoryKit } from "memorykit";
 
const mk = new MemoryKit({
  apiKey: process.env.MEMORYKIT_API_KEY,
});

Memories

// Create
const memory = await mk.memories.create({
  content: "User prefers dark mode.",
  tags: ["preferences"],
  userId: "user_123",
});
 
// List
const list = await mk.memories.list({ limit: 20 });
 
// Search
const results = await mk.memories.search({
  query: "dark mode preferences",
});
 
// Query (RAG)
const answer = await mk.memories.query({
  query: "What does the user prefer?",
  mode: "balanced",
});
 
// Stream
for await (const event of mk.memories.stream({
  query: "Summarize preferences",
})) {
  if (event.event === "text") {
    process.stdout.write(event.data.content);
  }
}
 
// Delete
await mk.memories.delete("mem_abc123");

Chats

// Create a chat
const chat = await mk.chats.create({
  userId: "user_123",
  title: "Support",
});
 
// Send message
const response = await mk.chats.sendMessage(chat.id, {
  message: "How do I reset my password?",
});
 
// Stream message
for await (const event of mk.chats.streamMessage(chat.id, {
  message: "Tell me more",
})) {
  process.stdout.write(event.data.content);
}

Users

// Upsert user
await mk.users.upsert({
  id: "user_123",
  name: "Alice",
  metadata: { plan: "pro" },
});
 
// Track event
await mk.users.createEvent("user_123", {
  type: "page_view",
  data: { page: "/settings" },
});

On this page