From 5b0e759f3a9b17232c328d039feba68c8a7cae17 Mon Sep 17 00:00:00 2001 From: AI Christianson Date: Tue, 17 Dec 2024 08:13:04 -0500 Subject: [PATCH] make write_file tool available and fix empty dir creation bug --- ra_aid/__main__.py | 3 ++- ra_aid/tools/write_file.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ra_aid/__main__.py b/ra_aid/__main__.py index 9c8da85..4310d93 100644 --- a/ra_aid/__main__.py +++ b/ra_aid/__main__.py @@ -15,7 +15,7 @@ from ra_aid.tools import ( emit_research_notes, emit_plan, emit_related_files, emit_task, emit_expert_context, get_memory_value, emit_key_facts, delete_key_facts, emit_key_snippets, delete_key_snippets, - emit_research_subtask, request_implementation, read_file_tool, fuzzy_find_project_files, ripgrep_search, list_directory_tree, + emit_research_subtask, request_implementation, read_file_tool, write_file_tool, fuzzy_find_project_files, ripgrep_search, list_directory_tree, file_str_replace ) from ra_aid.tools.memory import _global_memory, get_related_files @@ -38,6 +38,7 @@ COMMON_TOOLS = [ emit_key_snippets, delete_key_snippets, read_file_tool, + write_file_tool, fuzzy_find_project_files, ripgrep_search, file_str_replace diff --git a/ra_aid/tools/write_file.py b/ra_aid/tools/write_file.py index 1ff4277..29a6452 100644 --- a/ra_aid/tools/write_file.py +++ b/ra_aid/tools/write_file.py @@ -44,8 +44,10 @@ def write_file_tool( } try: - # Ensure directory exists - os.makedirs(os.path.dirname(filepath), exist_ok=True) + # Ensure directory exists if filepath contains directories + dirpath = os.path.dirname(filepath) + if dirpath: + os.makedirs(dirpath, exist_ok=True) logging.debug(f"Starting to write file: {filepath}") @@ -71,7 +73,6 @@ def write_file_tool( except Exception as e: elapsed = time.time() - start_time error_msg = str(e) - logging.error(f"Error writing file {filepath} after {elapsed:.2f}s: {error_msg}") result["elapsed_time"] = elapsed result["error"] = error_msg