|
from aiflows.base_flows import SequentialFlow |
|
from aiflows.utils import logging |
|
|
|
logging.set_verbosity_debug() |
|
log = logging.get_logger(__name__) |
|
|
|
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 saved and 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. |
|
|
|
""" |
|
pass |