mirror of
https://github.com/mims-harvard/ToolUniverse.git
synced 2026-09-19 07:31:47 +08:00
fix name too long issue
This commit is contained in:
@@ -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},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
+4
-4
@@ -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"]
|
||||
+4
-4
@@ -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"]
|
||||
Reference in New Issue
Block a user