import { Flowra, parseSseChunk, extractStreamUsage } from '@flowra/sdk';
const flowra = new Flowra({ apiKey: process.env.FLOWRA_API_KEY! });
const thread = await flowra.chat.createThread({
metadata: { source: 'docs-example' },
});
const threadId = thread.thread_id as string;
const body = {
input: {
messages: [{ role: 'user', content: 'List my open support themes in one paragraph.' }],
},
};
const result = await flowra.chat.stream(threadId, body);
// If your transport gives you raw SSE text, parse it:
if (typeof result === 'string') {
const { events } = parseSseChunk(result.endsWith('\n\n') ? result : `${result}\n\n`);
const usage = extractStreamUsage(events);
if (usage) {
console.log('This turn:', usage.runCredits, 'credits');
}
}