@@ -52,6 +52,7 @@ class ActionStep(MemoryStep):
5252 error : AgentError | None = None
5353 model_output_message : ChatMessage | None = None
5454 model_output : str | None = None
55+ code_action : str | None = None
5556 observations : str | None = None
5657 observations_images : list ["PIL.Image.Image" ] | None = None
5758 action_output : Any = None
@@ -68,6 +69,7 @@ def dict(self):
6869 "error" : self .error .dict () if self .error else None ,
6970 "model_output_message" : self .model_output_message .dict () if self .model_output_message else None ,
7071 "model_output" : self .model_output ,
72+ "code_action" : self .code_action ,
7173 "observations" : self .observations ,
7274 "observations_images" : [image .tobytes () for image in self .observations_images ]
7375 if self .observations_images
@@ -245,5 +247,11 @@ def replay(self, logger: AgentLogger, detailed: bool = False):
245247 logger .log_messages (step .model_input_messages , level = LogLevel .ERROR )
246248 logger .log_markdown (title = "Agent output:" , content = step .plan , level = LogLevel .ERROR )
247249
250+ def return_full_code (self ) -> str :
251+ """Returns all code actions from the agent's steps, concatenated as a single script."""
252+ return "\n \n " .join (
253+ [step .code_action for step in self .steps if isinstance (step , ActionStep ) and step .code_action is not None ]
254+ )
255+
248256
249257__all__ = ["AgentMemory" ]
0 commit comments