Skip to content

Release v0.15.0: Simplified File Editor Tools

Choose a tag to compare

@jwesleye jwesleye released this 20 Oct 19:28
· 43 commits to main since this release

What's New in v0.15.0

This minor release simplifies the file editor interface by removing the complex multi-command file_editor tool and providing simple, flat alternatives that are much easier for AI agents to use.

Breaking Changes

Removed: file_editor multi-command interface

The complex file_editor(command, path, skip_confirm, options_json) tool has been removed. This tool required JSON parsing and had a confusing multi-command interface that caused agent errors.

Migration Guide:

If you were using file_editor, switch to these simpler alternatives:

Old (file_editor) New (simple alternatives)
file_editor("view", path, False, "{}") view_file_with_lines(path, "", "")
file_editor("create", path, False, '{"content": "text"}') write_file_from_string(path, "text", False)
file_editor("str_replace", path, False, '{"old_str": "x", "new_str": "y"}') replace_in_file(path, "x", "y", -1)
file_editor("insert", path, False, '{"line_number": 5, "content": "text"}') insert_at_line(path, 5, "text")
file_editor("find", path, False, '{"pattern": "TODO"}') find_text_in_file(path, "TODO", False)

New Features

Added 2 Simple Flat Tools:

  1. view_file_with_lines(path, start_line, end_line) - View files with line numbers

    • Unique feature: Adds line numbers to file viewing (unlike read_file_to_string)
    • Examples:
      view_file_with_lines("file.py", "", "")      # View entire file
      view_file_with_lines("file.py", "10", "20")  # View lines 10-20
  2. find_text_in_file(path, search_text, use_regex) - Search/grep functionality

    • New functionality: Search for patterns in files
    • Examples:
      find_text_in_file("file.py", "TODO", False)           # Simple text search
      find_text_in_file("file.py", "def \\w+\\(", True)    # Regex search

Bug Fixes

  • Fixed Windows import error (from v0.14.1): Added __all__ definition to helpers.py to resolve strict import behavior on Windows platforms

Improvements

  • Reduced code complexity: Removed 405 lines of complex code
  • Better agent compatibility: Flat, simple function signatures instead of multi-command JSON interfaces
  • No duplicate tools: Removed tools that duplicated existing operations
  • Cleaner codebase: Simplified editor.py from 566 to 230 lines

Statistics

  • Total Tools: 20 filesystem tools (clean, no duplicates)
  • Code Reduction: -405 lines total
  • Tests: 176/180 passing (4 pre-existing agent eval test failures)
  • Quality: All ruff and format checks pass

Installation

pip install --upgrade basic-open-agent-tools

Full Changelog

See commit history for detailed changes.

🤖 Generated with Claude Code