Skip to main content

Streaming Helpers

The SDK provides helpers to convert agent streams into Server-Sent Events (SSE) responses, ready for your web framework of choice.

Quick Start

Use createStreamResponse in a Next.js Route Handler (or any framework supporting the Fetch API Response type):

import { createStreamResponse } from '@mentiora.ai/sdk';
import { client } from '@/lib/mentiora';

export const runtime = 'nodejs';

export async function POST(req: Request) {
const { message } = await req.json();
return createStreamResponse(
client.agents.stream({ tag: 'production', message }),
);
}

createStreamResponse maps agent events to simplified SSE payloads by default:

Agent eventSSE payload
output_text_delta{ type: "delta", delta }
chat_completed{ type: "done", threadId, output, status }
error{ type: "error", message }

All other event types are skipped. Pass a custom transform to change this behavior:

createStreamResponse(stream, {
transform: (event) => {
if (event.type === 'output_text_delta') return { text: event.delta };
return null; // returning null skips the event
},
});
Next.js

Add export const runtime = 'nodejs' to your route file to ensure the handler runs in the Node.js runtime rather than the Edge runtime.

Custom Transform

createStreamResponse(stream, {
transform: (event) => {
if (event.type === 'output_text_delta') return { text: event.delta };
return null; // returning null skips the event
},
});

Low-Level Helpers

For custom setups where you manage the response yourself, SSE_HEADERS provides the standard headers:

import { SSE_HEADERS } from '@mentiora.ai/sdk';

// Express / Node.js http
res.writeHead(200, SSE_HEADERS);

Full-Stack Examples

For complete chatbot applications using these streaming helpers, see:

See Also