Changes, bugfixes and updates to the matrix. Added 1.2v batteries

This commit is contained in:
2026-04-13 12:45:50 +02:00
parent beef23d48e
commit 7b140d4079
10 changed files with 179 additions and 62 deletions

View File

@@ -24,10 +24,19 @@ async def _resolve_key(provider: str, user_id: str | None = None) -> str:
return await credential_store.get(f"system:{provider}_api_key") or ""
async def _get_default_provider() -> str:
"""Return the default provider name: credential_store → settings → 'anthropic'."""
from ..database import credential_store
from ..config import settings
val = await credential_store.get("system:default_provider")
if val and val in {"anthropic", "openrouter", "openai"}:
return val
return settings.default_provider
async def get_provider(user_id: str | None = None) -> AIProvider:
"""Return the default provider, with keys resolved for the given user."""
from ..config import settings
return await get_provider_for_name(settings.default_provider, user_id=user_id)
return await get_provider_for_name(await _get_default_provider(), user_id=user_id)
async def get_provider_for_name(name: str, user_id: str | None = None) -> AIProvider:
@@ -64,15 +73,13 @@ async def get_provider_for_model(model_str: str, user_id: str | None = None) ->
"openrouter:openai/gpt-4o" → (OpenRouterProvider, "openai/gpt-4o")
"claude-sonnet-4-6" → (default_provider, "claude-sonnet-4-6")
"""
from ..config import settings
_known = {"anthropic", "openrouter", "openai"}
if ":" in model_str:
prefix, bare = model_str.split(":", 1)
if prefix in _known:
return await get_provider_for_name(prefix, user_id=user_id), bare
# No recognised prefix — use default provider, full string as model ID
return await get_provider_for_name(settings.default_provider, user_id=user_id), model_str
return await get_provider_for_name(await _get_default_provider(), user_id=user_id), model_str
async def get_available_providers(user_id: str | None = None) -> list[str]: