teams bot adapt vars

This commit is contained in:
ValueOn AG 2026-03-31 20:56:35 +02:00
parent 695c652a56
commit c6e7438dfa

View file

@ -17,6 +17,8 @@ from fastapi import WebSocket
from modules.datamodels.datamodelUam import User from modules.datamodels.datamodelUam import User
from modules.datamodels.datamodelAi import AiCallRequest, AiCallOptions, OperationTypeEnum, PriorityEnum from modules.datamodels.datamodelAi import AiCallRequest, AiCallOptions, OperationTypeEnum, PriorityEnum
from modules.shared.timeUtils import getUtcTimestamp, getIsoTimestamp from modules.shared.timeUtils import getUtcTimestamp, getIsoTimestamp
from modules.serviceCenter import getService as _getServiceCenterService
from modules.serviceCenter.context import ServiceCenterContext
from .datamodelTeamsbot import ( from .datamodelTeamsbot import (
TeamsbotSessionStatus, TeamsbotSessionStatus,
@ -35,18 +37,18 @@ logger = logging.getLogger(__name__)
# ========================================================================= # =========================================================================
# Minimal Service Context (for AI billing in bridge callbacks) # AI Service Factory (for billing-aware AI calls)
# ========================================================================= # =========================================================================
class _ServiceContext: def _createAiService(user, mandateId, featureInstanceId=None):
"""Minimal context providing user/mandate info for AiService billing. """Create a properly wired AiService via the service center."""
Used by bridge callbacks where a full Services instance is not available.""" ctx = ServiceCenterContext(
user=user,
def __init__(self, user, mandateId, featureInstanceId=None): mandate_id=mandateId,
self.user = user feature_instance_id=featureInstanceId,
self.mandateId = mandateId feature_code="teamsbot",
self.featureInstanceId = featureInstanceId )
self.featureCode = "teamsbot" return _getServiceCenterService("ai", ctx)
# ========================================================================= # =========================================================================
@ -1062,11 +1064,7 @@ class TeamsbotService:
# Call SPEECH_TEAMS # Call SPEECH_TEAMS
try: try:
from modules.serviceCenter.services.serviceAi.mainServiceAi import AiService aiService = _createAiService(self.currentUser, self.mandateId, self.instanceId)
# Create minimal service context for AI billing
serviceContext = _ServiceContext(self.currentUser, self.mandateId, self.instanceId)
aiService = AiService(serviceCenter=serviceContext)
await aiService.ensureAiObjectsInitialized() await aiService.ensureAiObjectsInitialized()
request = AiCallRequest( request = AiCallRequest(
@ -1684,11 +1682,7 @@ class TeamsbotService:
"""Summarize a long user-provided session context to its essential points. """Summarize a long user-provided session context to its essential points.
This reduces token usage in every subsequent AI call.""" This reduces token usage in every subsequent AI call."""
try: try:
from modules.serviceCenter.services.serviceAi.mainServiceAi import AiService aiService = _createAiService(self.currentUser, self.mandateId, self.instanceId)
from modules.datamodels.datamodelAi import AiCallRequest, AiCallOptions, OperationTypeEnum, PriorityEnum
serviceContext = _ServiceContext(self.currentUser, self.mandateId, self.instanceId)
aiService = AiService(serviceCenter=serviceContext)
await aiService.ensureAiObjectsInitialized() await aiService.ensureAiObjectsInitialized()
request = AiCallRequest( request = AiCallRequest(
@ -1738,11 +1732,7 @@ class TeamsbotService:
lines.append(f"[{speaker}]: {text}") lines.append(f"[{speaker}]: {text}")
textToSummarize = "\n".join(lines) textToSummarize = "\n".join(lines)
from modules.serviceCenter.services.serviceAi.mainServiceAi import AiService aiService = _createAiService(self.currentUser, self.mandateId, self.instanceId)
from modules.datamodels.datamodelAi import AiCallRequest, AiCallOptions, OperationTypeEnum, PriorityEnum
serviceContext = _ServiceContext(self.currentUser, self.mandateId, self.instanceId)
aiService = AiService(serviceCenter=serviceContext)
await aiService.ensureAiObjectsInitialized() await aiService.ensureAiObjectsInitialized()
request = AiCallRequest( request = AiCallRequest(
@ -1783,10 +1773,7 @@ class TeamsbotService:
for t in transcripts for t in transcripts
) )
from modules.serviceCenter.services.serviceAi.mainServiceAi import AiService aiService = _createAiService(self.currentUser, self.mandateId, self.instanceId)
serviceContext = _ServiceContext(self.currentUser, self.mandateId, self.instanceId)
aiService = AiService(serviceCenter=serviceContext)
await aiService.ensureAiObjectsInitialized() await aiService.ensureAiObjectsInitialized()
request = AiCallRequest( request = AiCallRequest(