@eclipse-softworks/luna-sdk
v1.0.1
Published
Official TypeScript SDK for the Eclipse Softworks Platform API
Maintainers
Readme
@eclipse/luna-sdk
Official TypeScript SDK for the Eclipse Softworks Platform API.
Installation
npm install @eclipse/luna-sdkQuick Start
import { LunaClient } from '@eclipse/luna-sdk';
// API Key authentication
const client = new LunaClient({
apiKey: process.env.LUNA_API_KEY,
});
// List users
const users = await client.users.list({ limit: 10 });
// Get a specific user
const user = await client.users.get('usr_123');
// Create a new user
const newUser = await client.users.create({
email: '[email protected]',
name: 'John Doe',
});Authentication
API Key
const client = new LunaClient({
apiKey: 'lk_live_xxxx',
});OAuth Token
const client = new LunaClient({
accessToken: session.accessToken,
refreshToken: session.refreshToken,
onTokenRefresh: async (tokens) => {
await saveTokens(tokens);
},
});Error Handling
import { LunaClient, NotFoundError, RateLimitError } from '@eclipse/luna-sdk';
try {
await client.users.get('usr_nonexistent');
} catch (error) {
if (error instanceof NotFoundError) {
console.log('User not found:', error.message);
} else if (error instanceof RateLimitError) {
console.log('Rate limited, retry after:', error.retryAfter);
}
}Configuration
const client = new LunaClient({
apiKey: process.env.LUNA_API_KEY,
baseUrl: 'https://api.staging.eclipse.dev', // Custom base URL
timeout: 60000, // Request timeout (ms)
maxRetries: 5, // Retry attempts
logLevel: 'debug', // Log level
});License
MIT © Eclipse Softworks
