We now have AiApi, OllamaAiApi, and OpenAiApi. Documentation updates to provide a bit more high-level clarity that was originally generated by the agent.
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
// Copyright (C) 2026 Rob Colbert <rob.colbert@openplatform.us>
|
|
// 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}`);
|
|
}
|
|
}
|