Add exec_shell command
parent
4844998b49
commit
66eb1dcfc5
|
@ -7,7 +7,7 @@ import speak
|
||||||
from config import Config
|
from config import Config
|
||||||
import ai_functions as ai
|
import ai_functions as ai
|
||||||
from file_operations import read_file, write_to_file, append_to_file, delete_file, search_files
|
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 json_parser import fix_and_parse_json
|
||||||
from duckduckgo_search import ddg
|
from duckduckgo_search import ddg
|
||||||
from googleapiclient.discovery import build
|
from googleapiclient.discovery import build
|
||||||
|
@ -102,6 +102,8 @@ def execute_command(command_name, arguments):
|
||||||
return ai.write_tests(arguments["code"], arguments.get("focus"))
|
return ai.write_tests(arguments["code"], arguments.get("focus"))
|
||||||
elif command_name == "execute_python_file": # Add this command
|
elif command_name == "execute_python_file": # Add this command
|
||||||
return execute_python_file(arguments["file"])
|
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":
|
elif command_name == "task_complete":
|
||||||
shutdown()
|
shutdown()
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -22,7 +22,8 @@ COMMANDS:
|
||||||
16. Get Improved Code: "improve_code", args: "suggestions": "<list_of_suggestions>", "code": "<full_code_string>"
|
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>"
|
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>"
|
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:
|
RESOURCES:
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import docker
|
import docker
|
||||||
import os
|
import os
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
def execute_python_file(file):
|
def execute_python_file(file):
|
||||||
|
@ -45,3 +46,17 @@ def execute_python_file(file):
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return f"Error: {str(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