From 5cae1d8ddf2317527f731d546f80bacf00e2312a Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Tue, 8 Sep 2026 20:38:29 +0200 Subject: [PATCH] Explain max_answer_chars centrally in the REPL tool description The parameter is documented once in the tool description instead of in every facade method. --- src/serena/repl/api/edit_api.py | 2 -- src/serena/repl/api/fs_api.py | 6 ------ src/serena/repl/api/jb_api.py | 9 --------- src/serena/repl/api/lsp_api.py | 6 ------ src/serena/repl/api/shell_api.py | 2 -- src/serena/tools/repl_tools.py | 5 +++++ 6 files changed, 5 insertions(+), 25 deletions(-) diff --git a/src/serena/repl/api/edit_api.py b/src/serena/repl/api/edit_api.py index aa150e92..be09770e 100644 --- a/src/serena/repl/api/edit_api.py +++ b/src/serena/repl/api/edit_api.py @@ -169,8 +169,6 @@ class EditApi(FacadeApi): :param expected_count: optional guard for calls without occurrence_ids: the number of occurrences you expect to be replaced. If the actual count differs, nothing is changed and an error containing the prospective changes is raised. -1 disables the guard. - :param max_answer_chars: if the rendered output exceeds this many characters, a shortened version is - used. -1 uses the configured default. :return: in a dry run, the prospective changes (`ReplacementPreview`); otherwise a summary of the applied replacements """ replacement = MultiFileReplacement( diff --git a/src/serena/repl/api/fs_api.py b/src/serena/repl/api/fs_api.py index 09e0a54d..b457035e 100644 --- a/src/serena/repl/api/fs_api.py +++ b/src/serena/repl/api/fs_api.py @@ -187,8 +187,6 @@ class FsApi(FacadeApi): :param relative_path: the relative path to the file to read :param start_line: the 0-based index of the first line to be retrieved, negative values count from the end of the file. :param end_line: the 0-based index of the last line to be retrieved (inclusive). If None, read until the end of the file. - :param max_answer_chars: if the rendered content is longer than this number of characters, no content is rendered; - -1 for the configured default. Don't adjust unless there is really no other way to get the content required for the task. :return: the content """ project = self._get_project() @@ -237,8 +235,6 @@ class FsApi(FacadeApi): :param relative_path: the relative path to the directory to list; pass "." to scan the project root :param recursive: whether to scan subdirectories recursively :param skip_ignored_files: whether to skip files and directories that are ignored - :param max_answer_chars: if the rendered listing is longer than this number of characters, no content is rendered; - -1 for the configured default. Don't adjust unless there is really no other way to get the content required for the task. :return: the listing """ project = self._get_project() @@ -313,8 +309,6 @@ class FsApi(FacadeApi): (useful when looking for class/method definitions); otherwise also search non-code files. :param skip_ignored_files: whether to skip ignored sub-paths (default: True) :param multiline: whether to apply multi-line matching (default: True), enabling the flags re.DOTALL and re.MULTILINE - :param max_answer_chars: if the rendered output exceeds this many characters, a progressively shortened summary is - rendered instead. -1 for the configured default. :return: the matches, rendered as a mapping from file paths to matched consecutive lines (0-based line numbers) """ project = self._get_project() diff --git a/src/serena/repl/api/jb_api.py b/src/serena/repl/api/jb_api.py index 9c8e196c..2ed024f4 100644 --- a/src/serena/repl/api/jb_api.py +++ b/src/serena/repl/api/jb_api.py @@ -245,7 +245,6 @@ class JetBrainsApi(FacadeApi): :param search_deps: If True, also search in project dependencies (e.g., libraries). :param max_matches: Maximum number of permitted matches. If exceeded, an error containing a shortened result is raised, which allows refining the search. -1 (default) means no limit. Set to 1 if you search for a single symbol. - :param max_answer_chars: max characters for the result (-1 for default). If exceeded, no content/a shortened result is returned. :return: the symbols matching the pattern """ if name_path_pattern.replace("*", "").replace("/", "") == "": @@ -292,7 +291,6 @@ class JetBrainsApi(FacadeApi): :param relative_path: the relative path to the file containing the symbol (must be a file, not a directory) Note: for external dependencies, this must be an identifier starting with ``) in