| 123456789101112131415161718192021222324252627282930313233343536373839 |
- from letta_client import Letta, MessageCreate, TextContent
- import logging
- logger = logging.getLogger(__name__)
- def validate_api_key(api_key: str) -> bool:
- try:
- client = Letta(token=api_key)
- client.agents.list(limit=1)
- return True
- except Exception as e:
- logger.error(f"API key validation failed: {str(e)}")
- return False
- async def execute_letta_message(agent_id: str, api_key: str, message: str, role: str = "user"):
- try:
- client = Letta(token=api_key)
-
- # Use create_async() with proper MessageCreate objects
- run = client.agents.messages.create_async(
- agent_id=agent_id,
- messages=[
- MessageCreate(
- role=role,
- content=[
- TextContent(text=message)
- ]
- )
- ]
- )
-
- logger.info(f"Successfully queued message for agent {agent_id}, run_id: {run.id}")
- return {"success": True, "run_id": run.id}
-
- except Exception as e:
- logger.error(f"Failed to send message to agent {agent_id}: {str(e)}")
- return {"success": False, "error": str(e)}
|