From 6e6890ebd98826d364ea229f2671c2f50eae21af Mon Sep 17 00:00:00 2001 From: claude Date: Mon, 22 Jun 2026 19:09:22 +0000 Subject: [PATCH] feat: remove cyan and white from color palette Co-Authored-By: Claude Sonnet 4.6 --- bot_bottle/backend/terminal.py | 2 -- bot_bottle/cli/list.py | 2 -- bot_bottle/cli/tui.py | 4 +--- bot_bottle/contrib/claude/agent_provider.py | 4 ---- tests/unit/test_backend_terminal.py | 4 ++-- tests/unit/test_contrib_claude_provider.py | 6 +++--- 6 files changed, 6 insertions(+), 16 deletions(-) diff --git a/bot_bottle/backend/terminal.py b/bot_bottle/backend/terminal.py index 87f991a..c473a2f 100644 --- a/bot_bottle/backend/terminal.py +++ b/bot_bottle/backend/terminal.py @@ -17,8 +17,6 @@ _COLORS: dict[str, tuple[int, str, int, str, str]] = { "yellow": (11, "#f1c40f", 3, "#d4ac0d", "#201808"), "blue": (12, "#3498db", 4, "#2471a3", "#080820"), "magenta": (13, "#9b59b6", 5, "#7d3c98", "#160820"), - "cyan": (14, "#1abc9c", 6, "#148f77", "#082020"), - "white": (15, "#ecf0f1", 7, "#bdc3c7", "#151515"), } # OSC 104 resets all indexed palette entries; OSC 111 resets default background. diff --git a/bot_bottle/cli/list.py b/bot_bottle/cli/list.py index 1b34c66..7e906fe 100644 --- a/bot_bottle/cli/list.py +++ b/bot_bottle/cli/list.py @@ -16,8 +16,6 @@ _ANSI_COLOR_CODES: dict[str, str] = { "yellow": "\033[93m", "blue": "\033[94m", "magenta": "\033[95m", - "cyan": "\033[96m", - "white": "\033[97m", } _ANSI_RESET = "\033[0m" diff --git a/bot_bottle/cli/tui.py b/bot_bottle/cli/tui.py index dc4bd36..4ecac36 100644 --- a/bot_bottle/cli/tui.py +++ b/bot_bottle/cli/tui.py @@ -226,7 +226,7 @@ def _addstr_safe(screen: Any, row: int, col: int, text: str, attr: int = curses. # --------------------------------------------------------------------------- _ANSI_COLORS = [ - "red", "green", "yellow", "blue", "magenta", "cyan", "white", + "red", "green", "yellow", "blue", "magenta", ] _CURSES_COLOR_MAP: dict[str, int] = { @@ -235,8 +235,6 @@ _CURSES_COLOR_MAP: dict[str, int] = { "yellow": curses.COLOR_YELLOW, "blue": curses.COLOR_BLUE, "magenta": curses.COLOR_MAGENTA, - "cyan": curses.COLOR_CYAN, - "white": curses.COLOR_WHITE, } _COLOR_NONE = "(none)" diff --git a/bot_bottle/contrib/claude/agent_provider.py b/bot_bottle/contrib/claude/agent_provider.py index 75d3be3..4ef1403 100644 --- a/bot_bottle/contrib/claude/agent_provider.py +++ b/bot_bottle/contrib/claude/agent_provider.py @@ -47,8 +47,6 @@ _STATUS_LINE_COLORS = { "yellow": "\033[93m", "blue": "\033[94m", "magenta": "\033[95m", - "cyan": "\033[96m", - "white": "\033[97m", } _CLAUDE_THEME_COLORS = { @@ -57,8 +55,6 @@ _CLAUDE_THEME_COLORS = { "yellow": "yellowBright", "blue": "blueBright", "magenta": "magentaBright", - "cyan": "cyanBright", - "white": "whiteBright", } diff --git a/tests/unit/test_backend_terminal.py b/tests/unit/test_backend_terminal.py index bdbab31..fc253d6 100644 --- a/tests/unit/test_backend_terminal.py +++ b/tests/unit/test_backend_terminal.py @@ -26,7 +26,7 @@ class TestPalettePrintf(unittest.TestCase): def test_all_named_colors_produce_output(self): colors = [ - "red", "green", "yellow", "blue", "magenta", "cyan", "white", + "red", "green", "yellow", "blue", "magenta", ] for color in colors: with self.subTest(color=color): @@ -62,7 +62,7 @@ class TestExecShellScript(unittest.TestCase): self.assertFalse(agent_part.startswith("exec ")) def test_title_and_color_both_appear(self): - script = exec_shell_script(self._ARGV, terminal_title="bot", terminal_color="cyan") + script = exec_shell_script(self._ARGV, terminal_title="bot", terminal_color="magenta") assert script is not None self.assertIn("bot", script) self.assertIn("\\033]4;", script) diff --git a/tests/unit/test_contrib_claude_provider.py b/tests/unit/test_contrib_claude_provider.py index b704065..42f034a 100644 --- a/tests/unit/test_contrib_claude_provider.py +++ b/tests/unit/test_contrib_claude_provider.py @@ -276,7 +276,7 @@ class TestClaudeUiProvision(unittest.TestCase): instance_name="bot-bottle-demo-abc12", prompt_file=prompt_file, label="research-ui", - color="cyan", + color="blue", ) settings = json.loads((state_dir / "claude-settings.json").read_text()) statusline = (state_dir / "claude-statusline.sh").read_text() @@ -288,9 +288,9 @@ class TestClaudeUiProvision(unittest.TestCase): self.assertEqual("~/.claude/statusline.sh", settings["statusLine"]["command"]) self.assertEqual("custom:bot-bottle-research-ui", settings["theme"]) self.assertIn("research-ui", statusline) - self.assertIn("\x1b[96m", statusline) + self.assertIn("\x1b[94m", statusline) self.assertEqual("dark", theme["base"]) - self.assertEqual("ansi:cyanBright", theme["overrides"]["claude"]) + self.assertEqual("ansi:blueBright", theme["overrides"]["claude"]) def test_runs_verify_commands(self): provision = AgentProvisionPlan(