Refactor configuration handling and improve error management across services; normalize placeholder values for SMTP and Stripe configurations; enhance local storage fallback logic in StorageService; add tests for new behaviors and edge cases.
This commit is contained in:
@@ -9,7 +9,10 @@ from datetime import datetime, timezone
|
||||
import requests
|
||||
from flask import current_app
|
||||
|
||||
from app.services.openrouter_config_service import get_openrouter_settings
|
||||
from app.services.openrouter_config_service import (
|
||||
extract_openrouter_text,
|
||||
get_openrouter_settings,
|
||||
)
|
||||
from app.services.ai_cost_service import AiBudgetExceededError, check_ai_budget, log_ai_usage
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -465,12 +468,7 @@ def _request_ai_reply(
|
||||
response.raise_for_status()
|
||||
data = response.json()
|
||||
|
||||
reply = (
|
||||
data.get("choices", [{}])[0]
|
||||
.get("message", {})
|
||||
.get("content", "")
|
||||
.strip()
|
||||
)
|
||||
reply = extract_openrouter_text(data)
|
||||
if not reply:
|
||||
raise RuntimeError("Assistant returned an empty reply.")
|
||||
|
||||
@@ -593,4 +591,4 @@ def _fallback_reply(message: str, tool_slug: str) -> str:
|
||||
|
||||
def _response_model_name() -> str:
|
||||
settings = get_openrouter_settings()
|
||||
return settings.model if settings.api_key else "fallback"
|
||||
return settings.model if settings.api_key else "fallback"
|
||||
|
||||
Reference in New Issue
Block a user