11from datetime import timedelta
22
33from pydantic import BaseModel
4- from restack_ai .agent import agent , import_functions , log , AgentError
4+ from restack_ai .agent import NonRetryableError , agent , import_functions , log
55
66with import_functions ():
77 from src .functions .llm_chat import LlmChatInput , Message , llm_chat
@@ -23,22 +23,22 @@ def __init__(self) -> None:
2323
2424 @agent .event
2525 async def messages (self , messages_event : MessagesEvent ) -> list [Message ]:
26+ log .info (f"Received messages: { messages_event .messages } " )
27+ self .messages .extend (messages_event .messages )
28+
29+ log .info (f"Calling llm_chat with messages: { self .messages } " )
2630 try :
27- log .info (f"Received messages: { messages_event .messages } " )
28- self .messages .extend (messages_event .messages )
29-
30- log .info (f"Calling llm_chat with messages: { self .messages } " )
3131 assistant_message = await agent .step (
3232 function = llm_chat ,
3333 function_input = LlmChatInput (messages = self .messages ),
3434 start_to_close_timeout = timedelta (seconds = 120 ),
3535 )
36-
36+ except Exception as e :
37+ error_message = f"Error during llm_chat: { e } "
38+ raise NonRetryableError (error_message ) from e
39+ else :
3740 self .messages .append (assistant_message )
3841 return self .messages
39- except Exception as e :
40- log .error (f"Error in messages: { e } " )
41- raise AgentError (f"Error in messages: { e } " )
4242
4343 @agent .event
4444 async def end (self , end : EndEvent ) -> EndEvent :
0 commit comments