co-mono/packages/ai/src/index.ts
Mario Zechner c7618db3f7 refactor(ai): Implement unified model system with type-safe createLLM
- Add Model interface to types.ts with normalized structure
- Create type-safe generic createLLM function with provider-specific model constraints
- Generate models from OpenRouter API and models.dev data
- Strip provider prefixes for direct providers (google, openai, anthropic, xai)
- Keep full model IDs for OpenRouter-proxied models
- Clean separation: types.ts (Model interface), models.ts (factory logic), models.generated.ts (data)
- Remove old model scripts and unused dependencies
- Rename GeminiLLM to GoogleLLM for consistency
- Add tests for new providers (xAI, Groq, Cerebras, OpenRouter)
- Support 181 tool-capable models across 7 providers with full type safety
2025-08-29 23:19:47 +02:00

32 lines
891 B
TypeScript

// @mariozechner/ai - Unified API for OpenAI, Anthropic, and Google Gemini
// This package provides a common interface for working with multiple LLM providers
export const version = "0.5.8";
// Export generated models data
export { PROVIDERS } from "./models.generated.js";
// Export models utilities and types
export {
type AnthropicModel,
type CerebrasModel,
createLLM,
type GoogleModel,
type GroqModel,
type Model,
type OpenAIModel,
type OpenRouterModel,
PROVIDER_CONFIG,
type ProviderModels,
type ProviderToLLM,
type XAIModel,
} from "./models.js";
// Export providers
export { AnthropicLLM } from "./providers/anthropic.js";
export { GoogleLLM } from "./providers/gemini.js";
export { OpenAICompletionsLLM } from "./providers/openai-completions.js";
export { OpenAIResponsesLLM } from "./providers/openai-responses.js";
// Export types
export type * from "./types.js";