Skip to main content

Getting Started

@memsolus/sdk is the official TypeScript SDK for Memsolus. It provides a fully-typed client for all Memsolus API operations with zero runtime dependencies.

Requirements: Node.js 18+, Bun 1.0+, or Deno. TypeScript 5.0+ recommended.


1

Install

npm install @memsolus/sdk

Bun and yarn are also supported:

bun add @memsolus/sdk
# or
yarn add @memsolus/sdk
2

Initialize the client

import { MemsolusClient } from '@memsolus/sdk';

const client = new MemsolusClient({
apiKey: process.env.MEMSOLUS_API_KEY,
workspaceId: process.env.MEMSOLUS_WORKSPACE_ID,
});

The client is ready to use immediately — no additional setup required.

Client options​

OptionTypeRequiredDefaultDescription
apiKeystringYes—Your Memsolus API key (msk_live_... or msk_test_...)
workspaceIdstringYes—UUID of the workspace to operate on
timeoutnumberNo30000Request timeout in milliseconds
retry.maxAttemptsnumberNo3Maximum number of retry attempts
retry.backoffMsnumberNo1000Milliseconds between retry attempts
retry.retryOnnumber[]No[429, 503]HTTP status codes that trigger a retry
3

Store your first memory

import { MemsolusClient } from '@memsolus/sdk';

const client = new MemsolusClient({
apiKey: process.env.MEMSOLUS_API_KEY,
workspaceId: process.env.MEMSOLUS_WORKSPACE_ID,
});

const memory = await client.memories.create({
content: 'The user prefers TypeScript for all new projects.',
userId: 'user_123',
priority: 'HIGH',
categories: ['preferences', 'tech-stack'],
});

console.log(memory.id); // "9b1deb4d-..."
console.log(memory.status); // "PENDING" — processing is asynchronous

Memories are processed asynchronously. The status moves from PENDING → PROCESSING → READY as the memory is enriched and indexed.

4

Search memories

const results = await client.memories.search({
query: 'programming language preferences',
userId: 'user_123',
limit: 5,
});

for (const memory of results.data) {
console.log(memory.content); // "The user prefers TypeScript..."
console.log(memory.score); // 0.94 — relevance score
}

The default search mode is hybrid, which combines semantic similarity with keyword matching for best results. See Advanced Search for more options.


TypeScript support​

All request and response types are exported from the package:

import type {
Memory,
Knowledge,
Entity,
SearchResult,
PaginatedResult,
MemoryPriority,
MemoryStatus,
MemoryLayer,
} from '@memsolus/sdk';