| # Table of Contents | |
| * [RunCodeFlow](#RunCodeFlow) | |
| * [RunCodeFlow](#RunCodeFlow.RunCodeFlow) | |
| * [ExecuteCodeAtomicFlow](#ExecuteCodeAtomicFlow) | |
| * [ExecuteCodeAtomicFlow](#ExecuteCodeAtomicFlow.ExecuteCodeAtomicFlow) | |
| * [run](#ExecuteCodeAtomicFlow.ExecuteCodeAtomicFlow.run) | |
| * [RunCodeAskUserFlow](#RunCodeAskUserFlow) | |
| * [RunCodeAskUserFlow](#RunCodeAskUserFlow.RunCodeAskUserFlow) | |
| * [run](#RunCodeAskUserFlow.RunCodeAskUserFlow.run) | |
| * [library](#library) | |
| * [run](#run) | |
| * [RunCodeFileEditAtomicFlow](#RunCodeFileEditAtomicFlow) | |
| * [RunCodeFileEditAtomicFlow](#RunCodeFileEditAtomicFlow.RunCodeFileEditAtomicFlow) | |
| * [\_\_init\_\_](#__init__) | |
| <a id="RunCodeFlow"></a> | |
| # RunCodeFlow | |
| <a id="RunCodeFlow.RunCodeFlow"></a> | |
| ## RunCodeFlow Objects | |
| ```python | |
| class RunCodeFlow(SequentialFlow) | |
| ``` | |
| This flow is used to run code in a file. It opens up the file in VSCode and waits for the user to save and close the file. | |
| Once the file is closed, it reads the code from the file and executes it. It then returns the output of the execution. | |
| Finally, the flow asks the user for feedback on the execution of the code. | |
| *Input Interface*: | |
| - code: The code to be executed. | |
| - language: The language of the code to be executed. | |
| - memory_files: The dictionary containing the location of the code library. | |
| *Output Interface*: | |
| - summary: The summary of the execution of the code. (To be written to the logs of the caller flow) | |
| - result: The result of the execution of the code. (To be returned to the controller of the caller flow) | |
| *Configuration Parameters*: | |
| - `input_interface`: The input interface of the flow. (Default: `['code', 'language', 'memory_files']`) | |
| - `output_interface`: The output interface of the flow. (Default: `['summary', 'result']`) | |
| - `subflows_config`: The configuration of the subflows of the flow. | |
| - `early_exit_key`: The key to be pressed to exit the flow early. | |
| - `topology`: The topology of the subflows. | |
| <a id="ExecuteCodeAtomicFlow"></a> | |
| # ExecuteCodeAtomicFlow | |
| <a id="ExecuteCodeAtomicFlow.ExecuteCodeAtomicFlow"></a> | |
| ## ExecuteCodeAtomicFlow Objects | |
| ```python | |
| class ExecuteCodeAtomicFlow(InterpreterAtomicFlow) | |
| ``` | |
| This class inherits from InterpreterAtomicFlow and is used to execute code in a file. | |
| It opens up the file in VSCode and waits for the user to save and close the file. Once the file is saved and closed, it reads the code | |
| from the file and executes it. It then returns the output of the execution. | |
| *Input Interface*: | |
| - temp_code_file_location: The location of the file containing the code to be executed. | |
| - language: The language of the code to be executed. | |
| *Output Interface*: | |
| - interpreter_output: The output of the execution of the code. | |
| - code_ran: The code that was executed. | |
| *Configuration Parameters*: | |
| - `input_interface`: The input interface of the atomic flow. | |
| - `output_interface`: The output interface of the atomic flow. | |
| <a id="ExecuteCodeAtomicFlow.ExecuteCodeAtomicFlow.run"></a> | |
| #### run | |
| ```python | |
| def run(input_data: Dict[str, Any]) | |
| ``` | |
| This method is called when the atomic flow is called. | |
| **Arguments**: | |
| - `input_data` (`Dict[str, Any]`): The input_data dictionary. | |
| **Returns**: | |
| `Dict[str, Any]`: The output of the execution of the code. | |
| <a id="RunCodeAskUserFlow"></a> | |
| # RunCodeAskUserFlow | |
| <a id="RunCodeAskUserFlow.RunCodeAskUserFlow"></a> | |
| ## RunCodeAskUserFlow Objects | |
| ```python | |
| class RunCodeAskUserFlow(HumanStandardInputFlow) | |
| ``` | |
| Refer to: https://huggingface.co/aiflows/ExtendLibraryFlowModule/blob/main/ExtLibAskUserFlow.py | |
| *Input Interface*: | |
| - `question`: The question asked | |
| *Expected Behaviour*: | |
| - The question is displayed, and the user gives feedback by input string. | |
| *Output Interface*: | |
| - `result`: The input of the user. | |
| - `summary`: The summary that will be written by the caller. | |
| *Configuration Parameters*: | |
| - `query_message_prompt_template`: The template of the message that is displayed to the user. | |
| - `request_multi_line_input`: Whether the user should be able to input multiple lines. Default: False. | |
| - `end_of_input_string`: The string that the user can input to indicate that he/she is done with the input. Default: EOI | |
| <a id="RunCodeAskUserFlow.RunCodeAskUserFlow.run"></a> | |
| #### run | |
| ```python | |
| def run(input_data: Dict[str, Any]) -> Dict[str, Any] | |
| ``` | |
| Run the flow module. | |
| **Arguments**: | |
| - `input_data` (`Dict[str, Any]`): The input data. | |
| **Returns**: | |
| `Dict[str, Any]`: The output data. | |
| <a id="library"></a> | |
| # library | |
| <a id="run"></a> | |
| # run | |
| <a id="RunCodeFileEditAtomicFlow"></a> | |
| # RunCodeFileEditAtomicFlow | |
| <a id="RunCodeFileEditAtomicFlow.RunCodeFileEditAtomicFlow"></a> | |
| ## RunCodeFileEditAtomicFlow Objects | |
| ```python | |
| class RunCodeFileEditAtomicFlow(CodeFileEditAtomicFlow) | |
| ``` | |
| Refer to: https://huggingface.co/aiflows/CodeFileEditFlowModule | |
| *Input Interface*: | |
| - `code`: str | |
| - `language_of_code`: str | |
| - `memory_files`: Dict[str, str] | |
| *Output Interface*: | |
| - `code_editor_output`: str | |
| - `temp_code_file_location`: str | |
| *Configuration Parameters*: | |
| - `input_interface`: The input interface of the atomic flow. | |
| - `output_interface`: The output interface of the atomic flow. | |
| <a id="__init__"></a> | |
| # \_\_init\_\_ | |