// Copyright (C) 2026 Rob Colbert // Licensed under the Apache License, Version 2.0 export { type AiSdkType, type IAiProvider, type IAiModelConfig, type IAiInferenceStats, type IAiGenerateOptions, type IAiGenerateResponse, type IContextChatMessage, type IAiChatOptions, type IAiChatResponse, type IToolCall, type IAiStreamChunk, type IAiResponseStreamFn, type IAiLogger, defaultLogger, AiApi, } from "./api.js"; export { OllamaAiApi } from "./ollama.js"; export { OpenAiApi } from "./openai.js"; import { OllamaAiApi } from "./ollama.js"; import { OpenAiApi } from "./openai.js"; import type { IAiProvider } from "./api.js"; import type { IAiLogger } from "./api.js"; import type { AiApi } from "./api.js"; export function createAiApi(provider: IAiProvider, logger?: IAiLogger): AiApi { switch (provider.sdk) { case "ollama": return new OllamaAiApi(provider, logger); case "openai": return new OpenAiApi(provider, logger); default: throw new Error(`Unknown AI SDK: ${(provider as IAiProvider).sdk}`); } }