feat(models): add streaming types for chat responses

This commit is contained in:
William Valentin
2026-02-05 10:46:53 -08:00
parent 228e7d86bd
commit 1f0cf28d1f
+16 -2
View File
@@ -12,12 +12,26 @@ export interface ChatRequest {
export interface ChatResponse {
content: string;
stopReason: 'end_turn' | 'max_tokens' | 'stop_sequence' | string;
usage: {
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<ChatStreamEvent>;
}
export interface ModelClient {
chat(request: ChatRequest): Promise<ChatResponse>;
chatStream?(request: ChatRequest): AsyncIterable<ChatStreamEvent>;
}