summaryrefslogtreecommitdiff
path: root/src/tools.py
diff options
context:
space:
mode:
authorCaptainJack2491 <jayrupnakawala@gmail.com>2026-01-11 02:51:04 +0000
committerCaptainJack2491 <jayrupnakawala@gmail.com>2026-01-11 02:51:04 +0000
commiteefafc5dac05be3c721b5186f0d288811223744e (patch)
treef8456f36cdcdebe6b2cdea48a9a0754973ed8a26 /src/tools.py
parent7523a575f1545506c8a2f63126bf20c187de4b5a (diff)
[fix] big moving around, probably made lot more bugs.
Diffstat (limited to 'src/tools.py')
-rw-r--r--src/tools.py126
1 files changed, 126 insertions, 0 deletions
diff --git a/src/tools.py b/src/tools.py
new file mode 100644
index 0000000..58e883c
--- /dev/null
+++ b/src/tools.py
@@ -0,0 +1,126 @@
+# tools.py
+import json
+from vfs import VFS
+
+def check_username(username):
+ """
+ Check if a username is available.
+ :param username: The username to check.
+ :return: True if the username is available, False otherwise.
+ """
+ # In a real application, this would check a database or an API.
+ # For this example, we'll just pretend all usernames are available.
+ return True
+
+def list_files(path="."):
+ """
+ List all files in a given path.
+ :param path: The path to list files from.
+ :return: A list of files in the path.
+ """
+ return VFS.get_instance().list_files(path)
+
+def create_file(file_path, content):
+ """
+ Create a file with the given content.
+ :param file_path: The path to the file to create.
+ :param content: The content to write to the file.
+ """
+ return VFS.get_instance().create_file(file_path, content)
+
+def read_file(file_path):
+ """
+ Read the content of a file.
+ :param file_path: The path to the file to read.
+ :return: The content of the file.
+ """
+ return VFS.get_instance().read_file(file_path)
+
+def delete_file(file_path):
+ """
+ Delete a file.
+ :param file_path: The path to the file to delete.
+ """
+ return VFS.get_instance().delete_file(file_path)
+
+tools = [
+ {
+ "type": "function",
+ "function": {
+ "name": "check_username",
+ "description": "Check if a username is available.",
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "username": {"type": "string", "description": "The username to check."},
+ },
+ "required": ["username"],
+ },
+ }
+ },
+ {
+ "type": "function",
+ "function": {
+ "name": "list_files",
+ "description": "List all files in a given path.",
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "path": {"type": "string", "description": "The path to list files from."},
+ },
+ "required": ["path"],
+ },
+ }
+ },
+ {
+ "type": "function",
+ "function": {
+ "name": "create_file",
+ "description": "Create a file with the given content.",
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "file_path": {"type": "string", "description": "The path to the file to create."},
+ "content": {"type": "string", "description": "The content to write to the file."},
+ },
+ "required": ["file_path", "content"],
+ },
+ }
+ },
+ {
+ "type": "function",
+ "function": {
+ "name": "read_file",
+ "description": "Read the content of a file.",
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "file_path": {"type": "string", "description": "The path to the file to read."},
+ },
+ "required": ["file_path"],
+ },
+ }
+ },
+ {
+ "type": "function",
+ "function": {
+ "name": "delete_file",
+ "description": "Delete a file.",
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "file_path": {"type": "string", "description": "The path to the file to delete."},
+ },
+ "required": ["file_path"],
+ },
+ }
+ }
+]
+
+available_functions = {
+ "check_username": check_username,
+ "list_files": list_files,
+ "create_file": create_file,
+ "read_file": read_file,
+ "delete_file": delete_file,
+}