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