Package Exports
- @switchy-ai/sdk
Readme
@switchy-ai/sdk
Official TypeScript/JavaScript SDK for the Switchy AI memory, knowledge-graph, and multi-model chat API.
Install
npm install @switchy-ai/sdk
# or
pnpm add @switchy-ai/sdk
# or
yarn add @switchy-ai/sdkQuick start
import { Switchy } from '@switchy-ai/sdk';
const client = new Switchy({ apiKey: process.env.SWITCHY_API_KEY! });
const response = await client.chat.complete({
model: 'anthropic/claude-sonnet-4',
message: 'Summarise my recent project notes',
memory: { enabled: true, extractMemories: true },
});
console.log(response.message.content);Streaming
for await (const chunk of client.chat.stream({
model: 'openai/gpt-5',
message: 'Write a haiku about memory',
})) {
if (chunk.type === 'token') process.stdout.write(chunk.content ?? '');
}Memory
// Create a namespace
await client.namespaces.create({ name: 'my-project' });
// Store a memory frame
await client.memory.createFrame('my-project', {
content: 'User prefers dark mode and TypeScript',
metadata: { source: 'onboarding' },
});
// Contextual retrieval (semantic + recency)
const relevant = await client.memory.context('my-project', {
query: 'What are the user preferences?',
limit: 5,
});Knowledge graph
await client.knowledgeGraph.createEntity('my-project', {
name: 'AuthService',
type: 'service',
});
await client.knowledgeGraph.createRelation('my-project', {
source: 'AuthService',
target: 'User',
type: 'authenticates',
});Error handling
import { Switchy, SwitchyError, RateLimitError } from '@switchy-ai/sdk';
try {
await client.chat.complete({ model: 'openai/gpt-5', message: 'hi' });
} catch (err) {
if (err instanceof RateLimitError) {
console.log(`Rate limited, retry in ${err.retryAfter}s`);
} else if (err instanceof SwitchyError) {
console.log(`API error: ${err.code} — ${err.message}`);
}
}API reference
chat.complete(opts)— single-turn completionchat.stream(opts)— SSE streaming generatormodels.list({ featured, category, q })— list available modelsnamespaces.{create,list,get,update,delete}— manage memory namespacesmemory.{createFrame,listFrames,context,semantic,search,bridge,consolidate}— memory operationsknowledgeGraph.{createEntity,createRelation,query}— graph operationssessions.{create,list,get}— session management
See full OpenAPI spec: https://switchy.build/api/v1/openapi.json
License
MIT