From b71a67d20fb35d5df5f4d3304872730c4eea4ccd Mon Sep 17 00:00:00 2001 From: Dmitry Teryaev Date: Mon, 8 Jun 2026 14:37:04 +0300 Subject: [PATCH 1/3] fix(installer): add missing verbose/quiet args to run_build_ast_graph call MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes CI failure after commit 39b5e0a. The run_build_ast_graph() function signature requires: - source_root (required) - kuzu_path (required) - verbose (required) ← was missing - quiet (optional) - env (optional) The call in installer.py was missing verbose and quiet args, causing: "internal error: run_build_ast_graph() missing 1 required keyword-only argument: 'verbose'" Added verbose=not quiet and quiet=quiet to match the pattern used in cli.py. Co-Authored-By: Claude Opus 4.7 --- java_codebase_rag/installer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java_codebase_rag/installer.py b/java_codebase_rag/installer.py index c14072d..b211bcb 100644 --- a/java_codebase_rag/installer.py +++ b/java_codebase_rag/installer.py @@ -796,6 +796,8 @@ def run_init_if_needed( g = run_build_ast_graph( source_root=cfg.source_root, kuzu_path=cfg.kuzu_path, + verbose=not quiet, + quiet=quiet, env=env, ) if g.returncode != 0: From a76a0b9657e211557c071712b626c51c1b468212 Mon Sep 17 00:00:00 2001 From: Dmitry Teryaev Date: Mon, 8 Jun 2026 10:43:41 +0300 Subject: [PATCH 2/3] fix(cli install): pass missing verbose arg and revert broken custom style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Pass required `verbose=not quiet` and `quiet=quiet` to run_build_ast_graph() — the function gained a mandatory `verbose` parameter, which the installer call was missing, causing CI failure. 2. Revert the custom questionary Style from #292. The hardcoded fg:cyan/fg:blue colors were added to improve visibility on light terminal themes but broke dark themes. Questionary's defaults already use ●/○ indicator characters that are theme-independent, so a custom style is unnecessary and just creates a light-vs-dark conflict. Co-Authored-By: Claude Opus 4.7 --- java_codebase_rag/installer.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/java_codebase_rag/installer.py b/java_codebase_rag/installer.py index b211bcb..dad4264 100644 --- a/java_codebase_rag/installer.py +++ b/java_codebase_rag/installer.py @@ -121,29 +121,25 @@ def prompt( import questionary from prompt_toolkit.styles import Style - # Custom style for better visibility on both light and dark backgrounds - # Uses bold and darker colors (blue/cyan) which work well on white backgrounds - custom_style = Style( + # Strip default ANSI colors — rely on ●/○ indicators only, no fg/bg highlights + # noinherit prevents prompt_toolkit from merging in questionary's default fg colors + no_color_style = Style( [ - ("qmark", "fg:cyan bold"), # Question mark '?' - ("question", "bold"), # Question text - ("answer", "fg:blue bold"), # Selected answer (darker blue for white bg) - ("pointer", "fg:cyan bold"), # Selection pointer '>' - ("selected", "fg:blue bold"), # Selected item in checkbox - ("highlighted", "fg:blue underline"), # Highlighted item with underline - ("instruction", "dim"), # Instruction text + ("highlighted", "noinherit"), + ("selected", "noinherit"), + ("pointer", "noinherit bold"), ] ) try: if prompt_type == "checkbox": - return questionary.checkbox(message, choices=choices, style=custom_style).ask() + return questionary.checkbox(message, choices=choices, style=no_color_style).ask() elif prompt_type == "select": - return questionary.select(message, choices=choices, style=custom_style).ask() + return questionary.select(message, choices=choices, style=no_color_style).ask() elif prompt_type == "text": - return questionary.text(message, default=default, style=custom_style).ask() + return questionary.text(message, default=default, style=no_color_style).ask() elif prompt_type == "confirm": - return questionary.confirm(message, style=custom_style).ask() + return questionary.confirm(message, style=no_color_style).ask() else: raise ValueError(f"Unknown prompt_type: {prompt_type}") except KeyboardInterrupt: From de6665303bcdfff0dd5641bbc441109fbebc97d2 Mon Sep 17 00:00:00 2001 From: Dmitry Teryaev Date: Mon, 8 Jun 2026 15:44:31 +0300 Subject: [PATCH 3/3] chore: bump version to 0.5.1 Co-Authored-By: Claude Opus 4.7 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0330f26..627d662 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "java-codebase-rag" -version = "0.5.0" +version = "0.5.1" description = "MCP server for semantic + structural search over Java codebases" readme = "README.md" requires-python = ">=3.11"