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
apiKeystringYesYour Memsolus API key (msk_live_... or msk_test_...)
workspaceIdstringYesUUID 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 PENDINGPROCESSINGREADY 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';