mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 17:00:59 +00:00
- Added thinkingConfig with includeThoughts and thinkingBudget support - Use part.thought boolean flag to detect thinking content per API docs - Capture and preserve thought signatures for multi-turn function calling - Added supportsThinking() check for Gemini 2.5 series models - Updated example to demonstrate thinking configuration - Handle SDK type limitations with proper type assertions |
||
|---|---|---|
| .. | ||
| docs | ||
| src | ||
| test/examples | ||
| package.json | ||
| README.md | ||
| tsconfig.build.json | ||
@mariozechner/ai
Unified API for OpenAI, Anthropic, and Google Gemini LLM providers. This package provides a common interface for working with multiple LLM providers, handling their differences transparently while exposing a consistent, minimal API.
Features (Planned)
- Unified Interface: Single API for OpenAI, Anthropic, and Google Gemini
- Streaming Support: Real-time response streaming with delta events
- Tool Calling: Consistent tool/function calling across providers
- Reasoning/Thinking: Support for reasoning tokens where available
- Session Management: Serializable conversation state across providers
- Token Tracking: Unified token counting (input, output, cached, reasoning)
- Interrupt Handling: Graceful cancellation of requests
- Provider Detection: Automatic configuration based on endpoint
- Caching Support: Provider-specific caching strategies
Installation
npm install @mariozechner/ai
Quick Start (Coming Soon)
import { createClient } from '@mariozechner/ai';
// Automatically detects provider from configuration
const client = createClient({
provider: 'openai',
apiKey: process.env.OPENAI_API_KEY,
model: 'gpt-4'
});
// Same API works for all providers
const response = await client.complete({
messages: [
{ role: 'user', content: 'Hello!' }
],
stream: true
});
for await (const event of response) {
if (event.type === 'content') {
process.stdout.write(event.text);
}
}
Supported Providers
- OpenAI: GPT-3.5, GPT-4, o1, o3 models
- Anthropic: Claude models via native SDK
- Google Gemini: Gemini models with thinking support
Development
This package is part of the pi monorepo. See the main README for development instructions.
License
MIT