gadget/packages/ai/src/index.ts
Rob Colbert f1b5a560a3 documentation updates; AI classes renamed
We now have AiApi, OllamaAiApi, and OpenAiApi. Documentation updates to
provide a bit more high-level clarity that was originally generated by
the agent.
2026-04-28 11:49:21 -04:00

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