36 lines
832 B
Python
36 lines
832 B
Python
"""Language management tools for the agent."""
|
|
|
|
import logging
|
|
from typing import Any
|
|
|
|
from alfred.infrastructure.persistence import get_memory
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def set_language(language: str) -> dict[str, Any]:
|
|
"""
|
|
Set the conversation language.
|
|
|
|
Args:
|
|
language: Language code (e.g., 'en', 'fr', 'es', 'de')
|
|
|
|
Returns:
|
|
Status dictionary
|
|
"""
|
|
try:
|
|
memory = get_memory()
|
|
memory.stm.set_language(language)
|
|
memory.save()
|
|
|
|
logger.info(f"Language set to: {language}")
|
|
|
|
return {
|
|
"status": "ok",
|
|
"message": f"Language set to {language}",
|
|
"language": language,
|
|
}
|
|
except Exception as e:
|
|
logger.error(f"Failed to set language: {e}")
|
|
return {"status": "error", "error": str(e)}
|