gateway/modules/features/chatPlayground/mainChatPlayground.py
2025-09-22 23:34:47 +02:00

29 lines
1.2 KiB
Python

import logging
import asyncio
from typing import Optional
from modules.interfaces.interfaceAppModel import User
from modules.interfaces.interfaceChatModel import ChatWorkflow, UserInputRequest
from modules.shared.timezoneUtils import get_utc_timestamp
logger = logging.getLogger(__name__)
async def chatStart(interfaceChat, currentUser: User, userInput: UserInputRequest, workflowId: Optional[str] = None) -> ChatWorkflow:
"""Starts a new chat or continues an existing one, then launches processing asynchronously."""
try:
from modules.workflows.workflowManager import WorkflowManager
workflowManager = WorkflowManager(interfaceChat, currentUser)
return await workflowManager.workflowStart(userInput, workflowId)
except Exception as e:
logger.error(f"Error starting chat: {str(e)}")
raise
async def chatStop(interfaceChat, currentUser: User, workflowId: str) -> ChatWorkflow:
"""Stops a running chat."""
try:
from modules.workflows.workflowManager import WorkflowManager
workflowManager = WorkflowManager(interfaceChat, currentUser)
return await workflowManager.workflowStop(workflowId)
except Exception as e:
logger.error(f"Error stopping chat: {str(e)}")
raise