Streaming
Streaming
Basic Streaming
typescript
import { Agent, isOutputTextDelta } from 'oneringai';
const agent = Agent.create({
connector: 'openai',
model: 'gpt-4.1',
});
for await (const event of agent.stream('Tell me a story')) {
if (isOutputTextDelta(event)) {
process.stdout.write(event.delta);
}
}
Stream Helpers
typescript
import { StreamHelpers } from 'oneringai';
for await (const text of StreamHelpers.textOnly(agent.stream('Hello'))) {
process.stdout.write(text);
}
for await (const event of agent.stream('Hello')) {
switch (event.type) {
case 'response.created':
console.log('🔄 Starting...');
break;
case 'response.output_text.delta':
process.stdout.write(event.delta);
break;
case 'response.tool_call.start':
console.log(`\n🔧 Calling ${event.tool_name}...`);
break;
case 'response.tool_execution.done':
console.log(`✅ Tool complete`);
break;
case 'response.complete':
console.log('\n✓ Done');
break;
case 'response.error':
console.error('Error:', event.error);
break;
}
}
typescript
const agent = Agent.create({
connector: 'openai',
model: 'gpt-4.1',
tools: [weatherTool, calculatorTool],
});
for await (const event of agent.stream('What is the weather in Paris?')) {
if (event.type === 'response.tool_call.start') {
console.log(`🔧 Calling ${event.tool_name}...`);
}
if (event.type === 'response.tool_execution.done') {
console.log(`✅ Tool result: ${JSON.stringify(event.result)}`);
}
if (event.type === 'response.output_text.delta') {
process.stdout.write(event.delta);
}
}