tooluniverse 1.0.10__py3-none-any.whl → 1.0.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tooluniverse might be problematic. Click here for more details.
- tooluniverse/__init__.py +57 -1
- tooluniverse/blast_tool.py +132 -0
- tooluniverse/boltz_tool.py +2 -2
- tooluniverse/cbioportal_tool.py +42 -0
- tooluniverse/clinvar_tool.py +268 -74
- tooluniverse/compose_scripts/tool_discover.py +1941 -443
- tooluniverse/data/agentic_tools.json +0 -370
- tooluniverse/data/alphafold_tools.json +6 -6
- tooluniverse/data/blast_tools.json +112 -0
- tooluniverse/data/cbioportal_tools.json +87 -0
- tooluniverse/data/clinvar_tools.json +235 -0
- tooluniverse/data/compose_tools.json +0 -89
- tooluniverse/data/dbsnp_tools.json +275 -0
- tooluniverse/data/emdb_tools.json +61 -0
- tooluniverse/data/ensembl_tools.json +259 -0
- tooluniverse/data/file_download_tools.json +275 -0
- tooluniverse/data/geo_tools.json +200 -48
- tooluniverse/data/gnomad_tools.json +109 -0
- tooluniverse/data/gtopdb_tools.json +68 -0
- tooluniverse/data/gwas_tools.json +32 -0
- tooluniverse/data/interpro_tools.json +199 -0
- tooluniverse/data/jaspar_tools.json +70 -0
- tooluniverse/data/kegg_tools.json +356 -0
- tooluniverse/data/mpd_tools.json +87 -0
- tooluniverse/data/ols_tools.json +314 -0
- tooluniverse/data/package_discovery_tools.json +64 -0
- tooluniverse/data/packages/categorized_tools.txt +0 -1
- tooluniverse/data/packages/machine_learning_tools.json +0 -47
- tooluniverse/data/paleobiology_tools.json +91 -0
- tooluniverse/data/pride_tools.json +62 -0
- tooluniverse/data/pypi_package_inspector_tools.json +158 -0
- tooluniverse/data/python_executor_tools.json +341 -0
- tooluniverse/data/regulomedb_tools.json +50 -0
- tooluniverse/data/remap_tools.json +89 -0
- tooluniverse/data/screen_tools.json +89 -0
- tooluniverse/data/tool_discovery_agents.json +428 -0
- tooluniverse/data/tool_discovery_agents.json.backup +1343 -0
- tooluniverse/data/uniprot_tools.json +77 -0
- tooluniverse/data/web_search_tools.json +250 -0
- tooluniverse/data/worms_tools.json +55 -0
- tooluniverse/dbsnp_tool.py +196 -58
- tooluniverse/default_config.py +35 -2
- tooluniverse/emdb_tool.py +30 -0
- tooluniverse/ensembl_tool.py +140 -47
- tooluniverse/execute_function.py +74 -14
- tooluniverse/file_download_tool.py +269 -0
- tooluniverse/geo_tool.py +81 -28
- tooluniverse/gnomad_tool.py +100 -52
- tooluniverse/gtopdb_tool.py +41 -0
- tooluniverse/interpro_tool.py +72 -0
- tooluniverse/jaspar_tool.py +30 -0
- tooluniverse/kegg_tool.py +230 -0
- tooluniverse/mpd_tool.py +42 -0
- tooluniverse/ncbi_eutils_tool.py +96 -0
- tooluniverse/ols_tool.py +435 -0
- tooluniverse/package_discovery_tool.py +217 -0
- tooluniverse/paleobiology_tool.py +30 -0
- tooluniverse/pride_tool.py +30 -0
- tooluniverse/pypi_package_inspector_tool.py +593 -0
- tooluniverse/python_executor_tool.py +711 -0
- tooluniverse/regulomedb_tool.py +30 -0
- tooluniverse/remap_tool.py +44 -0
- tooluniverse/remote/depmap_24q2/depmap_24q2_mcp_tool.py +1 -1
- tooluniverse/screen_tool.py +44 -0
- tooluniverse/smcp_server.py +3 -3
- tooluniverse/tool_finder_embedding.py +3 -1
- tooluniverse/tool_finder_keyword.py +3 -1
- tooluniverse/tool_finder_llm.py +6 -2
- tooluniverse/tools/{UCSC_get_genes_by_region.py → BLAST_nucleotide_search.py} +22 -26
- tooluniverse/tools/BLAST_protein_search.py +63 -0
- tooluniverse/tools/ClinVar_search_variants.py +26 -15
- tooluniverse/tools/CodeQualityAnalyzer.py +3 -3
- tooluniverse/tools/EMDB_get_structure.py +46 -0
- tooluniverse/tools/GtoPdb_get_targets.py +52 -0
- tooluniverse/tools/InterPro_get_domain_details.py +46 -0
- tooluniverse/tools/InterPro_get_protein_domains.py +49 -0
- tooluniverse/tools/InterPro_search_domains.py +52 -0
- tooluniverse/tools/JASPAR_get_transcription_factors.py +52 -0
- tooluniverse/tools/MPD_get_phenotype_data.py +59 -0
- tooluniverse/tools/PRIDE_search_proteomics.py +52 -0
- tooluniverse/tools/PackageAnalyzer.py +55 -0
- tooluniverse/tools/Paleobiology_get_fossils.py +52 -0
- tooluniverse/tools/PyPIPackageInspector.py +59 -0
- tooluniverse/tools/ReMap_get_transcription_factor_binding.py +59 -0
- tooluniverse/tools/ReferenceInfoAnalyzer.py +55 -0
- tooluniverse/tools/RegulomeDB_query_variant.py +46 -0
- tooluniverse/tools/SCREEN_get_regulatory_elements.py +59 -0
- tooluniverse/tools/{ArgumentDescriptionOptimizer.py → TestResultsAnalyzer.py} +13 -13
- tooluniverse/tools/ToolDiscover.py +11 -11
- tooluniverse/tools/UniProt_id_mapping.py +63 -0
- tooluniverse/tools/UniProt_search.py +63 -0
- tooluniverse/tools/UnifiedToolGenerator.py +59 -0
- tooluniverse/tools/WoRMS_search_species.py +49 -0
- tooluniverse/tools/XMLToolOptimizer.py +55 -0
- tooluniverse/tools/__init__.py +119 -29
- tooluniverse/tools/alphafold_get_annotations.py +3 -3
- tooluniverse/tools/alphafold_get_prediction.py +3 -3
- tooluniverse/tools/alphafold_get_summary.py +3 -3
- tooluniverse/tools/cBioPortal_get_cancer_studies.py +46 -0
- tooluniverse/tools/cBioPortal_get_mutations.py +52 -0
- tooluniverse/tools/{gnomAD_query_variant.py → clinvar_get_clinical_significance.py} +8 -11
- tooluniverse/tools/clinvar_get_variant_details.py +49 -0
- tooluniverse/tools/dbSNP_get_variant_by_rsid.py +7 -7
- tooluniverse/tools/dbsnp_get_frequencies.py +46 -0
- tooluniverse/tools/dbsnp_search_by_gene.py +52 -0
- tooluniverse/tools/download_binary_file.py +66 -0
- tooluniverse/tools/download_file.py +71 -0
- tooluniverse/tools/download_text_content.py +55 -0
- tooluniverse/tools/dynamic_package_discovery.py +59 -0
- tooluniverse/tools/ensembl_get_sequence.py +52 -0
- tooluniverse/tools/{Ensembl_lookup_gene_by_symbol.py → ensembl_get_variants.py} +11 -11
- tooluniverse/tools/ensembl_lookup_gene.py +46 -0
- tooluniverse/tools/geo_get_dataset_info.py +46 -0
- tooluniverse/tools/geo_get_sample_info.py +46 -0
- tooluniverse/tools/geo_search_datasets.py +67 -0
- tooluniverse/tools/gnomad_get_gene_constraints.py +49 -0
- tooluniverse/tools/kegg_find_genes.py +52 -0
- tooluniverse/tools/kegg_get_gene_info.py +46 -0
- tooluniverse/tools/kegg_get_pathway_info.py +46 -0
- tooluniverse/tools/kegg_list_organisms.py +44 -0
- tooluniverse/tools/kegg_search_pathway.py +46 -0
- tooluniverse/tools/ols_find_similar_terms.py +63 -0
- tooluniverse/tools/{get_hyperopt_info.py → ols_get_ontology_info.py} +13 -10
- tooluniverse/tools/ols_get_term_ancestors.py +67 -0
- tooluniverse/tools/ols_get_term_children.py +67 -0
- tooluniverse/tools/{TestCaseGenerator.py → ols_get_term_info.py} +12 -9
- tooluniverse/tools/{CodeOptimizer.py → ols_search_ontologies.py} +22 -14
- tooluniverse/tools/ols_search_terms.py +71 -0
- tooluniverse/tools/python_code_executor.py +79 -0
- tooluniverse/tools/python_script_runner.py +79 -0
- tooluniverse/tools/web_api_documentation_search.py +63 -0
- tooluniverse/tools/web_search.py +71 -0
- tooluniverse/uniprot_tool.py +219 -16
- tooluniverse/url_tool.py +18 -0
- tooluniverse/utils.py +2 -2
- tooluniverse/web_search_tool.py +229 -0
- tooluniverse/worms_tool.py +64 -0
- {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.dist-info}/METADATA +3 -2
- {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.dist-info}/RECORD +143 -54
- tooluniverse/data/genomics_tools.json +0 -174
- tooluniverse/tools/ToolDescriptionOptimizer.py +0 -67
- tooluniverse/tools/ToolImplementationGenerator.py +0 -67
- tooluniverse/tools/ToolOptimizer.py +0 -59
- tooluniverse/tools/ToolSpecificationGenerator.py +0 -67
- tooluniverse/tools/ToolSpecificationOptimizer.py +0 -63
- tooluniverse/ucsc_tool.py +0 -60
- {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.dist-info}/WHEEL +0 -0
- {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.dist-info}/entry_points.txt +0 -0
- {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.dist-info}/licenses/LICENSE +0 -0
- {tooluniverse-1.0.10.dist-info → tooluniverse-1.0.11.dist-info}/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
ToolDiscover
|
|
3
3
|
|
|
4
|
-
Generates new ToolUniverse-compliant tools based on short descriptions
|
|
4
|
+
Generates new ToolUniverse-compliant tools based on short descriptions using XML format for simul...
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
from typing import Any, Optional, Callable
|
|
@@ -10,27 +10,27 @@ from ._shared_client import get_shared_client
|
|
|
10
10
|
|
|
11
11
|
def ToolDiscover(
|
|
12
12
|
tool_description: str,
|
|
13
|
-
max_iterations: int,
|
|
14
|
-
save_to_file: bool,
|
|
15
|
-
output_file: str,
|
|
13
|
+
max_iterations: Optional[int] = 2,
|
|
14
|
+
save_to_file: Optional[bool] = True,
|
|
15
|
+
output_file: Optional[str] = None,
|
|
16
16
|
*,
|
|
17
17
|
stream_callback: Optional[Callable[[str], None]] = None,
|
|
18
18
|
use_cache: bool = False,
|
|
19
19
|
validate: bool = True,
|
|
20
|
-
) -> Any:
|
|
20
|
+
) -> dict[str, Any]:
|
|
21
21
|
"""
|
|
22
|
-
Generates new ToolUniverse-compliant tools based on short descriptions
|
|
22
|
+
Generates new ToolUniverse-compliant tools based on short descriptions using XML format for simul...
|
|
23
23
|
|
|
24
24
|
Parameters
|
|
25
25
|
----------
|
|
26
26
|
tool_description : str
|
|
27
|
-
Short description of the desired tool functionality
|
|
27
|
+
Short description of the desired tool functionality
|
|
28
28
|
max_iterations : int
|
|
29
|
-
Maximum number of
|
|
29
|
+
Maximum number of optimization iterations
|
|
30
30
|
save_to_file : bool
|
|
31
|
-
Whether to save the generated tool
|
|
31
|
+
Whether to save the generated tool files
|
|
32
32
|
output_file : str
|
|
33
|
-
Optional file path to save the generated tool
|
|
33
|
+
Optional file path to save the generated tool
|
|
34
34
|
stream_callback : Callable, optional
|
|
35
35
|
Callback for streaming output
|
|
36
36
|
use_cache : bool, default False
|
|
@@ -40,7 +40,7 @@ def ToolDiscover(
|
|
|
40
40
|
|
|
41
41
|
Returns
|
|
42
42
|
-------
|
|
43
|
-
Any
|
|
43
|
+
dict[str, Any]
|
|
44
44
|
"""
|
|
45
45
|
# Handle mutable defaults to avoid B006 linting error
|
|
46
46
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""
|
|
2
|
+
UniProt_id_mapping
|
|
3
|
+
|
|
4
|
+
Map IDs between different databases (e.g., Ensembl to UniProt, Gene Name to UniProt). Supports ba...
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def UniProt_id_mapping(
|
|
12
|
+
ids: str,
|
|
13
|
+
from_db: str,
|
|
14
|
+
to_db: Optional[str] = None,
|
|
15
|
+
max_wait_time: Optional[int] = None,
|
|
16
|
+
*,
|
|
17
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
18
|
+
use_cache: bool = False,
|
|
19
|
+
validate: bool = True,
|
|
20
|
+
) -> Any:
|
|
21
|
+
"""
|
|
22
|
+
Map IDs between different databases (e.g., Ensembl to UniProt, Gene Name to UniProt). Supports ba...
|
|
23
|
+
|
|
24
|
+
Parameters
|
|
25
|
+
----------
|
|
26
|
+
ids : str
|
|
27
|
+
ID(s) to map. Can be single string or array of strings, e.g., 'ENSG0000014151...
|
|
28
|
+
from_db : str
|
|
29
|
+
Source database. Examples: 'Ensembl', 'Gene_Name', 'RefSeq_Protein', 'PDB', '...
|
|
30
|
+
to_db : str
|
|
31
|
+
Target database (default: 'UniProtKB')
|
|
32
|
+
max_wait_time : int
|
|
33
|
+
Maximum time to wait for async task completion in seconds (default: 30)
|
|
34
|
+
stream_callback : Callable, optional
|
|
35
|
+
Callback for streaming output
|
|
36
|
+
use_cache : bool, default False
|
|
37
|
+
Enable caching
|
|
38
|
+
validate : bool, default True
|
|
39
|
+
Validate parameters
|
|
40
|
+
|
|
41
|
+
Returns
|
|
42
|
+
-------
|
|
43
|
+
Any
|
|
44
|
+
"""
|
|
45
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
46
|
+
|
|
47
|
+
return get_shared_client().run_one_function(
|
|
48
|
+
{
|
|
49
|
+
"name": "UniProt_id_mapping",
|
|
50
|
+
"arguments": {
|
|
51
|
+
"ids": ids,
|
|
52
|
+
"from_db": from_db,
|
|
53
|
+
"to_db": to_db,
|
|
54
|
+
"max_wait_time": max_wait_time,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
stream_callback=stream_callback,
|
|
58
|
+
use_cache=use_cache,
|
|
59
|
+
validate=validate,
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
__all__ = ["UniProt_id_mapping"]
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""
|
|
2
|
+
UniProt_search
|
|
3
|
+
|
|
4
|
+
Search UniProtKB database using flexible query syntax. Supports gene names (e.g., 'gene:TP53'), p...
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def UniProt_search(
|
|
12
|
+
query: str,
|
|
13
|
+
organism: Optional[str] = None,
|
|
14
|
+
limit: Optional[int] = None,
|
|
15
|
+
fields: Optional[list[Any]] = None,
|
|
16
|
+
*,
|
|
17
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
18
|
+
use_cache: bool = False,
|
|
19
|
+
validate: bool = True,
|
|
20
|
+
) -> Any:
|
|
21
|
+
"""
|
|
22
|
+
Search UniProtKB database using flexible query syntax. Supports gene names (e.g., 'gene:TP53'), p...
|
|
23
|
+
|
|
24
|
+
Parameters
|
|
25
|
+
----------
|
|
26
|
+
query : str
|
|
27
|
+
Search query. Can be simple (e.g., 'MEIOB') or advanced ('gene:TP53 AND organ...
|
|
28
|
+
organism : str
|
|
29
|
+
Optional organism filter. Can use common name ('human') or taxonomy ID ('9606...
|
|
30
|
+
limit : int
|
|
31
|
+
Maximum number of results to return (default: 25, max: 500)
|
|
32
|
+
fields : list[Any]
|
|
33
|
+
Optional list of fields to return. Default returns: accession, id, protein_na...
|
|
34
|
+
stream_callback : Callable, optional
|
|
35
|
+
Callback for streaming output
|
|
36
|
+
use_cache : bool, default False
|
|
37
|
+
Enable caching
|
|
38
|
+
validate : bool, default True
|
|
39
|
+
Validate parameters
|
|
40
|
+
|
|
41
|
+
Returns
|
|
42
|
+
-------
|
|
43
|
+
Any
|
|
44
|
+
"""
|
|
45
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
46
|
+
|
|
47
|
+
return get_shared_client().run_one_function(
|
|
48
|
+
{
|
|
49
|
+
"name": "UniProt_search",
|
|
50
|
+
"arguments": {
|
|
51
|
+
"query": query,
|
|
52
|
+
"organism": organism,
|
|
53
|
+
"limit": limit,
|
|
54
|
+
"fields": fields,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
stream_callback=stream_callback,
|
|
58
|
+
use_cache=use_cache,
|
|
59
|
+
validate=validate,
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
__all__ = ["UniProt_search"]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"""
|
|
2
|
+
UnifiedToolGenerator
|
|
3
|
+
|
|
4
|
+
Generates complete ToolUniverse tools using simplified XML format that simultaneously creates bot...
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def UnifiedToolGenerator(
|
|
12
|
+
tool_description: str,
|
|
13
|
+
reference_info: str,
|
|
14
|
+
xml_template: str,
|
|
15
|
+
*,
|
|
16
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
17
|
+
use_cache: bool = False,
|
|
18
|
+
validate: bool = True,
|
|
19
|
+
) -> str:
|
|
20
|
+
"""
|
|
21
|
+
Generates complete ToolUniverse tools using simplified XML format that simultaneously creates bot...
|
|
22
|
+
|
|
23
|
+
Parameters
|
|
24
|
+
----------
|
|
25
|
+
tool_description : str
|
|
26
|
+
Description of the desired tool functionality
|
|
27
|
+
reference_info : str
|
|
28
|
+
JSON string containing curated reference information including API documentat...
|
|
29
|
+
xml_template : str
|
|
30
|
+
XML template example showing the expected format with code and spec sections
|
|
31
|
+
stream_callback : Callable, optional
|
|
32
|
+
Callback for streaming output
|
|
33
|
+
use_cache : bool, default False
|
|
34
|
+
Enable caching
|
|
35
|
+
validate : bool, default True
|
|
36
|
+
Validate parameters
|
|
37
|
+
|
|
38
|
+
Returns
|
|
39
|
+
-------
|
|
40
|
+
str
|
|
41
|
+
"""
|
|
42
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
43
|
+
|
|
44
|
+
return get_shared_client().run_one_function(
|
|
45
|
+
{
|
|
46
|
+
"name": "UnifiedToolGenerator",
|
|
47
|
+
"arguments": {
|
|
48
|
+
"tool_description": tool_description,
|
|
49
|
+
"reference_info": reference_info,
|
|
50
|
+
"xml_template": xml_template,
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
stream_callback=stream_callback,
|
|
54
|
+
use_cache=use_cache,
|
|
55
|
+
validate=validate,
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
__all__ = ["UnifiedToolGenerator"]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""
|
|
2
|
+
WoRMS_search_species
|
|
3
|
+
|
|
4
|
+
Search marine species in World Register of Marine Species
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Any, Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def WoRMS_search_species(
|
|
12
|
+
query: str,
|
|
13
|
+
limit: Optional[int] = 20,
|
|
14
|
+
*,
|
|
15
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
16
|
+
use_cache: bool = False,
|
|
17
|
+
validate: bool = True,
|
|
18
|
+
) -> dict[str, Any]:
|
|
19
|
+
"""
|
|
20
|
+
Search marine species in World Register of Marine Species
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
query : str
|
|
25
|
+
Species name or search term
|
|
26
|
+
limit : int
|
|
27
|
+
Number of results
|
|
28
|
+
stream_callback : Callable, optional
|
|
29
|
+
Callback for streaming output
|
|
30
|
+
use_cache : bool, default False
|
|
31
|
+
Enable caching
|
|
32
|
+
validate : bool, default True
|
|
33
|
+
Validate parameters
|
|
34
|
+
|
|
35
|
+
Returns
|
|
36
|
+
-------
|
|
37
|
+
dict[str, Any]
|
|
38
|
+
"""
|
|
39
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
40
|
+
|
|
41
|
+
return get_shared_client().run_one_function(
|
|
42
|
+
{"name": "WoRMS_search_species", "arguments": {"query": query, "limit": limit}},
|
|
43
|
+
stream_callback=stream_callback,
|
|
44
|
+
use_cache=use_cache,
|
|
45
|
+
validate=validate,
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
__all__ = ["WoRMS_search_species"]
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""
|
|
2
|
+
XMLToolOptimizer
|
|
3
|
+
|
|
4
|
+
Optimizes tools defined in XML format based on test results and quality feedback
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from typing import Optional, Callable
|
|
8
|
+
from ._shared_client import get_shared_client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def XMLToolOptimizer(
|
|
12
|
+
xml_tool: str,
|
|
13
|
+
optimization_context: str,
|
|
14
|
+
*,
|
|
15
|
+
stream_callback: Optional[Callable[[str], None]] = None,
|
|
16
|
+
use_cache: bool = False,
|
|
17
|
+
validate: bool = True,
|
|
18
|
+
) -> str:
|
|
19
|
+
"""
|
|
20
|
+
Optimizes tools defined in XML format based on test results and quality feedback
|
|
21
|
+
|
|
22
|
+
Parameters
|
|
23
|
+
----------
|
|
24
|
+
xml_tool : str
|
|
25
|
+
Current XML-formatted tool definition with code and spec sections
|
|
26
|
+
optimization_context : str
|
|
27
|
+
JSON string containing test results, quality feedback, iteration info, improv...
|
|
28
|
+
stream_callback : Callable, optional
|
|
29
|
+
Callback for streaming output
|
|
30
|
+
use_cache : bool, default False
|
|
31
|
+
Enable caching
|
|
32
|
+
validate : bool, default True
|
|
33
|
+
Validate parameters
|
|
34
|
+
|
|
35
|
+
Returns
|
|
36
|
+
-------
|
|
37
|
+
str
|
|
38
|
+
"""
|
|
39
|
+
# Handle mutable defaults to avoid B006 linting error
|
|
40
|
+
|
|
41
|
+
return get_shared_client().run_one_function(
|
|
42
|
+
{
|
|
43
|
+
"name": "XMLToolOptimizer",
|
|
44
|
+
"arguments": {
|
|
45
|
+
"xml_tool": xml_tool,
|
|
46
|
+
"optimization_context": optimization_context,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
stream_callback=stream_callback,
|
|
50
|
+
use_cache=use_cache,
|
|
51
|
+
validate=validate,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
__all__ = ["XMLToolOptimizer"]
|