Some checks failed
Semantic Release / release (push) Has been cancelled
Implements a new provider that uses Google's Antigravity unified gateway API to access Claude, Gemini, and other models through a single OAuth2-authenticated endpoint. Features: - OAuth2 token management with automatic refresh - Multi-account rotation for rate limit distribution - Support for Claude Opus/Sonnet 4.5 (with/without thinking) - Support for Gemini 2.5/3 models (Pro/Flash variants) - Thinking mode support with configurable tokens - Image processing support - Dual quota pool tracking (antigravity vs gemini-cli) - Gemini-style API request format Authentication: - Reads from ANTIGRAVITY_REFRESH_TOKEN env var (priority) - Falls back to ~/.config/opencode/antigravity-accounts.json - Automatic token refresh with retry logic - Rate limit tracking per account and quota pool Files added: - providers/antigravity.py - Main provider implementation - providers/antigravity_auth.py - OAuth token manager - providers/registries/antigravity.py - Model registry - conf/antigravity_models.json - Model definitions (11 models) - docs/antigravity_provider.md - Setup and usage docs - tests/test_antigravity_provider.py - Unit tests (14 pass) Integration: - Added to provider priority order after ZEN - Registered in server.py with auto-detection - ToS warning logged on first use
27 lines
797 B
Python
27 lines
797 B
Python
"""Model provider abstractions for supporting multiple AI providers."""
|
|
|
|
from .antigravity import AntigravityProvider
|
|
from .azure_openai import AzureOpenAIProvider
|
|
from .base import ModelProvider
|
|
from .gemini import GeminiModelProvider
|
|
from .openai import OpenAIModelProvider
|
|
from .openai_compatible import OpenAICompatibleProvider
|
|
from .openrouter import OpenRouterProvider
|
|
from .registry import ModelProviderRegistry
|
|
from .shared import ModelCapabilities, ModelResponse
|
|
from .zen import ZenProvider
|
|
|
|
__all__ = [
|
|
"ModelProvider",
|
|
"ModelResponse",
|
|
"ModelCapabilities",
|
|
"ModelProviderRegistry",
|
|
"AntigravityProvider",
|
|
"AzureOpenAIProvider",
|
|
"GeminiModelProvider",
|
|
"OpenAIModelProvider",
|
|
"OpenAICompatibleProvider",
|
|
"OpenRouterProvider",
|
|
"ZenProvider",
|
|
]
|