# IMPORTANT: LEGACY V0 CODE # This file is part of the legacy (V0) implementation of OpenHands and will be removed soon as we complete the migration to V1. # OpenHands V1 uses the Software Agent SDK for the agentic core and runs a new application server. Please refer to: # - V1 agentic core (SDK): https://github.com/OpenHands/software-agent-sdk # - V1 application server (in this repo): openhands/app_server/ # Unless you are working on deprecation, please avoid extending this legacy file and consult the V1 codepaths above. # Tag: Legacy-V0 from litellm import ChatCompletionToolParam, ChatCompletionToolParamFunctionChunk from openhands.agenthub.codeact_agent.tools.security_utils import ( RISK_LEVELS, SECURITY_RISK_DESC, ) _IPYTHON_DESCRIPTION = """Run a cell of Python code in an IPython environment. * The assistant should define variables and import packages before using them. * The variable defined in the IPython environment will not be available outside the IPython environment (e.g., in terminal). """ IPythonTool = ChatCompletionToolParam( type='function', function=ChatCompletionToolParamFunctionChunk( name='execute_ipython_cell', description=_IPYTHON_DESCRIPTION, parameters={ 'type': 'object', 'properties': { 'code': { 'type': 'string', 'description': 'The Python code to execute. Supports magic commands like %pip.', }, 'security_risk': { 'type': 'string', 'description': SECURITY_RISK_DESC, 'enum': RISK_LEVELS, }, }, 'required': ['code', 'security_risk'], }, ), )