Skip to content

v2.15.0 - Full/Sliced File Reading & Large File Summarization

Choose a tag to compare

@spelech spelech released this 18 Sep 06:03
· 18 commits to main since this release

What's New in v2.15.0

📖 Full & Bounded Sliced File Reading (read_file)

  • Safe Path Resolution: Built FileReaderService supporting secure path resolution across both monitored local directories (indexed_paths) and uploaded local storage files (/data/storage), with robust path traversal protection.
  • Line-Range Slicing: Slices file contents with 1-based, inclusive line bounds (start_line, end_line), capping lines at read_file_max_lines (default: 2,000 lines) with clear truncation indicators.
  • Binary Detection: Automatically checks for null bytes in initial bytes to reject binary files gracefully.
  • MCP Tool & API: Exposed read_file via FastMCP tool and REST endpoint (GET /admin/api/files/read).

🤖 Large File Summarization (summarize_file)

  • Ingest Auto-Summarization: Automatically generates structured LLM markdown summaries during indexing for files exceeding configurable threshold (default: 500 KB) up to max size (default: 10 MB).
  • On-Demand Summarization: Retrieve cached summaries or regenerate summaries via summarize_file tool and POST /admin/api/files/summarize.
  • Vector Search & SQLite Caching: Persists summaries in SQLite file_summaries.summary_text and indexes them into vector store as doc_type="summary" documents.

⚙️ UI Configuration & Settings

  • File Management & Summarization Settings: Added a new dedicated configuration panel in Settings view to configure summarization thresholds, max file size, line limits, and dedicated LLM summary model.
  • API Endpoints: GET /admin/api/settings/files and POST /admin/api/settings/files.

🛡️ Security & CodeQL Hardening

  • Eliminated uncontrolled path access patterns in processor early-return checks.
  • Sanitized exception error handling across file and settings endpoints to eliminate information exposure risks.

🧪 Automated Test Verification

  • Pytest Backend: 525 passed (100%).
  • Vitest Frontend: 291 passed across 28 test files (100%).
  • Requirements Matrix: 963 automated tests verified and synchronized.