From 1ea6403d4ac0c2eb2d617a9a6ed0434eefa14469 Mon Sep 17 00:00:00 2001 From: baranylcn Date: Fri, 3 Apr 2026 03:09:57 +0300 Subject: [PATCH] feat: add /tools command to CLI --- ronnyx/cli.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ronnyx/cli.py b/ronnyx/cli.py index 8750fbe..5faf10b 100644 --- a/ronnyx/cli.py +++ b/ronnyx/cli.py @@ -20,7 +20,7 @@ def chat_loop(base_url: str, session_id: str) -> None: print(BANNER) print(f"Connected to {base_url} (session: {session_id})") - print("Type 'exit' or 'quit' to leave.\n") + print("Type 'exit' or 'quit' to leave. Use '/tools' to list available tools.\n") while True: try: @@ -35,6 +35,23 @@ def chat_loop(base_url: str, session_id: str) -> None: if message.lower() in {"exit", "quit"}: break + if message.lower() == "/tools": + tools_url = base_url.replace("/api/chat", "/api/tools") + try: + response = requests.get(tools_url, timeout=30) + response.raise_for_status() + tools = response.json() + if tools: + print("Available tools:") + for tool in tools: + name = tool if isinstance(tool, str) else tool.get("name", str(tool)) + print(f" - {name}") + else: + print("No tools loaded.") + except requests.RequestException as exc: + print(f"[error] request failed: {exc}") + continue + try: response = requests.post( base_url,