fix name too long issue

This commit is contained in:
Shanghua
2025-11-05 11:45:29 -05:00
parent 5c839dd6b2
commit 2271e87f1a
7 changed files with 108 additions and 23 deletions
+2 -2
View File
@@ -51,7 +51,7 @@ test_queries = [
"arguments": {"query": "simvastatin", "limit": 1},
},
{
"name": "drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action",
"name": "drugbank_get_drug_desc_pharmacology_by_moa",
"arguments": {"query": "receptor antagonist", "limit": 1},
},
{
@@ -83,7 +83,7 @@ test_queries = [
"arguments": {"query": "aspirin", "limit": 1},
},
{
"name": "drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id",
"name": "drugbank_get_pathways_reactions_by_drug_or_id",
"arguments": {"query": "glucose", "limit": 1},
},
{
+83
View File
@@ -0,0 +1,83 @@
"""
Utility to validate ToolUniverse tool name lengths.
This script loads tools via ToolUniverse and checks that every tool name
is at most MAX_LEN characters (default: 64). It prints a concise report
and returns a non-zero exit code if any violations are found.
"""
from __future__ import annotations
import argparse
import sys
from typing import List, Tuple
def check_tool_name_lengths(max_len: int = 64) -> Tuple[List[str], List[str]]:
"""
Load all tools via ToolUniverse and check their name lengths.
Returns a tuple of (valid_names, invalid_names) where invalid_names are
those exceeding max_len.
"""
# Import locally to avoid import overhead when used as a library
from tooluniverse import ToolUniverse
tool_universe = ToolUniverse()
# Load all built-in/configured tools
tool_universe.load_tools()
# Retrieve only names for efficient scanning
tool_names = tool_universe.get_available_tools(name_only=True)
valid: List[str] = []
invalid: List[str] = []
for name in tool_names:
if len(name) <= max_len:
valid.append(name)
else:
invalid.append(name)
return valid, invalid
def _format_report(valid: List[str], invalid: List[str], max_len: int) -> str:
lines: List[str] = []
lines.append(f"Max allowed length: {max_len}")
lines.append(f"Total tools scanned: {len(valid) + len(invalid)}")
lines.append(f"Valid (≤{max_len}): {len(valid)}")
lines.append(f"Invalid (>{max_len}): {len(invalid)}")
if invalid:
lines.append("")
lines.append("Invalid tool names:")
for name in sorted(invalid):
lines.append(f" - {name} ({len(name)} chars)")
return "\n".join(lines)
def main(argv: List[str] | None = None) -> int:
parser = argparse.ArgumentParser(
description="Validate ToolUniverse tool name lengths",
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
)
parser.add_argument(
"--max-len",
type=int,
default=64,
help="Maximum allowed tool name length",
)
args = parser.parse_args(argv)
valid, invalid = check_tool_name_lengths(max_len=args.max_len)
report = _format_report(valid, invalid, args.max_len)
print(report)
# Non-zero exit when violations are present (useful in CI)
return 1 if invalid else 0
if __name__ == "__main__":
sys.exit(main())
+4 -2
View File
@@ -1351,7 +1351,8 @@
},
{
"type": "XMLTool",
"name": "drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action",
"name": "drugbank_get_drug_desc_pharmacology_by_moa",
"aliases": ["drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action"],
"description": "Get drug name, ID, description, pharmacodynamics, mechanism of action, and pharmacokinetics by drug mechanism of action.",
"settings": {
"hf_dataset_path": {
@@ -2921,7 +2922,8 @@
},
{
"type": "XMLTool",
"name": "drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id",
"name": "drugbank_get_pathways_reactions_by_drug_or_id",
"aliases": ["drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id"],
"description": "Get drug pathways and metabolic reactions by drug name or DrugBank ID.",
"settings": {
"hf_dataset_path": {
+3 -3
View File
@@ -438,15 +438,15 @@
"drugbank_full_search": "ea7f79a646b56c61ad74fa593132a84c",
"drugbank_get_drug_basic_info_by_drug_name_or_drugbank_id": "11e90ea9b93c4aa33b0f122773cbaf85",
"drugbank_get_drug_chemistry_by_drug_name_or_drugbank_id": "06e813635e6be8d8c4cc0a83b30ce754",
"drugbank_get_drug_desc_pharmacology_by_moa": "c1061b55f2a3fe2c1ac54879a7f338b1",
"drugbank_get_drug_interactions_by_drug_name_or_drugbank_id": "201c3e74f9b45f97e53cca19c5d3740a",
"drugbank_get_drug_name_and_description_by_indication": "0cefd3cd76e25cd5a0834cb359d1cf0f",
"drugbank_get_drug_name_and_description_by_pathway_name": "5d89b04505948ab5a3d40ef1c49507af",
"drugbank_get_drug_name_and_description_by_target_name": "67d73488b346e9b6a89f7e74b13b9fa3",
"drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action": "7debaa818d1bf3f3407e31da8a6ec418",
"drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id": "240a32eadd37e098c6796ca5093b9976",
"drugbank_get_drug_products_by_name_or_drugbank_id": "e62e7a9c7a09c5ba67028d457bdb4e0b",
"drugbank_get_drug_references_by_drug_name_or_drugbank_id": "9fbdcbd729dac962ef7335e1b3953b28",
"drugbank_get_indications_by_drug_name_or_drugbank_id": "fa9b37f163248a9c695aa57adbb038d5",
"drugbank_get_pathways_reactions_by_drug_or_id": "6e89c5c1e6ce49e6e361085ec952592b",
"drugbank_get_pharmacology_by_drug_name_or_drugbank_id": "a1276a74cd4d36d57f6cf8fd99720d38",
"drugbank_get_safety_by_drug_name_or_drugbank_id": "13fcd2be4cbfad634c5b92029364d45e",
"drugbank_get_targets_by_drug_name_or_drugbank_id": "3a3a0f1725719c4d1557cfb0dd0ba59b",
@@ -733,4 +733,4 @@
"visualize_protein_structure_3d": "ca40a1e2784fe31183d16ac5652406de",
"web_api_documentation_search": "c0abfa2f2441563e6812399efee395a3",
"web_search": "e8eaaee8d2c0c7cafdd916ba8c9e31e9"
}
}
+8 -8
View File
@@ -814,6 +814,9 @@ from .drugbank_get_drug_basic_info_by_drug_name_or_drugbank_id import (
from .drugbank_get_drug_chemistry_by_drug_name_or_drugbank_id import (
drugbank_get_drug_chemistry_by_drug_name_or_drugbank_id,
)
from .drugbank_get_drug_desc_pharmacology_by_moa import (
drugbank_get_drug_desc_pharmacology_by_moa,
)
from .drugbank_get_drug_interactions_by_drug_name_or_drugbank_id import (
drugbank_get_drug_interactions_by_drug_name_or_drugbank_id,
)
@@ -826,12 +829,6 @@ from .drugbank_get_drug_name_and_description_by_pathway_name import (
from .drugbank_get_drug_name_and_description_by_target_name import (
drugbank_get_drug_name_and_description_by_target_name,
)
from .drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action import (
drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action,
)
from .drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id import (
drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id,
)
from .drugbank_get_drug_products_by_name_or_drugbank_id import (
drugbank_get_drug_products_by_name_or_drugbank_id,
)
@@ -841,6 +838,9 @@ from .drugbank_get_drug_references_by_drug_name_or_drugbank_id import (
from .drugbank_get_indications_by_drug_name_or_drugbank_id import (
drugbank_get_indications_by_drug_name_or_drugbank_id,
)
from .drugbank_get_pathways_reactions_by_drug_or_id import (
drugbank_get_pathways_reactions_by_drug_or_id,
)
from .drugbank_get_pharmacology_by_drug_name_or_drugbank_id import (
drugbank_get_pharmacology_by_drug_name_or_drugbank_id,
)
@@ -1602,15 +1602,15 @@ __all__ = [
"drugbank_full_search",
"drugbank_get_drug_basic_info_by_drug_name_or_drugbank_id",
"drugbank_get_drug_chemistry_by_drug_name_or_drugbank_id",
"drugbank_get_drug_desc_pharmacology_by_moa",
"drugbank_get_drug_interactions_by_drug_name_or_drugbank_id",
"drugbank_get_drug_name_and_description_by_indication",
"drugbank_get_drug_name_and_description_by_pathway_name",
"drugbank_get_drug_name_and_description_by_target_name",
"drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action",
"drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id",
"drugbank_get_drug_products_by_name_or_drugbank_id",
"drugbank_get_drug_references_by_drug_name_or_drugbank_id",
"drugbank_get_indications_by_drug_name_or_drugbank_id",
"drugbank_get_pathways_reactions_by_drug_or_id",
"drugbank_get_pharmacology_by_drug_name_or_drugbank_id",
"drugbank_get_safety_by_drug_name_or_drugbank_id",
"drugbank_get_targets_by_drug_name_or_drugbank_id",
@@ -1,5 +1,5 @@
"""
drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action
drugbank_get_drug_desc_pharmacology_by_moa
Get drug name, ID, description, pharmacodynamics, mechanism of action, and pharmacokinetics by dr...
"""
@@ -8,7 +8,7 @@ from typing import Any, Optional, Callable
from ._shared_client import get_shared_client
def drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action(
def drugbank_get_drug_desc_pharmacology_by_moa(
query: str,
case_sensitive: bool,
exact_match: bool,
@@ -46,7 +46,7 @@ def drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action(
return get_shared_client().run_one_function(
{
"name": "drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action",
"name": "drugbank_get_drug_desc_pharmacology_by_moa",
"arguments": {
"query": query,
"case_sensitive": case_sensitive,
@@ -60,4 +60,4 @@ def drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action(
)
__all__ = ["drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action"]
__all__ = ["drugbank_get_drug_desc_pharmacology_by_moa"]
@@ -1,5 +1,5 @@
"""
drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id
drugbank_get_pathways_reactions_by_drug_or_id
Get drug pathways and metabolic reactions by drug name or DrugBank ID.
"""
@@ -8,7 +8,7 @@ from typing import Any, Optional, Callable
from ._shared_client import get_shared_client
def drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id(
def drugbank_get_pathways_reactions_by_drug_or_id(
query: str,
case_sensitive: bool,
exact_match: bool,
@@ -46,7 +46,7 @@ def drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id(
return get_shared_client().run_one_function(
{
"name": "drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id",
"name": "drugbank_get_pathways_reactions_by_drug_or_id",
"arguments": {
"query": query,
"case_sensitive": case_sensitive,
@@ -60,4 +60,4 @@ def drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id(
)
__all__ = ["drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id"]
__all__ = ["drugbank_get_pathways_reactions_by_drug_or_id"]