Fix directory expansion tracking in conversation memory
When directories were provided to tools, only the directory path was stored in conversation history instead of the individual expanded files. This caused file filtering to incorrectly skip files in continued conversations. Changes: - Modified _prepare_file_content_for_prompt to return (content, processed_files) - Updated all tools to track actually processed files for conversation memory - Ensures directories are tracked as their expanded individual files Fixes issue where Swift directory with 46 files was not properly embedded in conversation continuations.
This commit is contained in:
@@ -214,13 +214,14 @@ class TestGenTool(BaseTool):
|
||||
# Use standard file content preparation with dynamic token budget
|
||||
try:
|
||||
logger.debug(f"[TESTGEN] Preparing file content for {len(examples_to_process)} test examples")
|
||||
content = self._prepare_file_content_for_prompt(
|
||||
content, processed_files = self._prepare_file_content_for_prompt(
|
||||
examples_to_process,
|
||||
continuation_id,
|
||||
"Test examples",
|
||||
max_tokens=test_examples_budget,
|
||||
reserve_tokens=1000,
|
||||
)
|
||||
# Store processed files for tracking - test examples are tracked separately from main code files
|
||||
|
||||
# Determine how many files were actually included
|
||||
if content:
|
||||
@@ -358,9 +359,10 @@ class TestGenTool(BaseTool):
|
||||
|
||||
# Use centralized file processing logic for main code files (after deduplication)
|
||||
logger.debug(f"[TESTGEN] Preparing {len(code_files_to_process)} code files for analysis")
|
||||
code_content = self._prepare_file_content_for_prompt(
|
||||
code_content, processed_files = self._prepare_file_content_for_prompt(
|
||||
code_files_to_process, continuation_id, "Code to test", max_tokens=remaining_tokens, reserve_tokens=2000
|
||||
)
|
||||
self._actually_processed_files = processed_files
|
||||
|
||||
if code_content:
|
||||
from utils.token_utils import estimate_tokens
|
||||
|
||||
Reference in New Issue
Block a user