Node.js / TypeScript SDK
Use the official OpenAI Node.js/TypeScript SDK with Glitch by configuring the base URL and adding your Glitch API key.
Basic Setup
Section titled “Basic Setup”import OpenAI from 'openai';
const client = new OpenAI({ apiKey: process.env.GLITCH_API_KEY!, // Your Glitch API key baseURL: 'https://api.golabrat.ai/v1', // Glitch sensor URL});
const response = await client.chat.completions.create({ model: 'gpt-4', messages: [ { role: 'system', content: 'You are a helpful assistant.' }, { role: 'user', content: 'Hello!' } ]});
console.log(response.choices[0].message.content);Error Handling
Section titled “Error Handling”Handle Glitch security blocks gracefully:
import OpenAI from 'openai';
const client = new OpenAI({ apiKey: process.env.GLITCH_API_KEY!, baseURL: 'https://api.golabrat.ai/v1',});
try { const response = await client.chat.completions.create({ model: 'gpt-4', messages: [{ role: 'user', content: userInput }] }); return response.choices[0].message.content;} catch (error) { if (error instanceof OpenAI.APIError && error.status === 403) { // Security block - handle gracefully return "I can't process that request."; } throw error;}Accessing Security Headers
Section titled “Accessing Security Headers”The OpenAI Node.js SDK doesn’t expose response headers directly. Use fetch for direct HTTP calls to access security metadata from /v1/chat/completions responses:
const response = await fetch('https://api.golabrat.ai/v1/chat/completions', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.GLITCH_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ model: 'gpt-4', messages: [{ role: 'user', content: 'Hello' }], }),});
// Access security headersconst blocked = response.headers.get('X-Risk-Blocked') === 'true';const categories = response.headers.get('X-Risk-Categories');const confidence = parseFloat(response.headers.get('X-Risk-Confidence') || '0');
if (categories) { console.log(`Flagged: ${categories} (confidence: ${confidence})`);}Streaming Support
Section titled “Streaming Support”Glitch fully supports streaming responses:
import OpenAI from 'openai';
const client = new OpenAI({ apiKey: process.env.GLITCH_API_KEY!, baseURL: 'https://api.golabrat.ai/v1',});
const stream = await client.chat.completions.create({ model: 'gpt-4', messages: [{ role: 'user', content: 'Write a poem' }], stream: true,});
for await (const chunk of stream) { process.stdout.write(chunk.choices[0]?.delta?.content || '');}Next Steps
Section titled “Next Steps”- SDKs Overview — Other SDK integrations
- Frameworks — Framework-specific guides
- Quick Start — Get running in 5 minutes