Open app
Moonborn — Developers

TypeScript SDK

Type-safe SDK for Node.js and browser applications

Installation

npm install @moonborn/sdk
# or
pnpm add @moonborn/sdk

Setup

import Moonborn from '@moonborn/sdk';
 
const client = new Moonborn({
 apiKey: process.env.MOONBORN_API_KEY,
 // Optional: override base URL for self-hosted
 baseURL: 'https://api.moonborn.co',
});

Auto-generated from OpenAPI

The TypeScript SDK is auto-generated from the Moonborn OpenAPI 3.1 spec. It is updated automatically on every API release.

Source: packages/sdk-ts/ in the Moonborn monorepo.

Usage examples

Create a persona

const persona = await client.personas.create({
 intent: 'A retired surgeon from Boston who gardens obsessively.',
 options: {
 pipeline: {
 audit: { enabled: true },
 voiceFingerprint: { enabled: true },
 },
 },
});

Stream generation

const stream = await client.personas.createStream({
 intent: 'A market trader in Lagos, street-smart and fiercely loyal.',
});
 
for await (const event of stream) {
 if (event.type === 'step.completed') {
 console.log(event.step, event.output);
 }
 if (event.type === 'persona.created') {
 console.log('Done:', event.persona.id);
 }
}

Chat with a persona

const session = await client.chat.sessions.create({ personaId: persona.id });
 
const response = await client.chat.messages.create({
 sessionId: session.id,
 content: 'What is your greatest fear?',
});
 
console.log(response.content);
console.log('Drift score:', response.metadata.driftScore);