From 1f0cf28d1f378f0426d5140fc40af003afe2a37e Mon Sep 17 00:00:00 2001 From: William Valentin Date: Thu, 5 Feb 2026 10:46:53 -0800 Subject: [PATCH] feat(models): add streaming types for chat responses --- src/models/types.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/models/types.ts b/src/models/types.ts index 731e803..95badf3 100644 --- a/src/models/types.ts +++ b/src/models/types.ts @@ -12,12 +12,26 @@ export interface ChatRequest { export interface ChatResponse { content: string; stopReason: 'end_turn' | 'max_tokens' | 'stop_sequence' | string; - usage: { - inputTokens: number; - outputTokens: number; - }; + usage: TokenUsage; +} + +export interface TokenUsage { + inputTokens: number; + outputTokens: number; +} + +export interface ChatStreamEvent { + type: 'content' | 'done' | 'error'; + content?: string; + usage?: TokenUsage; + error?: Error; +} + +export interface StreamingModelClient { + chatStream(request: ChatRequest): AsyncIterable; } export interface ModelClient { chat(request: ChatRequest): Promise; + chatStream?(request: ChatRequest): AsyncIterable; }