import re TOOL_PATTERN = re.compile(r'\[([A-Z]+):\s*(.*?)\]', re.DOTALL) def extract_tool_call(text): """Return (tool_name, args_string) or None.""" m = TOOL_PATTERN.search(text) if m: return m.group(1).lower(), m.group(2).strip() return None