diff options
| author | sigoden <sigoden@gmail.com> | 2024-07-09 21:28:35 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-09 21:28:35 +0800 |
| commit | 48cb8381eae03aa45b34fa79f4e0037f6a5c0225 (patch) | |
| tree | 88a4c333013ad92a0bd99d0b59feae9231f15243 /agents | |
| parent | 02e335c99526fe52dee0d0a016aee6bf62d874c2 (diff) | |
| download | llm-functions-docker-48cb8381eae03aa45b34fa79f4e0037f6a5c0225.tar.gz | |
feat: remove todo-js/todo-py and rename todo-sh to todo (#68)
Diffstat (limited to 'agents')
| l--------- | agents/todo-js/index.yaml | 1 | ||||
| -rw-r--r-- | agents/todo-js/tools.js | 68 | ||||
| l--------- | agents/todo-py/index.yaml | 1 | ||||
| -rw-r--r-- | agents/todo-py/tools.py | 62 | ||||
| -rw-r--r-- | agents/todo/index.yaml (renamed from agents/todo-sh/index.yaml) | 5 | ||||
| -rwxr-xr-x | agents/todo/tools.sh (renamed from agents/todo-sh/tools.sh) | 0 |
6 files changed, 2 insertions, 135 deletions
diff --git a/agents/todo-js/index.yaml b/agents/todo-js/index.yaml deleted file mode 120000 index 0d19c11..0000000 --- a/agents/todo-js/index.yaml +++ /dev/null @@ -1 +0,0 @@ -../todo-sh/index.yaml
\ No newline at end of file diff --git a/agents/todo-js/tools.js b/agents/todo-js/tools.js deleted file mode 100644 index cef4c8f..0000000 --- a/agents/todo-js/tools.js +++ /dev/null @@ -1,68 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -/** - * Add a new todo item - * @typedef {Object} AddTodoArgs - * @property {string} desc - The task description - * @param {AddTodoArgs} args - */ -exports.add_todo = function addTodo(args) { - const todosFile = _getTodosFile(); - if (fs.existsSync(todosFile)) { - const num = JSON.parse(fs.readFileSync(todosFile)).reduce((max, item) => Math.max(max, item.id), 0) + 1; - const data = fs.readFileSync(todosFile); - fs.writeFileSync(todosFile, JSON.stringify([...JSON.parse(data), { id: num, desc: args.desc }])); - console.log(`Successfully added todo id=${num}`); - } else { - fs.writeFileSync(todosFile, JSON.stringify([{ id: 1, desc: args.desc }])); - console.log('Successfully added todo id=1'); - } -} - -/** - * Delete an existing todo item - * @typedef {Object} DelTodoArgs - * @property {number} id - The task id - * @param {DelTodoArgs} args - */ -exports.del_todo = function delTodo(args) { - const todosFile = _getTodosFile(); - if (fs.existsSync(todosFile)) { - const data = fs.readFileSync(todosFile); - const newData = JSON.parse(data).filter(item => item.id !== args.id); - fs.writeFileSync(todosFile, JSON.stringify(newData)); - console.log(`Successfully deleted todo id=${args.id}`); - } else { - console.log('Empty todo list'); - } -} - -/** - * Display the current todo list in json format. - */ -exports.list_todos = function listTodos() { - const todosFile = _getTodosFile(); - if (fs.existsSync(todosFile)) { - console.log(fs.readFileSync(todosFile, "utf8")); - } else { - console.log("[]"); - } -} - -/** - * Delete the entire todo list. - */ -exports.clear_todos = function clearTodos() { - const todosFile = _getTodosFile(); - fs.unlinkSync(todosFile) - console.log("Successfully deleted entry todo list"); -} - -function _getTodosFile() { - const cacheDir = process.env.LLM_AGENT_CACHE_DIR || '/tmp'; - if (!fs.existsSync(cacheDir)) { - fs.mkdirSync(cacheDir, { recursive: true }); - } - return path.join(cacheDir, 'todos.json'); -} diff --git a/agents/todo-py/index.yaml b/agents/todo-py/index.yaml deleted file mode 120000 index 0d19c11..0000000 --- a/agents/todo-py/index.yaml +++ /dev/null @@ -1 +0,0 @@ -../todo-sh/index.yaml
\ No newline at end of file diff --git a/agents/todo-py/tools.py b/agents/todo-py/tools.py deleted file mode 100644 index 0aa5f4b..0000000 --- a/agents/todo-py/tools.py +++ /dev/null @@ -1,62 +0,0 @@ -import json -import sys -import os -from json import JSONDecodeError - - -def add_todo(desc: str): - """Add a new todo item - Args: - desc: The task description - """ - todos_file = _get_todos_file() - try: - with open(todos_file, "r") as f: - data = json.load(f) - except (FileNotFoundError, JSONDecodeError): - data = [] - num = max([item["id"] for item in data] + [0]) + 1 - data.append({"id": num, "desc": desc}) - with open(todos_file, "w") as f: - json.dump(data, f) - print(f"Successfully added todo id={num}") - - -def del_todo(id: int): - """Delete an existing todo item - Args: - id: The task id - """ - todos_file = _get_todos_file() - try: - with open(todos_file, "r") as f: - data = json.load(f) - except (FileNotFoundError, JSONDecodeError): - print("Empty todo list") - return - data = [item for item in data if item["id"] != id] - with open(todos_file, "w") as f: - json.dump(data, f) - print(f"Successfully deleted todo id={id}") - - -def list_todos(): - """Display the current todo list in json format.""" - todos_file = _get_todos_file() - try: - with open(todos_file, "r") as f: - print(f.read()) - except FileNotFoundError: - print("[]") - - -def clear_todos(): - """Delete the entire todo list.""" - os.remove(_get_todos_file()) - - -def _get_todos_file() -> str: - cache_dir=os.environ.get("LLM_AGENT_CACHE_DIR", "/tmp") - if not os.path.exists(cache_dir): - os.makedirs(cache_dir, exist_ok=True) - return os.path.join(cache_dir, "todos.json") diff --git a/agents/todo-sh/index.yaml b/agents/todo/index.yaml index 490280e..389fc4c 100644 --- a/agents/todo-sh/index.yaml +++ b/agents/todo/index.yaml @@ -12,8 +12,7 @@ instructions: | - Errors: "Cannot add todo item, missing description.", "Todo item with id {id} not found.", "No todo items to delete." Make sure you understand the user request properly before performing any action. If unsure, ask clarifying questions like "Do you want to remove all todos or just a specific one?" conversation_starters: - - "Add a new todo item 'Finish report'." - - "Remove the todo item with id=2." - - "Delete all my todos." + - "Add a new todo item: " - "What todos do I have pending?" + - "Delete all my todos." - "How can I remove a specific todo item?"
\ No newline at end of file diff --git a/agents/todo-sh/tools.sh b/agents/todo/tools.sh index 29454aa..29454aa 100755 --- a/agents/todo-sh/tools.sh +++ b/agents/todo/tools.sh |
