ai fucntiosn adn otehr atuoamtion fixes
This commit is contained in:
@@ -432,7 +432,8 @@ class AIEngine:
|
||||
final_save_msg = save_msg
|
||||
|
||||
# Phase 5.5: DEDUCT CREDITS - Deduct credits after successful save
|
||||
if self.account and raw_response:
|
||||
logger.info(f"[AIEngine] Credit deduction check: account={self.account is not None}, raw_response={raw_response is not None}")
|
||||
if self.account and raw_response is not None:
|
||||
try:
|
||||
from igny8_core.business.billing.services.credit_service import CreditService
|
||||
from igny8_core.business.billing.exceptions import InsufficientCreditsError
|
||||
@@ -444,6 +445,12 @@ class AIEngine:
|
||||
tokens_input = raw_response.get('input_tokens', 0)
|
||||
tokens_output = raw_response.get('output_tokens', 0)
|
||||
|
||||
logger.info(
|
||||
f"[AIEngine] Deducting credits: operation={operation_type}, "
|
||||
f"tokens_in={tokens_input}, tokens_out={tokens_output}, "
|
||||
f"model={raw_response.get('model', 'unknown')}"
|
||||
)
|
||||
|
||||
# Extract site_id from save_result (could be from content, cluster, or task)
|
||||
site_id = save_result.get('site_id') or save_result.get('site')
|
||||
|
||||
@@ -468,15 +475,17 @@ class AIEngine:
|
||||
)
|
||||
|
||||
logger.info(
|
||||
f"[AIEngine] Credits deducted: {operation_type}, "
|
||||
f"tokens: {tokens_input + tokens_output} ({tokens_input} in, {tokens_output} out)"
|
||||
f"[AIEngine] Credits deducted successfully: {operation_type}, "
|
||||
f"total tokens: {tokens_input + tokens_output} ({tokens_input} in, {tokens_output} out)"
|
||||
)
|
||||
except InsufficientCreditsError as e:
|
||||
# This shouldn't happen since we checked before, but log it
|
||||
logger.error(f"[AIEngine] Insufficient credits during deduction: {e}")
|
||||
except Exception as e:
|
||||
logger.warning(f"[AIEngine] Failed to deduct credits: {e}", exc_info=True)
|
||||
logger.error(f"[AIEngine] Failed to deduct credits: {e}", exc_info=True)
|
||||
# Don't fail the operation if credit deduction fails (for backward compatibility)
|
||||
else:
|
||||
logger.warning(f"[AIEngine] Skipping credit deduction: account={self.account is not None}, raw_response={raw_response is not None}")
|
||||
|
||||
# Phase 6: DONE - Finalization (98-100%)
|
||||
done_msg = self._get_done_message(function_name, save_result)
|
||||
|
||||
Reference in New Issue
Block a user