Files

26 lines
913 B
Python

# praisonai: skip=true
import json
from e2b_code_interpreter import Sandbox
def code_interpret(code: str):
print(f"\n{'='*50}\n> Running following AI-generated code:\n{code}\n{'='*50}")
exec = Sandbox().run_code(code)
if exec.error:
print("[Code Interpreter error]", exec.error)
return {"error": str(exec.error)}
else:
results = []
for result in exec.results:
# Ensure each result is a list or a simple Python type
if hasattr(result, '__iter__'):
result_list = list(result) # Convert Result to list
results.extend(result_list)
else:
results.append(str(result)) # Fall back to string
logs = {"stdout": list(exec.logs.stdout), "stderr": list(exec.logs.stderr)}
# Now everything is JSON-serialisable
return json.dumps({"results": results, "logs": logs})