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; }