Add exec_shell command
parent
4844998b49
commit
66eb1dcfc5
|
@ -7,7 +7,7 @@ import speak
|
|||
from config import Config
|
||||
import ai_functions as ai
|
||||
from file_operations import read_file, write_to_file, append_to_file, delete_file, search_files
|
||||
from execute_code import execute_python_file
|
||||
from execute_code import execute_python_file, exec_shell
|
||||
from json_parser import fix_and_parse_json
|
||||
from duckduckgo_search import ddg
|
||||
from googleapiclient.discovery import build
|
||||
|
@ -102,6 +102,8 @@ def execute_command(command_name, arguments):
|
|||
return ai.write_tests(arguments["code"], arguments.get("focus"))
|
||||
elif command_name == "execute_python_file": # Add this command
|
||||
return execute_python_file(arguments["file"])
|
||||
elif command_name == "exec_shell": # Add this command
|
||||
return exec_shell(arguments["command_line"])
|
||||
elif command_name == "task_complete":
|
||||
shutdown()
|
||||
else:
|
||||
|
|
|
@ -22,7 +22,8 @@ COMMANDS:
|
|||
16. Get Improved Code: "improve_code", args: "suggestions": "<list_of_suggestions>", "code": "<full_code_string>"
|
||||
17. Write Tests: "write_tests", args: "code": "<full_code_string>", "focus": "<list_of_focus_areas>"
|
||||
18. Execute Python File: "execute_python_file", args: "file": "<file>"
|
||||
19. Task Complete (Shutdown): "task_complete", args: "reason": "<reason>"
|
||||
19. Execute Shell Command: "exec_shell", args: "command_line": "<command_line>"
|
||||
20. Task Complete (Shutdown): "task_complete", args: "reason": "<reason>"
|
||||
|
||||
RESOURCES:
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import docker
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
|
||||
def execute_python_file(file):
|
||||
|
@ -45,3 +46,17 @@ def execute_python_file(file):
|
|||
|
||||
except Exception as e:
|
||||
return f"Error: {str(e)}"
|
||||
|
||||
|
||||
|
||||
def exec_shell(command_line):
|
||||
|
||||
args = command_line.split()
|
||||
|
||||
result = subprocess.run(args, capture_output=True)
|
||||
|
||||
output = f"STDOUT:\n{result.stdout}\nSTDERR:\n{result.stderr}";
|
||||
|
||||
# print(f"Shell execution complete. Output: {output}")
|
||||
|
||||
return output
|
||||
|
|
Loading…
Reference in New Issue