UNPKG

@unified-llm/core

Version:

Unified LLM interface (in-memory).

18 lines (17 loc) 833 B
import { UnifiedChatRequest, UnifiedChatResponse, MessageContent, ToolUseContent, Tool } from '../types/unified-api'; declare abstract class BaseProvider { protected model: string | undefined; protected tools?: Tool[]; get modelName(): string | undefined; constructor({ model, tools }: { model?: string; tools?: Tool[]; }); abstract chat(request: UnifiedChatRequest): Promise<UnifiedChatResponse>; abstract stream(request: UnifiedChatRequest): AsyncIterableIterator<UnifiedChatResponse>; protected generateMessageId(): string; protected normalizeContent(content: MessageContent[] | string): MessageContent[]; protected hasToolCalls(content: MessageContent[]): boolean; protected extractToolCalls(content: MessageContent[]): ToolUseContent[]; } export default BaseProvider;