INNER CODE UNIT · Python
_find_tool_schema
kevinpbuckley/VibeUE · Content/Python/vibeue.py:107
def _find_tool_schema(toolset_schema, tool_name):
tools = None
for key in ("tools", "functions", "toolSchemas"):
candidate = toolset_schema.get(key)
if isinstance(candidate, list):
tools = candidate
break
if tools is None:
return None
wanted = tool_name.lower()
for entry in tools:
entry = _parse_schema_entry(entry)
if not entry:
continue
name = entry.get("name") or entry.get("toolName") or ""
# Tool names come fully qualified ("EditorToolset.EditorAppToolset.CaptureViewport");
# match the bare tool name execute_tool takes as well.
if name.lower() == wanted or name.rsplit(".", 1)[-1].lower() == wanted: