tooluniverse 1.0.5__py3-none-any.whl → 1.0.7__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.

Files changed (824) hide show
  1. tooluniverse/__init__.py +70 -0
  2. tooluniverse/agentic_tool.py +121 -15
  3. tooluniverse/arxiv_tool.py +109 -0
  4. tooluniverse/base_tool.py +174 -25
  5. tooluniverse/biorxiv_tool.py +116 -0
  6. tooluniverse/cellosaurus_tool.py +1332 -0
  7. tooluniverse/compose_scripts/enhanced_multi_agent_literature_search.py +310 -0
  8. tooluniverse/compose_scripts/multi_agent_literature_search.py +794 -0
  9. tooluniverse/compose_scripts/tool_graph_generation.py +68 -35
  10. tooluniverse/compose_scripts/tool_metadata_generator.py +205 -105
  11. tooluniverse/compose_tool.py +93 -8
  12. tooluniverse/core_tool.py +155 -0
  13. tooluniverse/crossref_tool.py +158 -0
  14. tooluniverse/data/agentic_tools.json +1271 -1179
  15. tooluniverse/data/alphafold_tools.json +356 -105
  16. tooluniverse/data/arxiv_tools.json +94 -0
  17. tooluniverse/data/biorxiv_tools.json +75 -0
  18. tooluniverse/data/cellosaurus_tools.json +260 -0
  19. tooluniverse/data/chembl_tools.json +27 -12
  20. tooluniverse/data/clinicaltrials_gov_tools.json +377 -302
  21. tooluniverse/data/compose_tools.json +123 -16
  22. tooluniverse/data/core_tools.json +113 -0
  23. tooluniverse/data/crossref_tools.json +138 -0
  24. tooluniverse/data/dailymed_tools.json +17 -3
  25. tooluniverse/data/dataset_tools.json +1031 -588
  26. tooluniverse/data/dblp_tools.json +144 -0
  27. tooluniverse/data/disease_target_score_tools.json +20 -10
  28. tooluniverse/data/doaj_tools.json +140 -0
  29. tooluniverse/data/embedding_tools.json +362 -299
  30. tooluniverse/data/enrichr_tools.json +34 -27
  31. tooluniverse/data/europe_pmc_tools.json +108 -16
  32. tooluniverse/data/fatcat_tools.json +77 -0
  33. tooluniverse/data/fda_drug_adverse_event_tools.json +1061 -445
  34. tooluniverse/data/fda_drug_labeling_tools.json +6858 -6901
  35. tooluniverse/data/finder_tools.json +32 -37
  36. tooluniverse/data/gene_ontology_tools.json +19 -7
  37. tooluniverse/data/gwas_tools.json +1720 -959
  38. tooluniverse/data/hal_tools.json +75 -0
  39. tooluniverse/data/hpa_tools.json +53 -14
  40. tooluniverse/data/humanbase_tools.json +51 -43
  41. tooluniverse/data/idmap_tools.json +76 -70
  42. tooluniverse/data/literature_search_tools.json +306 -0
  43. tooluniverse/data/mcp_client_tools_example.json +122 -107
  44. tooluniverse/data/medlineplus_tools.json +50 -10
  45. tooluniverse/data/medrxiv_tools.json +75 -0
  46. tooluniverse/data/molecule_2d_tools.json +134 -0
  47. tooluniverse/data/molecule_3d_tools.json +164 -0
  48. tooluniverse/data/monarch_tools.json +112 -110
  49. tooluniverse/data/odphp_tools.json +389 -119
  50. tooluniverse/data/openaire_tools.json +95 -0
  51. tooluniverse/data/openalex_tools.json +100 -31
  52. tooluniverse/data/opentarget_tools.json +1457 -1372
  53. tooluniverse/data/osf_preprints_tools.json +81 -0
  54. tooluniverse/data/packages/bioinformatics_core_tools.json +40 -10
  55. tooluniverse/data/packages/cheminformatics_tools.json +20 -5
  56. tooluniverse/data/packages/genomics_tools.json +36 -9
  57. tooluniverse/data/packages/machine_learning_tools.json +36 -9
  58. tooluniverse/data/packages/scientific_computing_tools.json +20 -5
  59. tooluniverse/data/packages/single_cell_tools.json +20 -5
  60. tooluniverse/data/packages/structural_biology_tools.json +16 -4
  61. tooluniverse/data/packages/visualization_tools.json +20 -5
  62. tooluniverse/data/pmc_tools.json +117 -0
  63. tooluniverse/data/protein_structure_3d_tools.json +138 -0
  64. tooluniverse/data/pubchem_tools.json +37 -12
  65. tooluniverse/data/pubmed_tools.json +133 -0
  66. tooluniverse/data/pubtator_tools.json +68 -60
  67. tooluniverse/data/rcsb_pdb_tools.json +1532 -1221
  68. tooluniverse/data/semantic_scholar_tools.json +55 -22
  69. tooluniverse/data/special_tools.json +8 -6
  70. tooluniverse/data/tool_composition_tools.json +112 -82
  71. tooluniverse/data/unified_guideline_tools.json +707 -0
  72. tooluniverse/data/unpaywall_tools.json +86 -0
  73. tooluniverse/data/url_fetch_tools.json +102 -82
  74. tooluniverse/data/uspto_tools.json +49 -30
  75. tooluniverse/data/wikidata_sparql_tools.json +45 -0
  76. tooluniverse/data/xml_tools.json +3274 -3113
  77. tooluniverse/data/zenodo_tools.json +90 -0
  78. tooluniverse/dblp_tool.py +132 -0
  79. tooluniverse/default_config.py +30 -0
  80. tooluniverse/doaj_tool.py +183 -0
  81. tooluniverse/doctor.py +48 -0
  82. tooluniverse/europe_pmc_tool.py +132 -17
  83. tooluniverse/exceptions.py +170 -0
  84. tooluniverse/execute_function.py +825 -342
  85. tooluniverse/fatcat_tool.py +65 -0
  86. tooluniverse/generate_tools.py +198 -0
  87. tooluniverse/hal_tool.py +77 -0
  88. tooluniverse/llm_clients.py +283 -20
  89. tooluniverse/mcp_tool_registry.py +4 -1
  90. tooluniverse/medrxiv_tool.py +116 -0
  91. tooluniverse/memory_manager.py +166 -0
  92. tooluniverse/molecule_2d_tool.py +274 -0
  93. tooluniverse/molecule_3d_tool.py +441 -0
  94. tooluniverse/odphp_tool.py +49 -14
  95. tooluniverse/openaire_tool.py +130 -0
  96. tooluniverse/openalex_tool.py +34 -0
  97. tooluniverse/osf_preprints_tool.py +67 -0
  98. tooluniverse/pmc_tool.py +179 -0
  99. tooluniverse/protein_structure_3d_tool.py +295 -0
  100. tooluniverse/pubmed_tool.py +173 -0
  101. tooluniverse/remote/boltz/boltz_mcp_server.py +3 -1
  102. tooluniverse/remote/uspto_downloader/uspto_downloader_mcp_server.py +3 -1
  103. tooluniverse/semantic_scholar_tool.py +40 -10
  104. tooluniverse/smcp.py +228 -263
  105. tooluniverse/smcp_server.py +97 -55
  106. tooluniverse/tool_registry.py +35 -3
  107. tooluniverse/tools/ADMETAI_predict_BBB_penetrance.py +46 -0
  108. tooluniverse/tools/ADMETAI_predict_CYP_interactions.py +46 -0
  109. tooluniverse/tools/ADMETAI_predict_bioavailability.py +46 -0
  110. tooluniverse/tools/ADMETAI_predict_clearance_distribution.py +49 -0
  111. tooluniverse/tools/ADMETAI_predict_nuclear_receptor_activity.py +49 -0
  112. tooluniverse/tools/ADMETAI_predict_physicochemical_properties.py +49 -0
  113. tooluniverse/tools/ADMETAI_predict_solubility_lipophilicity_hydration.py +49 -0
  114. tooluniverse/tools/ADMETAI_predict_stress_response.py +46 -0
  115. tooluniverse/tools/ADMETAI_predict_toxicity.py +46 -0
  116. tooluniverse/tools/AdvancedCodeQualityAnalyzer.py +63 -0
  117. tooluniverse/tools/AdverseEventICDMapper.py +46 -0
  118. tooluniverse/tools/AdverseEventPredictionQuestionGenerator.py +52 -0
  119. tooluniverse/tools/AdverseEventPredictionQuestionGeneratorWithContext.py +59 -0
  120. tooluniverse/tools/ArXiv_search_papers.py +63 -0
  121. tooluniverse/tools/ArgumentDescriptionOptimizer.py +55 -0
  122. tooluniverse/tools/BioRxiv_search_preprints.py +52 -0
  123. tooluniverse/tools/BiomarkerDiscoveryWorkflow.py +55 -0
  124. tooluniverse/tools/CORE_search_papers.py +67 -0
  125. tooluniverse/tools/CallAgent.py +46 -0
  126. tooluniverse/tools/ChEMBL_search_similar_molecules.py +59 -0
  127. tooluniverse/tools/CodeOptimizer.py +55 -0
  128. tooluniverse/tools/CodeQualityAnalyzer.py +71 -0
  129. tooluniverse/tools/ComprehensiveDrugDiscoveryPipeline.py +49 -0
  130. tooluniverse/tools/Crossref_search_works.py +55 -0
  131. tooluniverse/tools/DBLP_search_publications.py +52 -0
  132. tooluniverse/tools/DOAJ_search_articles.py +55 -0
  133. tooluniverse/tools/DailyMed_get_spl_by_setid.py +52 -0
  134. tooluniverse/tools/DailyMed_search_spls.py +79 -0
  135. tooluniverse/tools/DataAnalysisValidityReviewer.py +49 -0
  136. tooluniverse/tools/DescriptionAnalyzer.py +55 -0
  137. tooluniverse/tools/DescriptionQualityEvaluator.py +59 -0
  138. tooluniverse/tools/DomainExpertValidator.py +63 -0
  139. tooluniverse/tools/DrugSafetyAnalyzer.py +59 -0
  140. tooluniverse/tools/EthicalComplianceReviewer.py +49 -0
  141. tooluniverse/tools/EuropePMC_Guidelines_Search.py +52 -0
  142. tooluniverse/tools/EuropePMC_search_articles.py +52 -0
  143. tooluniverse/tools/ExperimentalDesignScorer.py +55 -0
  144. tooluniverse/tools/FAERS_count_additive_administration_routes.py +52 -0
  145. tooluniverse/tools/FAERS_count_additive_adverse_reactions.py +71 -0
  146. tooluniverse/tools/FAERS_count_additive_event_reports_by_country.py +63 -0
  147. tooluniverse/tools/FAERS_count_additive_reaction_outcomes.py +63 -0
  148. tooluniverse/tools/FAERS_count_additive_reports_by_reporter_country.py +63 -0
  149. tooluniverse/tools/FAERS_count_additive_seriousness_classification.py +63 -0
  150. tooluniverse/tools/FAERS_count_country_by_drug_event.py +63 -0
  151. tooluniverse/tools/FAERS_count_death_related_by_drug.py +49 -0
  152. tooluniverse/tools/FAERS_count_drug_routes_by_event.py +52 -0
  153. tooluniverse/tools/FAERS_count_drugs_by_drug_event.py +63 -0
  154. tooluniverse/tools/FAERS_count_outcomes_by_drug_event.py +63 -0
  155. tooluniverse/tools/FAERS_count_patient_age_distribution.py +49 -0
  156. tooluniverse/tools/FAERS_count_reactions_by_drug_event.py +71 -0
  157. tooluniverse/tools/FAERS_count_reportercountry_by_drug_event.py +63 -0
  158. tooluniverse/tools/FAERS_count_seriousness_by_drug_event.py +63 -0
  159. tooluniverse/tools/FDA_get_abuse_dependence_info_by_drug_name.py +55 -0
  160. tooluniverse/tools/FDA_get_abuse_info_by_drug_name.py +55 -0
  161. tooluniverse/tools/FDA_get_accessories_info_by_drug_name.py +55 -0
  162. tooluniverse/tools/FDA_get_active_ingredient_info_by_drug_name.py +55 -0
  163. tooluniverse/tools/FDA_get_adverse_reactions_by_drug_name.py +55 -0
  164. tooluniverse/tools/FDA_get_alarms_by_drug_name.py +55 -0
  165. tooluniverse/tools/FDA_get_animal_pharmacology_info_by_drug_name.py +55 -0
  166. tooluniverse/tools/FDA_get_assembly_installation_info_by_drug_name.py +55 -0
  167. tooluniverse/tools/FDA_get_boxed_warning_info_by_drug_name.py +55 -0
  168. tooluniverse/tools/FDA_get_brand_name_generic_name.py +52 -0
  169. tooluniverse/tools/FDA_get_calibration_instructions_by_drug_name.py +55 -0
  170. tooluniverse/tools/FDA_get_carcinogenic_mutagenic_fertility_by_drug_name.py +55 -0
  171. tooluniverse/tools/FDA_get_child_safety_info_by_drug_name.py +55 -0
  172. tooluniverse/tools/FDA_get_clinical_pharmacology_by_drug_name.py +55 -0
  173. tooluniverse/tools/FDA_get_clinical_studies_info_by_drug_name.py +55 -0
  174. tooluniverse/tools/FDA_get_contact_for_questions_info_by_drug_name.py +55 -0
  175. tooluniverse/tools/FDA_get_contraindications_by_drug_name.py +55 -0
  176. tooluniverse/tools/FDA_get_controlled_substance_DEA_schedule_info_by_drug_name.py +55 -0
  177. tooluniverse/tools/FDA_get_dear_health_care_provider_letter_info_by_drug_name.py +55 -0
  178. tooluniverse/tools/FDA_get_dependence_info_by_drug_name.py +55 -0
  179. tooluniverse/tools/FDA_get_disposal_info_by_drug_name.py +55 -0
  180. tooluniverse/tools/FDA_get_do_not_use_info_by_drug_name.py +55 -0
  181. tooluniverse/tools/FDA_get_document_id_by_drug_name.py +55 -0
  182. tooluniverse/tools/FDA_get_dosage_and_storage_information_by_drug_name.py +55 -0
  183. tooluniverse/tools/FDA_get_dosage_forms_and_strengths_by_drug_name.py +55 -0
  184. tooluniverse/tools/FDA_get_drug_generic_name.py +46 -0
  185. tooluniverse/tools/FDA_get_drug_interactions_by_drug_name.py +55 -0
  186. tooluniverse/tools/FDA_get_drug_name_by_SPL_ID.py +55 -0
  187. tooluniverse/tools/FDA_get_drug_name_by_adverse_reaction.py +59 -0
  188. tooluniverse/tools/FDA_get_drug_name_by_calibration_instructions.py +59 -0
  189. tooluniverse/tools/FDA_get_drug_name_by_dependence_info.py +59 -0
  190. tooluniverse/tools/FDA_get_drug_name_by_document_id.py +55 -0
  191. tooluniverse/tools/FDA_get_drug_name_by_dosage_info.py +55 -0
  192. tooluniverse/tools/FDA_get_drug_name_by_environmental_warning.py +59 -0
  193. tooluniverse/tools/FDA_get_drug_name_by_inactive_ingredient.py +59 -0
  194. tooluniverse/tools/FDA_get_drug_name_by_info_on_conditions_for_doctor_consultation.py +55 -0
  195. tooluniverse/tools/FDA_get_drug_name_by_labor_and_delivery_info.py +59 -0
  196. tooluniverse/tools/FDA_get_drug_name_by_microbiology.py +59 -0
  197. tooluniverse/tools/FDA_get_drug_name_by_other_safety_info.py +55 -0
  198. tooluniverse/tools/FDA_get_drug_name_by_pharmacodynamics.py +59 -0
  199. tooluniverse/tools/FDA_get_drug_name_by_pharmacogenomics.py +59 -0
  200. tooluniverse/tools/FDA_get_drug_name_by_precautions.py +55 -0
  201. tooluniverse/tools/FDA_get_drug_name_by_pregnancy_or_breastfeeding_info.py +59 -0
  202. tooluniverse/tools/FDA_get_drug_name_by_principal_display_panel.py +59 -0
  203. tooluniverse/tools/FDA_get_drug_name_by_reference.py +55 -0
  204. tooluniverse/tools/FDA_get_drug_name_by_set_id.py +55 -0
  205. tooluniverse/tools/FDA_get_drug_name_by_stop_use_info.py +55 -0
  206. tooluniverse/tools/FDA_get_drug_name_by_storage_and_handling_info.py +55 -0
  207. tooluniverse/tools/FDA_get_drug_name_by_warnings.py +55 -0
  208. tooluniverse/tools/FDA_get_drug_name_from_patient_package_insert.py +59 -0
  209. tooluniverse/tools/FDA_get_drug_names_by_abuse_dependence_info.py +55 -0
  210. tooluniverse/tools/FDA_get_drug_names_by_abuse_info.py +63 -0
  211. tooluniverse/tools/FDA_get_drug_names_by_accessories.py +63 -0
  212. tooluniverse/tools/FDA_get_drug_names_by_active_ingredient.py +63 -0
  213. tooluniverse/tools/FDA_get_drug_names_by_alarm.py +63 -0
  214. tooluniverse/tools/FDA_get_drug_names_by_animal_pharmacology_info.py +63 -0
  215. tooluniverse/tools/FDA_get_drug_names_by_application_number_NDC_number.py +59 -0
  216. tooluniverse/tools/FDA_get_drug_names_by_assembly_installation_info.py +63 -0
  217. tooluniverse/tools/FDA_get_drug_names_by_boxed_warning.py +63 -0
  218. tooluniverse/tools/FDA_get_drug_names_by_child_safety_info.py +63 -0
  219. tooluniverse/tools/FDA_get_drug_names_by_clinical_pharmacology.py +63 -0
  220. tooluniverse/tools/FDA_get_drug_names_by_clinical_studies.py +63 -0
  221. tooluniverse/tools/FDA_get_drug_names_by_consulting_doctor_pharmacist_info.py +63 -0
  222. tooluniverse/tools/FDA_get_drug_names_by_contraindications.py +63 -0
  223. tooluniverse/tools/FDA_get_drug_names_by_controlled_substance_DEA_schedule.py +63 -0
  224. tooluniverse/tools/FDA_get_drug_names_by_dear_health_care_provider_letter_info.py +63 -0
  225. tooluniverse/tools/FDA_get_drug_names_by_disposal_info.py +63 -0
  226. tooluniverse/tools/FDA_get_drug_names_by_dosage_forms_and_strengths_info.py +63 -0
  227. tooluniverse/tools/FDA_get_drug_names_by_drug_interactions.py +63 -0
  228. tooluniverse/tools/FDA_get_drug_names_by_effective_time.py +63 -0
  229. tooluniverse/tools/FDA_get_drug_names_by_food_safety_warnings.py +63 -0
  230. tooluniverse/tools/FDA_get_drug_names_by_general_precautions.py +63 -0
  231. tooluniverse/tools/FDA_get_drug_names_by_geriatric_use.py +63 -0
  232. tooluniverse/tools/FDA_get_drug_names_by_health_claim.py +63 -0
  233. tooluniverse/tools/FDA_get_drug_names_by_indication.py +55 -0
  234. tooluniverse/tools/FDA_get_drug_names_by_info_for_nursing_mothers.py +63 -0
  235. tooluniverse/tools/FDA_get_drug_names_by_information_for_owners_or_caregivers.py +63 -0
  236. tooluniverse/tools/FDA_get_drug_names_by_ingredient.py +63 -0
  237. tooluniverse/tools/FDA_get_drug_names_by_instructions_for_use.py +63 -0
  238. tooluniverse/tools/FDA_get_drug_names_by_lab_test_interference.py +63 -0
  239. tooluniverse/tools/FDA_get_drug_names_by_lab_tests.py +63 -0
  240. tooluniverse/tools/FDA_get_drug_names_by_mechanism_of_action.py +63 -0
  241. tooluniverse/tools/FDA_get_drug_names_by_medication_guide.py +63 -0
  242. tooluniverse/tools/FDA_get_drug_names_by_nonclinical_toxicology_info.py +63 -0
  243. tooluniverse/tools/FDA_get_drug_names_by_nonteratogenic_effects.py +63 -0
  244. tooluniverse/tools/FDA_get_drug_names_by_overdosage_info.py +63 -0
  245. tooluniverse/tools/FDA_get_drug_names_by_pediatric_use.py +63 -0
  246. tooluniverse/tools/FDA_get_drug_names_by_pharmacokinetics.py +63 -0
  247. tooluniverse/tools/FDA_get_drug_names_by_population_use.py +63 -0
  248. tooluniverse/tools/FDA_get_drug_names_by_pregnancy_effects_info.py +63 -0
  249. tooluniverse/tools/FDA_get_drug_names_by_residue_warning.py +63 -0
  250. tooluniverse/tools/FDA_get_drug_names_by_risk.py +63 -0
  251. tooluniverse/tools/FDA_get_drug_names_by_route.py +63 -0
  252. tooluniverse/tools/FDA_get_drug_names_by_safe_handling_warning.py +63 -0
  253. tooluniverse/tools/FDA_get_drug_names_by_safety_summary.py +63 -0
  254. tooluniverse/tools/FDA_get_drug_names_by_spl_indexing_data_elements.py +63 -0
  255. tooluniverse/tools/FDA_get_drug_names_by_teratogenic_effects.py +63 -0
  256. tooluniverse/tools/FDA_get_drug_names_by_user_safety_warning.py +63 -0
  257. tooluniverse/tools/FDA_get_drug_names_by_warnings_and_cautions.py +63 -0
  258. tooluniverse/tools/FDA_get_drugs_by_carcinogenic_mutagenic_fertility.py +63 -0
  259. tooluniverse/tools/FDA_get_effective_time_by_drug_name.py +55 -0
  260. tooluniverse/tools/FDA_get_environmental_warning_by_drug_name.py +55 -0
  261. tooluniverse/tools/FDA_get_general_precautions_by_drug_name.py +55 -0
  262. tooluniverse/tools/FDA_get_geriatric_use_info_by_drug_name.py +55 -0
  263. tooluniverse/tools/FDA_get_health_claims_by_drug_name.py +55 -0
  264. tooluniverse/tools/FDA_get_inactive_ingredient_info_by_drug_name.py +55 -0
  265. tooluniverse/tools/FDA_get_indications_by_drug_name.py +55 -0
  266. tooluniverse/tools/FDA_get_info_for_nursing_mothers_by_drug_name.py +55 -0
  267. tooluniverse/tools/FDA_get_info_for_patients_by_drug_name.py +55 -0
  268. tooluniverse/tools/FDA_get_info_on_conditions_for_doctor_consultation_by_drug_name.py +55 -0
  269. tooluniverse/tools/FDA_get_info_on_consulting_doctor_pharmacist_by_drug_name.py +55 -0
  270. tooluniverse/tools/FDA_get_information_for_owners_or_caregivers_by_drug_name.py +55 -0
  271. tooluniverse/tools/FDA_get_ingredients_by_drug_name.py +55 -0
  272. tooluniverse/tools/FDA_get_instructions_for_use_by_drug_name.py +55 -0
  273. tooluniverse/tools/FDA_get_lab_test_interference_info_by_drug_name.py +55 -0
  274. tooluniverse/tools/FDA_get_lab_tests_by_drug_name.py +55 -0
  275. tooluniverse/tools/FDA_get_labor_and_delivery_info_by_drug_name.py +55 -0
  276. tooluniverse/tools/FDA_get_manufacturer_name_NDC_number_by_drug_name.py +55 -0
  277. tooluniverse/tools/FDA_get_mechanism_of_action_by_drug_name.py +55 -0
  278. tooluniverse/tools/FDA_get_medication_guide_info_by_drug_name.py +55 -0
  279. tooluniverse/tools/FDA_get_microbiology_info_by_drug_name.py +55 -0
  280. tooluniverse/tools/FDA_get_nonclinical_toxicology_info_by_drug_name.py +55 -0
  281. tooluniverse/tools/FDA_get_nonteratogenic_effects_by_drug_name.py +55 -0
  282. tooluniverse/tools/FDA_get_other_safety_info_by_drug_name.py +55 -0
  283. tooluniverse/tools/FDA_get_overdosage_info_by_drug_name.py +55 -0
  284. tooluniverse/tools/FDA_get_patient_package_insert_from_drug_name.py +55 -0
  285. tooluniverse/tools/FDA_get_pediatric_use_info_by_drug_name.py +55 -0
  286. tooluniverse/tools/FDA_get_pharmacodynamics_by_drug_name.py +55 -0
  287. tooluniverse/tools/FDA_get_pharmacogenomics_info_by_drug_name.py +55 -0
  288. tooluniverse/tools/FDA_get_pharmacokinetics_by_drug_name.py +55 -0
  289. tooluniverse/tools/FDA_get_population_use_info_by_drug_name.py +55 -0
  290. tooluniverse/tools/FDA_get_precautions_by_drug_name.py +55 -0
  291. tooluniverse/tools/FDA_get_pregnancy_effects_info_by_drug_name.py +55 -0
  292. tooluniverse/tools/FDA_get_pregnancy_or_breastfeeding_info_by_drug_name.py +55 -0
  293. tooluniverse/tools/FDA_get_principal_display_panel_by_drug_name.py +55 -0
  294. tooluniverse/tools/FDA_get_purpose_info_by_drug_name.py +55 -0
  295. tooluniverse/tools/FDA_get_recent_changes_by_drug_name.py +55 -0
  296. tooluniverse/tools/FDA_get_reference_info_by_drug_name.py +55 -0
  297. tooluniverse/tools/FDA_get_residue_warning_by_drug_name.py +55 -0
  298. tooluniverse/tools/FDA_get_risk_info_by_drug_name.py +55 -0
  299. tooluniverse/tools/FDA_get_route_info_by_drug_name.py +55 -0
  300. tooluniverse/tools/FDA_get_safe_handling_warnings_by_drug_name.py +55 -0
  301. tooluniverse/tools/FDA_get_safety_summary_by_drug_name.py +55 -0
  302. tooluniverse/tools/FDA_get_spl_indexing_data_elements_by_drug_name.py +55 -0
  303. tooluniverse/tools/FDA_get_spl_unclassified_section_by_drug_name.py +55 -0
  304. tooluniverse/tools/FDA_get_stop_use_info_by_drug_name.py +55 -0
  305. tooluniverse/tools/FDA_get_storage_and_handling_info_by_drug_name.py +55 -0
  306. tooluniverse/tools/FDA_get_teratogenic_effects_by_drug_name.py +55 -0
  307. tooluniverse/tools/FDA_get_user_safety_warning_by_drug_names.py +55 -0
  308. tooluniverse/tools/FDA_get_warnings_and_cautions_by_drug_name.py +55 -0
  309. tooluniverse/tools/FDA_get_warnings_by_drug_name.py +55 -0
  310. tooluniverse/tools/FDA_get_when_using_info.py +55 -0
  311. tooluniverse/tools/FDA_retrieve_device_use_by_drug_name.py +55 -0
  312. tooluniverse/tools/FDA_retrieve_drug_name_by_device_use.py +59 -0
  313. tooluniverse/tools/FDA_retrieve_drug_names_by_patient_medication_info.py +55 -0
  314. tooluniverse/tools/FDA_retrieve_patient_medication_info_by_drug_name.py +55 -0
  315. tooluniverse/tools/Fatcat_search_scholar.py +52 -0
  316. tooluniverse/tools/Finish.py +44 -0
  317. tooluniverse/tools/GO_get_annotations_for_gene.py +46 -0
  318. tooluniverse/tools/GO_get_genes_for_term.py +55 -0
  319. tooluniverse/tools/GO_get_term_by_id.py +46 -0
  320. tooluniverse/tools/GO_get_term_details.py +46 -0
  321. tooluniverse/tools/GO_search_terms.py +46 -0
  322. tooluniverse/tools/HAL_search_archive.py +52 -0
  323. tooluniverse/tools/HPA_get_biological_processes_by_gene.py +52 -0
  324. tooluniverse/tools/HPA_get_cancer_prognostics_by_gene.py +49 -0
  325. tooluniverse/tools/HPA_get_comparative_expression_by_gene_and_cellline.py +52 -0
  326. tooluniverse/tools/HPA_get_comprehensive_gene_details_by_ensembl_id.py +63 -0
  327. tooluniverse/tools/HPA_get_contextual_biological_process_analysis.py +52 -0
  328. tooluniverse/tools/HPA_get_disease_expression_by_gene_tissue_disease.py +59 -0
  329. tooluniverse/tools/HPA_get_gene_basic_info_by_ensembl_id.py +49 -0
  330. tooluniverse/tools/HPA_get_gene_tsv_data_by_ensembl_id.py +49 -0
  331. tooluniverse/tools/HPA_get_protein_interactions_by_gene.py +49 -0
  332. tooluniverse/tools/HPA_get_rna_expression_by_source.py +59 -0
  333. tooluniverse/tools/HPA_get_rna_expression_in_specific_tissues.py +52 -0
  334. tooluniverse/tools/HPA_get_subcellular_location.py +46 -0
  335. tooluniverse/tools/HPA_search_genes_by_query.py +49 -0
  336. tooluniverse/tools/HypothesisGenerator.py +63 -0
  337. tooluniverse/tools/LabelGenerator.py +67 -0
  338. tooluniverse/tools/LiteratureContextReviewer.py +55 -0
  339. tooluniverse/tools/LiteratureSearchTool.py +49 -0
  340. tooluniverse/tools/MedRxiv_search_preprints.py +52 -0
  341. tooluniverse/tools/MedicalLiteratureReviewer.py +71 -0
  342. tooluniverse/tools/MedicalTermNormalizer.py +46 -0
  343. tooluniverse/tools/MedlinePlus_connect_lookup_by_code.py +67 -0
  344. tooluniverse/tools/MedlinePlus_get_genetics_condition_by_name.py +52 -0
  345. tooluniverse/tools/MedlinePlus_get_genetics_gene_by_name.py +52 -0
  346. tooluniverse/tools/MedlinePlus_get_genetics_index.py +44 -0
  347. tooluniverse/tools/MedlinePlus_search_topics_by_keyword.py +55 -0
  348. tooluniverse/tools/MethodologyRigorReviewer.py +49 -0
  349. tooluniverse/tools/MultiAgentLiteratureSearch.py +59 -0
  350. tooluniverse/tools/NICE_Clinical_Guidelines_Search.py +52 -0
  351. tooluniverse/tools/NICE_Guideline_Full_Text.py +46 -0
  352. tooluniverse/tools/NoveltySignificanceReviewer.py +59 -0
  353. tooluniverse/tools/OSF_search_preprints.py +59 -0
  354. tooluniverse/tools/OSL_get_efo_id_by_disease_name.py +46 -0
  355. tooluniverse/tools/OpenAIRE_search_publications.py +55 -0
  356. tooluniverse/tools/OpenAlex_Guidelines_Search.py +63 -0
  357. tooluniverse/tools/OpenTargets_drug_pharmacogenomics_data.py +52 -0
  358. tooluniverse/tools/OpenTargets_get_approved_indications_by_drug_chemblId.py +49 -0
  359. tooluniverse/tools/OpenTargets_get_associated_diseases_by_drug_chemblId.py +49 -0
  360. tooluniverse/tools/OpenTargets_get_associated_drugs_by_disease_efoId.py +52 -0
  361. tooluniverse/tools/OpenTargets_get_associated_drugs_by_target_ensemblID.py +55 -0
  362. tooluniverse/tools/OpenTargets_get_associated_phenotypes_by_disease_efoId.py +49 -0
  363. tooluniverse/tools/OpenTargets_get_associated_targets_by_disease_efoId.py +49 -0
  364. tooluniverse/tools/OpenTargets_get_associated_targets_by_drug_chemblId.py +49 -0
  365. tooluniverse/tools/OpenTargets_get_biological_mouse_models_by_ensemblID.py +49 -0
  366. tooluniverse/tools/OpenTargets_get_chemical_probes_by_target_ensemblID.py +49 -0
  367. tooluniverse/tools/OpenTargets_get_disease_ancestors_parents_by_efoId.py +49 -0
  368. tooluniverse/tools/OpenTargets_get_disease_descendants_children_by_efoId.py +49 -0
  369. tooluniverse/tools/OpenTargets_get_disease_description_by_efoId.py +49 -0
  370. tooluniverse/tools/OpenTargets_get_disease_id_description_by_name.py +49 -0
  371. tooluniverse/tools/OpenTargets_get_disease_ids_by_efoId.py +46 -0
  372. tooluniverse/tools/OpenTargets_get_disease_ids_by_name.py +46 -0
  373. tooluniverse/tools/OpenTargets_get_disease_locations_by_efoId.py +49 -0
  374. tooluniverse/tools/OpenTargets_get_disease_synonyms_by_efoId.py +49 -0
  375. tooluniverse/tools/OpenTargets_get_disease_therapeutic_areas_by_efoId.py +49 -0
  376. tooluniverse/tools/OpenTargets_get_diseases_phenotypes_by_target_ensembl.py +49 -0
  377. tooluniverse/tools/OpenTargets_get_drug_adverse_events_by_chemblId.py +52 -0
  378. tooluniverse/tools/OpenTargets_get_drug_approval_status_by_chemblId.py +49 -0
  379. tooluniverse/tools/OpenTargets_get_drug_chembId_by_generic_name.py +49 -0
  380. tooluniverse/tools/OpenTargets_get_drug_description_by_chemblId.py +49 -0
  381. tooluniverse/tools/OpenTargets_get_drug_id_description_by_name.py +49 -0
  382. tooluniverse/tools/OpenTargets_get_drug_indications_by_chemblId.py +49 -0
  383. tooluniverse/tools/OpenTargets_get_drug_mechanisms_of_action_by_chemblId.py +49 -0
  384. tooluniverse/tools/OpenTargets_get_drug_synonyms_by_chemblId.py +49 -0
  385. tooluniverse/tools/OpenTargets_get_drug_trade_names_by_chemblId.py +49 -0
  386. tooluniverse/tools/OpenTargets_get_drug_warnings_by_chemblId.py +49 -0
  387. tooluniverse/tools/OpenTargets_get_drug_withdrawn_blackbox_status_by_chemblId.py +49 -0
  388. tooluniverse/tools/OpenTargets_get_gene_ontology_terms_by_goID.py +49 -0
  389. tooluniverse/tools/OpenTargets_get_known_drugs_by_drug_chemblId.py +49 -0
  390. tooluniverse/tools/OpenTargets_get_parent_child_molecules_by_drug_chembl_ID.py +49 -0
  391. tooluniverse/tools/OpenTargets_get_publications_by_disease_efoId.py +71 -0
  392. tooluniverse/tools/OpenTargets_get_publications_by_drug_chemblId.py +71 -0
  393. tooluniverse/tools/OpenTargets_get_publications_by_target_ensemblID.py +71 -0
  394. tooluniverse/tools/OpenTargets_get_similar_entities_by_disease_efoId.py +55 -0
  395. tooluniverse/tools/OpenTargets_get_similar_entities_by_drug_chemblId.py +55 -0
  396. tooluniverse/tools/OpenTargets_get_similar_entities_by_target_ensemblID.py +55 -0
  397. tooluniverse/tools/OpenTargets_get_target_classes_by_ensemblID.py +49 -0
  398. tooluniverse/tools/OpenTargets_get_target_constraint_info_by_ensemblID.py +49 -0
  399. tooluniverse/tools/OpenTargets_get_target_enabling_packages_by_ensemblID.py +49 -0
  400. tooluniverse/tools/OpenTargets_get_target_gene_ontology_by_ensemblID.py +49 -0
  401. tooluniverse/tools/OpenTargets_get_target_genomic_location_by_ensemblID.py +49 -0
  402. tooluniverse/tools/OpenTargets_get_target_homologues_by_ensemblID.py +49 -0
  403. tooluniverse/tools/OpenTargets_get_target_id_description_by_name.py +49 -0
  404. tooluniverse/tools/OpenTargets_get_target_interactions_by_ensemblID.py +52 -0
  405. tooluniverse/tools/OpenTargets_get_target_safety_profile_by_ensemblID.py +49 -0
  406. tooluniverse/tools/OpenTargets_get_target_subcellular_locations_by_ensemblID.py +49 -0
  407. tooluniverse/tools/OpenTargets_get_target_synonyms_by_ensemblID.py +49 -0
  408. tooluniverse/tools/OpenTargets_get_target_tractability_by_ensemblID.py +49 -0
  409. tooluniverse/tools/OpenTargets_map_any_disease_id_to_all_other_ids.py +49 -0
  410. tooluniverse/tools/OpenTargets_multi_entity_search_by_query_string.py +59 -0
  411. tooluniverse/tools/OpenTargets_search_category_counts_by_query_string.py +49 -0
  412. tooluniverse/tools/OpenTargets_target_disease_evidence.py +52 -0
  413. tooluniverse/tools/OutputSummarizationComposer.py +71 -0
  414. tooluniverse/tools/PMC_search_papers.py +67 -0
  415. tooluniverse/tools/ProtocolOptimizer.py +49 -0
  416. tooluniverse/tools/PubChem_get_CID_by_SMILES.py +46 -0
  417. tooluniverse/tools/PubChem_get_CID_by_compound_name.py +46 -0
  418. tooluniverse/tools/PubChem_get_associated_patents_by_CID.py +46 -0
  419. tooluniverse/tools/PubChem_get_compound_2D_image_by_CID.py +52 -0
  420. tooluniverse/tools/PubChem_get_compound_properties_by_CID.py +46 -0
  421. tooluniverse/tools/PubChem_get_compound_synonyms_by_CID.py +46 -0
  422. tooluniverse/tools/PubChem_get_compound_xrefs_by_CID.py +52 -0
  423. tooluniverse/tools/PubChem_search_compounds_by_similarity.py +52 -0
  424. tooluniverse/tools/PubChem_search_compounds_by_substructure.py +49 -0
  425. tooluniverse/tools/PubMed_Guidelines_Search.py +55 -0
  426. tooluniverse/tools/PubMed_search_articles.py +55 -0
  427. tooluniverse/tools/PubTator3_EntityAutocomplete.py +59 -0
  428. tooluniverse/tools/PubTator3_LiteratureSearch.py +55 -0
  429. tooluniverse/tools/QuestionRephraser.py +52 -0
  430. tooluniverse/tools/Reactome_get_pathway_reactions.py +46 -0
  431. tooluniverse/tools/ReproducibilityTransparencyReviewer.py +49 -0
  432. tooluniverse/tools/ResultsInterpretationReviewer.py +55 -0
  433. tooluniverse/tools/ScientificTextSummarizer.py +59 -0
  434. tooluniverse/tools/SemanticScholar_search_papers.py +55 -0
  435. tooluniverse/tools/TRIP_Database_Guidelines_Search.py +55 -0
  436. tooluniverse/tools/TestCaseGenerator.py +46 -0
  437. tooluniverse/tools/ToolCompatibilityAnalyzer.py +59 -0
  438. tooluniverse/tools/ToolDescriptionOptimizer.py +67 -0
  439. tooluniverse/tools/ToolDiscover.py +63 -0
  440. tooluniverse/tools/ToolGraphComposer.py +71 -0
  441. tooluniverse/tools/ToolGraphGenerationPipeline.py +63 -0
  442. tooluniverse/tools/ToolImplementationGenerator.py +67 -0
  443. tooluniverse/tools/ToolMetadataGenerationPipeline.py +63 -0
  444. tooluniverse/tools/ToolMetadataGenerator.py +55 -0
  445. tooluniverse/tools/ToolMetadataStandardizer.py +52 -0
  446. tooluniverse/tools/ToolOptimizer.py +59 -0
  447. tooluniverse/tools/ToolOutputSummarizer.py +67 -0
  448. tooluniverse/tools/ToolQualityEvaluator.py +59 -0
  449. tooluniverse/tools/ToolRelationshipDetector.py +52 -0
  450. tooluniverse/tools/ToolSpecificationGenerator.py +67 -0
  451. tooluniverse/tools/ToolSpecificationOptimizer.py +63 -0
  452. tooluniverse/tools/Tool_Finder.py +67 -0
  453. tooluniverse/tools/Tool_Finder_Keyword.py +67 -0
  454. tooluniverse/tools/Tool_Finder_LLM.py +67 -0
  455. tooluniverse/tools/Tool_RAG.py +49 -0
  456. tooluniverse/tools/UniProt_get_alternative_names_by_accession.py +49 -0
  457. tooluniverse/tools/UniProt_get_disease_variants_by_accession.py +49 -0
  458. tooluniverse/tools/UniProt_get_entry_by_accession.py +49 -0
  459. tooluniverse/tools/UniProt_get_function_by_accession.py +49 -0
  460. tooluniverse/tools/UniProt_get_isoform_ids_by_accession.py +49 -0
  461. tooluniverse/tools/UniProt_get_organism_by_accession.py +49 -0
  462. tooluniverse/tools/UniProt_get_ptm_processing_by_accession.py +49 -0
  463. tooluniverse/tools/UniProt_get_recommended_name_by_accession.py +49 -0
  464. tooluniverse/tools/UniProt_get_sequence_by_accession.py +49 -0
  465. tooluniverse/tools/UniProt_get_subcellular_location_by_accession.py +49 -0
  466. tooluniverse/tools/Unpaywall_check_oa_status.py +52 -0
  467. tooluniverse/tools/WHO_Guideline_Full_Text.py +46 -0
  468. tooluniverse/tools/WHO_Guidelines_Search.py +52 -0
  469. tooluniverse/tools/Wikidata_SPARQL_query.py +52 -0
  470. tooluniverse/tools/WritingPresentationReviewer.py +49 -0
  471. tooluniverse/tools/Zenodo_search_records.py +59 -0
  472. tooluniverse/tools/__init__.py +1738 -0
  473. tooluniverse/tools/_shared_client.py +138 -0
  474. tooluniverse/tools/alphafold_get_annotations.py +52 -0
  475. tooluniverse/tools/alphafold_get_prediction.py +55 -0
  476. tooluniverse/tools/alphafold_get_summary.py +46 -0
  477. tooluniverse/tools/call_agentic_human.py +46 -0
  478. tooluniverse/tools/cancer_biomarkers_disease_target_score.py +52 -0
  479. tooluniverse/tools/cancer_gene_census_disease_target_score.py +52 -0
  480. tooluniverse/tools/cellosaurus_get_cell_line_info.py +55 -0
  481. tooluniverse/tools/cellosaurus_query_converter.py +52 -0
  482. tooluniverse/tools/cellosaurus_search_cell_lines.py +55 -0
  483. tooluniverse/tools/chembl_disease_target_score.py +52 -0
  484. tooluniverse/tools/dict_search.py +67 -0
  485. tooluniverse/tools/dili_search.py +67 -0
  486. tooluniverse/tools/diqt_search.py +67 -0
  487. tooluniverse/tools/disease_target_score.py +59 -0
  488. tooluniverse/tools/drugbank_filter_drugs_by_name.py +55 -0
  489. tooluniverse/tools/drugbank_full_search.py +67 -0
  490. tooluniverse/tools/drugbank_get_drug_basic_info_by_drug_name_or_drugbank_id.py +63 -0
  491. tooluniverse/tools/drugbank_get_drug_chemistry_by_drug_name_or_drugbank_id.py +63 -0
  492. tooluniverse/tools/drugbank_get_drug_interactions_by_drug_name_or_drugbank_id.py +63 -0
  493. tooluniverse/tools/drugbank_get_drug_name_and_description_by_indication.py +63 -0
  494. tooluniverse/tools/drugbank_get_drug_name_and_description_by_pathway_name.py +63 -0
  495. tooluniverse/tools/drugbank_get_drug_name_and_description_by_target_name.py +63 -0
  496. tooluniverse/tools/drugbank_get_drug_name_description_pharmacology_by_mechanism_of_action.py +63 -0
  497. tooluniverse/tools/drugbank_get_drug_pathways_and_reactions_by_drug_name_or_drugbank_id.py +63 -0
  498. tooluniverse/tools/drugbank_get_drug_products_by_name_or_drugbank_id.py +63 -0
  499. tooluniverse/tools/drugbank_get_drug_references_by_drug_name_or_drugbank_id.py +63 -0
  500. tooluniverse/tools/drugbank_get_indications_by_drug_name_or_drugbank_id.py +63 -0
  501. tooluniverse/tools/drugbank_get_pharmacology_by_drug_name_or_drugbank_id.py +63 -0
  502. tooluniverse/tools/drugbank_get_safety_by_drug_name_or_drugbank_id.py +63 -0
  503. tooluniverse/tools/drugbank_get_targets_by_drug_name_or_drugbank_id.py +63 -0
  504. tooluniverse/tools/drugbank_links_search.py +67 -0
  505. tooluniverse/tools/drugbank_vocab_filter.py +63 -0
  506. tooluniverse/tools/drugbank_vocab_search.py +67 -0
  507. tooluniverse/tools/embedding_database_add.py +63 -0
  508. tooluniverse/tools/embedding_database_create.py +71 -0
  509. tooluniverse/tools/embedding_database_load.py +63 -0
  510. tooluniverse/tools/embedding_database_search.py +67 -0
  511. tooluniverse/tools/embedding_sync_download.py +63 -0
  512. tooluniverse/tools/embedding_sync_upload.py +71 -0
  513. tooluniverse/tools/enrichr_gene_enrichment_analysis.py +52 -0
  514. tooluniverse/tools/europepmc_disease_target_score.py +52 -0
  515. tooluniverse/tools/eva_disease_target_score.py +52 -0
  516. tooluniverse/tools/eva_somatic_disease_target_score.py +52 -0
  517. tooluniverse/tools/expression_atlas_disease_target_score.py +52 -0
  518. tooluniverse/tools/extract_clinical_trial_adverse_events.py +59 -0
  519. tooluniverse/tools/extract_clinical_trial_outcomes.py +52 -0
  520. tooluniverse/tools/genomics_england_disease_target_score.py +52 -0
  521. tooluniverse/tools/get_HPO_ID_by_phenotype.py +55 -0
  522. tooluniverse/tools/get_albumentations_info.py +44 -0
  523. tooluniverse/tools/get_altair_info.py +44 -0
  524. tooluniverse/tools/get_anndata_info.py +49 -0
  525. tooluniverse/tools/get_arboreto_info.py +46 -0
  526. tooluniverse/tools/get_arxiv_info.py +46 -0
  527. tooluniverse/tools/get_ase_info.py +46 -0
  528. tooluniverse/tools/get_assembly_info_by_pdb_id.py +46 -0
  529. tooluniverse/tools/get_assembly_summary.py +46 -0
  530. tooluniverse/tools/get_astropy_info.py +44 -0
  531. tooluniverse/tools/get_binding_affinity_by_pdb_id.py +46 -0
  532. tooluniverse/tools/get_biopandas_info.py +49 -0
  533. tooluniverse/tools/get_biopython_info.py +49 -0
  534. tooluniverse/tools/get_bioservices_info.py +44 -0
  535. tooluniverse/tools/get_biotite_info.py +49 -0
  536. tooluniverse/tools/get_bokeh_info.py +44 -0
  537. tooluniverse/tools/get_brian2_info.py +44 -0
  538. tooluniverse/tools/get_cartopy_info.py +44 -0
  539. tooluniverse/tools/get_catboost_info.py +44 -0
  540. tooluniverse/tools/get_cellpose_info.py +49 -0
  541. tooluniverse/tools/get_cellrank_info.py +44 -0
  542. tooluniverse/tools/get_cellxgene_census_info.py +46 -0
  543. tooluniverse/tools/get_cftime_info.py +44 -0
  544. tooluniverse/tools/get_chem_comp_audit_info.py +46 -0
  545. tooluniverse/tools/get_chem_comp_charge_and_ambiguity.py +46 -0
  546. tooluniverse/tools/get_chembl_webresource_client_info.py +44 -0
  547. tooluniverse/tools/get_citation_info_by_pdb_id.py +46 -0
  548. tooluniverse/tools/get_clair3_info.py +46 -0
  549. tooluniverse/tools/get_clinical_trial_conditions_and_interventions.py +55 -0
  550. tooluniverse/tools/get_clinical_trial_descriptions.py +52 -0
  551. tooluniverse/tools/get_clinical_trial_eligibility_criteria.py +55 -0
  552. tooluniverse/tools/get_clinical_trial_locations.py +52 -0
  553. tooluniverse/tools/get_clinical_trial_outcome_measures.py +52 -0
  554. tooluniverse/tools/get_clinical_trial_references.py +52 -0
  555. tooluniverse/tools/get_clinical_trial_status_and_dates.py +52 -0
  556. tooluniverse/tools/get_cobra_info.py +46 -0
  557. tooluniverse/tools/get_cobrapy_info.py +46 -0
  558. tooluniverse/tools/get_cooler_info.py +49 -0
  559. tooluniverse/tools/get_core_refinement_statistics.py +46 -0
  560. tooluniverse/tools/get_cryosparc_tools_info.py +46 -0
  561. tooluniverse/tools/get_crystal_growth_conditions_by_pdb_id.py +49 -0
  562. tooluniverse/tools/get_crystallization_ph_by_pdb_id.py +46 -0
  563. tooluniverse/tools/get_crystallographic_properties_by_pdb_id.py +49 -0
  564. tooluniverse/tools/get_cupy_info.py +44 -0
  565. tooluniverse/tools/get_cyvcf2_info.py +49 -0
  566. tooluniverse/tools/get_dask_info.py +44 -0
  567. tooluniverse/tools/get_datamol_info.py +44 -0
  568. tooluniverse/tools/get_datashader_info.py +44 -0
  569. tooluniverse/tools/get_deepchem_info.py +49 -0
  570. tooluniverse/tools/get_deeppurpose_info.py +46 -0
  571. tooluniverse/tools/get_deeptools_info.py +46 -0
  572. tooluniverse/tools/get_deepxde_info.py +49 -0
  573. tooluniverse/tools/get_dendropy_info.py +44 -0
  574. tooluniverse/tools/get_descriptastorus_info.py +46 -0
  575. tooluniverse/tools/get_diffdock_info.py +46 -0
  576. tooluniverse/tools/get_dscribe_info.py +49 -0
  577. tooluniverse/tools/get_ec_number_by_entity_id.py +46 -0
  578. tooluniverse/tools/get_elephant_info.py +44 -0
  579. tooluniverse/tools/get_em_3d_fitting_and_reconstruction_details.py +49 -0
  580. tooluniverse/tools/get_emdb_ids_by_pdb_id.py +46 -0
  581. tooluniverse/tools/get_episcanpy_info.py +44 -0
  582. tooluniverse/tools/get_ete3_info.py +44 -0
  583. tooluniverse/tools/get_faiss_info.py +46 -0
  584. tooluniverse/tools/get_fanc_info.py +46 -0
  585. tooluniverse/tools/get_flask_info.py +46 -0
  586. tooluniverse/tools/get_flowio_info.py +46 -0
  587. tooluniverse/tools/get_flowkit_info.py +46 -0
  588. tooluniverse/tools/get_flowutils_info.py +46 -0
  589. tooluniverse/tools/get_freesasa_info.py +44 -0
  590. tooluniverse/tools/get_galpy_info.py +44 -0
  591. tooluniverse/tools/get_gene_name_by_entity_id.py +46 -0
  592. tooluniverse/tools/get_geopandas_info.py +44 -0
  593. tooluniverse/tools/get_gget_info.py +46 -0
  594. tooluniverse/tools/get_googlesearch_python_info.py +46 -0
  595. tooluniverse/tools/get_gseapy_info.py +49 -0
  596. tooluniverse/tools/get_h5py_info.py +46 -0
  597. tooluniverse/tools/get_harmony_pytorch_info.py +46 -0
  598. tooluniverse/tools/get_hmmlearn_info.py +46 -0
  599. tooluniverse/tools/get_holoviews_info.py +44 -0
  600. tooluniverse/tools/get_host_organism_by_pdb_id.py +46 -0
  601. tooluniverse/tools/get_htmd_info.py +44 -0
  602. tooluniverse/tools/get_hyperopt_info.py +49 -0
  603. tooluniverse/tools/get_igraph_info.py +49 -0
  604. tooluniverse/tools/get_imageio_info.py +44 -0
  605. tooluniverse/tools/get_imbalanced_learn_info.py +44 -0
  606. tooluniverse/tools/get_jcvi_info.py +46 -0
  607. tooluniverse/tools/get_joblib_info.py +44 -0
  608. tooluniverse/tools/get_joint_associated_diseases_by_HPO_ID_list.py +55 -0
  609. tooluniverse/tools/get_khmer_info.py +46 -0
  610. tooluniverse/tools/get_kipoiseq_info.py +44 -0
  611. tooluniverse/tools/get_lifelines_info.py +49 -0
  612. tooluniverse/tools/get_ligand_bond_count_by_pdb_id.py +46 -0
  613. tooluniverse/tools/get_ligand_smiles_by_chem_comp_id.py +49 -0
  614. tooluniverse/tools/get_lightgbm_info.py +44 -0
  615. tooluniverse/tools/get_loompy_info.py +46 -0
  616. tooluniverse/tools/get_mageck_info.py +46 -0
  617. tooluniverse/tools/get_matplotlib_info.py +49 -0
  618. tooluniverse/tools/get_mdanalysis_info.py +46 -0
  619. tooluniverse/tools/get_mdtraj_info.py +44 -0
  620. tooluniverse/tools/get_mne_info.py +44 -0
  621. tooluniverse/tools/get_molfeat_info.py +44 -0
  622. tooluniverse/tools/get_molvs_info.py +44 -0
  623. tooluniverse/tools/get_mordred_info.py +44 -0
  624. tooluniverse/tools/get_msprime_info.py +49 -0
  625. tooluniverse/tools/get_mudata_info.py +49 -0
  626. tooluniverse/tools/get_mutation_annotations_by_pdb_id.py +46 -0
  627. tooluniverse/tools/get_neo_info.py +44 -0
  628. tooluniverse/tools/get_netcdf4_info.py +44 -0
  629. tooluniverse/tools/get_networkx_info.py +46 -0
  630. tooluniverse/tools/get_nglview_info.py +44 -0
  631. tooluniverse/tools/get_nilearn_info.py +44 -0
  632. tooluniverse/tools/get_numba_info.py +46 -0
  633. tooluniverse/tools/get_numpy_info.py +46 -0
  634. tooluniverse/tools/get_oligosaccharide_descriptors_by_entity_id.py +49 -0
  635. tooluniverse/tools/get_openbabel_info.py +49 -0
  636. tooluniverse/tools/get_openchem_info.py +46 -0
  637. tooluniverse/tools/get_opencv_info.py +49 -0
  638. tooluniverse/tools/get_openmm_info.py +49 -0
  639. tooluniverse/tools/get_optlang_info.py +46 -0
  640. tooluniverse/tools/get_optuna_info.py +44 -0
  641. tooluniverse/tools/get_palantir_info.py +44 -0
  642. tooluniverse/tools/get_pandas_info.py +49 -0
  643. tooluniverse/tools/get_patsy_info.py +44 -0
  644. tooluniverse/tools/get_pdbfixer_info.py +46 -0
  645. tooluniverse/tools/get_phenotype_by_HPO_ID.py +46 -0
  646. tooluniverse/tools/get_pillow_info.py +44 -0
  647. tooluniverse/tools/get_plantcv_info.py +46 -0
  648. tooluniverse/tools/get_plip_info.py +46 -0
  649. tooluniverse/tools/get_plotly_info.py +44 -0
  650. tooluniverse/tools/get_poliastro_info.py +46 -0
  651. tooluniverse/tools/get_polymer_entity_annotations.py +49 -0
  652. tooluniverse/tools/get_polymer_entity_count_by_pdb_id.py +46 -0
  653. tooluniverse/tools/get_polymer_entity_ids_by_pdb_id.py +46 -0
  654. tooluniverse/tools/get_polymer_entity_type_by_entity_id.py +49 -0
  655. tooluniverse/tools/get_polymer_molecular_weight_by_entity_id.py +49 -0
  656. tooluniverse/tools/get_poretools_info.py +44 -0
  657. tooluniverse/tools/get_prody_info.py +46 -0
  658. tooluniverse/tools/get_protein_classification_by_pdb_id.py +49 -0
  659. tooluniverse/tools/get_protein_metadata_by_pdb_id.py +46 -0
  660. tooluniverse/tools/get_pubchempy_info.py +44 -0
  661. tooluniverse/tools/get_pybedtools_info.py +49 -0
  662. tooluniverse/tools/get_pybigwig_info.py +46 -0
  663. tooluniverse/tools/get_pydeseq2_info.py +46 -0
  664. tooluniverse/tools/get_pyensembl_info.py +44 -0
  665. tooluniverse/tools/get_pyephem_info.py +44 -0
  666. tooluniverse/tools/get_pyfaidx_info.py +49 -0
  667. tooluniverse/tools/get_pyfasta_info.py +44 -0
  668. tooluniverse/tools/get_pykalman_info.py +46 -0
  669. tooluniverse/tools/get_pyliftover_info.py +49 -0
  670. tooluniverse/tools/get_pymassspec_info.py +46 -0
  671. tooluniverse/tools/get_pymed_info.py +46 -0
  672. tooluniverse/tools/get_pymzml_info.py +46 -0
  673. tooluniverse/tools/get_pypdf2_info.py +46 -0
  674. tooluniverse/tools/get_pyranges_info.py +49 -0
  675. tooluniverse/tools/get_pyrosetta_info.py +44 -0
  676. tooluniverse/tools/get_pysam_info.py +46 -0
  677. tooluniverse/tools/get_pyscenic_info.py +46 -0
  678. tooluniverse/tools/get_pyscf_info.py +46 -0
  679. tooluniverse/tools/get_pyscreener_info.py +46 -0
  680. tooluniverse/tools/get_pytdc_info.py +46 -0
  681. tooluniverse/tools/get_python_libsbml_info.py +46 -0
  682. tooluniverse/tools/get_pytorch_info.py +49 -0
  683. tooluniverse/tools/get_pyvcf_info.py +44 -0
  684. tooluniverse/tools/get_pyvis_info.py +44 -0
  685. tooluniverse/tools/get_qutip_info.py +44 -0
  686. tooluniverse/tools/get_rasterio_info.py +44 -0
  687. tooluniverse/tools/get_rdkit_info.py +46 -0
  688. tooluniverse/tools/get_refinement_resolution_by_pdb_id.py +49 -0
  689. tooluniverse/tools/get_release_deposit_dates_by_pdb_id.py +49 -0
  690. tooluniverse/tools/get_reportlab_info.py +49 -0
  691. tooluniverse/tools/get_requests_info.py +49 -0
  692. tooluniverse/tools/get_ruptures_info.py +46 -0
  693. tooluniverse/tools/get_scanorama_info.py +44 -0
  694. tooluniverse/tools/get_scanpy_info.py +49 -0
  695. tooluniverse/tools/get_schnetpack_info.py +49 -0
  696. tooluniverse/tools/get_scholarly_info.py +46 -0
  697. tooluniverse/tools/get_scikit_bio_info.py +49 -0
  698. tooluniverse/tools/get_scikit_image_info.py +46 -0
  699. tooluniverse/tools/get_scikit_learn_info.py +49 -0
  700. tooluniverse/tools/get_scipy_info.py +46 -0
  701. tooluniverse/tools/get_scrublet_info.py +49 -0
  702. tooluniverse/tools/get_scvelo_info.py +49 -0
  703. tooluniverse/tools/get_scvi_tools_info.py +44 -0
  704. tooluniverse/tools/get_seaborn_info.py +49 -0
  705. tooluniverse/tools/get_sequence_by_pdb_id.py +46 -0
  706. tooluniverse/tools/get_sequence_lengths_by_pdb_id.py +46 -0
  707. tooluniverse/tools/get_sequence_positional_features_by_instance_id.py +49 -0
  708. tooluniverse/tools/get_skopt_info.py +44 -0
  709. tooluniverse/tools/get_souporcell_info.py +46 -0
  710. tooluniverse/tools/get_source_organism_by_pdb_id.py +46 -0
  711. tooluniverse/tools/get_space_group_by_pdb_id.py +46 -0
  712. tooluniverse/tools/get_statsmodels_info.py +49 -0
  713. tooluniverse/tools/get_structure_determination_software_by_pdb_id.py +49 -0
  714. tooluniverse/tools/get_structure_title_by_pdb_id.py +46 -0
  715. tooluniverse/tools/get_structure_validation_metrics_by_pdb_id.py +49 -0
  716. tooluniverse/tools/get_sunpy_info.py +44 -0
  717. tooluniverse/tools/get_sympy_info.py +46 -0
  718. tooluniverse/tools/get_target_cofactor_info.py +46 -0
  719. tooluniverse/tools/get_taxonomy_by_pdb_id.py +46 -0
  720. tooluniverse/tools/get_tiledb_info.py +46 -0
  721. tooluniverse/tools/get_tiledbsoma_info.py +46 -0
  722. tooluniverse/tools/get_torch_geometric_info.py +49 -0
  723. tooluniverse/tools/get_tqdm_info.py +46 -0
  724. tooluniverse/tools/get_trackpy_info.py +46 -0
  725. tooluniverse/tools/get_tskit_info.py +46 -0
  726. tooluniverse/tools/get_umap_learn_info.py +49 -0
  727. tooluniverse/tools/get_uniprot_accession_by_entity_id.py +49 -0
  728. tooluniverse/tools/get_velocyto_info.py +44 -0
  729. tooluniverse/tools/get_viennarna_info.py +49 -0
  730. tooluniverse/tools/get_webpage_text_from_url.py +52 -0
  731. tooluniverse/tools/get_webpage_title.py +49 -0
  732. tooluniverse/tools/get_xarray_info.py +44 -0
  733. tooluniverse/tools/get_xesmf_info.py +44 -0
  734. tooluniverse/tools/get_xgboost_info.py +44 -0
  735. tooluniverse/tools/get_zarr_info.py +44 -0
  736. tooluniverse/tools/gwas_get_association_by_id.py +49 -0
  737. tooluniverse/tools/gwas_get_associations_for_snp.py +67 -0
  738. tooluniverse/tools/gwas_get_associations_for_study.py +55 -0
  739. tooluniverse/tools/gwas_get_associations_for_trait.py +55 -0
  740. tooluniverse/tools/gwas_get_snp_by_id.py +46 -0
  741. tooluniverse/tools/gwas_get_snps_for_gene.py +55 -0
  742. tooluniverse/tools/gwas_get_studies_for_trait.py +75 -0
  743. tooluniverse/tools/gwas_get_study_by_id.py +46 -0
  744. tooluniverse/tools/gwas_get_variants_for_trait.py +55 -0
  745. tooluniverse/tools/gwas_search_associations.py +75 -0
  746. tooluniverse/tools/gwas_search_snps.py +63 -0
  747. tooluniverse/tools/gwas_search_studies.py +75 -0
  748. tooluniverse/tools/humanbase_ppi_analysis.py +67 -0
  749. tooluniverse/tools/mesh_get_subjects_by_pharmacological_action.py +63 -0
  750. tooluniverse/tools/mesh_get_subjects_by_subject_id.py +63 -0
  751. tooluniverse/tools/mesh_get_subjects_by_subject_name.py +63 -0
  752. tooluniverse/tools/mesh_get_subjects_by_subject_scope_or_definition.py +63 -0
  753. tooluniverse/tools/odphp_itemlist.py +49 -0
  754. tooluniverse/tools/odphp_myhealthfinder.py +67 -0
  755. tooluniverse/tools/odphp_outlink_fetch.py +59 -0
  756. tooluniverse/tools/odphp_topicsearch.py +67 -0
  757. tooluniverse/tools/openalex_literature_search.py +67 -0
  758. tooluniverse/tools/reactome_disease_target_score.py +52 -0
  759. tooluniverse/tools/search_clinical_trials.py +67 -0
  760. tooluniverse/tools/visualize_molecule_2d.py +83 -0
  761. tooluniverse/tools/visualize_molecule_3d.py +91 -0
  762. tooluniverse/tools/visualize_protein_structure_3d.py +79 -0
  763. tooluniverse/unified_guideline_tools.py +1210 -0
  764. tooluniverse/unpaywall_tool.py +62 -0
  765. tooluniverse/utils.py +71 -2
  766. tooluniverse/visualization_tool.py +897 -0
  767. tooluniverse/wikidata_sparql_tool.py +60 -0
  768. tooluniverse/zenodo_tool.py +72 -0
  769. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/METADATA +12 -2
  770. tooluniverse-1.0.7.dist-info/RECORD +855 -0
  771. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/entry_points.txt +4 -0
  772. tooluniverse/test/list_azure_openai_models.py +0 -210
  773. tooluniverse/test/mcp_server_test.py +0 -0
  774. tooluniverse/test/test_admetai_tool.py +0 -370
  775. tooluniverse/test/test_agentic_tool.py +0 -129
  776. tooluniverse/test/test_agentic_tool_azure_models.py +0 -91
  777. tooluniverse/test/test_alphafold_tool.py +0 -108
  778. tooluniverse/test/test_api_key_validation_min.py +0 -64
  779. tooluniverse/test/test_chem_tool.py +0 -37
  780. tooluniverse/test/test_claude_sdk.py +0 -86
  781. tooluniverse/test/test_compose_lieraturereview.py +0 -63
  782. tooluniverse/test/test_compose_tool.py +0 -448
  783. tooluniverse/test/test_dailymed.py +0 -69
  784. tooluniverse/test/test_dataset_tool.py +0 -200
  785. tooluniverse/test/test_disease_target_score.py +0 -56
  786. tooluniverse/test/test_drugbank_filter_examples.py +0 -179
  787. tooluniverse/test/test_efo.py +0 -31
  788. tooluniverse/test/test_enrichr_tool.py +0 -21
  789. tooluniverse/test/test_europe_pmc_tool.py +0 -20
  790. tooluniverse/test/test_fda_adv.py +0 -95
  791. tooluniverse/test/test_fda_drug_labeling.py +0 -91
  792. tooluniverse/test/test_gene_ontology_tools.py +0 -66
  793. tooluniverse/test/test_global_fallback.py +0 -288
  794. tooluniverse/test/test_gwas_tool.py +0 -139
  795. tooluniverse/test/test_hooks_direct.py +0 -219
  796. tooluniverse/test/test_hpa.py +0 -625
  797. tooluniverse/test/test_humanbase_tool.py +0 -20
  798. tooluniverse/test/test_idmap_tools.py +0 -61
  799. tooluniverse/test/test_list_built_in_tools.py +0 -33
  800. tooluniverse/test/test_mcp_server.py +0 -211
  801. tooluniverse/test/test_mcp_tool.py +0 -247
  802. tooluniverse/test/test_medlineplus.py +0 -220
  803. tooluniverse/test/test_odphp_tool.py +0 -166
  804. tooluniverse/test/test_openalex_tool.py +0 -32
  805. tooluniverse/test/test_openrouter_client.py +0 -288
  806. tooluniverse/test/test_opentargets.py +0 -28
  807. tooluniverse/test/test_pubchem_tool.py +0 -116
  808. tooluniverse/test/test_pubtator_tool.py +0 -37
  809. tooluniverse/test/test_rcsb_pdb_tool.py +0 -86
  810. tooluniverse/test/test_reactome.py +0 -54
  811. tooluniverse/test/test_semantic_scholar_tool.py +0 -24
  812. tooluniverse/test/test_software_tools.py +0 -147
  813. tooluniverse/test/test_stdio_hooks.py +0 -285
  814. tooluniverse/test/test_tool_description_optimizer.py +0 -49
  815. tooluniverse/test/test_tool_finder.py +0 -26
  816. tooluniverse/test/test_tool_finder_llm.py +0 -252
  817. tooluniverse/test/test_tools_find.py +0 -195
  818. tooluniverse/test/test_uniprot_tools.py +0 -74
  819. tooluniverse/test/test_uspto_tool.py +0 -72
  820. tooluniverse/test/test_xml_tool.py +0 -113
  821. tooluniverse-1.0.5.dist-info/RECORD +0 -198
  822. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/WHEEL +0 -0
  823. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/licenses/LICENSE +0 -0
  824. {tooluniverse-1.0.5.dist-info → tooluniverse-1.0.7.dist-info}/top_level.txt +0 -0
@@ -1,1271 +1,1363 @@
1
1
  [
2
- {
3
- "type": "AgenticTool",
4
- "name": "ScientificTextSummarizer",
5
- "description": "Summarizes biomedical research texts, abstracts, or papers with specified length and focus areas. Uses AI to extract key findings, methodology, and conclusions from complex biomedical literature.",
6
- "prompt": "You are a biomedical expert. Please summarize the following biomedical text in {summary_length} words, focusing on {focus_area}:\n\n{text}\n\nProvide a clear, concise summary that captures the most important information.",
7
- "input_arguments": [
8
- "text",
9
- "summary_length",
10
- "focus_area"
11
- ],
12
- "parameter": {
13
- "type": "object",
14
- "properties": {
15
- "text": {
16
- "type": "string",
17
- "description": "The biomedical text, abstract, or paper content to be summarized.",
18
- "required": true
19
- },
20
- "summary_length": {
21
- "type": "string",
22
- "description": "Desired length of summary (e.g., '50', '100', '200 words').",
23
- "required": true
24
- },
25
- "focus_area": {
26
- "type": "string",
27
- "description": "What to focus on in the summary (e.g., 'methodology', 'results', 'clinical implications', 'drug interactions').",
28
- "required": true
29
- }
30
- },
31
- "required": [
32
- "text",
33
- "summary_length",
34
- "focus_area"
35
- ]
2
+ {
3
+ "type": "AgenticTool",
4
+ "name": "ScientificTextSummarizer",
5
+ "description": "Summarizes biomedical research texts, abstracts, or papers with specified length and focus areas. Uses AI to extract key findings, methodology, and conclusions from complex biomedical literature.",
6
+ "prompt": "You are a biomedical expert. Please summarize the following biomedical text in {summary_length} words, focusing on {focus_area}:\n\n{text}\n\nProvide a clear, concise summary that captures the most important information.",
7
+ "input_arguments": [
8
+ "text",
9
+ "summary_length",
10
+ "focus_area"
11
+ ],
12
+ "parameter": {
13
+ "type": "object",
14
+ "properties": {
15
+ "text": {
16
+ "type": "string",
17
+ "description": "The biomedical text, abstract, or paper content to be summarized.",
18
+ "required": true
36
19
  },
37
- "configs": {
38
- "api_type": "CHATGPT",
39
- "model_id": "o4-mini-0416",
40
- "temperature": 1.0,
41
- "max_new_tokens": 4096,
42
- "return_json": false
20
+ "summary_length": {
21
+ "type": "string",
22
+ "description": "Desired length of summary (e.g., '50', '100', '200 words').",
23
+ "required": true
24
+ },
25
+ "focus_area": {
26
+ "type": "string",
27
+ "description": "What to focus on in the summary (e.g., 'methodology', 'results', 'clinical implications', 'drug interactions').",
28
+ "required": true
43
29
  }
30
+ },
31
+ "required": [
32
+ "text",
33
+ "summary_length",
34
+ "focus_area"
35
+ ]
44
36
  },
45
- {
46
- "type": "AgenticTool",
47
- "name": "CodeQualityAnalyzer",
48
- "description": "Analyzes code quality from multiple dimensions including algorithmic correctness, functional implementation capability, performance characteristics, and best practices. Provides detailed feedback and improvement suggestions.",
49
- "prompt": "You are an expert software engineer and code quality analyst. Please analyze the following code implementation and provide comprehensive quality assessment.\n\n## CODE TO ANALYZE\nTool Name: {tool_name}\nTool Description: {tool_description}\nTool Parameters: {tool_parameters}\nImplementation Code: {implementation_code}\nTest Cases: {test_cases}\nTest Execution Results: {test_execution_results}\n\n## ANALYSIS REQUIREMENTS\nPlease provide a comprehensive analysis covering the following dimensions:\n\n### 1. ALGORITHMIC CORRECTNESS (0-10)\n- Mathematical accuracy and logical correctness\n- Algorithm efficiency and time/space complexity\n- Edge case handling and boundary conditions\n- Error propagation and numerical stability\n- Correctness of domain-specific calculations\n\n### 2. FUNCTIONAL IMPLEMENTATION CAPABILITY (0-10)\n- Completeness of required functionality\n- Parameter validation and input handling\n- Return value accuracy and format consistency\n- Integration with external libraries/APIs\n- Feature completeness vs. requirements\n\n### 3. PERFORMANCE CHARACTERISTICS (0-10)\n- Time complexity analysis\n- Space complexity analysis\n- Memory usage optimization\n- Computational efficiency\n- Scalability considerations\n\n### 4. CODE QUALITY AND STRUCTURE (0-10)\n- Code readability and maintainability\n- Function and variable naming\n- Code organization and modularity\n- Documentation quality\n- Adherence to coding standards\n\n### 5. ERROR HANDLING AND ROBUSTNESS (0-10)\n- Exception handling coverage\n- Input validation robustness\n- Error message clarity and usefulness\n- Graceful degradation strategies\n- Recovery mechanisms\n\n### 6. TESTING AND VALIDATION (0-10)\n- Test coverage completeness\n- Test case quality and relevance\n- Edge case testing\n- Performance testing\n- Integration testing considerations\n- **IMPORTANT**: When test_execution_results are provided, use them to validate actual code behavior and adjust scoring accordingly\n\n### 7. SECURITY AND SAFETY (0-10)\n- Input sanitization and validation\n- Resource usage limits\n- Access control considerations\n- Data privacy protection\n- Security best practices\n\n### 8. MAINTAINABILITY AND EXTENSIBILITY (0-10)\n- Code modularity and reusability\n- Configuration flexibility\n- Future enhancement readiness\n- Dependency management\n- Technical debt assessment\n\n## TEST EXECUTION ANALYSIS\nWhen test_execution_results are provided:\n- Analyze actual test outcomes vs. expected results\n- Identify discrepancies between code behavior and test expectations\n- Use real execution data to validate code correctness\n- Adjust quality scores based on actual performance\n- Provide specific feedback on test failures and their implications\n\n## OUTPUT FORMAT\nProvide your analysis in the following JSON format:\n\n```json\n{\n \"overall_score\": <0-10>,\n \"scores\": {\n \"algorithmic_correctness\": <0-10>,\n \"functional_capability\": <0-10>,\n \"performance\": <0-10>,\n \"code_quality\": <0-10>,\n \"error_handling\": <0-10>,\n \"testing\": <0-10>,\n \"security\": <0-10>,\n \"maintainability\": <0-10>\n },\n \"feedback\": {\n \"strengths\": [\"list of code strengths\"],\n \"weaknesses\": [\"list of specific weaknesses\"],\n \"critical_issues\": [\"list of critical issues that must be fixed\"],\n \"improvement_opportunities\": [\"list of areas for improvement\"]\n },\n \"algorithm_analysis\": {\n \"complexity\": \"O(n) analysis\",\n \"correctness_verification\": \"mathematical verification details\",\n \"edge_cases\": \"identified edge cases\",\n \"numerical_stability\": \"numerical computation stability assessment\"\n },\n \"functional_verification\": {\n \"requirements_coverage\": \"percentage of requirements covered\",\n \"missing_features\": [\"list of missing features\"],\n \"integration_points\": [\"external dependencies and integration points\"],\n \"api_consistency\": \"API design consistency assessment\"\n },\n \"test_execution_analysis\": {\n \"test_results_summary\": \"summary of test execution outcomes\",\n \"pass_rate\": \"percentage of tests passed\",\n \"failed_tests\": [\"list of failed tests with reasons\"],\n \"actual_vs_expected\": \"analysis of actual vs expected behavior\"\n },\n \"recommendations\": [\n {\n \"priority\": \"high|medium|low\",\n \"category\": \"algorithm|functionality|performance|quality|security\",\n \"description\": \"specific improvement description\",\n \"action\": \"concrete action to take\",\n \"expected_impact\": \"expected improvement impact\"\n }\n ]\n}\n```\n\n## ANALYSIS GUIDELINES\n- Be thorough and objective in your assessment\n- Provide specific examples from the code when possible\n- Focus on actionable feedback and concrete improvements\n- Consider both immediate fixes and long-term improvements\n- Evaluate code from both technical and business perspectives\n- Provide evidence-based scoring with clear justification\n- **When test_execution_results are available, prioritize actual behavior over theoretical analysis**",
50
- "input_arguments": [
51
- "tool_name",
52
- "tool_description",
53
- "tool_parameters",
54
- "implementation_code",
55
- "test_cases",
56
- "test_execution_results"
57
- ],
58
- "parameter": {
59
- "type": "object",
60
- "properties": {
61
- "tool_name": {
62
- "type": "string",
63
- "description": "Name of the tool being analyzed",
64
- "required": true
65
- },
66
- "tool_description": {
67
- "type": "string",
68
- "description": "Description of what the tool is supposed to do",
69
- "required": true
70
- },
71
- "tool_parameters": {
72
- "type": "string",
73
- "description": "JSON string of tool parameters and their types",
74
- "required": true
75
- },
76
- "implementation_code": {
77
- "type": "string",
78
- "description": "The actual implementation code to analyze",
79
- "required": true
80
- },
81
- "test_cases": {
82
- "type": "string",
83
- "description": "JSON string of test cases for the tool",
84
- "required": true
85
- },
86
- "test_execution_results": {
87
- "type": "string",
88
- "description": "JSON string of test execution results including pass/fail status and actual outputs",
89
- "required": false
90
- }
91
- },
92
- "required": [
93
- "tool_name",
94
- "tool_description",
95
- "tool_parameters",
96
- "implementation_code",
97
- "test_cases"
98
- ]
37
+ "configs": {
38
+ "api_type": "CHATGPT",
39
+ "model_id": "o4-mini-0416",
40
+ "temperature": 1.0,
41
+ "max_new_tokens": 4096,
42
+ "return_json": false
43
+ }
44
+ },
45
+ {
46
+ "type": "AgenticTool",
47
+ "name": "CodeQualityAnalyzer",
48
+ "description": "Analyzes code quality from multiple dimensions including algorithmic correctness, functional implementation capability, performance characteristics, and best practices. Provides detailed feedback and improvement suggestions.",
49
+ "prompt": "You are an expert software engineer and code quality analyst. Please analyze the following code implementation and provide comprehensive quality assessment.\n\n## CODE TO ANALYZE\nTool Name: {tool_name}\nTool Description: {tool_description}\nTool Parameters: {tool_parameters}\nImplementation Code: {implementation_code}\nTest Cases: {test_cases}\nTest Execution Results: {test_execution_results}\n\n## ANALYSIS REQUIREMENTS\nPlease provide a comprehensive analysis covering the following dimensions:\n\n### 1. ALGORITHMIC CORRECTNESS (0-10)\n- Mathematical accuracy and logical correctness\n- Algorithm efficiency and time/space complexity\n- Edge case handling and boundary conditions\n- Error propagation and numerical stability\n- Correctness of domain-specific calculations\n\n### 2. FUNCTIONAL IMPLEMENTATION CAPABILITY (0-10)\n- Completeness of required functionality\n- Parameter validation and input handling\n- Return value accuracy and format consistency\n- Integration with external libraries/APIs\n- Feature completeness vs. requirements\n\n### 3. PERFORMANCE CHARACTERISTICS (0-10)\n- Time complexity analysis\n- Space complexity analysis\n- Memory usage optimization\n- Computational efficiency\n- Scalability considerations\n\n### 4. CODE QUALITY AND STRUCTURE (0-10)\n- Code readability and maintainability\n- Function and variable naming\n- Code organization and modularity\n- Documentation quality\n- Adherence to coding standards\n\n### 5. ERROR HANDLING AND ROBUSTNESS (0-10)\n- Exception handling coverage\n- Input validation robustness\n- Error message clarity and usefulness\n- Graceful degradation strategies\n- Recovery mechanisms\n\n### 6. TESTING AND VALIDATION (0-10)\n- Test coverage completeness\n- Test case quality and relevance\n- Edge case testing\n- Performance testing\n- Integration testing considerations\n- **IMPORTANT**: When test_execution_results are provided, use them to validate actual code behavior and adjust scoring accordingly\n\n### 7. SECURITY AND SAFETY (0-10)\n- Input sanitization and validation\n- Resource usage limits\n- Access control considerations\n- Data privacy protection\n- Security best practices\n\n### 8. MAINTAINABILITY AND EXTENSIBILITY (0-10)\n- Code modularity and reusability\n- Configuration flexibility\n- Future enhancement readiness\n- Dependency management\n- Technical debt assessment\n\n## TEST EXECUTION ANALYSIS\nWhen test_execution_results are provided:\n- Analyze actual test outcomes vs. expected results\n- Identify discrepancies between code behavior and test expectations\n- Use real execution data to validate code correctness\n- Adjust quality scores based on actual performance\n- Provide specific feedback on test failures and their implications\n\n## OUTPUT FORMAT\nProvide your analysis in the following JSON format:\n\n```json\n{\n \"overall_score\": <0-10>,\n \"scores\": {\n \"algorithmic_correctness\": <0-10>,\n \"functional_capability\": <0-10>,\n \"performance\": <0-10>,\n \"code_quality\": <0-10>,\n \"error_handling\": <0-10>,\n \"testing\": <0-10>,\n \"security\": <0-10>,\n \"maintainability\": <0-10>\n },\n \"feedback\": {\n \"strengths\": [\"list of code strengths\"],\n \"weaknesses\": [\"list of specific weaknesses\"],\n \"critical_issues\": [\"list of critical issues that must be fixed\"],\n \"improvement_opportunities\": [\"list of areas for improvement\"]\n },\n \"algorithm_analysis\": {\n \"complexity\": \"O(n) analysis\",\n \"correctness_verification\": \"mathematical verification details\",\n \"edge_cases\": \"identified edge cases\",\n \"numerical_stability\": \"numerical computation stability assessment\"\n },\n \"functional_verification\": {\n \"requirements_coverage\": \"percentage of requirements covered\",\n \"missing_features\": [\"list of missing features\"],\n \"integration_points\": [\"external dependencies and integration points\"],\n \"api_consistency\": \"API design consistency assessment\"\n },\n \"test_execution_analysis\": {\n \"test_results_summary\": \"summary of test execution outcomes\",\n \"pass_rate\": \"percentage of tests passed\",\n \"failed_tests\": [\"list of failed tests with reasons\"],\n \"actual_vs_expected\": \"analysis of actual vs expected behavior\"\n },\n \"recommendations\": [\n {\n \"priority\": \"high|medium|low\",\n \"category\": \"algorithm|functionality|performance|quality|security\",\n \"description\": \"specific improvement description\",\n \"action\": \"concrete action to take\",\n \"expected_impact\": \"expected improvement impact\"\n }\n ]\n}\n```\n\n## ANALYSIS GUIDELINES\n- Be thorough and objective in your assessment\n- Provide specific examples from the code when possible\n- Focus on actionable feedback and concrete improvements\n- Consider both immediate fixes and long-term improvements\n- Evaluate code from both technical and business perspectives\n- Provide evidence-based scoring with clear justification\n- **When test_execution_results are available, prioritize actual behavior over theoretical analysis**",
50
+ "input_arguments": [
51
+ "tool_name",
52
+ "tool_description",
53
+ "tool_parameters",
54
+ "implementation_code",
55
+ "test_cases",
56
+ "test_execution_results"
57
+ ],
58
+ "parameter": {
59
+ "type": "object",
60
+ "properties": {
61
+ "tool_name": {
62
+ "type": "string",
63
+ "description": "Name of the tool being analyzed",
64
+ "required": true
65
+ },
66
+ "tool_description": {
67
+ "type": "string",
68
+ "description": "Description of what the tool is supposed to do",
69
+ "required": true
70
+ },
71
+ "tool_parameters": {
72
+ "type": "string",
73
+ "description": "JSON string of tool parameters and their types",
74
+ "required": true
75
+ },
76
+ "implementation_code": {
77
+ "type": "string",
78
+ "description": "The actual implementation code to analyze",
79
+ "required": true
99
80
  },
100
- "configs": {
101
- "api_type": "CHATGPT",
102
- "model_id": "o4-mini-0416",
103
- "temperature": 0.3,
104
- "max_new_tokens": 8192,
105
- "return_json": true
81
+ "test_cases": {
82
+ "type": "string",
83
+ "description": "JSON string of test cases for the tool",
84
+ "required": true
85
+ },
86
+ "test_execution_results": {
87
+ "type": "string",
88
+ "description": "JSON string of test execution results including pass/fail status and actual outputs",
89
+ "required": false
106
90
  }
91
+ },
92
+ "required": [
93
+ "tool_name",
94
+ "tool_description",
95
+ "tool_parameters",
96
+ "implementation_code",
97
+ "test_cases"
98
+ ]
107
99
  },
108
- {
109
- "type": "AgenticTool",
110
- "name": "MedicalLiteratureReviewer",
111
- "description": "Conducts systematic reviews of medical literature on specific topics. Synthesizes findings from multiple studies and provides evidence-based conclusions with structured analysis and quality assessment.",
112
- "prompt": "You are an expert medical researcher conducting a comprehensive systematic literature review.\n\n## REVIEW PARAMETERS\nResearch Topic: {research_topic}\nFocus Area: {focus_area}\nStudy Types to Prioritize: {study_types}\nEvidence Quality Level: {quality_level}\nReview Scope: {review_scope}\n\n## LITERATURE TO REVIEW\n{literature_content}\n\n## SYSTEMATIC REVIEW INSTRUCTIONS\nConduct a thorough evidence-based systematic review following PRISMA guidelines. Provide a structured analysis with the following sections:\n\n### 1. EXECUTIVE SUMMARY\n- Brief overview of research question and key findings\n- Overall strength of evidence and confidence level\n\n### 2. STUDY CHARACTERISTICS\n- Number and types of studies reviewed\n- Study populations and sample sizes\n- Geographic distribution and time periods\n- Quality assessment of included studies\n\n### 3. SYNTHESIS OF EVIDENCE\n- Key findings across studies with effect sizes where available\n- Consistency/inconsistency of results\n- Dose-response relationships (if applicable)\n- Subgroup analyses and population-specific findings\n\n### 4. QUALITY OF EVIDENCE ASSESSMENT\n- Risk of bias assessment\n- Heterogeneity between studies\n- Publication bias considerations\n- GRADE evidence assessment (High/Moderate/Low/Very Low)\n\n### 5. CLINICAL IMPLICATIONS\n- Practical implications for clinical practice\n- Patient safety considerations\n- Cost-effectiveness insights (if available)\n- Applicability to different patient populations\n\n### 6. RESEARCH GAPS AND LIMITATIONS\n- Identified knowledge gaps\n- Methodological limitations across studies\n- Areas requiring further investigation\n\n### 7. RECOMMENDATIONS\n- Evidence-based clinical recommendations with confidence levels\n- Suggestions for future research priorities\n- Implementation considerations\n\n### 8. CONCLUSION\n- Summary of evidence strength\n- Final recommendations with qualification statements\n\nEnsure all conclusions are proportionate to the evidence quality and explicitly state limitations.",
113
- "input_arguments": [
114
- "research_topic",
115
- "literature_content",
116
- "focus_area",
117
- "study_types",
118
- "quality_level",
119
- "review_scope"
120
- ],
121
- "parameter": {
122
- "type": "object",
123
- "properties": {
124
- "research_topic": {
125
- "type": "string",
126
- "description": "The specific medical/research topic for literature review (e.g., 'efficacy of drug X in treating condition Y').",
127
- "required": true
128
- },
129
- "literature_content": {
130
- "type": "string",
131
- "description": "The literature content, abstracts, full studies, or research papers to review and synthesize.",
132
- "required": true
133
- },
134
- "focus_area": {
135
- "type": "string",
136
- "description": "Primary focus area for the review (e.g., 'therapeutic efficacy', 'safety profile', 'diagnostic accuracy', 'biomarker validation').",
137
- "required": true
138
- },
139
- "study_types": {
140
- "type": "string",
141
- "description": "Types of studies to prioritize in the analysis (e.g., 'randomized controlled trials', 'meta-analyses', 'cohort studies', 'case-control studies').",
142
- "required": true
143
- },
144
- "quality_level": {
145
- "type": "string",
146
- "description": "Minimum evidence quality level to include (e.g., 'high quality only', 'moderate and above', 'all available evidence').",
147
- "required": true
148
- },
149
- "review_scope": {
150
- "type": "string",
151
- "description": "Scope of the review (e.g., 'comprehensive systematic review', 'rapid review', 'scoping review', 'narrative review').",
152
- "required": true
153
- }
154
- },
155
- "required": [
156
- "research_topic",
157
- "literature_content",
158
- "focus_area",
159
- "study_types",
160
- "quality_level",
161
- "review_scope"
162
- ]
100
+ "configs": {
101
+ "api_type": "CHATGPT",
102
+ "model_id": "o4-mini-0416",
103
+ "temperature": 0.3,
104
+ "max_new_tokens": 8192,
105
+ "return_json": true
106
+ }
107
+ },
108
+ {
109
+ "type": "AgenticTool",
110
+ "name": "MedicalLiteratureReviewer",
111
+ "description": "Conducts systematic reviews of medical literature on specific topics. Synthesizes findings from multiple studies and provides evidence-based conclusions with structured analysis and quality assessment.",
112
+ "prompt": "You are an expert medical researcher conducting a comprehensive systematic literature review.\n\n## REVIEW PARAMETERS\nResearch Topic: {research_topic}\nFocus Area: {focus_area}\nStudy Types to Prioritize: {study_types}\nEvidence Quality Level: {quality_level}\nReview Scope: {review_scope}\n\n## LITERATURE TO REVIEW\n{literature_content}\n\n## SYSTEMATIC REVIEW INSTRUCTIONS\nConduct a thorough evidence-based systematic review following PRISMA guidelines. Provide a structured analysis with the following sections:\n\n### 1. EXECUTIVE SUMMARY\n- Brief overview of research question and key findings\n- Overall strength of evidence and confidence level\n\n### 2. STUDY CHARACTERISTICS\n- Number and types of studies reviewed\n- Study populations and sample sizes\n- Geographic distribution and time periods\n- Quality assessment of included studies\n\n### 3. SYNTHESIS OF EVIDENCE\n- Key findings across studies with effect sizes where available\n- Consistency/inconsistency of results\n- Dose-response relationships (if applicable)\n- Subgroup analyses and population-specific findings\n\n### 4. QUALITY OF EVIDENCE ASSESSMENT\n- Risk of bias assessment\n- Heterogeneity between studies\n- Publication bias considerations\n- GRADE evidence assessment (High/Moderate/Low/Very Low)\n\n### 5. CLINICAL IMPLICATIONS\n- Practical implications for clinical practice\n- Patient safety considerations\n- Cost-effectiveness insights (if available)\n- Applicability to different patient populations\n\n### 6. RESEARCH GAPS AND LIMITATIONS\n- Identified knowledge gaps\n- Methodological limitations across studies\n- Areas requiring further investigation\n\n### 7. RECOMMENDATIONS\n- Evidence-based clinical recommendations with confidence levels\n- Suggestions for future research priorities\n- Implementation considerations\n\n### 8. CONCLUSION\n- Summary of evidence strength\n- Final recommendations with qualification statements\n\nEnsure all conclusions are proportionate to the evidence quality and explicitly state limitations.",
113
+ "input_arguments": [
114
+ "research_topic",
115
+ "literature_content",
116
+ "focus_area",
117
+ "study_types",
118
+ "quality_level",
119
+ "review_scope"
120
+ ],
121
+ "parameter": {
122
+ "type": "object",
123
+ "properties": {
124
+ "research_topic": {
125
+ "type": "string",
126
+ "description": "The specific medical/research topic for literature review (e.g., 'efficacy of drug X in treating condition Y').",
127
+ "required": true
128
+ },
129
+ "literature_content": {
130
+ "type": "string",
131
+ "description": "The literature content, abstracts, full studies, or research papers to review and synthesize.",
132
+ "required": true
133
+ },
134
+ "focus_area": {
135
+ "type": "string",
136
+ "description": "Primary focus area for the review (e.g., 'therapeutic efficacy', 'safety profile', 'diagnostic accuracy', 'biomarker validation').",
137
+ "required": true
163
138
  },
164
- "configs": {
165
- "api_type": "CHATGPT",
166
- "model_id": "o4-mini-0416",
167
- "temperature": 1.0,
168
- "max_new_tokens": 8192,
169
- "return_json": false
139
+ "study_types": {
140
+ "type": "string",
141
+ "description": "Types of studies to prioritize in the analysis (e.g., 'randomized controlled trials', 'meta-analyses', 'cohort studies', 'case-control studies').",
142
+ "required": true
143
+ },
144
+ "quality_level": {
145
+ "type": "string",
146
+ "description": "Minimum evidence quality level to include (e.g., 'high quality only', 'moderate and above', 'all available evidence').",
147
+ "required": true
148
+ },
149
+ "review_scope": {
150
+ "type": "string",
151
+ "description": "Scope of the review (e.g., 'comprehensive systematic review', 'rapid review', 'scoping review', 'narrative review').",
152
+ "required": true
170
153
  }
154
+ },
155
+ "required": [
156
+ "research_topic",
157
+ "literature_content",
158
+ "focus_area",
159
+ "study_types",
160
+ "quality_level",
161
+ "review_scope"
162
+ ]
171
163
  },
172
- {
173
- "type": "AgenticTool",
174
- "name": "HypothesisGenerator",
175
- "description": "Generates research hypotheses based on provided background context, domain, and desired format. Uses AI to propose novel, testable hypotheses for scientific exploration.",
176
- "prompt": "You are an expert researcher in {domain}. Based on the following background context, generate {number_of_hypotheses} clear, focused, and testable research hypotheses.\n\nContext:\n{context}\n\nFormat (optional): {hypothesis_format}\n\nProvide each hypothesis as a concise statement that could be empirically investigated.",
177
- "input_arguments": [
178
- "context",
179
- "domain",
180
- "number_of_hypotheses",
181
- "hypothesis_format"
182
- ],
183
- "parameter": {
184
- "type": "object",
185
- "properties": {
186
- "context": {
187
- "type": "string",
188
- "description": "Background information, observations, or data description from which to derive hypotheses.",
189
- "required": true
190
- },
191
- "domain": {
192
- "type": "string",
193
- "description": "Field of study or research area (e.g., 'neuroscience', 'ecology', 'materials science').",
194
- "required": true
195
- },
196
- "number_of_hypotheses": {
197
- "type": "string",
198
- "description": "Number of hypotheses to generate (e.g., '3', '5').",
199
- "required": true
200
- },
201
- "hypothesis_format": {
202
- "type": "string",
203
- "description": "Optional directive on how to structure each hypothesis. Choose from one of the following formats:\n\n1. If–Then Statements: \"If [independent variable condition], then [expected outcome].\"\n2. Null and Alternative (Statistical):\n • H₀ (Null): \"There is no difference/effect/association between X and Y.\"\n • H₁ (Alt): \"There is a difference/effect/association between X and Y.\"\n3. Associative (Correlation-Focused): \"There is a relationship/association between [Variable A] and [Variable B].\"\n4. Directional (Non-If–Then): \"Increasing/decreasing [Variable A] will lead to [directional change] in [Variable B].\"\n5. Comparative (Group Comparison): \"Group A will show higher/lower [dependent measure] compared to Group B under [condition].\"\n6. Mechanistic: \"Because [mechanism or process], [Variable A] will cause [Variable B].\"\n7. Descriptive (Exploratory/Pattern-Oriented): \"Population X exhibits pattern Y in context Z.\"\n\nIf omitted, defaults to concise declarative sentences.",
204
- "default": "concise declarative sentences",
205
- "required": false
206
- }
207
- },
208
- "required": [
209
- "context",
210
- "domain",
211
- "number_of_hypotheses"
212
- ]
164
+ "configs": {
165
+ "api_type": "CHATGPT",
166
+ "model_id": "o4-mini-0416",
167
+ "temperature": 1.0,
168
+ "max_new_tokens": 8192,
169
+ "return_json": false
170
+ }
171
+ },
172
+ {
173
+ "type": "AgenticTool",
174
+ "name": "HypothesisGenerator",
175
+ "description": "Generates research hypotheses based on provided background context, domain, and desired format. Uses AI to propose novel, testable hypotheses for scientific exploration.",
176
+ "prompt": "You are an expert researcher in {domain}. Based on the following background context, generate {number_of_hypotheses} clear, focused, and testable research hypotheses.\n\nContext:\n{context}\n\nFormat (optional): {hypothesis_format}\n\nProvide each hypothesis as a concise statement that could be empirically investigated.",
177
+ "input_arguments": [
178
+ "context",
179
+ "domain",
180
+ "number_of_hypotheses",
181
+ "hypothesis_format"
182
+ ],
183
+ "parameter": {
184
+ "type": "object",
185
+ "properties": {
186
+ "context": {
187
+ "type": "string",
188
+ "description": "Background information, observations, or data description from which to derive hypotheses.",
189
+ "required": true
190
+ },
191
+ "domain": {
192
+ "type": "string",
193
+ "description": "Field of study or research area (e.g., 'neuroscience', 'ecology', 'materials science').",
194
+ "required": true
195
+ },
196
+ "number_of_hypotheses": {
197
+ "type": "string",
198
+ "description": "Number of hypotheses to generate (e.g., '3', '5').",
199
+ "required": true
213
200
  },
214
- "configs": {
215
- "api_type": "CHATGPT",
216
- "model_id": "o4-mini-0416",
217
- "temperature": 1.0,
218
- "max_new_tokens": 8192,
219
- "return_json": false
201
+ "hypothesis_format": {
202
+ "type": "string",
203
+ "description": "Optional directive on how to structure each hypothesis. Choose from one of the following formats:\n\n1. If–Then Statements: \"If [independent variable condition], then [expected outcome].\"\n2. Null and Alternative (Statistical):\n • H₀ (Null): \"There is no difference/effect/association between X and Y.\"\n • H₁ (Alt): \"There is a difference/effect/association between X and Y.\"\n3. Associative (Correlation-Focused): \"There is a relationship/association between [Variable A] and [Variable B].\"\n4. Directional (Non-If–Then): \"Increasing/decreasing [Variable A] will lead to [directional change] in [Variable B].\"\n5. Comparative (Group Comparison): \"Group A will show higher/lower [dependent measure] compared to Group B under [condition].\"\n6. Mechanistic: \"Because [mechanism or process], [Variable A] will cause [Variable B].\"\n7. Descriptive (Exploratory/Pattern-Oriented): \"Population X exhibits pattern Y in context Z.\"\n\nIf omitted, defaults to concise declarative sentences.",
204
+ "default": "concise declarative sentences",
205
+ "required": false
220
206
  }
207
+ },
208
+ "required": [
209
+ "context",
210
+ "domain",
211
+ "number_of_hypotheses"
212
+ ]
221
213
  },
222
- {
223
- "type": "AgenticTool",
224
- "name": "ExperimentalDesignScorer",
225
- "description": "Assesses a proposed experimental design by assigning scores and structured feedback on hypothesis clarity, variable definitions, sample size, controls, randomization, measurement methods, statistical analysis, bias mitigation, ethical considerations, and overall feasibility.",
226
- "prompt": "You are an expert in experimental design. The user has provided the following hypothesis and detailed description of their proposed experiment:\n\nHypothesis:\n{hypothesis}\n\nDesign Description:\n{design_description}\n\nFor each of the categories below, assign a score from 1 (poor) to 5 (excellent), then provide concise feedback explaining your rating and any suggestions for improvement:\n\n1. **Hypothesis Clarity & Alignment**\n - Score and feedback on whether the hypothesis is clearly stated, testable, and directly addressed by the design.\n\n2. **Variables & Controls**\n - Score and feedback on definition of independent, dependent, and control variables, and identification of any missing controls or confounds.\n\n3. **Sample Size & Randomization**\n - Score and feedback on justification of sample size (power analysis or effect-size rationale) and appropriateness of randomization/allocation methods.\n\n4. **Measurement & Data Collection**\n - Score and feedback on reliability and validity of measurement methods and clarity of data collection procedures.\n\n5. **Statistical Analysis Plan**\n - Score and feedback on suitability of proposed statistical tests, treatment of assumptions, and alignment with the hypothesis.\n\n6. **Bias & Limitations**\n - Score and feedback on identification and mitigation of potential biases, and discussion of key limitations.\n\n7. **Ethical & Practical Feasibility**\n - Score and feedback on ethical considerations (e.g., consent, welfare) and feasibility within time, resources, and equipment constraints.\n\n8. **Overall Feasibility & Recommendations**\n - Provide an overall feasibility score and 2–3 concrete recommendations to strengthen the design (e.g., additional controls, measurement improvements, blinding enhancements).",
227
- "input_arguments": [
228
- "hypothesis",
229
- "design_description"
230
- ],
231
- "parameter": {
232
- "type": "object",
233
- "properties": {
234
- "hypothesis": {
235
- "type": "string",
236
- "description": "A clear statement of the research hypothesis to be tested.",
237
- "required": true
238
- },
239
- "design_description": {
240
- "type": "string",
241
- "description": "A detailed description of the proposed experimental design, including variables, methods, sample details, and planned analyses.",
242
- "required": true
243
- }
244
- },
245
- "required": [
246
- "hypothesis",
247
- "design_description"
248
- ]
214
+ "configs": {
215
+ "api_type": "CHATGPT",
216
+ "model_id": "o4-mini-0416",
217
+ "temperature": 1.0,
218
+ "max_new_tokens": 8192,
219
+ "return_json": false
220
+ }
221
+ },
222
+ {
223
+ "type": "AgenticTool",
224
+ "name": "ExperimentalDesignScorer",
225
+ "description": "Assesses a proposed experimental design by assigning scores and structured feedback on hypothesis clarity, variable definitions, sample size, controls, randomization, measurement methods, statistical analysis, bias mitigation, ethical considerations, and overall feasibility.",
226
+ "prompt": "You are an expert in experimental design. The user has provided the following hypothesis and detailed description of their proposed experiment:\n\nHypothesis:\n{hypothesis}\n\nDesign Description:\n{design_description}\n\nFor each of the categories below, assign a score from 1 (poor) to 5 (excellent), then provide concise feedback explaining your rating and any suggestions for improvement:\n\n1. **Hypothesis Clarity & Alignment**\n - Score and feedback on whether the hypothesis is clearly stated, testable, and directly addressed by the design.\n\n2. **Variables & Controls**\n - Score and feedback on definition of independent, dependent, and control variables, and identification of any missing controls or confounds.\n\n3. **Sample Size & Randomization**\n - Score and feedback on justification of sample size (power analysis or effect-size rationale) and appropriateness of randomization/allocation methods.\n\n4. **Measurement & Data Collection**\n - Score and feedback on reliability and validity of measurement methods and clarity of data collection procedures.\n\n5. **Statistical Analysis Plan**\n - Score and feedback on suitability of proposed statistical tests, treatment of assumptions, and alignment with the hypothesis.\n\n6. **Bias & Limitations**\n - Score and feedback on identification and mitigation of potential biases, and discussion of key limitations.\n\n7. **Ethical & Practical Feasibility**\n - Score and feedback on ethical considerations (e.g., consent, welfare) and feasibility within time, resources, and equipment constraints.\n\n8. **Overall Feasibility & Recommendations**\n - Provide an overall feasibility score and 2–3 concrete recommendations to strengthen the design (e.g., additional controls, measurement improvements, blinding enhancements).",
227
+ "input_arguments": [
228
+ "hypothesis",
229
+ "design_description"
230
+ ],
231
+ "parameter": {
232
+ "type": "object",
233
+ "properties": {
234
+ "hypothesis": {
235
+ "type": "string",
236
+ "description": "A clear statement of the research hypothesis to be tested.",
237
+ "required": true
249
238
  },
250
- "configs": {
251
- "api_type": "CHATGPT",
252
- "model_id": "o4-mini-0416",
253
- "temperature": 1.0,
254
- "max_new_tokens": 8192,
255
- "return_json": false
239
+ "design_description": {
240
+ "type": "string",
241
+ "description": "A detailed description of the proposed experimental design, including variables, methods, sample details, and planned analyses.",
242
+ "required": true
256
243
  }
244
+ },
245
+ "required": [
246
+ "hypothesis",
247
+ "design_description"
248
+ ]
257
249
  },
258
- {
259
- "type": "AgenticTool",
260
- "name": "MedicalTermNormalizer",
261
- "description": "Identifies and corrects misspelled drug or disease names, returning a list of plausible standardized terms.",
262
- "prompt": "You are an expert in biomedical terminology. The user has given you one or more drug or disease names that may be misspelled or incomplete:\\n\\nInput:\\n{raw_terms}\\n\\nReturn **only** a JSON array (list) of all plausible standardized names—ordered from most to least likely. If you cannot identify any plausible terms, return an empty array.\\n\\nExample Input:\\n'aspirin'\\n\\nExample Output:\\n['Aspirin']\\n\\nDo not include any explanations or additional text in your response.",
263
- "input_arguments": [
264
- "raw_terms"
265
- ],
266
- "parameter": {
267
- "type": "object",
268
- "properties": {
269
- "raw_terms": {
270
- "type": "string",
271
- "description": "A comma- or whitespace-separated string containing one misspelled drug or disease name.",
272
- "required": true
273
- }
274
- },
275
- "required": [
276
- "raw_terms"
277
- ]
278
- },
279
- "configs": {
280
- "api_type": "CHATGPT",
281
- "model_id": "o4-mini-0416",
282
- "temperature": 1.0,
283
- "max_new_tokens": 2048,
284
- "return_json": true
250
+ "configs": {
251
+ "api_type": "CHATGPT",
252
+ "model_id": "o4-mini-0416",
253
+ "temperature": 1.0,
254
+ "max_new_tokens": 8192,
255
+ "return_json": false
256
+ }
257
+ },
258
+ {
259
+ "type": "AgenticTool",
260
+ "name": "MedicalTermNormalizer",
261
+ "description": "Identifies and corrects misspelled drug or disease names, returning a list of plausible standardized terms.",
262
+ "prompt": "You are an expert in biomedical terminology. The user has given you one or more drug or disease names that may be misspelled or incomplete:\\n\\nInput:\\n{raw_terms}\\n\\nReturn **only** a JSON array (list) of all plausible standardized names—ordered from most to least likely. If you cannot identify any plausible terms, return an empty array.\\n\\nExample Input:\\n'aspirin'\\n\\nExample Output:\\n['Aspirin']\\n\\nDo not include any explanations or additional text in your response.",
263
+ "input_arguments": [
264
+ "raw_terms"
265
+ ],
266
+ "parameter": {
267
+ "type": "object",
268
+ "properties": {
269
+ "raw_terms": {
270
+ "type": "string",
271
+ "description": "A comma- or whitespace-separated string containing one misspelled drug or disease name.",
272
+ "required": true
285
273
  }
274
+ },
275
+ "required": [
276
+ "raw_terms"
277
+ ]
286
278
  },
287
- {
288
- "type": "AgenticTool",
289
- "name": "NoveltySignificanceReviewer",
290
- "description": "Provides a structured peer-review of the work's originality and potential impact.",
291
- "prompt": "You are a journal peer reviewer with deep knowledge of the field. The user has supplied the manuscript below.\\n\\nTitle:\\n{paper_title}\\n\\nAbstract:\\n{abstract}\\n\\nFull Manuscript:\\n{manuscript_text}\\n\\nWrite a structured review that, for each criterion, first assigns a rating from 1 (very weak) to 5 (excellent) **followed by 2–3 sentences** justifying the rating and giving specific improvement advice.\\n\\n1. **Originality of Research Question**\\n2. **Contribution to the Field**\\n3. **Incremental vs. Ground-breaking Nature**\\n\\nEnd with 2-3 overarching recommendations to strengthen the manuscript's contribution.",
292
- "input_arguments": [
293
- "paper_title",
294
- "abstract",
295
- "manuscript_text"
296
- ],
297
- "parameter": {
298
- "type": "object",
299
- "properties": {
300
- "paper_title": {
301
- "type": "string",
302
- "description": "Manuscript title",
303
- "required": true
304
- },
305
- "abstract": {
306
- "type": "string",
307
- "description": "Manuscript abstract",
308
- "required": true
309
- },
310
- "manuscript_text": {
311
- "type": "string",
312
- "description": "Full manuscript text",
313
- "required": true
314
- }
315
- },
316
- "required": [
317
- "paper_title",
318
- "abstract",
319
- "manuscript_text"
320
- ]
279
+ "configs": {
280
+ "api_type": "CHATGPT",
281
+ "model_id": "o4-mini-0416",
282
+ "temperature": 1.0,
283
+ "max_new_tokens": 2048,
284
+ "return_json": true
285
+ }
286
+ },
287
+ {
288
+ "type": "AgenticTool",
289
+ "name": "NoveltySignificanceReviewer",
290
+ "description": "Provides a structured peer-review of the work's originality and potential impact.",
291
+ "prompt": "You are a journal peer reviewer with deep knowledge of the field. The user has supplied the manuscript below.\\n\\nTitle:\\n{paper_title}\\n\\nAbstract:\\n{abstract}\\n\\nFull Manuscript:\\n{manuscript_text}\\n\\nWrite a structured review that, for each criterion, first assigns a rating from 1 (very weak) to 5 (excellent) **followed by 2–3 sentences** justifying the rating and giving specific improvement advice.\\n\\n1. **Originality of Research Question**\\n2. **Contribution to the Field**\\n3. **Incremental vs. Ground-breaking Nature**\\n\\nEnd with 2-3 overarching recommendations to strengthen the manuscript's contribution.",
292
+ "input_arguments": [
293
+ "paper_title",
294
+ "abstract",
295
+ "manuscript_text"
296
+ ],
297
+ "parameter": {
298
+ "type": "object",
299
+ "properties": {
300
+ "paper_title": {
301
+ "type": "string",
302
+ "description": "Manuscript title",
303
+ "required": true
321
304
  },
322
- "configs": {
323
- "api_type": "CHATGPT",
324
- "model_id": "o4-mini-0416",
325
- "temperature": 1.0,
326
- "max_new_tokens": 8192,
327
- "return_json": false
305
+ "abstract": {
306
+ "type": "string",
307
+ "description": "Manuscript abstract",
308
+ "required": true
309
+ },
310
+ "manuscript_text": {
311
+ "type": "string",
312
+ "description": "Full manuscript text",
313
+ "required": true
328
314
  }
315
+ },
316
+ "required": [
317
+ "paper_title",
318
+ "abstract",
319
+ "manuscript_text"
320
+ ]
329
321
  },
330
- {
331
- "type": "AgenticTool",
332
- "name": "LiteratureContextReviewer",
333
- "description": "Reviews coverage, relevance, and critical synthesis of prior scholarship.",
334
- "prompt": "You are a journal peer reviewer. Assess the literature-review section below.\\n\\nTitle:\\n{paper_title}\\n\\nLiterature Review Section:\\n{literature_review}\\n\\nFor each item, give a 1-5 rating and 2–3 sentences of feedback plus missing-citation suggestions.\\n\\n1. **Comprehensiveness of Sources**\\n2. **Relevance & Accuracy of Summaries**\\n3. **Critical Synthesis & Gap Identification**",
335
- "input_arguments": [
336
- "paper_title",
337
- "literature_review"
338
- ],
339
- "parameter": {
340
- "type": "object",
341
- "properties": {
342
- "paper_title": {
343
- "type": "string",
344
- "required": true
345
- },
346
- "literature_review": {
347
- "type": "string",
348
- "description": "Full literature-review text",
349
- "required": true
350
- }
351
- },
352
- "required": [
353
- "paper_title",
354
- "literature_review"
355
- ]
322
+ "configs": {
323
+ "api_type": "CHATGPT",
324
+ "model_id": "o4-mini-0416",
325
+ "temperature": 1.0,
326
+ "max_new_tokens": 8192,
327
+ "return_json": false
328
+ }
329
+ },
330
+ {
331
+ "type": "AgenticTool",
332
+ "name": "LiteratureContextReviewer",
333
+ "description": "Reviews coverage, relevance, and critical synthesis of prior scholarship.",
334
+ "prompt": "You are a journal peer reviewer. Assess the literature-review section below.\\n\\nTitle:\\n{paper_title}\\n\\nLiterature Review Section:\\n{literature_review}\\n\\nFor each item, give a 1-5 rating and 2–3 sentences of feedback plus missing-citation suggestions.\\n\\n1. **Comprehensiveness of Sources**\\n2. **Relevance & Accuracy of Summaries**\\n3. **Critical Synthesis & Gap Identification**",
335
+ "input_arguments": [
336
+ "paper_title",
337
+ "literature_review"
338
+ ],
339
+ "parameter": {
340
+ "type": "object",
341
+ "properties": {
342
+ "paper_title": {
343
+ "type": "string",
344
+ "required": true
356
345
  },
357
- "configs": {
358
- "api_type": "CHATGPT",
359
- "model_id": "o4-mini-0416",
360
- "temperature": 1.0,
361
- "max_new_tokens": 8192,
362
- "return_json": false
346
+ "literature_review": {
347
+ "type": "string",
348
+ "description": "Full literature-review text",
349
+ "required": true
363
350
  }
351
+ },
352
+ "required": [
353
+ "paper_title",
354
+ "literature_review"
355
+ ]
364
356
  },
365
- {
366
- "type": "AgenticTool",
367
- "name": "MethodologyRigorReviewer",
368
- "description": "Evaluates design appropriateness, sampling, and procedural transparency.",
369
- "prompt": "You are a methodology peer reviewer. Critically appraise the Methods section below.\\n\\nMethods Section:\\n{methods_section}\\n\\nRate 1–5, then justify in 2–3 sentences for each:\\n\\n1. **Design Appropriateness to Research Question**\\n2. **Variable Definition & Operationalization Clarity**\\n3. **Sampling Strategy & Randomization Adequacy**\\n4. **Procedural Transparency (replicability)**\\n\\nConclude with the two most important methodological revisions you recommend.",
370
- "input_arguments": [
371
- "methods_section"
372
- ],
373
- "parameter": {
374
- "type": "object",
375
- "properties": {
376
- "methods_section": {
377
- "type": "string",
378
- "description": "Full Methods text",
379
- "required": true
380
- }
381
- },
382
- "required": [
383
- "methods_section"
384
- ]
385
- },
386
- "configs": {
387
- "api_type": "CHATGPT",
388
- "model_id": "o4-mini-0416",
389
- "temperature": 1.0,
390
- "max_new_tokens": 8192,
391
- "return_json": false
357
+ "configs": {
358
+ "api_type": "CHATGPT",
359
+ "model_id": "o4-mini-0416",
360
+ "temperature": 1.0,
361
+ "max_new_tokens": 8192,
362
+ "return_json": false
363
+ }
364
+ },
365
+ {
366
+ "type": "AgenticTool",
367
+ "name": "MethodologyRigorReviewer",
368
+ "description": "Evaluates design appropriateness, sampling, and procedural transparency.",
369
+ "prompt": "You are a methodology peer reviewer. Critically appraise the Methods section below.\\n\\nMethods Section:\\n{methods_section}\\n\\nRate 1–5, then justify in 2–3 sentences for each:\\n\\n1. **Design Appropriateness to Research Question**\\n2. **Variable Definition & Operationalization Clarity**\\n3. **Sampling Strategy & Randomization Adequacy**\\n4. **Procedural Transparency (replicability)**\\n\\nConclude with the two most important methodological revisions you recommend.",
370
+ "input_arguments": [
371
+ "methods_section"
372
+ ],
373
+ "parameter": {
374
+ "type": "object",
375
+ "properties": {
376
+ "methods_section": {
377
+ "type": "string",
378
+ "description": "Full Methods text",
379
+ "required": true
392
380
  }
381
+ },
382
+ "required": [
383
+ "methods_section"
384
+ ]
393
385
  },
394
- {
395
- "type": "AgenticTool",
396
- "name": "DataAnalysisValidityReviewer",
397
- "description": "Checks statistical choices, assumption testing, and reporting transparency.",
398
- "prompt": "You are the statistical reviewer for a journal. Examine the analysis plan and results below.\\n\\nStatistical Analysis Section:\\n{analysis_section}\\n\\nProvide a 1-5 rating and 2–3 sentences of critique for each criterion:\\n\\n1. **Appropriateness of Tests/Models**\\n2. **Assumption Verification & Remedies**\\n3. **Reporting Completeness (effect sizes, CIs, exact p-values)**\\n4. **Reproducibility (code/data availability)**\\n\\nSuggest any corrective analyses or transparency improvements.",
399
- "input_arguments": [
400
- "analysis_section"
401
- ],
402
- "parameter": {
403
- "type": "object",
404
- "properties": {
405
- "analysis_section": {
406
- "type": "string",
407
- "required": true
408
- }
409
- },
410
- "required": [
411
- "analysis_section"
412
- ]
413
- },
414
- "configs": {
415
- "api_type": "CHATGPT",
416
- "model_id": "o4-mini-0416",
417
- "temperature": 1.0,
418
- "max_new_tokens": 8192,
419
- "return_json": false
386
+ "configs": {
387
+ "api_type": "CHATGPT",
388
+ "model_id": "o4-mini-0416",
389
+ "temperature": 1.0,
390
+ "max_new_tokens": 8192,
391
+ "return_json": false
392
+ }
393
+ },
394
+ {
395
+ "type": "AgenticTool",
396
+ "name": "DataAnalysisValidityReviewer",
397
+ "description": "Checks statistical choices, assumption testing, and reporting transparency.",
398
+ "prompt": "You are the statistical reviewer for a journal. Examine the analysis plan and results below.\\n\\nStatistical Analysis Section:\\n{analysis_section}\\n\\nProvide a 1-5 rating and 2–3 sentences of critique for each criterion:\\n\\n1. **Appropriateness of Tests/Models**\\n2. **Assumption Verification & Remedies**\\n3. **Reporting Completeness (effect sizes, CIs, exact p-values)**\\n4. **Reproducibility (code/data availability)**\\n\\nSuggest any corrective analyses or transparency improvements.",
399
+ "input_arguments": [
400
+ "analysis_section"
401
+ ],
402
+ "parameter": {
403
+ "type": "object",
404
+ "properties": {
405
+ "analysis_section": {
406
+ "type": "string",
407
+ "required": true
420
408
  }
409
+ },
410
+ "required": [
411
+ "analysis_section"
412
+ ]
421
413
  },
422
- {
423
- "type": "AgenticTool",
424
- "name": "ResultsInterpretationReviewer",
425
- "description": "Judges whether conclusions are data-justified and limitations addressed.",
426
- "prompt": "You are a peer reviewer focusing on interpretation. Review the sections below.\\n\\nResults:\\n{results_section}\\n\\nDiscussion:\\n{discussion_section}\\n\\nFor each item, assign 1–5 and write 2–3 sentences of review:\\n\\n1. **Alignment of Claims with Data**\\n2. **Consideration of Alternative Explanations**\\n3. **Limitations & Future-Work Discussion**\\n\\nFinish with recommendations for improving interpretive balance and acknowledging uncertainties.",
427
- "input_arguments": [
428
- "results_section",
429
- "discussion_section"
430
- ],
431
- "parameter": {
432
- "type": "object",
433
- "properties": {
434
- "results_section": {
435
- "type": "string",
436
- "required": true
437
- },
438
- "discussion_section": {
439
- "type": "string",
440
- "required": true
441
- }
442
- },
443
- "required": [
444
- "results_section",
445
- "discussion_section"
446
- ]
414
+ "configs": {
415
+ "api_type": "CHATGPT",
416
+ "model_id": "o4-mini-0416",
417
+ "temperature": 1.0,
418
+ "max_new_tokens": 8192,
419
+ "return_json": false
420
+ }
421
+ },
422
+ {
423
+ "type": "AgenticTool",
424
+ "name": "ResultsInterpretationReviewer",
425
+ "description": "Judges whether conclusions are data-justified and limitations addressed.",
426
+ "prompt": "You are a peer reviewer focusing on interpretation. Review the sections below.\\n\\nResults:\\n{results_section}\\n\\nDiscussion:\\n{discussion_section}\\n\\nFor each item, assign 1–5 and write 2–3 sentences of review:\\n\\n1. **Alignment of Claims with Data**\\n2. **Consideration of Alternative Explanations**\\n3. **Limitations & Future-Work Discussion**\\n\\nFinish with recommendations for improving interpretive balance and acknowledging uncertainties.",
427
+ "input_arguments": [
428
+ "results_section",
429
+ "discussion_section"
430
+ ],
431
+ "parameter": {
432
+ "type": "object",
433
+ "properties": {
434
+ "results_section": {
435
+ "type": "string",
436
+ "required": true
447
437
  },
448
- "configs": {
449
- "api_type": "CHATGPT",
450
- "model_id": "o4-mini-0416",
451
- "temperature": 1.0,
452
- "max_new_tokens": 8192,
453
- "return_json": false
438
+ "discussion_section": {
439
+ "type": "string",
440
+ "required": true
454
441
  }
442
+ },
443
+ "required": [
444
+ "results_section",
445
+ "discussion_section"
446
+ ]
455
447
  },
456
- {
457
- "type": "AgenticTool",
458
- "name": "WritingPresentationReviewer",
459
- "description": "Assesses clarity, organization, grammar, and visual presentation quality.",
460
- "prompt": "You are a scientific writing reviewer. Evaluate the manuscript text below.\\n\\nManuscript:\\n{manuscript_text}\\n\\nRate 1–5 and give 2–3 sentences of feedback for:\\n\\n1. **Clarity & Conciseness of Writing**\\n2. **Logical Flow & Section Organization**\\n3. **Grammar, Style & Terminology Consistency**\\n4. **Figure/Table Quality & Caption Adequacy**\\n\\nProvide concrete examples of unclear sentences or formatting issues and suggest fixes.",
461
- "input_arguments": [
462
- "manuscript_text"
463
- ],
464
- "parameter": {
465
- "type": "object",
466
- "properties": {
467
- "manuscript_text": {
468
- "type": "string",
469
- "required": true
470
- }
471
- },
472
- "required": [
473
- "manuscript_text"
474
- ]
475
- },
476
- "configs": {
477
- "api_type": "CHATGPT",
478
- "model_id": "o4-mini-0416",
479
- "temperature": 1.0,
480
- "max_new_tokens": 8192,
481
- "return_json": false
448
+ "configs": {
449
+ "api_type": "CHATGPT",
450
+ "model_id": "o4-mini-0416",
451
+ "temperature": 1.0,
452
+ "max_new_tokens": 8192,
453
+ "return_json": false
454
+ }
455
+ },
456
+ {
457
+ "type": "AgenticTool",
458
+ "name": "WritingPresentationReviewer",
459
+ "description": "Assesses clarity, organization, grammar, and visual presentation quality.",
460
+ "prompt": "You are a scientific writing reviewer. Evaluate the manuscript text below.\\n\\nManuscript:\\n{manuscript_text}\\n\\nRate 1–5 and give 2–3 sentences of feedback for:\\n\\n1. **Clarity & Conciseness of Writing**\\n2. **Logical Flow & Section Organization**\\n3. **Grammar, Style & Terminology Consistency**\\n4. **Figure/Table Quality & Caption Adequacy**\\n\\nProvide concrete examples of unclear sentences or formatting issues and suggest fixes.",
461
+ "input_arguments": [
462
+ "manuscript_text"
463
+ ],
464
+ "parameter": {
465
+ "type": "object",
466
+ "properties": {
467
+ "manuscript_text": {
468
+ "type": "string",
469
+ "required": true
482
470
  }
471
+ },
472
+ "required": [
473
+ "manuscript_text"
474
+ ]
483
475
  },
484
- {
485
- "type": "AgenticTool",
486
- "name": "ReproducibilityTransparencyReviewer",
487
- "description": "Evaluates data, code, and protocol availability for replication.",
488
- "prompt": "You are a reproducibility reviewer. Analyze the statement below.\\n\\nData & Materials Availability Statement:\\n{availability_statement}\\n\\nFor each category, provide a 1-5 rating and 2–3 sentences of critique:\\n\\n1. **Data Accessibility & Documentation**\\n2. **Code/Software Availability & Licensing**\\n3. **Protocol & Materials Detail for Replication**\\n\\nNote embargoes or missing links and recommend steps to achieve full transparency.",
489
- "input_arguments": [
490
- "availability_statement"
491
- ],
492
- "parameter": {
493
- "type": "object",
494
- "properties": {
495
- "availability_statement": {
496
- "type": "string",
497
- "required": true
498
- }
499
- },
500
- "required": [
501
- "availability_statement"
502
- ]
503
- },
504
- "configs": {
505
- "api_type": "CHATGPT",
506
- "model_id": "o4-mini-0416",
507
- "temperature": 1.0,
508
- "max_new_tokens": 8192,
509
- "return_json": false
476
+ "configs": {
477
+ "api_type": "CHATGPT",
478
+ "model_id": "o4-mini-0416",
479
+ "temperature": 1.0,
480
+ "max_new_tokens": 8192,
481
+ "return_json": false
482
+ }
483
+ },
484
+ {
485
+ "type": "AgenticTool",
486
+ "name": "ReproducibilityTransparencyReviewer",
487
+ "description": "Evaluates data, code, and protocol availability for replication.",
488
+ "prompt": "You are a reproducibility reviewer. Analyze the statement below.\\n\\nData & Materials Availability Statement:\\n{availability_statement}\\n\\nFor each category, provide a 1-5 rating and 2–3 sentences of critique:\\n\\n1. **Data Accessibility & Documentation**\\n2. **Code/Software Availability & Licensing**\\n3. **Protocol & Materials Detail for Replication**\\n\\nNote embargoes or missing links and recommend steps to achieve full transparency.",
489
+ "input_arguments": [
490
+ "availability_statement"
491
+ ],
492
+ "parameter": {
493
+ "type": "object",
494
+ "properties": {
495
+ "availability_statement": {
496
+ "type": "string",
497
+ "required": true
510
498
  }
499
+ },
500
+ "required": [
501
+ "availability_statement"
502
+ ]
511
503
  },
512
- {
513
- "type": "AgenticTool",
514
- "name": "EthicalComplianceReviewer",
515
- "description": "Checks adherence to ethical standards and disclosure practices.",
516
- "prompt": "You are an ethics peer reviewer. Examine the statements below.\\n\\nEthics & Compliance Section:\\n{ethics_section}\\n\\nRate 1–5 with 2–3 sentences of feedback for each:\\n\\n1. **Approvals & Informed Consent**\\n2. **Participant/Subject Welfare Measures**\\n3. **Conflict of Interest & Funding Disclosure**\\n4. **Data Privacy & Security Protections**\\n\\nIdentify any deficiencies and specify actions required for compliance.",
517
- "input_arguments": [
518
- "ethics_section"
519
- ],
520
- "parameter": {
521
- "type": "object",
522
- "properties": {
523
- "ethics_section": {
524
- "type": "string",
525
- "required": true
526
- }
527
- },
528
- "required": [
529
- "ethics_section"
530
- ]
531
- },
532
- "configs": {
533
- "api_type": "CHATGPT",
534
- "model_id": "o4-mini-0416",
535
- "temperature": 1.0,
536
- "max_new_tokens": 8192,
537
- "return_json": false
504
+ "configs": {
505
+ "api_type": "CHATGPT",
506
+ "model_id": "o4-mini-0416",
507
+ "temperature": 1.0,
508
+ "max_new_tokens": 8192,
509
+ "return_json": false
510
+ }
511
+ },
512
+ {
513
+ "type": "AgenticTool",
514
+ "name": "EthicalComplianceReviewer",
515
+ "description": "Checks adherence to ethical standards and disclosure practices.",
516
+ "prompt": "You are an ethics peer reviewer. Examine the statements below.\\n\\nEthics & Compliance Section:\\n{ethics_section}\\n\\nRate 1–5 with 2–3 sentences of feedback for each:\\n\\n1. **Approvals & Informed Consent**\\n2. **Participant/Subject Welfare Measures**\\n3. **Conflict of Interest & Funding Disclosure**\\n4. **Data Privacy & Security Protections**\\n\\nIdentify any deficiencies and specify actions required for compliance.",
517
+ "input_arguments": [
518
+ "ethics_section"
519
+ ],
520
+ "parameter": {
521
+ "type": "object",
522
+ "properties": {
523
+ "ethics_section": {
524
+ "type": "string",
525
+ "required": true
538
526
  }
527
+ },
528
+ "required": [
529
+ "ethics_section"
530
+ ]
539
531
  },
540
- {
541
- "type": "AgenticTool",
542
- "name": "QuestionRephraser",
543
- "description": "Generates three distinct paraphrases of a given question while ensuring answer options remain valid and applicable.",
544
- "prompt": "You are an expert academic editor. Given the *question* text below, rewrite the question in three different ways that preserve the original meaning and difficulty. \n\n**Important requirements:**\n- **Do not** include any answer options (e.g., choices labeled A), B), C), etc.) in your rephrased questions\n- Ensure that the provided answer options will still be valid and applicable to each rephrased version\n- Maintain the same level of difficulty and specificity as the original question\n- Return *only* a JSON array containing the three re-phrased versions, in the order you create them\n\nQuestion:\n{question}\n\nAnswer Options (if provided):\n{options}",
545
- "input_arguments": [
546
- "question",
547
- "options"
548
- ],
549
- "parameter": {
550
- "type": "object",
551
- "properties": {
552
- "question": {
553
- "type": "string",
554
- "description": "The original question text to be rephrased",
555
- "required": true
556
- },
557
- "options": {
558
- "type": "string",
559
- "description": "Answer options (e.g., multiple choice options) that should remain valid for the rephrased questions. Leave empty if no options are provided.",
560
- "required": false
561
- }
562
- },
563
- "required": [
564
- "question"
565
- ]
532
+ "configs": {
533
+ "api_type": "CHATGPT",
534
+ "model_id": "o4-mini-0416",
535
+ "temperature": 1.0,
536
+ "max_new_tokens": 8192,
537
+ "return_json": false
538
+ }
539
+ },
540
+ {
541
+ "type": "AgenticTool",
542
+ "name": "QuestionRephraser",
543
+ "description": "Generates three distinct paraphrases of a given question while ensuring answer options remain valid and applicable.",
544
+ "prompt": "You are an expert academic editor. Given the *question* text below, rewrite the question in three different ways that preserve the original meaning and difficulty. \n\n**Important requirements:**\n- **Do not** include any answer options (e.g., choices labeled A), B), C), etc.) in your rephrased questions\n- Ensure that the provided answer options will still be valid and applicable to each rephrased version\n- Maintain the same level of difficulty and specificity as the original question\n- Return *only* a JSON array containing the three re-phrased versions, in the order you create them\n\nQuestion:\n{question}\n\nAnswer Options (if provided):\n{options}",
545
+ "input_arguments": [
546
+ "question",
547
+ "options"
548
+ ],
549
+ "parameter": {
550
+ "type": "object",
551
+ "properties": {
552
+ "question": {
553
+ "type": "string",
554
+ "description": "The original question text to be rephrased",
555
+ "required": true
566
556
  },
567
- "configs": {
568
- "api_type": "CHATGPT",
569
- "model_id": "o4-mini-0416",
570
- "temperature": 1.0,
571
- "max_new_tokens": 8192,
572
- "return_json": true
557
+ "options": {
558
+ "type": "string",
559
+ "description": "Answer options (e.g., multiple choice options) that should remain valid for the rephrased questions. Leave empty if no options are provided.",
560
+ "required": false
573
561
  }
562
+ },
563
+ "required": [
564
+ "question"
565
+ ]
574
566
  },
575
- {
576
- "type": "AgenticTool",
577
- "name": "ProtocolOptimizer",
578
- "description": "Reviews an initial protocol and delivers targeted revisions that improve clarity, feasibility, risk-management, and evaluation rigor.",
579
- "prompt": "You are a protocol-optimization specialist. Examine the initial protocol below.\\n\\nInitial Protocol:\\n{initial_protocol}\\n\\nFor each criterion, give a 1-to-5 rating followed by 2–3 sentences of feedback that include concrete revision suggestions:\\n\\n1. **Clarity & Completeness**\\n2. **Feasibility & Resource Efficiency**\\n3. **Risk Mitigation & Contingency Plans**\\n4. **Measurement & Evaluation Metrics**\\n\\nFinish with a prioritized action-item checklist that the author can follow to strengthen the protocol.",
580
- "input_arguments": [
581
- "initial_protocol"
582
- ],
583
- "parameter": {
584
- "type": "object",
585
- "properties": {
586
- "initial_protocol": {
587
- "type": "string",
588
- "required": true
589
- }
590
- },
591
- "required": [
592
- "initial_protocol"
593
- ]
594
- },
595
- "configs": {
596
- "api_type": "CHATGPT",
597
- "model_id": "o4-mini-0416",
598
- "temperature": 1.0,
599
- "max_new_tokens": 8192,
600
- "return_json": false
567
+ "configs": {
568
+ "api_type": "CHATGPT",
569
+ "model_id": "o4-mini-0416",
570
+ "temperature": 1.0,
571
+ "max_new_tokens": 8192,
572
+ "return_json": true
573
+ }
574
+ },
575
+ {
576
+ "type": "AgenticTool",
577
+ "name": "ProtocolOptimizer",
578
+ "description": "Reviews an initial protocol and delivers targeted revisions that improve clarity, feasibility, risk-management, and evaluation rigor.",
579
+ "prompt": "You are a protocol-optimization specialist. Examine the initial protocol below.\\n\\nInitial Protocol:\\n{initial_protocol}\\n\\nFor each criterion, give a 1-to-5 rating followed by 2–3 sentences of feedback that include concrete revision suggestions:\\n\\n1. **Clarity & Completeness**\\n2. **Feasibility & Resource Efficiency**\\n3. **Risk Mitigation & Contingency Plans**\\n4. **Measurement & Evaluation Metrics**\\n\\nFinish with a prioritized action-item checklist that the author can follow to strengthen the protocol.",
580
+ "input_arguments": [
581
+ "initial_protocol"
582
+ ],
583
+ "parameter": {
584
+ "type": "object",
585
+ "properties": {
586
+ "initial_protocol": {
587
+ "type": "string",
588
+ "required": true
601
589
  }
590
+ },
591
+ "required": [
592
+ "initial_protocol"
593
+ ]
602
594
  },
603
- {
604
- "type": "AgenticTool",
605
- "name": "TestCaseGenerator",
606
- "description": "Generates diverse and representative ToolUniverse tool call dictionaries for a given tool based on its parameter schema. Each tool call should be a JSON object with 'name' (the tool's name) and 'arguments' (a dict of input arguments), covering different parameter combinations, edge cases, and typical usage. Can generate targeted test cases based on previous optimization feedback.",
607
- "prompt": "You are an expert software tester. Generate 3-5 diverse ToolUniverse tool call dictionaries for the given tool configuration. Each tool call must be a JSON object with 'name' (tool name) and 'arguments' (input parameters).\n\nFEEDBACK-DRIVEN GENERATION:\nIf tool_config contains '_optimization_feedback' and '_iteration', generate targeted test cases addressing the specific issues mentioned in the feedback. Focus on edge cases, parameter combinations, or usage patterns that need better coverage.\n\nSTANDARD GENERATION:\nCover typical usage, edge cases, and boundary conditions when possible.\n\nTool configuration: {tool_config}\n\nReturn a JSON object with key 'test_cases' containing an array of test case objects. Example format:\n{\"test_cases\": [{\"name\":\"ToolName\",\"arguments\":{\"param\":\"value\"}},{\"name\":\"ToolName\",\"arguments\":{\"param\":123}}]}",
608
- "input_arguments": ["tool_config"],
609
- "parameter": {
610
- "type": "object",
611
- "properties": {
612
- "tool_config": {
613
- "type": "object",
614
- "description": "The full configuration of the tool to generate test cases for. May include '_optimization_feedback' and '_iteration' fields for feedback-driven test generation.",
615
- "required": true
616
- }
617
- },
618
- "required": ["tool_config"]
619
- },
620
- "configs": {
621
- "api_type": "CHATGPT",
622
- "model_id": "o4-mini-0416",
623
- "temperature": 1.0,
624
- "max_new_tokens": 4096,
625
- "return_json": true,
626
- "response_format": {"type": "json_object"}
595
+ "configs": {
596
+ "api_type": "CHATGPT",
597
+ "model_id": "o4-mini-0416",
598
+ "temperature": 1.0,
599
+ "max_new_tokens": 8192,
600
+ "return_json": false
601
+ }
602
+ },
603
+ {
604
+ "type": "AgenticTool",
605
+ "name": "TestCaseGenerator",
606
+ "description": "Generates diverse and representative ToolUniverse tool call dictionaries for a given tool based on its parameter schema. Each tool call should be a JSON object with 'name' (the tool's name) and 'arguments' (a dict of input arguments), covering different parameter combinations, edge cases, and typical usage. Can generate targeted test cases based on previous optimization feedback.",
607
+ "prompt": "You are an expert software tester. Generate 3-5 diverse ToolUniverse tool call dictionaries for the given tool configuration. Each tool call must be a JSON object with 'name' (tool name) and 'arguments' (input parameters).\n\nFEEDBACK-DRIVEN GENERATION:\nIf tool_config contains '_optimization_feedback' and '_iteration', generate targeted test cases addressing the specific issues mentioned in the feedback. Focus on edge cases, parameter combinations, or usage patterns that need better coverage.\n\nSTANDARD GENERATION:\nCover typical usage, edge cases, and boundary conditions when possible.\n\nTool configuration: {tool_config}\n\nReturn a JSON object with key 'test_cases' containing an array of test case objects. Example format:\n{\"test_cases\": [{\"name\":\"ToolName\",\"arguments\":{\"param\":\"value\"}},{\"name\":\"ToolName\",\"arguments\":{\"param\":123}}]}",
608
+ "input_arguments": [
609
+ "tool_config"
610
+ ],
611
+ "parameter": {
612
+ "type": "object",
613
+ "properties": {
614
+ "tool_config": {
615
+ "type": "object",
616
+ "description": "The full configuration of the tool to generate test cases for. May include '_optimization_feedback' and '_iteration' fields for feedback-driven test generation.",
617
+ "required": true
627
618
  }
619
+ },
620
+ "required": [
621
+ "tool_config"
622
+ ]
628
623
  },
629
- {
630
- "type": "AgenticTool",
631
- "name": "DescriptionAnalyzer",
632
- "description": "Analyzes a tool's original description and the results of multiple test cases, then suggests an improved description that is more accurate, comprehensive, and user-friendly. Optionally provides a rationale for the changes.",
633
- "prompt": "You are an expert technical writer and tool evaluator. Given the original description of a tool and the results of several test cases (inputs and outputs), analyze whether the description accurately reflects the tool's behavior. Suggest an improved description that is more precise, comprehensive, and user-friendly. Also provide a brief rationale for your changes.\n\nCRITICAL CONSTRAINTS - TOOL DESCRIPTION SCOPE:\n1. If the original description contains 'Previous optimization feedback:', use that feedback to guide your improvements and address the specific issues mentioned.\n2. The tool description should focus EXCLUSIVELY on the OVERALL PURPOSE and HIGH-LEVEL FUNCTIONALITY of the tool.\n3. NEVER include parameter-specific details, formats, or requirements in the tool description.\n4. NEVER mention specific parameter names, data types, or input requirements - these belong in parameter descriptions.\n5. Focus ONLY on: what the tool does, its primary use cases, what kind of output it provides, and its general behavior patterns.\n6. Avoid generic filler phrases like 'enabling workflows', 'supporting analysis', 'facilitating research' unless they add specific meaning.\n7. Every sentence must convey essential information about the tool's core functionality.\n8. Think of the tool description as answering 'What does this tool do?' with concrete, actionable information.\n\nOriginal description:\n{original_description}\n\nTest results:\n{test_results}\n\nReturn a JSON object with keys: 'optimized_description' and 'rationale'.",
634
- "input_arguments": ["original_description", "test_results"],
635
- "parameter": {
636
- "type": "object",
637
- "properties": {
638
- "original_description": {
639
- "type": "string",
640
- "description": "The original description of the tool.",
641
- "required": true
642
- },
643
- "test_results": {
644
- "type": "string",
645
- "description": "A JSON string containing a list of test case input/output pairs.",
646
- "required": true
647
- }
648
- },
649
- "required": ["original_description", "test_results"]
624
+ "configs": {
625
+ "api_type": "CHATGPT",
626
+ "model_id": "o4-mini-0416",
627
+ "temperature": 1.0,
628
+ "max_new_tokens": 4096,
629
+ "return_json": true,
630
+ "response_format": {
631
+ "type": "json_object"
632
+ }
633
+ }
634
+ },
635
+ {
636
+ "type": "AgenticTool",
637
+ "name": "DescriptionAnalyzer",
638
+ "description": "Analyzes a tool's original description and the results of multiple test cases, then suggests an improved description that is more accurate, comprehensive, and user-friendly. Optionally provides a rationale for the changes.",
639
+ "prompt": "You are an expert technical writer and tool evaluator. Given the original description of a tool and the results of several test cases (inputs and outputs), analyze whether the description accurately reflects the tool's behavior. Suggest an improved description that is more precise, comprehensive, and user-friendly. Also provide a brief rationale for your changes.\n\nCRITICAL CONSTRAINTS - TOOL DESCRIPTION SCOPE:\n1. If the original description contains 'Previous optimization feedback:', use that feedback to guide your improvements and address the specific issues mentioned.\n2. The tool description should focus EXCLUSIVELY on the OVERALL PURPOSE and HIGH-LEVEL FUNCTIONALITY of the tool.\n3. NEVER include parameter-specific details, formats, or requirements in the tool description.\n4. NEVER mention specific parameter names, data types, or input requirements - these belong in parameter descriptions.\n5. Focus ONLY on: what the tool does, its primary use cases, what kind of output it provides, and its general behavior patterns.\n6. Avoid generic filler phrases like 'enabling workflows', 'supporting analysis', 'facilitating research' unless they add specific meaning.\n7. Every sentence must convey essential information about the tool's core functionality.\n8. Think of the tool description as answering 'What does this tool do?' with concrete, actionable information.\n\nOriginal description:\n{original_description}\n\nTest results:\n{test_results}\n\nReturn a JSON object with keys: 'optimized_description' and 'rationale'.",
640
+ "input_arguments": [
641
+ "original_description",
642
+ "test_results"
643
+ ],
644
+ "parameter": {
645
+ "type": "object",
646
+ "properties": {
647
+ "original_description": {
648
+ "type": "string",
649
+ "description": "The original description of the tool.",
650
+ "required": true
650
651
  },
651
- "configs": {
652
- "api_type": "CHATGPT",
653
- "model_id": "o4-mini-0416",
654
- "temperature": 0.4,
655
- "max_new_tokens": 1024,
656
- "return_json": true
652
+ "test_results": {
653
+ "type": "string",
654
+ "description": "A JSON string containing a list of test case input/output pairs.",
655
+ "required": true
657
656
  }
657
+ },
658
+ "required": [
659
+ "original_description",
660
+ "test_results"
661
+ ]
658
662
  },
659
- {
660
- "type": "AgenticTool",
661
- "name": "ArgumentDescriptionOptimizer",
662
- "description": "Optimizes the descriptions of tool arguments/parameters based on test case results and actual usage patterns. Provides improved descriptions that are more accurate and user-friendly.",
663
- "prompt": "You are an expert technical writer specializing in API documentation. Given a tool's parameter schema and test case results, analyze how each parameter is used and optimize their descriptions to be clear, accurate, and concise.\n\nCRITICAL CONSTRAINTS - PARAMETER DESCRIPTION SCOPE:\n1. If the parameter schema contains '_previous_feedback', use that feedback to address specific issues and improve the parameter descriptions accordingly.\n2. Parameter descriptions should be HIGHLY SPECIFIC to each individual parameter.\n3. NEVER repeat or reference the main tool functionality - assume the user already knows what the tool does.\n4. Focus EXCLUSIVELY on parameter-specific details: data types, formats, constraints, valid values, required formats, examples when helpful.\n5. Each description should answer: 'What should I put in this specific parameter?' not 'What does the tool do?'\n6. Avoid generic phrases like 'for this tool', 'used by the tool', 'enables functionality' unless they provide specific technical context.\n7. Be precise about technical requirements (e.g., 'JSON string', 'integer between 1-100', 'URL format', etc.)\n8. Every word must serve a purpose - eliminate filler words and redundant phrases.\n\nOriginal parameter schema:\n{parameter_schema}\n\nTest results showing parameter usage:\n{test_results}\n\nFor each parameter, suggest an improved description that:\n1. Is brief but informative (1-2 sentences max)\n2. Accurately reflects the parameter's specific purpose, data type, and constraints\n3. Uses clear, simple language with precise technical details\n4. Avoids redundancy with the parameter name\n5. Addresses any issues mentioned in previous feedback\n6. Contains only essential information about what value should be provided\n\nReturn a JSON object with keys: 'optimized_parameters' (object with parameter names as keys and optimized descriptions as values) and 'rationale' (explaining the key changes made).",
664
- "input_arguments": ["parameter_schema", "test_results"],
665
- "parameter": {
666
- "type": "object",
667
- "properties": {
668
- "parameter_schema": {
669
- "type": "string",
670
- "description": "JSON string of the original parameter schema with properties and descriptions.",
671
- "required": true
672
- },
673
- "test_results": {
674
- "type": "string",
675
- "description": "A JSON string containing test case input/output pairs showing parameter usage.",
676
- "required": true
677
- }
678
- },
679
- "required": ["parameter_schema", "test_results"]
663
+ "configs": {
664
+ "api_type": "CHATGPT",
665
+ "model_id": "o4-mini-0416",
666
+ "temperature": 0.4,
667
+ "max_new_tokens": 1024,
668
+ "return_json": true
669
+ }
670
+ },
671
+ {
672
+ "type": "AgenticTool",
673
+ "name": "ArgumentDescriptionOptimizer",
674
+ "description": "Optimizes the descriptions of tool arguments/parameters based on test case results and actual usage patterns. Provides improved descriptions that are more accurate and user-friendly.",
675
+ "prompt": "You are an expert technical writer specializing in API documentation. Given a tool's parameter schema and test case results, analyze how each parameter is used and optimize their descriptions to be clear, accurate, and concise.\n\nCRITICAL CONSTRAINTS - PARAMETER DESCRIPTION SCOPE:\n1. If the parameter schema contains '_previous_feedback', use that feedback to address specific issues and improve the parameter descriptions accordingly.\n2. Parameter descriptions should be HIGHLY SPECIFIC to each individual parameter.\n3. NEVER repeat or reference the main tool functionality - assume the user already knows what the tool does.\n4. Focus EXCLUSIVELY on parameter-specific details: data types, formats, constraints, valid values, required formats, examples when helpful.\n5. Each description should answer: 'What should I put in this specific parameter?' not 'What does the tool do?'\n6. Avoid generic phrases like 'for this tool', 'used by the tool', 'enables functionality' unless they provide specific technical context.\n7. Be precise about technical requirements (e.g., 'JSON string', 'integer between 1-100', 'URL format', etc.)\n8. Every word must serve a purpose - eliminate filler words and redundant phrases.\n\nOriginal parameter schema:\n{parameter_schema}\n\nTest results showing parameter usage:\n{test_results}\n\nFor each parameter, suggest an improved description that:\n1. Is brief but informative (1-2 sentences max)\n2. Accurately reflects the parameter's specific purpose, data type, and constraints\n3. Uses clear, simple language with precise technical details\n4. Avoids redundancy with the parameter name\n5. Addresses any issues mentioned in previous feedback\n6. Contains only essential information about what value should be provided\n\nReturn a JSON object with keys: 'optimized_parameters' (object with parameter names as keys and optimized descriptions as values) and 'rationale' (explaining the key changes made).",
676
+ "input_arguments": [
677
+ "parameter_schema",
678
+ "test_results"
679
+ ],
680
+ "parameter": {
681
+ "type": "object",
682
+ "properties": {
683
+ "parameter_schema": {
684
+ "type": "string",
685
+ "description": "JSON string of the original parameter schema with properties and descriptions.",
686
+ "required": true
680
687
  },
681
- "configs": {
682
- "api_type": "CHATGPT",
683
- "model_id": "o4-mini-0416",
684
- "temperature": 1.0,
685
- "max_new_tokens": 1536,
686
- "return_json": true
688
+ "test_results": {
689
+ "type": "string",
690
+ "description": "A JSON string containing test case input/output pairs showing parameter usage.",
691
+ "required": true
687
692
  }
693
+ },
694
+ "required": [
695
+ "parameter_schema",
696
+ "test_results"
697
+ ]
688
698
  },
689
- {
690
- "type": "AgenticTool",
691
- "name": "DescriptionQualityEvaluator",
692
- "description": "Evaluates the quality of tool descriptions and parameter descriptions, providing a score and specific feedback for improvements.",
693
- "prompt": "You are an expert evaluator of technical documentation. Given a tool description, parameter descriptions, and test results, evaluate the quality and provide a score from 1-10 along with specific feedback.\n\nTool description:\n{tool_description}\n\nParameter descriptions:\n{parameter_descriptions}\n\nTest results:\n{test_results}\n\nEvaluate based on these criteria:\n1. Clarity and understandability (1-10)\n2. Accuracy based on test results (1-10)\n3. Completeness of information (1-10)\n4. Conciseness and meaningfulness - every sentence must serve a purpose (1-10)\n5. User-friendliness (1-10)\n6. Redundancy avoidance - tool description and parameter descriptions must not duplicate information (1-10)\n\nCRITICAL EVALUATION FOCUS:\n- Tool description should ONLY describe overall functionality and purpose, NOT parameter details\n- Parameter descriptions should ONLY describe specific parameter requirements, NOT tool functionality\n- Check for meaningless filler phrases like 'enabling workflows', 'supporting analysis', 'facilitating integration' - DEDUCT POINTS for vague language\n- Check for overlap: Does the tool description mention parameter names, formats, or specific input requirements? (DEDUCT POINTS)\n- Check for overlap: Do parameter descriptions repeat what the tool does overall? (DEDUCT POINTS)\n- Every sentence must convey essential, actionable information\n\nReturn a JSON object with:\n- 'overall_score': Average of all criteria scores (1-10)\n- 'criteria_scores': Object with individual scores for each criterion\n- 'feedback': Specific suggestions for improvement, identifying meaningless phrases and redundancy issues\n- 'is_satisfactory': Boolean indicating if quality is acceptable (score >= 8)\n- 'meaningfulness_analysis': Detailed explanation of any filler language or redundant information found",
694
- "input_arguments": ["tool_description", "parameter_descriptions", "test_results"],
695
- "parameter": {
696
- "type": "object",
697
- "properties": {
698
- "tool_description": {
699
- "type": "string",
700
- "description": "The tool description to evaluate.",
701
- "required": true
702
- },
703
- "parameter_descriptions": {
704
- "type": "string",
705
- "description": "JSON string of parameter names and their descriptions.",
706
- "required": true
707
- },
708
- "test_results": {
709
- "type": "string",
710
- "description": "JSON string containing test case results.",
711
- "required": true
712
- }
713
- },
714
- "required": ["tool_description", "parameter_descriptions", "test_results"]
699
+ "configs": {
700
+ "api_type": "CHATGPT",
701
+ "model_id": "o4-mini-0416",
702
+ "temperature": 1.0,
703
+ "max_new_tokens": 1536,
704
+ "return_json": true
705
+ }
706
+ },
707
+ {
708
+ "type": "AgenticTool",
709
+ "name": "DescriptionQualityEvaluator",
710
+ "description": "Evaluates the quality of tool descriptions and parameter descriptions, providing a score and specific feedback for improvements.",
711
+ "prompt": "You are an expert evaluator of technical documentation. Given a tool description, parameter descriptions, and test results, evaluate the quality and provide a score from 1-10 along with specific feedback.\n\nTool description:\n{tool_description}\n\nParameter descriptions:\n{parameter_descriptions}\n\nTest results:\n{test_results}\n\nEvaluate based on these criteria:\n1. Clarity and understandability (1-10)\n2. Accuracy based on test results (1-10)\n3. Completeness of information (1-10)\n4. Conciseness and meaningfulness - every sentence must serve a purpose (1-10)\n5. User-friendliness (1-10)\n6. Redundancy avoidance - tool description and parameter descriptions must not duplicate information (1-10)\n\nCRITICAL EVALUATION FOCUS:\n- Tool description should ONLY describe overall functionality and purpose, NOT parameter details\n- Parameter descriptions should ONLY describe specific parameter requirements, NOT tool functionality\n- Check for meaningless filler phrases like 'enabling workflows', 'supporting analysis', 'facilitating integration' - DEDUCT POINTS for vague language\n- Check for overlap: Does the tool description mention parameter names, formats, or specific input requirements? (DEDUCT POINTS)\n- Check for overlap: Do parameter descriptions repeat what the tool does overall? (DEDUCT POINTS)\n- Every sentence must convey essential, actionable information\n\nReturn a JSON object with:\n- 'overall_score': Average of all criteria scores (1-10)\n- 'criteria_scores': Object with individual scores for each criterion\n- 'feedback': Specific suggestions for improvement, identifying meaningless phrases and redundancy issues\n- 'is_satisfactory': Boolean indicating if quality is acceptable (score >= 8)\n- 'meaningfulness_analysis': Detailed explanation of any filler language or redundant information found",
712
+ "input_arguments": [
713
+ "tool_description",
714
+ "parameter_descriptions",
715
+ "test_results"
716
+ ],
717
+ "parameter": {
718
+ "type": "object",
719
+ "properties": {
720
+ "tool_description": {
721
+ "type": "string",
722
+ "description": "The tool description to evaluate.",
723
+ "required": true
715
724
  },
716
- "configs": {
717
- "api_type": "CHATGPT",
718
- "model_id": "o4-mini-0416",
719
- "temperature": 1.0,
720
- "max_new_tokens": 1024,
721
- "return_json": true
725
+ "parameter_descriptions": {
726
+ "type": "string",
727
+ "description": "JSON string of parameter names and their descriptions.",
728
+ "required": true
729
+ },
730
+ "test_results": {
731
+ "type": "string",
732
+ "description": "JSON string containing test case results.",
733
+ "required": true
722
734
  }
735
+ },
736
+ "required": [
737
+ "tool_description",
738
+ "parameter_descriptions",
739
+ "test_results"
740
+ ]
723
741
  },
724
- {
725
- "type": "AgenticTool",
726
- "name": "ToolSpecificationGenerator",
727
- "description": "Generates complete ToolUniverse-compliant tool specifications based on a description and analysis of similar existing tools. Creates comprehensive tool configurations including parameters, prompts, and metadata.",
728
- "prompt": "You are an expert tool architect specializing in ToolUniverse tool design. Generate a complete, valid ToolUniverse tool specification based on the provided requirements and analysis of similar tools.\n\n🚨 **CRITICAL REQUIREMENT**: For all tool types except AgenticTool, generate CUSTOM tool implementations with complete standalone code. Do NOT reference existing tool classes. Only use AgenticTool for subjective analysis tasks requiring LLM capabilities.\n\n**PACKAGE USAGE REQUIREMENT**: ALWAYS prioritize using existing, well-maintained Python packages over custom implementations. Leverage established libraries like pandas, numpy, scipy, requests, beautifulsoup4, biopython, etc. Only write custom algorithms when absolutely no suitable package exists.\n\nREQUIREMENTS:\nTool Description: {tool_description}\nTarget Category: {tool_category}\nTarget Type: {tool_type}\nSimilar Tools Analysis: {similar_tools}\nExisting Tools Context: {existing_tools_summary}\n\n**TOOL TYPE SELECTION LOGIC:**\n1. **AgenticTool**: Only for subjective tasks (analysis, interpretation, creative writing)\n2. **CustomTool**: For all computational, API, data processing tasks with complete custom implementation\n\n**FOR CustomTool (Complete custom implementation - PREFERRED for most tasks):**\n```json\n{\n \"type\": \"CustomTool\",\n \"name\": \"ToolName\",\n \"description\": \"Custom implementation for [specific functionality]\",\n \"implementation\": {\n \"language\": \"python\",\n \"dependencies\": [\"package1\", \"package2\"],\n \"installation_commands\": [\"pip install package1\", \"pip install package2\"],\n \"source_code\": \"import requests\\nimport json\\n\\ndef execute_tool(params):\\n # Complete implementation here\\n return result\",\n \"main_function\": \"execute_tool\",\n \"error_handling\": \"try-except blocks for robust error management\",\n \"validation\": \"input parameter validation logic\",\n \"documentation\": \"Complete usage documentation\"\n },\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": {\n \"input_param\": {\n \"type\": \"string\",\n \"description\": \"Description of input parameter\",\n \"required\": true\n }\n },\n \"required\": [\"input_param\"]\n },\n \"return_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"result\": {\"type\": \"string\", \"description\": \"Tool output description\"}\n }\n },\n \"testing\": {\n \"test_cases\": [\n {\n \"input\": {\"input_param\": \"test_value\"},\n \"expected_output_type\": \"object\",\n \"description\": \"Test case description\"\n }\n ],\n \"validation_method\": \"automated testing with assertions\"\n }\n}\n```\n\n**FOR AgenticTool (AI-powered tools - Only for subjective tasks):**\n```json\n{\n \"type\": \"AgenticTool\",\n \"name\": \"ToolName\",\n \"description\": \"AI-powered [subjective task] for [non-computational purpose]\",\n \"prompt\": \"Prompt template with {parameter_name} placeholders for subjective analysis\",\n \"input_arguments\": [\"param1\", \"param2\"],\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": {\n \"param1\": {\"type\": \"string\", \"description\": \"...\", \"required\": true}\n },\n \"required\": [\"param1\"]\n },\n \"configs\": {\n \"api_type\": \"CHATGPT\",\n \"model_id\": \"o4-mini-0416\",\n \"temperature\": 0.7,\n \"max_new_tokens\": 1024,\n \"return_json\": false\n }\n}\n```\n\n**GENERATION REQUIREMENTS:**\n1. **CUSTOM IMPLEMENTATION APPROACH**: For computational/API/data tasks, generate complete standalone Python code\n2. **NO EXISTING TOOL CLASSES**: Do not inherit from or reference PackageTool, RESTTool, XMLTool, etc.\n3. **REAL PACKAGES**: Use actual, installable Python packages (requests, pandas, numpy, etc.)\n4. **COMPLETE CODE**: Include full implementation with imports, error handling, and validation\n5. **TESTING READY**: Provide test cases and validation methods\n6. **AGENTICTOOL ONLY FOR SUBJECTIVE**: Use AgenticTool only for interpretation, analysis, creative tasks\n\n**QUALITY STANDARDS:**\n- Generate complete, executable Python code for CustomTool\n- Include real package dependencies and installation instructions\n- Provide comprehensive error handling and input validation\n- Ensure computational accuracy through established libraries\n- Only use AgenticTool for tasks requiring subjective judgment or LLM capabilities\n\nReturn ONLY a valid JSON object representing the complete tool configuration using the EXACT format for the chosen tool type. No additional text or explanations.",
729
- "input_arguments": ["tool_description", "tool_category", "tool_type", "similar_tools", "existing_tools_summary"],
730
- "parameter": {
731
- "type": "object",
732
- "properties": {
733
- "tool_description": {
734
- "type": "string",
735
- "description": "Brief description of the desired tool functionality and purpose.",
736
- "required": true
737
- },
738
- "tool_category": {
739
- "type": "string",
740
- "description": "Target category for the tool (e.g., 'biomedical', 'data_analysis', 'text_processing').",
741
- "required": true
742
- },
743
- "tool_type": {
744
- "type": "string",
745
- "description": "Specific ToolUniverse tool type (e.g., 'AgenticTool', 'RESTTool', 'PythonTool').",
746
- "required": true
747
- },
748
- "similar_tools": {
749
- "type": "string",
750
- "description": "JSON string containing configurations of similar existing tools for analysis and differentiation.",
751
- "required": true
752
- },
753
- "existing_tools_summary": {
754
- "type": "string",
755
- "description": "Summary of existing tools in the ecosystem to avoid duplication and identify gaps.",
756
- "required": true
757
- }
758
- },
759
- "required": ["tool_description", "tool_category", "tool_type", "similar_tools", "existing_tools_summary"]
742
+ "configs": {
743
+ "api_type": "CHATGPT",
744
+ "model_id": "o4-mini-0416",
745
+ "temperature": 1.0,
746
+ "max_new_tokens": 1024,
747
+ "return_json": true
748
+ }
749
+ },
750
+ {
751
+ "type": "AgenticTool",
752
+ "name": "ToolSpecificationGenerator",
753
+ "description": "Generates complete ToolUniverse-compliant tool specifications based on a description and analysis of similar existing tools. Creates comprehensive tool configurations including parameters, prompts, and metadata.",
754
+ "prompt": "You are an expert tool architect specializing in ToolUniverse tool design. Generate a complete, valid ToolUniverse tool specification based on the provided requirements and analysis of similar tools.\n\n🚨 **CRITICAL REQUIREMENT**: For all tool types except AgenticTool, generate CUSTOM tool implementations with complete standalone code. Do NOT reference existing tool classes. Only use AgenticTool for subjective analysis tasks requiring LLM capabilities.\n\n**PACKAGE USAGE REQUIREMENT**: ALWAYS prioritize using existing, well-maintained Python packages over custom implementations. Leverage established libraries like pandas, numpy, scipy, requests, beautifulsoup4, biopython, etc. Only write custom algorithms when absolutely no suitable package exists.\n\nREQUIREMENTS:\nTool Description: {tool_description}\nTarget Category: {tool_category}\nTarget Type: {tool_type}\nSimilar Tools Analysis: {similar_tools}\nExisting Tools Context: {existing_tools_summary}\n\n**TOOL TYPE SELECTION LOGIC:**\n1. **AgenticTool**: Only for subjective tasks (analysis, interpretation, creative writing)\n2. **CustomTool**: For all computational, API, data processing tasks with complete custom implementation\n\n**FOR CustomTool (Complete custom implementation - PREFERRED for most tasks):**\n```json\n{\n \"type\": \"CustomTool\",\n \"name\": \"ToolName\",\n \"description\": \"Custom implementation for [specific functionality]\",\n \"implementation\": {\n \"language\": \"python\",\n \"dependencies\": [\"package1\", \"package2\"],\n \"installation_commands\": [\"pip install package1\", \"pip install package2\"],\n \"source_code\": \"import requests\\nimport json\\n\\ndef execute_tool(params):\\n # Complete implementation here\\n return result\",\n \"main_function\": \"execute_tool\",\n \"error_handling\": \"try-except blocks for robust error management\",\n \"validation\": \"input parameter validation logic\",\n \"documentation\": \"Complete usage documentation\"\n },\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": {\n \"input_param\": {\n \"type\": \"string\",\n \"description\": \"Description of input parameter\",\n \"required\": true\n }\n },\n \"required\": [\"input_param\"]\n },\n \"return_schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"result\": {\"type\": \"string\", \"description\": \"Tool output description\"}\n }\n },\n \"testing\": {\n \"test_cases\": [\n {\n \"input\": {\"input_param\": \"test_value\"},\n \"expected_output_type\": \"object\",\n \"description\": \"Test case description\"\n }\n ],\n \"validation_method\": \"automated testing with assertions\"\n }\n}\n```\n\n**FOR AgenticTool (AI-powered tools - Only for subjective tasks):**\n```json\n{\n \"type\": \"AgenticTool\",\n \"name\": \"ToolName\",\n \"description\": \"AI-powered [subjective task] for [non-computational purpose]\",\n \"prompt\": \"Prompt template with {parameter_name} placeholders for subjective analysis\",\n \"input_arguments\": [\"param1\", \"param2\"],\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": {\n \"param1\": {\"type\": \"string\", \"description\": \"...\", \"required\": true}\n },\n \"required\": [\"param1\"]\n },\n \"configs\": {\n \"api_type\": \"CHATGPT\",\n \"model_id\": \"o4-mini-0416\",\n \"temperature\": 0.7,\n \"max_new_tokens\": 1024,\n \"return_json\": false\n }\n}\n```\n\n**GENERATION REQUIREMENTS:**\n1. **CUSTOM IMPLEMENTATION APPROACH**: For computational/API/data tasks, generate complete standalone Python code\n2. **NO EXISTING TOOL CLASSES**: Do not inherit from or reference PackageTool, RESTTool, XMLTool, etc.\n3. **REAL PACKAGES**: Use actual, installable Python packages (requests, pandas, numpy, etc.)\n4. **COMPLETE CODE**: Include full implementation with imports, error handling, and validation\n5. **TESTING READY**: Provide test cases and validation methods\n6. **AGENTICTOOL ONLY FOR SUBJECTIVE**: Use AgenticTool only for interpretation, analysis, creative tasks\n\n**QUALITY STANDARDS:**\n- Generate complete, executable Python code for CustomTool\n- Include real package dependencies and installation instructions\n- Provide comprehensive error handling and input validation\n- Ensure computational accuracy through established libraries\n- Only use AgenticTool for tasks requiring subjective judgment or LLM capabilities\n\nReturn ONLY a valid JSON object representing the complete tool configuration using the EXACT format for the chosen tool type. No additional text or explanations.",
755
+ "input_arguments": [
756
+ "tool_description",
757
+ "tool_category",
758
+ "tool_type",
759
+ "similar_tools",
760
+ "existing_tools_summary"
761
+ ],
762
+ "parameter": {
763
+ "type": "object",
764
+ "properties": {
765
+ "tool_description": {
766
+ "type": "string",
767
+ "description": "Brief description of the desired tool functionality and purpose.",
768
+ "required": true
760
769
  },
761
- "configs": {
762
- "api_type": "CHATGPT",
763
- "model_id": "o4-mini-0416",
764
- "temperature": 1.0,
765
- "max_new_tokens": 40960,
766
- "return_json": true
770
+ "tool_category": {
771
+ "type": "string",
772
+ "description": "Target category for the tool (e.g., 'biomedical', 'data_analysis', 'text_processing').",
773
+ "required": true
774
+ },
775
+ "tool_type": {
776
+ "type": "string",
777
+ "description": "Specific ToolUniverse tool type (e.g., 'AgenticTool', 'RESTTool', 'PythonTool').",
778
+ "required": true
779
+ },
780
+ "similar_tools": {
781
+ "type": "string",
782
+ "description": "JSON string containing configurations of similar existing tools for analysis and differentiation.",
783
+ "required": true
784
+ },
785
+ "existing_tools_summary": {
786
+ "type": "string",
787
+ "description": "Summary of existing tools in the ecosystem to avoid duplication and identify gaps.",
788
+ "required": true
767
789
  }
790
+ },
791
+ "required": [
792
+ "tool_description",
793
+ "tool_category",
794
+ "tool_type",
795
+ "similar_tools",
796
+ "existing_tools_summary"
797
+ ]
768
798
  },
769
- {
770
- "type": "AgenticTool",
771
- "name": "AdvancedCodeQualityAnalyzer",
772
- "description": "Performs deep analysis of code quality including complexity, security, performance, and maintainability metrics with domain-specific expertise",
773
- "prompt": "You are an expert code quality analyzer with deep knowledge in software engineering best practices. Analyze the provided source code and return a comprehensive quality assessment.\n\n## CODE TO ANALYZE\nLanguage: {language}\nAnalysis Depth: {analysis_depth}\nDomain Context: {domain_context}\n\nSource Code:\n```{language}\n{source_code}\n```\n\n## ANALYSIS FRAMEWORK\nAssess the code across these dimensions:\n\n### 1. CODE STRUCTURE (25%)\n- Function organization and modularity\n- Separation of concerns\n- Code architecture and design patterns\n- Logical flow and readability\n\n### 2. ERROR HANDLING (20%)\n- Exception handling completeness\n- Input validation robustness\n- Edge case coverage\n- Error message quality\n\n### 3. PERFORMANCE (15%)\n- Algorithm efficiency and complexity\n- Resource usage optimization\n- Scalability considerations\n- Memory management\n\n### 4. SECURITY (15%)\n- Input sanitization\n- Security vulnerability assessment\n- Data handling safety\n- Access control considerations\n\n### 5. MAINTAINABILITY (15%)\n- Code readability and clarity\n- Documentation quality\n- Naming conventions\n- Code reusability\n\n### 6. DOMAIN APPROPRIATENESS (10%)\n- Use of domain-specific algorithms\n- Adherence to field best practices\n- Appropriate library usage\n- Scientific/technical accuracy\n\n## RESPONSE FORMAT\nReturn a JSON object with detailed analysis:\n\n```json\n{\n \"overall_score\": <0-10>,\n \"category_scores\": {\n \"structure\": <0-10>,\n \"error_handling\": <0-10>,\n \"performance\": <0-10>,\n \"security\": <0-10>,\n \"maintainability\": <0-10>,\n \"domain_appropriateness\": <0-10>\n },\n \"issues\": [\n {\n \"category\": \"<category>\",\n \"severity\": \"low|medium|high|critical\",\n \"description\": \"<issue description>\",\n \"line_range\": \"<start-end if applicable>\",\n \"suggestion\": \"<improvement suggestion>\"\n }\n ],\n \"best_practices\": [\"<list of followed best practices>\"],\n \"recommendations\": [\n {\n \"priority\": \"high|medium|low\",\n \"action\": \"<specific recommendation>\",\n \"rationale\": \"<why this improvement is needed>\",\n \"estimated_impact\": \"<expected improvement>\"\n }\n ],\n \"metrics\": {\n \"lines_of_code\": <number>,\n \"cyclomatic_complexity\": \"<estimated>\",\n \"function_count\": <number>,\n \"comment_ratio\": \"<percentage>\"\n }\n}\n```",
774
- "input_arguments": [
775
- "source_code",
776
- "language",
777
- "analysis_depth",
778
- "domain_context"
779
- ],
780
- "parameter": {
781
- "type": "object",
782
- "properties": {
783
- "source_code": {
784
- "type": "string",
785
- "description": "The source code to analyze for quality assessment",
786
- "required": true
787
- },
788
- "language": {
789
- "type": "string",
790
- "description": "Programming language (python, javascript, etc.)",
791
- "default": "python",
792
- "required": false
793
- },
794
- "analysis_depth": {
795
- "type": "string",
796
- "enum": ["basic", "comprehensive", "security-focused"],
797
- "description": "Level of analysis depth to perform",
798
- "default": "comprehensive",
799
- "required": false
800
- },
801
- "domain_context": {
802
- "type": "string",
803
- "description": "Domain context for specialized analysis (e.g., bioinformatics, web development)",
804
- "required": false
805
- }
806
- },
807
- "required": ["source_code"]
799
+ "configs": {
800
+ "api_type": "CHATGPT",
801
+ "model_id": "o4-mini-0416",
802
+ "temperature": 1.0,
803
+ "max_new_tokens": 40960,
804
+ "return_json": true
805
+ }
806
+ },
807
+ {
808
+ "type": "AgenticTool",
809
+ "name": "AdvancedCodeQualityAnalyzer",
810
+ "description": "Performs deep analysis of code quality including complexity, security, performance, and maintainability metrics with domain-specific expertise",
811
+ "prompt": "You are an expert code quality analyzer with deep knowledge in software engineering best practices. Analyze the provided source code and return a comprehensive quality assessment.\n\n## CODE TO ANALYZE\nLanguage: {language}\nAnalysis Depth: {analysis_depth}\nDomain Context: {domain_context}\n\nSource Code:\n```{language}\n{source_code}\n```\n\n## ANALYSIS FRAMEWORK\nAssess the code across these dimensions:\n\n### 1. CODE STRUCTURE (25%)\n- Function organization and modularity\n- Separation of concerns\n- Code architecture and design patterns\n- Logical flow and readability\n\n### 2. ERROR HANDLING (20%)\n- Exception handling completeness\n- Input validation robustness\n- Edge case coverage\n- Error message quality\n\n### 3. PERFORMANCE (15%)\n- Algorithm efficiency and complexity\n- Resource usage optimization\n- Scalability considerations\n- Memory management\n\n### 4. SECURITY (15%)\n- Input sanitization\n- Security vulnerability assessment\n- Data handling safety\n- Access control considerations\n\n### 5. MAINTAINABILITY (15%)\n- Code readability and clarity\n- Documentation quality\n- Naming conventions\n- Code reusability\n\n### 6. DOMAIN APPROPRIATENESS (10%)\n- Use of domain-specific algorithms\n- Adherence to field best practices\n- Appropriate library usage\n- Scientific/technical accuracy\n\n## RESPONSE FORMAT\nReturn a JSON object with detailed analysis:\n\n```json\n{\n \"overall_score\": <0-10>,\n \"category_scores\": {\n \"structure\": <0-10>,\n \"error_handling\": <0-10>,\n \"performance\": <0-10>,\n \"security\": <0-10>,\n \"maintainability\": <0-10>,\n \"domain_appropriateness\": <0-10>\n },\n \"issues\": [\n {\n \"category\": \"<category>\",\n \"severity\": \"low|medium|high|critical\",\n \"description\": \"<issue description>\",\n \"line_range\": \"<start-end if applicable>\",\n \"suggestion\": \"<improvement suggestion>\"\n }\n ],\n \"best_practices\": [\"<list of followed best practices>\"],\n \"recommendations\": [\n {\n \"priority\": \"high|medium|low\",\n \"action\": \"<specific recommendation>\",\n \"rationale\": \"<why this improvement is needed>\",\n \"estimated_impact\": \"<expected improvement>\"\n }\n ],\n \"metrics\": {\n \"lines_of_code\": <number>,\n \"cyclomatic_complexity\": \"<estimated>\",\n \"function_count\": <number>,\n \"comment_ratio\": \"<percentage>\"\n }\n}\n```",
812
+ "input_arguments": [
813
+ "source_code",
814
+ "language",
815
+ "analysis_depth",
816
+ "domain_context"
817
+ ],
818
+ "parameter": {
819
+ "type": "object",
820
+ "properties": {
821
+ "source_code": {
822
+ "type": "string",
823
+ "description": "The source code to analyze for quality assessment",
824
+ "required": true
808
825
  },
809
- "configs": {
810
- "api_type": "CHATGPT",
811
- "model_id": "o4-mini-0416",
812
- "temperature": 0.1,
813
- "max_new_tokens": 3000,
814
- "return_json": true
826
+ "language": {
827
+ "type": "string",
828
+ "description": "Programming language (python, javascript, etc.)",
829
+ "default": "python",
830
+ "required": false
831
+ },
832
+ "analysis_depth": {
833
+ "type": "string",
834
+ "enum": [
835
+ "basic",
836
+ "comprehensive",
837
+ "security-focused"
838
+ ],
839
+ "description": "Level of analysis depth to perform",
840
+ "default": "comprehensive",
841
+ "required": false
842
+ },
843
+ "domain_context": {
844
+ "type": "string",
845
+ "description": "Domain context for specialized analysis (e.g., bioinformatics, web development)",
846
+ "required": false
815
847
  }
848
+ },
849
+ "required": [
850
+ "source_code"
851
+ ]
816
852
  },
817
- {
818
- "type": "AgenticTool",
819
- "name": "ToolImplementationGenerator",
820
- "description": "Generates domain-specific, functional code implementations based on tool descriptions and requirements with intelligent algorithm selection",
821
- "prompt": "You are an expert software engineer specializing in domain-specific implementations. Generate a complete, functional implementation based on the requirements.\n\n## IMPLEMENTATION REQUEST\nTool Description: {tool_description}\nDomain: {domain}\nComplexity Level: {complexity_level}\nPerformance Requirements: {performance_requirements}\n\nTool Parameters:\n{tool_parameters}\n\n## CRITICAL REQUIREMENT: USE EXISTING PACKAGES\n🚨 **ALWAYS PRIORITIZE EXISTING, WELL-MAINTAINED PACKAGES** over custom implementations. Your goal is to leverage the ecosystem of established, tested, and optimized libraries. **NEVER write custom algorithms unless absolutely no suitable package exists.**\n\n## PACKAGE SELECTION STRATEGY\n1. **FIRST CHOICE**: Use established, widely-adopted packages (e.g., pandas, numpy, scipy, requests, beautifulsoup4)\n2. **SECOND CHOICE**: Use domain-specific packages (e.g., biopython for bioinformatics, matplotlib for plotting)\n3. **THIRD CHOICE**: Use specialized libraries (e.g., opencv-python for computer vision, scikit-learn for ML)\n4. **LAST RESORT**: Only implement custom algorithms when no suitable package exists\n\n## REQUIREMENTS ANALYSIS\n1. Parse the tool description to understand core functionality\n2. **Research existing packages** that can solve this problem\n3. **Evaluate package suitability** (popularity, maintenance, performance)\n4. Design implementation using the best available packages\n5. Generate production-ready code with proper error handling\n\n## CODE GENERATION GUIDELINES\n- **ALWAYS check if an existing package can solve the problem**\n- Use established libraries and algorithms for the domain\n- Include comprehensive input validation\n- Implement proper error handling with meaningful messages\n- Add informative comments explaining the logic\n- Return structured results with validation status\n- Consider edge cases and handle them gracefully\n- Follow domain-specific best practices\n- **Document why you chose specific packages**\n\n## DOMAIN-SPECIFIC PACKAGE RECOMMENDATIONS\n\n### Bioinformatics Tools\n- **Biopython**: Sequence analysis, molecular calculations, file format handling\n- **scipy.stats**: Statistical analysis for biological data\n- **pandas**: Data manipulation and analysis\n- **numpy**: Numerical computations\n- **matplotlib/seaborn**: Data visualization\n\n### Mathematical Tools\n- **numpy**: Numerical methods, linear algebra, optimization\n- **scipy**: Scientific computing, optimization, signal processing\n- **sympy**: Symbolic mathematics\n- **pandas**: Data analysis and statistics\n- **matplotlib**: Mathematical plotting\n\n### Data Science Tools\n- **pandas**: Data manipulation and analysis\n- **numpy**: Numerical computations\n- **scipy**: Statistical methods and optimization\n- **scikit-learn**: Machine learning algorithms\n- **matplotlib/seaborn**: Data visualization\n\n### Web API Tools\n- **requests**: HTTP handling and API calls\n- **urllib3**: HTTP client library\n- **aiohttp**: Asynchronous HTTP client/server\n- **httpx**: Modern HTTP client\n- **beautifulsoup4**: HTML/XML parsing\n\n### Text Processing Tools\n- **nltk**: Natural language processing\n- **spaCy**: Advanced NLP\n- **textblob**: Simple text processing\n- **re**: Regular expressions (built-in)\n- **difflib**: Sequence matching (built-in)\n\n### General Purpose\n- **pathlib**: File path operations (built-in)\n- **json**: JSON handling (built-in)\n- **csv**: CSV file handling (built-in)\n- **datetime**: Date/time operations (built-in)\n- **collections**: Advanced data structures (built-in)\n\n## PACKAGE EVALUATION CRITERIA\nWhen choosing packages, consider:\n1. **Popularity**: GitHub stars, PyPI downloads, community size\n2. **Maintenance**: Recent updates, active development\n3. **Documentation**: Quality and completeness of docs\n4. **Performance**: Speed and memory efficiency\n5. **Compatibility**: Python version support, dependencies\n6. **License**: Open source, commercial-friendly\n\n## IMPLEMENTATION APPROACH\n1. **Research Phase**: Identify 2-3 candidate packages for the problem\n2. **Evaluation Phase**: Compare packages based on criteria above\n3. **Selection Phase**: Choose the best package and document why\n4. **Implementation Phase**: Use the selected package with proper error handling\n5. **Fallback Phase**: If package fails, implement minimal custom solution\n\n## RESPONSE FORMAT\nReturn a comprehensive JSON object:\n\n```json\n{\n \"implementation\": {\n \"source_code\": \"<complete Python function implementation>\",\n \"dependencies\": [\"<required packages>\"],\n \"imports\": [\"<import statements>\"],\n \"algorithm_description\": \"<explanation of chosen algorithm/approach>\",\n \"complexity\": \"<time/space complexity analysis>\",\n \"test_cases\": [\n {\n \"input\": \"<test input>\",\n \"expected_output\": \"<expected result>\",\n \"description\": \"<what this test validates>\"\n }\n ],\n \"package_justification\": \"<explanation of why specific packages were chosen>\",\n \"alternative_packages\": [\"<other packages considered but not chosen>\"]\n },\n \"quality_metrics\": {\n \"estimated_accuracy\": \"<accuracy assessment>\",\n \"performance_characteristics\": \"<performance description>\",\n \"robustness_level\": \"<error handling assessment>\"\n },\n \"documentation\": {\n \"usage_examples\": [\"<code examples>\"],\n \"parameter_explanations\": \"<detailed parameter descriptions>\",\n \"return_format\": \"<description of return value structure>\"\n }\n}\n```\n\n## FINAL REMINDER\n**ALWAYS prefer using existing, well-maintained packages over custom implementations.** Only write custom code when absolutely necessary. Your goal is to create robust, maintainable tools that leverage the Python ecosystem's strengths.",
822
- "input_arguments": [
823
- "tool_description",
824
- "tool_parameters",
825
- "domain",
826
- "complexity_level",
827
- "performance_requirements"
828
- ],
829
- "parameter": {
830
- "type": "object",
831
- "properties": {
832
- "tool_description": {
833
- "type": "string",
834
- "description": "Detailed description of what the tool should accomplish",
835
- "required": true
836
- },
837
- "tool_parameters": {
838
- "type": "string",
839
- "description": "JSON string of parameter schema for the tool",
840
- "required": true
841
- },
842
- "domain": {
843
- "type": "string",
844
- "description": "Domain area for specialized implementation",
845
- "enum": ["bioinformatics", "data-science", "web-api", "mathematical", "text-processing", "general"],
846
- "default": "general",
847
- "required": false
848
- },
849
- "complexity_level": {
850
- "type": "string",
851
- "enum": ["basic", "intermediate", "advanced"],
852
- "description": "Desired complexity level of implementation",
853
- "default": "intermediate",
854
- "required": false
855
- },
856
- "performance_requirements": {
857
- "type": "string",
858
- "description": "Performance requirements or constraints",
859
- "required": false
860
- }
861
- },
862
- "required": ["tool_description", "tool_parameters"]
853
+ "configs": {
854
+ "api_type": "CHATGPT",
855
+ "model_id": "o4-mini-0416",
856
+ "temperature": 0.1,
857
+ "max_new_tokens": 3000,
858
+ "return_json": true
859
+ }
860
+ },
861
+ {
862
+ "type": "AgenticTool",
863
+ "name": "ToolImplementationGenerator",
864
+ "description": "Generates domain-specific, functional code implementations based on tool descriptions and requirements with intelligent algorithm selection",
865
+ "prompt": "You are an expert software engineer specializing in domain-specific implementations. Generate a complete, functional implementation based on the requirements.\n\n## IMPLEMENTATION REQUEST\nTool Description: {tool_description}\nDomain: {domain}\nComplexity Level: {complexity_level}\nPerformance Requirements: {performance_requirements}\n\nTool Parameters:\n{tool_parameters}\n\n## CRITICAL REQUIREMENT: USE EXISTING PACKAGES\n🚨 **ALWAYS PRIORITIZE EXISTING, WELL-MAINTAINED PACKAGES** over custom implementations. Your goal is to leverage the ecosystem of established, tested, and optimized libraries. **NEVER write custom algorithms unless absolutely no suitable package exists.**\n\n## PACKAGE SELECTION STRATEGY\n1. **FIRST CHOICE**: Use established, widely-adopted packages (e.g., pandas, numpy, scipy, requests, beautifulsoup4)\n2. **SECOND CHOICE**: Use domain-specific packages (e.g., biopython for bioinformatics, matplotlib for plotting)\n3. **THIRD CHOICE**: Use specialized libraries (e.g., opencv-python for computer vision, scikit-learn for ML)\n4. **LAST RESORT**: Only implement custom algorithms when no suitable package exists\n\n## REQUIREMENTS ANALYSIS\n1. Parse the tool description to understand core functionality\n2. **Research existing packages** that can solve this problem\n3. **Evaluate package suitability** (popularity, maintenance, performance)\n4. Design implementation using the best available packages\n5. Generate production-ready code with proper error handling\n\n## CODE GENERATION GUIDELINES\n- **ALWAYS check if an existing package can solve the problem**\n- Use established libraries and algorithms for the domain\n- Include comprehensive input validation\n- Implement proper error handling with meaningful messages\n- Add informative comments explaining the logic\n- Return structured results with validation status\n- Consider edge cases and handle them gracefully\n- Follow domain-specific best practices\n- **Document why you chose specific packages**\n\n## DOMAIN-SPECIFIC PACKAGE RECOMMENDATIONS\n\n### Bioinformatics Tools\n- **Biopython**: Sequence analysis, molecular calculations, file format handling\n- **scipy.stats**: Statistical analysis for biological data\n- **pandas**: Data manipulation and analysis\n- **numpy**: Numerical computations\n- **matplotlib/seaborn**: Data visualization\n\n### Mathematical Tools\n- **numpy**: Numerical methods, linear algebra, optimization\n- **scipy**: Scientific computing, optimization, signal processing\n- **sympy**: Symbolic mathematics\n- **pandas**: Data analysis and statistics\n- **matplotlib**: Mathematical plotting\n\n### Data Science Tools\n- **pandas**: Data manipulation and analysis\n- **numpy**: Numerical computations\n- **scipy**: Statistical methods and optimization\n- **scikit-learn**: Machine learning algorithms\n- **matplotlib/seaborn**: Data visualization\n\n### Web API Tools\n- **requests**: HTTP handling and API calls\n- **urllib3**: HTTP client library\n- **aiohttp**: Asynchronous HTTP client/server\n- **httpx**: Modern HTTP client\n- **beautifulsoup4**: HTML/XML parsing\n\n### Text Processing Tools\n- **nltk**: Natural language processing\n- **spaCy**: Advanced NLP\n- **textblob**: Simple text processing\n- **re**: Regular expressions (built-in)\n- **difflib**: Sequence matching (built-in)\n\n### General Purpose\n- **pathlib**: File path operations (built-in)\n- **json**: JSON handling (built-in)\n- **csv**: CSV file handling (built-in)\n- **datetime**: Date/time operations (built-in)\n- **collections**: Advanced data structures (built-in)\n\n## PACKAGE EVALUATION CRITERIA\nWhen choosing packages, consider:\n1. **Popularity**: GitHub stars, PyPI downloads, community size\n2. **Maintenance**: Recent updates, active development\n3. **Documentation**: Quality and completeness of docs\n4. **Performance**: Speed and memory efficiency\n5. **Compatibility**: Python version support, dependencies\n6. **License**: Open source, commercial-friendly\n\n## IMPLEMENTATION APPROACH\n1. **Research Phase**: Identify 2-3 candidate packages for the problem\n2. **Evaluation Phase**: Compare packages based on criteria above\n3. **Selection Phase**: Choose the best package and document why\n4. **Implementation Phase**: Use the selected package with proper error handling\n5. **Fallback Phase**: If package fails, implement minimal custom solution\n\n## RESPONSE FORMAT\nReturn a comprehensive JSON object:\n\n```json\n{\n \"implementation\": {\n \"source_code\": \"<complete Python function implementation>\",\n \"dependencies\": [\"<required packages>\"],\n \"imports\": [\"<import statements>\"],\n \"algorithm_description\": \"<explanation of chosen algorithm/approach>\",\n \"complexity\": \"<time/space complexity analysis>\",\n \"test_cases\": [\n {\n \"input\": \"<test input>\",\n \"expected_output\": \"<expected result>\",\n \"description\": \"<what this test validates>\"\n }\n ],\n \"package_justification\": \"<explanation of why specific packages were chosen>\",\n \"alternative_packages\": [\"<other packages considered but not chosen>\"]\n },\n \"quality_metrics\": {\n \"estimated_accuracy\": \"<accuracy assessment>\",\n \"performance_characteristics\": \"<performance description>\",\n \"robustness_level\": \"<error handling assessment>\"\n },\n \"documentation\": {\n \"usage_examples\": [\"<code examples>\"],\n \"parameter_explanations\": \"<detailed parameter descriptions>\",\n \"return_format\": \"<description of return value structure>\"\n }\n}\n```\n\n## FINAL REMINDER\n**ALWAYS prefer using existing, well-maintained packages over custom implementations.** Only write custom code when absolutely necessary. Your goal is to create robust, maintainable tools that leverage the Python ecosystem's strengths.",
866
+ "input_arguments": [
867
+ "tool_description",
868
+ "tool_parameters",
869
+ "domain",
870
+ "complexity_level",
871
+ "performance_requirements"
872
+ ],
873
+ "parameter": {
874
+ "type": "object",
875
+ "properties": {
876
+ "tool_description": {
877
+ "type": "string",
878
+ "description": "Detailed description of what the tool should accomplish",
879
+ "required": true
880
+ },
881
+ "tool_parameters": {
882
+ "type": "string",
883
+ "description": "JSON string of parameter schema for the tool",
884
+ "required": true
885
+ },
886
+ "domain": {
887
+ "type": "string",
888
+ "description": "Domain area for specialized implementation",
889
+ "enum": [
890
+ "bioinformatics",
891
+ "data-science",
892
+ "web-api",
893
+ "mathematical",
894
+ "text-processing",
895
+ "general"
896
+ ],
897
+ "default": "general",
898
+ "required": false
863
899
  },
864
- "configs": {
865
- "api_type": "CHATGPT",
866
- "model_id": "o4-mini-0416",
867
- "temperature": 0.2,
868
- "max_new_tokens": 50000,
869
- "return_json": true
900
+ "complexity_level": {
901
+ "type": "string",
902
+ "enum": [
903
+ "basic",
904
+ "intermediate",
905
+ "advanced"
906
+ ],
907
+ "description": "Desired complexity level of implementation",
908
+ "default": "intermediate",
909
+ "required": false
910
+ },
911
+ "performance_requirements": {
912
+ "type": "string",
913
+ "description": "Performance requirements or constraints",
914
+ "required": false
870
915
  }
916
+ },
917
+ "required": [
918
+ "tool_description",
919
+ "tool_parameters"
920
+ ]
871
921
  },
872
- {
873
- "type": "AgenticTool",
874
- "name": "ToolSpecificationOptimizer",
875
- "description": "Optimizes tool specifications for clarity, completeness, and usability with comprehensive benchmarking against similar tools",
876
- "prompt": "You are an expert in tool design and user experience optimization. Analyze and optimize the provided tool specification for maximum effectiveness.\n\n## TOOL SPECIFICATION TO OPTIMIZE\nCurrent Configuration:\n{tool_config}\n\nOptimization Focus: {optimization_focus}\nTarget Audience: {target_audience}\n\nSimilar Tools for Benchmarking:\n{similar_tools}\n\n## OPTIMIZATION FRAMEWORK\n\n### 1. CLARITY ASSESSMENT\n- Description comprehensiveness and clarity\n- Parameter naming and documentation\n- Usage examples and guidance\n- Error message quality\n\n### 2. COMPLETENESS EVALUATION\n- Required vs optional parameters\n- Edge case handling\n- Output format specification\n- Documentation coverage\n\n### 3. USABILITY ANALYSIS\n- Ease of understanding for target audience\n- Parameter complexity and defaults\n- Error prevention design\n- Workflow integration\n\n### 4. PERFORMANCE OPTIMIZATION\n- Parameter validation efficiency\n- Resource usage considerations\n- Scalability factors\n- Response time optimization\n\n### 5. COMPARATIVE BENCHMARKING\n- Analyze similar tools for best practices\n- Identify competitive advantages\n- Address common user pain points\n- Incorporate proven design patterns\n\n## OPTIMIZATION PROCESS\n1. Evaluate current specification quality\n2. Identify improvement opportunities\n3. Benchmark against similar tools\n4. Generate optimized version\n5. Provide detailed rationale for changes\n\n## RESPONSE FORMAT\nReturn a comprehensive optimization report:\n\n```json\n{\n \"optimized_config\": {\n \"name\": \"<optimized name>\",\n \"description\": \"<improved description>\",\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": \"<optimized parameters>\",\n \"required\": \"<updated required fields>\"\n },\n \"examples\": [\"<usage examples>\"],\n \"metadata\": {\n \"tags\": [\"<relevant tags>\"],\n \"difficulty_level\": \"<user difficulty>\",\n \"estimated_execution_time\": \"<typical runtime>\"\n }\n },\n \"improvements\": [\n {\n \"area\": \"<improvement area>\",\n \"change\": \"<what was changed>\",\n \"rationale\": \"<why this improves the tool>\",\n \"impact\": \"<expected user impact>\"\n }\n ],\n \"quality_score\": {\n \"before\": \"<0-10>\",\n \"after\": \"<0-10>\",\n \"improvement\": \"<difference>\"\n },\n \"recommendations\": [\n {\n \"type\": \"enhancement|fix|optimization\",\n \"description\": \"<recommendation>\",\n \"priority\": \"high|medium|low\"\n }\n ]\n}\n```",
877
- "input_arguments": [
878
- "tool_config",
879
- "optimization_focus",
880
- "target_audience",
881
- "similar_tools"
882
- ],
883
- "parameter": {
884
- "type": "object",
885
- "properties": {
886
- "tool_config": {
887
- "type": "string",
888
- "description": "JSON string of current tool configuration to optimize",
889
- "required": true
890
- },
891
- "optimization_focus": {
892
- "type": "string",
893
- "enum": ["clarity", "completeness", "usability", "performance", "all"],
894
- "description": "Primary optimization focus",
895
- "default": "all",
896
- "required": false
897
- },
898
- "target_audience": {
899
- "type": "string",
900
- "enum": ["beginner", "intermediate", "expert", "mixed"],
901
- "description": "Target user expertise level",
902
- "default": "mixed",
903
- "required": false
904
- },
905
- "similar_tools": {
906
- "type": "string",
907
- "description": "JSON string array of similar tools for comparison and benchmarking",
908
- "required": false
909
- }
910
- },
911
- "required": ["tool_config"]
922
+ "configs": {
923
+ "api_type": "CHATGPT",
924
+ "model_id": "o4-mini-0416",
925
+ "temperature": 0.2,
926
+ "max_new_tokens": 50000,
927
+ "return_json": true
928
+ }
929
+ },
930
+ {
931
+ "type": "AgenticTool",
932
+ "name": "ToolSpecificationOptimizer",
933
+ "description": "Optimizes tool specifications for clarity, completeness, and usability with comprehensive benchmarking against similar tools",
934
+ "prompt": "You are an expert in tool design and user experience optimization. Analyze and optimize the provided tool specification for maximum effectiveness.\n\n## TOOL SPECIFICATION TO OPTIMIZE\nCurrent Configuration:\n{tool_config}\n\nOptimization Focus: {optimization_focus}\nTarget Audience: {target_audience}\n\nSimilar Tools for Benchmarking:\n{similar_tools}\n\n## OPTIMIZATION FRAMEWORK\n\n### 1. CLARITY ASSESSMENT\n- Description comprehensiveness and clarity\n- Parameter naming and documentation\n- Usage examples and guidance\n- Error message quality\n\n### 2. COMPLETENESS EVALUATION\n- Required vs optional parameters\n- Edge case handling\n- Output format specification\n- Documentation coverage\n\n### 3. USABILITY ANALYSIS\n- Ease of understanding for target audience\n- Parameter complexity and defaults\n- Error prevention design\n- Workflow integration\n\n### 4. PERFORMANCE OPTIMIZATION\n- Parameter validation efficiency\n- Resource usage considerations\n- Scalability factors\n- Response time optimization\n\n### 5. COMPARATIVE BENCHMARKING\n- Analyze similar tools for best practices\n- Identify competitive advantages\n- Address common user pain points\n- Incorporate proven design patterns\n\n## OPTIMIZATION PROCESS\n1. Evaluate current specification quality\n2. Identify improvement opportunities\n3. Benchmark against similar tools\n4. Generate optimized version\n5. Provide detailed rationale for changes\n\n## RESPONSE FORMAT\nReturn a comprehensive optimization report:\n\n```json\n{\n \"optimized_config\": {\n \"name\": \"<optimized name>\",\n \"description\": \"<improved description>\",\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": \"<optimized parameters>\",\n \"required\": \"<updated required fields>\"\n },\n \"examples\": [\"<usage examples>\"],\n \"metadata\": {\n \"tags\": [\"<relevant tags>\"],\n \"difficulty_level\": \"<user difficulty>\",\n \"estimated_execution_time\": \"<typical runtime>\"\n }\n },\n \"improvements\": [\n {\n \"area\": \"<improvement area>\",\n \"change\": \"<what was changed>\",\n \"rationale\": \"<why this improves the tool>\",\n \"impact\": \"<expected user impact>\"\n }\n ],\n \"quality_score\": {\n \"before\": \"<0-10>\",\n \"after\": \"<0-10>\",\n \"improvement\": \"<difference>\"\n },\n \"recommendations\": [\n {\n \"type\": \"enhancement|fix|optimization\",\n \"description\": \"<recommendation>\",\n \"priority\": \"high|medium|low\"\n }\n ]\n}\n```",
935
+ "input_arguments": [
936
+ "tool_config",
937
+ "optimization_focus",
938
+ "target_audience",
939
+ "similar_tools"
940
+ ],
941
+ "parameter": {
942
+ "type": "object",
943
+ "properties": {
944
+ "tool_config": {
945
+ "type": "string",
946
+ "description": "JSON string of current tool configuration to optimize",
947
+ "required": true
948
+ },
949
+ "optimization_focus": {
950
+ "type": "string",
951
+ "enum": [
952
+ "clarity",
953
+ "completeness",
954
+ "usability",
955
+ "performance",
956
+ "all"
957
+ ],
958
+ "description": "Primary optimization focus",
959
+ "default": "all",
960
+ "required": false
961
+ },
962
+ "target_audience": {
963
+ "type": "string",
964
+ "enum": [
965
+ "beginner",
966
+ "intermediate",
967
+ "expert",
968
+ "mixed"
969
+ ],
970
+ "description": "Target user expertise level",
971
+ "default": "mixed",
972
+ "required": false
912
973
  },
913
- "configs": {
914
- "api_type": "CHATGPT",
915
- "model_id": "o4-mini-0416",
916
- "temperature": 0.3,
917
- "max_new_tokens": 3500,
918
- "return_json": true
974
+ "similar_tools": {
975
+ "type": "string",
976
+ "description": "JSON string array of similar tools for comparison and benchmarking",
977
+ "required": false
919
978
  }
979
+ },
980
+ "required": [
981
+ "tool_config"
982
+ ]
920
983
  },
921
- {
922
- "type": "AgenticTool",
923
- "name": "DomainExpertValidator",
924
- "description": "Provides domain-specific validation and expert recommendations for tools with deep expertise across scientific and technical domains",
925
- "prompt": "You are a domain expert with deep knowledge in {domain}. Validate the tool from a domain-specific perspective and provide expert recommendations.\n\n## TOOL TO VALIDATE\nTool Configuration:\n{tool_config}\n\nValidation Aspects: {validation_aspects}\n\nImplementation Code (if available):\n```python\n{implementation_code}\n```\n\n## DOMAIN EXPERTISE VALIDATION FRAMEWORK\n\n### 1. SCIENTIFIC ACCURACY\n- Verify methods and algorithms are scientifically sound\n- Check mathematical/statistical correctness\n- Validate against established standards\n- Assess theoretical foundations\n\n### 2. BEST PRACTICES COMPLIANCE\n- Domain-specific best practices adherence\n- Industry standard compliance\n- Professional guidelines following\n- Ethical considerations\n\n### 3. STANDARDS COMPLIANCE\n- Relevant format standards (e.g., FASTA, JSON, XML)\n- API standards and protocols\n- Data interchange formats\n- Certification requirements\n\n### 4. METHODOLOGY ASSESSMENT\n- Algorithm selection appropriateness\n- Computational approach evaluation\n- Scalability and efficiency\n- Error handling robustness\n\n### 5. SAFETY AND ETHICS\n- Safety considerations and risk assessment\n- Ethical implications\n- Privacy and security concerns\n- Regulatory compliance\n\n### 6. PERFORMANCE EVALUATION\n- Computational efficiency for domain\n- Resource requirements assessment\n- Accuracy and precision expectations\n- Scalability considerations\n\n## DOMAIN-SPECIFIC VALIDATION CRITERIA\n\n### Bioinformatics/Computational Biology\n- Sequence format handling (FASTA, GenBank, etc.)\n- Algorithm complexity for biological data\n- Database integration standards\n- Biological validity of results\n\n### Data Science/Machine Learning\n- Statistical method validity\n- Data preprocessing requirements\n- Model validation approaches\n- Performance metric appropriateness\n\n### Mathematics/Physics\n- Numerical stability and precision\n- Mathematical correctness\n- Physical law compliance\n- Convergence criteria\n\n### Chemistry\n- Molecular representation standards\n- Chemical safety considerations\n- Reaction mechanism validity\n- Thermodynamic consistency\n\n### Web Development\n- Security best practices\n- API design standards\n- Scalability requirements\n- Performance optimization\n\n## RESPONSE FORMAT\nProvide comprehensive domain expert analysis:\n\n```json\n{\n \"validation_results\": {\n \"overall_validity\": \"<0-10>\",\n \"domain_appropriateness\": \"<0-10>\",\n \"methodology_score\": \"<0-10>\",\n \"standards_compliance\": \"<0-10>\"\n },\n \"expert_analysis\": {\n \"strengths\": [\"<domain-specific strengths>\"],\n \"concerns\": [\n {\n \"severity\": \"low|medium|high|critical\",\n \"area\": \"<concern area>\",\n \"description\": \"<detailed concern>\",\n \"impact\": \"<potential impact>\",\n \"recommendation\": \"<how to address>\"\n }\n ],\n \"missing_considerations\": [\"<important missing aspects>\"]\n },\n \"domain_recommendations\": [\n {\n \"type\": \"algorithm|library|approach|validation|standard\",\n \"recommendation\": \"<specific recommendation>\",\n \"rationale\": \"<domain expertise rationale>\",\n \"priority\": \"high|medium|low\",\n \"implementation_hint\": \"<how to implement>\"\n }\n ],\n \"compliance_check\": {\n \"standards_followed\": [\"<relevant standards>\"],\n \"standards_violations\": [\"<violations found>\"],\n \"certification_notes\": \"<certification/validation notes>\"\n }\n}\n```",
926
- "input_arguments": [
927
- "tool_config",
928
- "domain",
929
- "validation_aspects",
930
- "implementation_code"
931
- ],
932
- "parameter": {
933
- "type": "object",
934
- "properties": {
935
- "tool_config": {
936
- "type": "string",
937
- "description": "JSON string of tool configuration to validate",
938
- "required": true
939
- },
940
- "domain": {
941
- "type": "string",
942
- "description": "Domain expertise area for validation",
943
- "enum": ["bioinformatics", "computational-biology", "data-science", "machine-learning", "web-development", "mathematics", "chemistry", "physics", "general"],
944
- "required": true
945
- },
946
- "validation_aspects": {
947
- "type": "string",
948
- "description": "JSON array string of specific aspects to validate",
949
- "default": "[\"accuracy\", \"methodology\", \"best-practices\"]",
950
- "required": false
951
- },
952
- "implementation_code": {
953
- "type": "string",
954
- "description": "Implementation code to validate (optional)",
955
- "required": false
956
- }
957
- },
958
- "required": ["tool_config", "domain"]
984
+ "configs": {
985
+ "api_type": "CHATGPT",
986
+ "model_id": "o4-mini-0416",
987
+ "temperature": 0.3,
988
+ "max_new_tokens": 3500,
989
+ "return_json": true
990
+ }
991
+ },
992
+ {
993
+ "type": "AgenticTool",
994
+ "name": "DomainExpertValidator",
995
+ "description": "Provides domain-specific validation and expert recommendations for tools with deep expertise across scientific and technical domains",
996
+ "prompt": "You are a domain expert with deep knowledge in {domain}. Validate the tool from a domain-specific perspective and provide expert recommendations.\n\n## TOOL TO VALIDATE\nTool Configuration:\n{tool_config}\n\nValidation Aspects: {validation_aspects}\n\nImplementation Code (if available):\n```python\n{implementation_code}\n```\n\n## DOMAIN EXPERTISE VALIDATION FRAMEWORK\n\n### 1. SCIENTIFIC ACCURACY\n- Verify methods and algorithms are scientifically sound\n- Check mathematical/statistical correctness\n- Validate against established standards\n- Assess theoretical foundations\n\n### 2. BEST PRACTICES COMPLIANCE\n- Domain-specific best practices adherence\n- Industry standard compliance\n- Professional guidelines following\n- Ethical considerations\n\n### 3. STANDARDS COMPLIANCE\n- Relevant format standards (e.g., FASTA, JSON, XML)\n- API standards and protocols\n- Data interchange formats\n- Certification requirements\n\n### 4. METHODOLOGY ASSESSMENT\n- Algorithm selection appropriateness\n- Computational approach evaluation\n- Scalability and efficiency\n- Error handling robustness\n\n### 5. SAFETY AND ETHICS\n- Safety considerations and risk assessment\n- Ethical implications\n- Privacy and security concerns\n- Regulatory compliance\n\n### 6. PERFORMANCE EVALUATION\n- Computational efficiency for domain\n- Resource requirements assessment\n- Accuracy and precision expectations\n- Scalability considerations\n\n## DOMAIN-SPECIFIC VALIDATION CRITERIA\n\n### Bioinformatics/Computational Biology\n- Sequence format handling (FASTA, GenBank, etc.)\n- Algorithm complexity for biological data\n- Database integration standards\n- Biological validity of results\n\n### Data Science/Machine Learning\n- Statistical method validity\n- Data preprocessing requirements\n- Model validation approaches\n- Performance metric appropriateness\n\n### Mathematics/Physics\n- Numerical stability and precision\n- Mathematical correctness\n- Physical law compliance\n- Convergence criteria\n\n### Chemistry\n- Molecular representation standards\n- Chemical safety considerations\n- Reaction mechanism validity\n- Thermodynamic consistency\n\n### Web Development\n- Security best practices\n- API design standards\n- Scalability requirements\n- Performance optimization\n\n## RESPONSE FORMAT\nProvide comprehensive domain expert analysis:\n\n```json\n{\n \"validation_results\": {\n \"overall_validity\": \"<0-10>\",\n \"domain_appropriateness\": \"<0-10>\",\n \"methodology_score\": \"<0-10>\",\n \"standards_compliance\": \"<0-10>\"\n },\n \"expert_analysis\": {\n \"strengths\": [\"<domain-specific strengths>\"],\n \"concerns\": [\n {\n \"severity\": \"low|medium|high|critical\",\n \"area\": \"<concern area>\",\n \"description\": \"<detailed concern>\",\n \"impact\": \"<potential impact>\",\n \"recommendation\": \"<how to address>\"\n }\n ],\n \"missing_considerations\": [\"<important missing aspects>\"]\n },\n \"domain_recommendations\": [\n {\n \"type\": \"algorithm|library|approach|validation|standard\",\n \"recommendation\": \"<specific recommendation>\",\n \"rationale\": \"<domain expertise rationale>\",\n \"priority\": \"high|medium|low\",\n \"implementation_hint\": \"<how to implement>\"\n }\n ],\n \"compliance_check\": {\n \"standards_followed\": [\"<relevant standards>\"],\n \"standards_violations\": [\"<violations found>\"],\n \"certification_notes\": \"<certification/validation notes>\"\n }\n}\n```",
997
+ "input_arguments": [
998
+ "tool_config",
999
+ "domain",
1000
+ "validation_aspects",
1001
+ "implementation_code"
1002
+ ],
1003
+ "parameter": {
1004
+ "type": "object",
1005
+ "properties": {
1006
+ "tool_config": {
1007
+ "type": "string",
1008
+ "description": "JSON string of tool configuration to validate",
1009
+ "required": true
1010
+ },
1011
+ "domain": {
1012
+ "type": "string",
1013
+ "description": "Domain expertise area for validation",
1014
+ "enum": [
1015
+ "bioinformatics",
1016
+ "computational-biology",
1017
+ "data-science",
1018
+ "machine-learning",
1019
+ "web-development",
1020
+ "mathematics",
1021
+ "chemistry",
1022
+ "physics",
1023
+ "general"
1024
+ ],
1025
+ "required": true
1026
+ },
1027
+ "validation_aspects": {
1028
+ "type": "string",
1029
+ "description": "JSON array string of specific aspects to validate",
1030
+ "default": "[\"accuracy\", \"methodology\", \"best-practices\"]",
1031
+ "required": false
959
1032
  },
960
- "configs": {
961
- "api_type": "CHATGPT",
962
- "model_id": "o4-mini-0416",
963
- "temperature": 0.1,
964
- "max_new_tokens": 3500,
965
- "return_json": true
1033
+ "implementation_code": {
1034
+ "type": "string",
1035
+ "description": "Implementation code to validate (optional)",
1036
+ "required": false
966
1037
  }
1038
+ },
1039
+ "required": [
1040
+ "tool_config",
1041
+ "domain"
1042
+ ]
967
1043
  },
968
- {
969
- "type": "AgenticTool",
970
- "name": "ToolQualityEvaluator",
971
- "description": "Evaluates the quality of tool configurations and implementations. Provides detailed scoring and feedback for improvement.",
972
- "prompt": "You are a senior software architect. Evaluate this tool for quality and completeness:\n\nTool Configuration: {tool_config}\nTest Cases: {test_cases}\nEvaluation Aspects: {evaluation_aspects}\n\nProvide a comprehensive evaluation in this JSON format:\n{\n \"overall_score\": 8.5,\n \"scores\": {\n \"functionality\": 9.0,\n \"usability\": 8.0,\n \"completeness\": 8.5,\n \"best_practices\": 8.0\n },\n \"feedback\": {\n \"strengths\": [\"Clear parameter definitions\", \"Good error handling\"],\n \"weaknesses\": [\"Missing input validation\", \"Limited test coverage\"],\n \"suggestions\": [\"Add parameter validation\", \"Include more edge case tests\"]\n },\n \"quality_rating\": \"Excellent|Good|Fair|Poor\"\n}\n\nEvaluate based on:\n1. Parameter design quality\n2. Implementation robustness\n3. Error handling completeness\n4. Documentation clarity\n5. Test coverage adequacy\n6. Code quality and best practices\n7. Usability and user experience\n\nProvide specific, actionable feedback.",
973
- "input_arguments": [
974
- "tool_config",
975
- "test_cases",
976
- "evaluation_aspects"
977
- ],
978
- "parameter": {
979
- "type": "object",
980
- "properties": {
981
- "tool_config": {
982
- "type": "string",
983
- "description": "JSON string of the tool configuration"
984
- },
985
- "test_cases": {
986
- "type": "string",
987
- "description": "JSON string of test cases"
988
- },
989
- "evaluation_aspects": {
990
- "type": "array",
991
- "description": "Aspects to evaluate (functionality, usability, completeness, best_practices)"
992
- }
993
- },
994
- "required": ["tool_config"]
1044
+ "configs": {
1045
+ "api_type": "CHATGPT",
1046
+ "model_id": "o4-mini-0416",
1047
+ "temperature": 0.1,
1048
+ "max_new_tokens": 3500,
1049
+ "return_json": true
1050
+ }
1051
+ },
1052
+ {
1053
+ "type": "AgenticTool",
1054
+ "name": "ToolQualityEvaluator",
1055
+ "description": "Evaluates the quality of tool configurations and implementations. Provides detailed scoring and feedback for improvement.",
1056
+ "prompt": "You are a senior software architect. Evaluate this tool for quality and completeness:\n\nTool Configuration: {tool_config}\nTest Cases: {test_cases}\nEvaluation Aspects: {evaluation_aspects}\n\nProvide a comprehensive evaluation in this JSON format:\n{\n \"overall_score\": 8.5,\n \"scores\": {\n \"functionality\": 9.0,\n \"usability\": 8.0,\n \"completeness\": 8.5,\n \"best_practices\": 8.0\n },\n \"feedback\": {\n \"strengths\": [\"Clear parameter definitions\", \"Good error handling\"],\n \"weaknesses\": [\"Missing input validation\", \"Limited test coverage\"],\n \"suggestions\": [\"Add parameter validation\", \"Include more edge case tests\"]\n },\n \"quality_rating\": \"Excellent|Good|Fair|Poor\"\n}\n\nEvaluate based on:\n1. Parameter design quality\n2. Implementation robustness\n3. Error handling completeness\n4. Documentation clarity\n5. Test coverage adequacy\n6. Code quality and best practices\n7. Usability and user experience\n\nProvide specific, actionable feedback.",
1057
+ "input_arguments": [
1058
+ "tool_config",
1059
+ "test_cases",
1060
+ "evaluation_aspects"
1061
+ ],
1062
+ "parameter": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "tool_config": {
1066
+ "type": "string",
1067
+ "description": "JSON string of the tool configuration"
1068
+ },
1069
+ "test_cases": {
1070
+ "type": "string",
1071
+ "description": "JSON string of test cases"
995
1072
  },
996
- "configs": {
997
- "api_type": "CHATGPT",
998
- "model_id": "o4-mini-0416",
999
- "temperature": 0.2,
1000
- "max_new_tokens": 2048,
1001
- "return_json": true
1073
+ "evaluation_aspects": {
1074
+ "type": "array",
1075
+ "description": "Aspects to evaluate (functionality, usability, completeness, best_practices)"
1002
1076
  }
1077
+ },
1078
+ "required": [
1079
+ "tool_config",
1080
+ "test_cases",
1081
+ "evaluation_aspects"
1082
+ ]
1003
1083
  },
1004
- {
1005
- "type": "AgenticTool",
1006
- "name": "ToolOptimizer",
1007
- "description": "Optimizes tool configurations based on quality feedback. Improves tool specifications and implementations to address identified issues.",
1008
- "prompt": "You are an expert tool optimizer. Improve this tool based on the quality feedback:\n\nOriginal Tool Configuration: {tool_config}\nQuality Feedback: {quality_feedback}\nOptimization Target: {optimization_target}\n\nGenerate an optimized version in this JSON format:\n{\n \"optimized_tool\": {\n \"name\": \"improved_tool_name\",\n \"type\": \"tool_type\",\n \"description\": \"enhanced_description\",\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": []\n },\n \"category\": \"category\",\n \"implementation\": {\n \"source_code\": \"improved_code\",\n \"dependencies\": [],\n \"main_function\": \"execute_tool\"\n }\n },\n \"improvements_made\": [\n \"Added input validation\",\n \"Enhanced error handling\",\n \"Improved parameter descriptions\"\n ],\n \"optimization_notes\": \"Summary of key improvements\"\n}\n\nFocus on:\n1. Fixing identified weaknesses\n2. Enhancing parameter validation\n3. Improving error handling\n4. Adding missing functionality\n5. Optimizing for the specified target\n6. Maintaining backward compatibility where possible",
1009
- "input_arguments": [
1010
- "tool_config",
1011
- "quality_feedback",
1012
- "optimization_target"
1013
- ],
1014
- "parameter": {
1015
- "type": "object",
1016
- "properties": {
1017
- "tool_config": {
1018
- "type": "string",
1019
- "description": "JSON string of the original tool configuration"
1020
- },
1021
- "quality_feedback": {
1022
- "type": "string",
1023
- "description": "JSON string of quality evaluation feedback"
1024
- },
1025
- "optimization_target": {
1026
- "type": "string",
1027
- "description": "What to optimize for (improve_quality, enhance_performance, etc.)"
1028
- }
1029
- },
1030
- "required": ["tool_config", "quality_feedback"]
1084
+ "configs": {
1085
+ "api_type": "CHATGPT",
1086
+ "model_id": "o4-mini-0416",
1087
+ "temperature": 0.2,
1088
+ "max_new_tokens": 2048,
1089
+ "return_json": true
1090
+ }
1091
+ },
1092
+ {
1093
+ "type": "AgenticTool",
1094
+ "name": "ToolOptimizer",
1095
+ "description": "Optimizes tool configurations based on quality feedback. Improves tool specifications and implementations to address identified issues.",
1096
+ "prompt": "You are an expert tool optimizer. Improve this tool based on the quality feedback:\n\nOriginal Tool Configuration: {tool_config}\nQuality Feedback: {quality_feedback}\nOptimization Target: {optimization_target}\n\nGenerate an optimized version in this JSON format:\n{\n \"optimized_tool\": {\n \"name\": \"improved_tool_name\",\n \"type\": \"tool_type\",\n \"description\": \"enhanced_description\",\n \"parameter\": {\n \"type\": \"object\",\n \"properties\": {},\n \"required\": []\n },\n \"category\": \"category\",\n \"implementation\": {\n \"source_code\": \"improved_code\",\n \"dependencies\": [],\n \"main_function\": \"execute_tool\"\n }\n },\n \"improvements_made\": [\n \"Added input validation\",\n \"Enhanced error handling\",\n \"Improved parameter descriptions\"\n ],\n \"optimization_notes\": \"Summary of key improvements\"\n}\n\nFocus on:\n1. Fixing identified weaknesses\n2. Enhancing parameter validation\n3. Improving error handling\n4. Adding missing functionality\n5. Optimizing for the specified target\n6. Maintaining backward compatibility where possible",
1097
+ "input_arguments": [
1098
+ "tool_config",
1099
+ "quality_feedback",
1100
+ "optimization_target"
1101
+ ],
1102
+ "parameter": {
1103
+ "type": "object",
1104
+ "properties": {
1105
+ "tool_config": {
1106
+ "type": "string",
1107
+ "description": "JSON string of the original tool configuration"
1108
+ },
1109
+ "quality_feedback": {
1110
+ "type": "string",
1111
+ "description": "JSON string of quality evaluation feedback"
1031
1112
  },
1032
- "configs": {
1033
- "api_type": "CHATGPT",
1034
- "model_id": "o4-mini-0416",
1035
- "temperature": 0.3,
1036
- "max_new_tokens": 3072,
1037
- "return_json": true
1113
+ "optimization_target": {
1114
+ "type": "string",
1115
+ "description": "What to optimize for (improve_quality, enhance_performance, etc.)"
1038
1116
  }
1117
+ },
1118
+ "required": [
1119
+ "tool_config",
1120
+ "quality_feedback",
1121
+ "optimization_target"
1122
+ ]
1039
1123
  },
1040
- {
1041
- "type": "AgenticTool",
1042
- "name": "CodeOptimizer",
1043
- "description": "Optimizes code implementation for tools based on quality evaluation. Takes tool configuration and quality evaluation results to produce improved source code.",
1044
- "prompt": "You are an expert software engineer specializing in code optimization. Your task is to optimize the implementation code of a tool based on the provided configuration and quality evaluation.\n\n## TOOL CONFIGURATION\n{tool_config}\n\n## QUALITY EVALUATION\n{quality_evaluation}\n\n## OPTIMIZATION INSTRUCTIONS\nAnalyze the current implementation and quality evaluation feedback, then provide an optimized version that addresses the identified issues. Focus on:\n1. **Code Quality**: Improve readability, structure, and maintainability\n2. **Error Handling**: Enhance exception handling, input validation, and robustness\n3. **Performance**: Optimize algorithms, reduce complexity, improve efficiency\n4. **Best Practices**: Follow Python standards, proper documentation, and clean code principles\n\nReturn a JSON object with the following structure:\n```json\n{\n \"implementation\": {\n \"source_code\": \"<optimized_python_code>\",\n \"dependencies\": [\"<required_packages>\"],\n \"imports\": [\"<import_statements>\"],\n \"improvements_made\": [\"list of specific improvements based on quality evaluation feedback\"],\n \"addressed_issues\": [\"list of issues that were fixed\"],\n \"quality_improvements\": \"summary of overall quality improvements\"\n }\n}\n```\n\nEnsure the optimized code:\n- Maintains the same functionality as the original\n- Addresses the specific issues mentioned in quality evaluation feedback\n- Includes proper error handling and input validation\n- Follows Python best practices and PEP 8 standards\n- Is well-documented with clear docstrings and comments",
1045
- "input_arguments": [
1046
- "tool_config",
1047
- "quality_evaluation"
1048
- ],
1049
- "parameter": {
1050
- "type": "object",
1051
- "properties": {
1052
- "tool_config": {
1053
- "type": "string",
1054
- "description": "JSON string containing the complete tool configuration including current implementation",
1055
- "required": true
1056
- },
1057
- "quality_evaluation": {
1058
- "type": "string",
1059
- "description": "JSON string containing quality evaluation results and feedback",
1060
- "required": true
1061
- }
1062
- },
1063
- "required": [
1064
- "tool_config",
1065
- "quality_evaluation"
1066
- ]
1124
+ "configs": {
1125
+ "api_type": "CHATGPT",
1126
+ "model_id": "o4-mini-0416",
1127
+ "temperature": 0.3,
1128
+ "max_new_tokens": 3072,
1129
+ "return_json": true
1130
+ }
1131
+ },
1132
+ {
1133
+ "type": "AgenticTool",
1134
+ "name": "CodeOptimizer",
1135
+ "description": "Optimizes code implementation for tools based on quality evaluation. Takes tool configuration and quality evaluation results to produce improved source code.",
1136
+ "prompt": "You are an expert software engineer specializing in code optimization. Your task is to optimize the implementation code of a tool based on the provided configuration and quality evaluation.\n\n## TOOL CONFIGURATION\n{tool_config}\n\n## QUALITY EVALUATION\n{quality_evaluation}\n\n## OPTIMIZATION INSTRUCTIONS\nAnalyze the current implementation and quality evaluation feedback, then provide an optimized version that addresses the identified issues. Focus on:\n1. **Code Quality**: Improve readability, structure, and maintainability\n2. **Error Handling**: Enhance exception handling, input validation, and robustness\n3. **Performance**: Optimize algorithms, reduce complexity, improve efficiency\n4. **Best Practices**: Follow Python standards, proper documentation, and clean code principles\n\nReturn a JSON object with the following structure:\n```json\n{\n \"implementation\": {\n \"source_code\": \"<optimized_python_code>\",\n \"dependencies\": [\"<required_packages>\"],\n \"imports\": [\"<import_statements>\"],\n \"improvements_made\": [\"list of specific improvements based on quality evaluation feedback\"],\n \"addressed_issues\": [\"list of issues that were fixed\"],\n \"quality_improvements\": \"summary of overall quality improvements\"\n }\n}\n```\n\nEnsure the optimized code:\n- Maintains the same functionality as the original\n- Addresses the specific issues mentioned in quality evaluation feedback\n- Includes proper error handling and input validation\n- Follows Python best practices and PEP 8 standards\n- Is well-documented with clear docstrings and comments",
1137
+ "input_arguments": [
1138
+ "tool_config",
1139
+ "quality_evaluation"
1140
+ ],
1141
+ "parameter": {
1142
+ "type": "object",
1143
+ "properties": {
1144
+ "tool_config": {
1145
+ "type": "string",
1146
+ "description": "JSON string containing the complete tool configuration including current implementation",
1147
+ "required": true
1067
1148
  },
1068
- "configs": {
1069
- "api_type": "CHATGPT",
1070
- "model_id": "o4-mini-0416",
1071
- "temperature": 0.2,
1072
- "max_new_tokens": 4096,
1073
- "return_json": true
1149
+ "quality_evaluation": {
1150
+ "type": "string",
1151
+ "description": "JSON string containing quality evaluation results and feedback",
1152
+ "required": true
1074
1153
  }
1154
+ },
1155
+ "required": [
1156
+ "tool_config",
1157
+ "quality_evaluation"
1158
+ ]
1075
1159
  },
1076
- {
1077
- "type": "AgenticTool",
1078
- "name": "LabelGenerator",
1079
- "description": "Generates relevant keyword labels for tools based on their name, description, parameters, and category. Creates a comprehensive list of tags for tool discovery and categorization.",
1080
- "prompt": "You are an expert in tool categorization and keyword generation. Your task is to generate relevant, descriptive labels/keywords for a tool that will help with discovery and organization.\n\n## TOOL INFORMATION\n- **Tool Name**: {tool_name}\n- **Description**: {tool_description}\n- **Parameters**: {tool_parameters}\n- **Category**: {category}\n\n## EXISTING LABELS\n{existing_labels}\n\n## LABEL GENERATION INSTRUCTIONS\nAnalyze the tool information and generate a comprehensive list of relevant labels/keywords that:\n\n1. **Capture Tool Functionality**: What the tool does, its purpose\n2. **Describe Input/Output Types**: Data types, formats, domains\n3. **Indicate Use Cases**: When and where this tool would be useful\n4. **Reference Technical Domains**: Scientific fields, technologies, methodologies\n5. **Include Semantic Variations**: Synonyms, related terms, alternative descriptions\n\n## LABELING GUIDELINES\n- Generate 8-15 relevant labels\n- Use lowercase, hyphenated format (e.g., 'protein-analysis', 'molecular-weight')\n- Reuse existing labels (if provided) when the existing labels are a good fit. It is okay to generate new labels if the existing ones are not suitable, or if there is another label you think is fitting that is not in the existing labels set.\n- Include both specific and general terms\n- Avoid overly generic terms like 'tool', 'utility', 'helper'\n- Include domain-specific terminology when applicable\n- Consider both technical and user-friendly terms\n\n## EXAMPLES\nFor a protein sequence analyzer:\n- Technical: ['protein-analysis', 'sequence-processing', 'bioinformatics', 'amino-acid-composition']\n- Functional: ['molecular-biology', 'protein-characterization', 'structural-analysis']\n- Use-case: ['research-tool', 'computational-biology', 'biochemistry']\n\nReturn a JSON object with the following structure:\n```json\n{\n \"labels\": [\"keyword1\", \"keyword2\", \"keyword3\", ...],\n \"rationale\": \"Brief explanation of label selection strategy\"\n}\n```",
1081
- "input_arguments": [
1082
- "tool_name",
1083
- "tool_description",
1084
- "tool_parameters",
1085
- "category",
1086
- "existing_labels"
1087
- ],
1088
- "parameter": {
1089
- "type": "object",
1090
- "properties": {
1091
- "tool_name": {
1092
- "type": "string",
1093
- "description": "The name of the tool",
1094
- "required": true
1095
- },
1096
- "tool_description": {
1097
- "type": "string",
1098
- "description": "Detailed description of what the tool does",
1099
- "required": true
1100
- },
1101
- "tool_parameters": {
1102
- "type": "string",
1103
- "description": "JSON string describing the tool's input parameters and their types",
1104
- "required": true
1105
- },
1106
- "category": {
1107
- "type": "string",
1108
- "description": "The general category or domain the tool belongs to",
1109
- "required": true
1110
- },
1111
- "existing_labels": {
1112
- "type": "string",
1113
- "description": "JSON array string of existing labels to consider reusing (optional)",
1114
- "required": false
1115
- }
1116
- },
1117
- "required": [
1118
- "tool_name",
1119
- "tool_description",
1120
- "tool_parameters",
1121
- "category"
1122
- ]
1160
+ "configs": {
1161
+ "api_type": "CHATGPT",
1162
+ "model_id": "o4-mini-0416",
1163
+ "temperature": 0.2,
1164
+ "max_new_tokens": 4096,
1165
+ "return_json": true
1166
+ }
1167
+ },
1168
+ {
1169
+ "type": "AgenticTool",
1170
+ "name": "LabelGenerator",
1171
+ "description": "Generates relevant keyword labels for tools based on their name, description, parameters, and category. Creates a comprehensive list of tags for tool discovery and categorization.",
1172
+ "prompt": "You are an expert in tool categorization and keyword generation. Your task is to generate relevant, descriptive labels/keywords for a tool that will help with discovery and organization.\n\n## TOOL INFORMATION\n- **Tool Name**: {tool_name}\n- **Description**: {tool_description}\n- **Parameters**: {tool_parameters}\n- **Category**: {category}\n\n## EXISTING LABELS\n{existing_labels}\n\n## LABEL GENERATION INSTRUCTIONS\nAnalyze the tool information and generate a comprehensive list of relevant labels/keywords that:\n\n1. **Capture Tool Functionality**: What the tool does, its purpose\n2. **Describe Input/Output Types**: Data types, formats, domains\n3. **Indicate Use Cases**: When and where this tool would be useful\n4. **Reference Technical Domains**: Scientific fields, technologies, methodologies\n5. **Include Semantic Variations**: Synonyms, related terms, alternative descriptions\n\n## LABELING GUIDELINES\n- Generate 8-15 relevant labels\n- Use lowercase, hyphenated format (e.g., 'protein-analysis', 'molecular-weight')\n- Reuse existing labels (if provided) when the existing labels are a good fit. It is okay to generate new labels if the existing ones are not suitable, or if there is another label you think is fitting that is not in the existing labels set.\n- Include both specific and general terms\n- Avoid overly generic terms like 'tool', 'utility', 'helper'\n- Include domain-specific terminology when applicable\n- Consider both technical and user-friendly terms\n\n## EXAMPLES\nFor a protein sequence analyzer:\n- Technical: ['protein-analysis', 'sequence-processing', 'bioinformatics', 'amino-acid-composition']\n- Functional: ['molecular-biology', 'protein-characterization', 'structural-analysis']\n- Use-case: ['research-tool', 'computational-biology', 'biochemistry']\n\nReturn a JSON object with the following structure:\n```json\n{\n \"labels\": [\"keyword1\", \"keyword2\", \"keyword3\", ...],\n \"rationale\": \"Brief explanation of label selection strategy\"\n}\n```",
1173
+ "input_arguments": [
1174
+ "tool_name",
1175
+ "tool_description",
1176
+ "tool_parameters",
1177
+ "category",
1178
+ "existing_labels"
1179
+ ],
1180
+ "parameter": {
1181
+ "type": "object",
1182
+ "properties": {
1183
+ "tool_name": {
1184
+ "type": "string",
1185
+ "description": "The name of the tool",
1186
+ "required": true
1123
1187
  },
1124
- "configs": {
1125
- "api_type": "CHATGPT",
1126
- "model_id": "o4-mini-0416",
1127
- "temperature": 0.7,
1128
- "max_new_tokens": 2048,
1129
- "return_json": true
1188
+ "tool_description": {
1189
+ "type": "string",
1190
+ "description": "Detailed description of what the tool does",
1191
+ "required": true
1192
+ },
1193
+ "tool_parameters": {
1194
+ "type": "string",
1195
+ "description": "JSON string describing the tool's input parameters and their types",
1196
+ "required": true
1197
+ },
1198
+ "category": {
1199
+ "type": "string",
1200
+ "description": "The general category or domain the tool belongs to",
1201
+ "required": true
1202
+ },
1203
+ "existing_labels": {
1204
+ "type": "string",
1205
+ "description": "JSON array string of existing labels to consider reusing (optional)",
1206
+ "required": false
1130
1207
  }
1208
+ },
1209
+ "required": [
1210
+ "tool_name",
1211
+ "tool_description",
1212
+ "tool_parameters",
1213
+ "category"
1214
+ ]
1131
1215
  },
1132
- {
1133
- "type": "AgenticTool",
1134
- "name": "call_agentic_human",
1135
- "description": "Produces a concise, practical answer that emulates how a well-informed human would respond to the question.",
1136
- "prompt": "You are not an AI. You are a knowledgeable human expert speaking naturally. Read the user's question carefully and respond as a thoughtful person would, giving a clear, direct, and context-aware answer. Do not mention AI, ChatGPT, or models. If the question involves uncertainty or opinion, share a reasoned perspective in a human tone.\n\nQuestion: {question}\n\nAnswer:",
1137
- "input_arguments": [
1138
- "question"
1139
- ],
1140
- "parameter": {
1141
- "type": "object",
1142
- "properties": {
1143
- "question": {
1144
- "type": "string",
1145
- "description": "The user's question to be answered in a human-like manner.",
1146
- "required": true
1147
- }
1148
- },
1149
- "required": [
1150
- "question"
1151
- ]
1152
- },
1153
- "configs": {
1154
- "api_type": "CHATGPT",
1155
- "model_id": "o4-mini-0416",
1156
- "temperature": 0.7,
1157
- "max_new_tokens": 1024,
1158
- "return_json": false
1216
+ "configs": {
1217
+ "api_type": "CHATGPT",
1218
+ "model_id": "o4-mini-0416",
1219
+ "temperature": 0.7,
1220
+ "max_new_tokens": 2048,
1221
+ "return_json": true
1222
+ }
1223
+ },
1224
+ {
1225
+ "type": "AgenticTool",
1226
+ "name": "call_agentic_human",
1227
+ "description": "Produces a concise, practical answer that emulates how a well-informed human would respond to the question.",
1228
+ "prompt": "You are not an AI. You are a knowledgeable human expert speaking naturally. Read the user's question carefully and respond as a thoughtful person would, giving a clear, direct, and context-aware answer. Do not mention AI, ChatGPT, or models. If the question involves uncertainty or opinion, share a reasoned perspective in a human tone.\n\nQuestion: {question}\n\nAnswer:",
1229
+ "input_arguments": [
1230
+ "question"
1231
+ ],
1232
+ "parameter": {
1233
+ "type": "object",
1234
+ "properties": {
1235
+ "question": {
1236
+ "type": "string",
1237
+ "description": "The user's question to be answered in a human-like manner.",
1238
+ "required": true
1159
1239
  }
1240
+ },
1241
+ "required": [
1242
+ "question"
1243
+ ]
1160
1244
  },
1161
- {
1162
- "type": "AgenticTool",
1163
- "name": "ToolMetadataGenerator",
1164
- "description": "Generates a JSON structure with the metadata of a tool in ToolUniverse, given the JSON configuration of the tool.",
1165
- "prompt": "You are an expert in processing ToolUniverse tool configurations. Your task is to extract and generate key metadata from a given tool's JSON configuration and return it as a new, structured JSON object.\n\n**Input Tool Configuration:**\n```json\n{tool_config}\n```\n\n**Tool Type Mappings (for simplifying toolType):**\n```json\n{tool_type_mappings}\n```\n\n**Instructions:**\nFrom the input configuration, generate a new JSON object with the specified structure. All fields enclosed in '<','>' are placeholders for instructions; you should generate a specific value for the tool based on its configuration. Fields not in brackets should use the default values provided.\n\n**Output JSON Structure:**\n```json\n{\n \"id\": \"<generate a new uuid>\",\n \"name\": \"<extract from tool_config.name>\",\n \"description\": \"<extract and tool_config.description and slightly summarize it if it is too long>\",\n \"detailed_description\": \"<extract from tool_config.description>\",\n \"toolType\": \"<if tool_config.type or tool_config.name appears in tool_type_mappings dict in one of the lists (among the dict's values), extract the corresponding key and set it as the simplified toolType. otherwise, set toolType to be 'API' (the default)>\",\n \"tags\": [],\n \"category\": \"<extract from tool_config.type>\",\n \"lab\": \"Zitnik Lab\",\n \"source\": \"<extract the name of the database, package, model, or write 'Agentic'>\",\n \"version\": \"v1.0.0\",\n \"reviewed\": true,\n \"isValidated\": true,\n \"usageStats\": \"100+ uses\",\n \"capabilities\": [\n \"<list capabilities strictly derivable from tool_config>\"\n ],\n \"limitations\": [\n \"None for now\"\n ],\n \"parameters\": {<for each parameter key include an object with type and description>},\n \"inputSchema\": <echo tool_config.parameter exactly>,\n \"exampleInput\": {},\n \"apiEndpoints\": [\n {\n \"method\": \"MCP\",\n \"url\": \"https://tooluniversemcpserver.onrender.com/mcp/\"\n }\n ]\n}\n```\n\nReturn ONLY the final JSON object with no extra commentary.",
1166
- "input_arguments": [
1167
- "tool_config",
1168
- "tool_type_mappings"
1169
- ],
1170
- "parameter": {
1171
- "type": "object",
1172
- "properties": {
1173
- "tool_config": {
1174
- "type": "string",
1175
- "description": "JSON string of the tool configuration to extract metadata from",
1176
- "required": true
1177
- },
1178
- "tool_type_mappings": {
1179
- "type": "object",
1180
- "description": "A mapping from a simplified toolType to a list of tool_config.type that fall under the toolType (e.g., {'Databases': ['XMLTool']})",
1181
- "required": false
1182
- }
1183
- },
1184
- "required": [
1185
- "tool_config"
1186
- ]
1245
+ "configs": {
1246
+ "api_type": "CHATGPT",
1247
+ "model_id": "o4-mini-0416",
1248
+ "temperature": 0.7,
1249
+ "max_new_tokens": 1024,
1250
+ "return_json": false
1251
+ }
1252
+ },
1253
+ {
1254
+ "type": "AgenticTool",
1255
+ "name": "ToolMetadataGenerator",
1256
+ "description": "Generates a JSON structure with the metadata of a tool in ToolUniverse, given the JSON configuration of the tool.",
1257
+ "prompt": "You are an expert in processing ToolUniverse tool configurations. Your task is to extract and generate key metadata from a given tool's JSON configuration and return it as a new, structured JSON object.\n\n**Input Tool Configuration:**\n```json\n{tool_config}\n```\n\n**Tool Type Mappings (for simplifying toolType):**\n```json\n{tool_type_mappings}\n```\n\n**Instructions:**\nFrom the input configuration, generate a new JSON object with the specified structure. All fields enclosed in '<','>' are placeholders for instructions; you should generate a specific value for the tool based on its configuration. Fields not in brackets should use the default values provided.\n\n**Output JSON Structure:**\n```json\n{\n \"id\": \"<generate a new uuid>\",\n \"name\": \"<extract from tool_config.name>\",\n \"description\": \"<extract and tool_config.description and slightly summarize it if it is too long>\",\n \"detailed_description\": \"<extract from tool_config.description>\",\n \"toolType\": \"<if tool_config.type or tool_config.name appears in tool_type_mappings dict in one of the lists (among the dict's values), extract the corresponding key and set it as the simplified toolType. otherwise, set toolType to be 'API' (the default)>\",\n \"tags\": [],\n \"category\": \"<extract from tool_config.type>\",\n \"lab\": \"Zitnik Lab\",\n \"source\": \"<extract the name of the database, package, model, or write 'Agentic'>\",\n \"version\": \"v1.0.0\",\n \"reviewed\": true,\n \"isValidated\": true,\n \"usageStats\": \"100+ uses\",\n \"capabilities\": [\n \"<list capabilities strictly derivable from tool_config>\"\n ],\n \"limitations\": [\n \"None for now\"\n ],\n \"parameters\": {<for each parameter key include an object with type and description>},\n \"inputSchema\": <echo tool_config.parameter exactly>,\n \"exampleInput\": {},\n \"apiEndpoints\": [\n {\n \"method\": \"MCP\",\n \"url\": \"https://tooluniversemcpserver.onrender.com/mcp/\"\n }\n ]\n}\n```\n\nReturn ONLY the final JSON object with no extra commentary.",
1258
+ "input_arguments": [
1259
+ "tool_config",
1260
+ "tool_type_mappings"
1261
+ ],
1262
+ "parameter": {
1263
+ "type": "object",
1264
+ "properties": {
1265
+ "tool_config": {
1266
+ "type": "string",
1267
+ "description": "JSON string of the tool configuration to extract metadata from",
1268
+ "required": true
1187
1269
  },
1188
- "configs": {
1189
- "api_type": "CHATGPT",
1190
- "model_id": "o4-mini-0416",
1191
- "temperature": 0.7,
1192
- "max_new_tokens": 8192,
1193
- "return_json": true,
1194
- "return_metadata": false
1270
+ "tool_type_mappings": {
1271
+ "type": "object",
1272
+ "description": "A mapping from a simplified toolType to a list of tool_config.type that fall under the toolType (e.g., {'Databases': ['XMLTool']})",
1273
+ "required": false
1195
1274
  }
1275
+ },
1276
+ "required": [
1277
+ "tool_config"
1278
+ ]
1196
1279
  },
1197
- {
1198
- "type": "AgenticTool",
1199
- "name": "ToolMetadataStandardizer",
1200
- "description": "Standardizes and groups semantically equivalent metadata strings (e.g., sources, tags) into canonical forms for consistent downstream usage.",
1201
- "prompt": "You are an expert in metadata normalization and canonicalization. Given a list of raw metadata strings (sources, tags, categories, etc.), produce a JSON object that maps a SINGLE canonical (standardized) string to the list of ALL raw variants from the input that correspond to that canonical form.\n\nINPUT LIST (raw values):\n{metadata_list}\n\nOPTIONAL LIMIT:\n{limit}\n\nTASK:\nReturn ONLY a JSON object (no markdown, no explanations) of the form:\n{\n \"canonical_value_1\": [\"variant_a\", \"variant_b\"],\n \"canonical_value_2\": [\"variant_c\"],\n ...\n}\n\n**LIMIT CONSTRAINT:**\nIf a `limit` is provided, you MUST group terms more aggressively to ensure the number of canonical keys in the output JSON does not exceed the limit. Every raw string must still be mapped to one of the canonical strings. **However, this aggressive grouping must be balanced. Avoid creating overly broad, uninformative categories (e.g., 'data', 'science', 'metadata'). The canonical labels must still clearly distinguish between different technical capabilities and scientific fields.**\n\n**STANDARDIZATION RULES (apply in order):**\n\n**Part 1: Grammatical & Syntactic Normalization**\n1. Trim whitespace; collapse internal repeated whitespace to a single space.\n2. Case fold (lowercase) for comparison, but canonical output SHOULD use a clean, title or widely-recognized uppercase style for well-known acronyms (retain ALLCAPS for <=5 letter well-known biomedical / data acronyms like NCBI, FDA, NIH, EMA, WHO, API). For general words use lowercase-hyphen style (e.g., \"gene-expression\").\n3. Remove surrounding quotes and trailing punctuation (periods, commas, semicolons).\n4. Replace underscores, spaces, and consecutive separators with a single hyphen (e.g., 'Gene Expression', 'gene_expression' -> 'gene-expression').\n5. Treat hyphen and space variants as equivalent (protein-analysis == protein analysis).\n6. Singular vs plural: treat plural forms as the same (e.g., \"dataset\" and \"datasets\"). Use singular in canonical unless plural is the widely accepted form (e.g., 'omics').\n7. Common stop punctuation (&, /, :) removed unless they encode a standard acronym combination. For constructs like 'R&D' keep as 'R-and-d'.\n8. Strip leading articles (the, a, an) unless part of proper noun (e.g., 'The Cancer Genome Atlas' -> keep).\n9. Collapse obvious expansions to standard acronyms when unambiguous (\"national center for biotechnology information\" -> NCBI, \"food and drug administration\" -> FDA).\n10. If a term is already a concise, recognized proper noun or database name (e.g., 'DrugBank', 'ChEMBL', 'PubChem'), keep its conventional casing as canonical and group all variants to it.\n\n**Part 2: Semantic & Hierarchical Grouping (MOST IMPORTANT)**\n*After applying grammatical normalization, perform the following semantic groupings to create more general, reusable labels.*\n11. **Generalize Specific Terms:** This is the most critical rule. Collapse specific sub-topics into a broader, more general parent category. The goal is to make labels applicable across multiple tools. For example, group 'bioinformatics-ontology' and 'bioinformatics-library-overview' under the single canonical label 'bioinformatics'. **Crucially, do not over-generalize to the point of losing meaning. A category like 'bioinformatics' is good, but a category like 'science' is too broad and uninformative.**\n12. **Hierarchy Collapse:** If terms represent a clear parent-child relationship (e.g., 'genomics' and 'gene-expression-analysis'), group them under the more general parent term ('genomics').\n13. **Synonym & Function Grouping:** Group clear synonyms or terms describing the same function (e.g., 'visualization', 'plotting', 'charting') under a single canonical term (e.g., 'data-visualization').\n14. **Prioritize Broad Concepts:** When choosing a canonical key for a semantic group, always select the most general and widely understood term. For example, prefer 'protein-analysis' over 'protein-folding-simulation'.\n\n**Part 3: Final Output Formatting**\n15. Always include the original raw variants EXACTLY as they appeared in the input list (before any normalization) inside the variant arrays (deduplicate within each list, preserving original order of first appearance).\n16. The canonical key MUST be a clean, user-presentable string (no surrounding whitespace, no trailing punctuation).\n17. Every input value must appear in exactly one array in the output.\n\n**CANONICAL KEY SELECTION HEURISTICS (when multiple variants map to same group):\n- Prefer the most general, high-level concept (e.g., 'bioinformatics' over 'sequence-alignment').\n- Prefer widely recognized product / database / organization name with correct branding (DrugBank, PubChem, UniProt, Ensembl).\n- Else prefer the shortest unambiguous normalized form.\n- Else use hyphenated lowercase normalized form.\n\nOUTPUT REQUIREMENTS:\n- Pure JSON object.\n- Keys: canonical strings.\n- Values: arrays of raw variants (length >=1).\n- Do NOT return commentary, explanations, or fields other than the mapping.\n\nIf input list is empty, return {}.",
1202
- "input_arguments": [
1203
- "metadata_list",
1204
- "limit"
1205
- ],
1206
- "parameter": {
1207
- "type": "object",
1208
- "properties": {
1209
- "metadata_list": {
1210
- "type": "array",
1211
- "items": {
1212
- "type": "string"
1213
- },
1214
- "description": "List of raw metadata strings (e.g., sources, tags) to standardize and group.",
1215
- "required": true
1216
- },
1217
- "limit": {
1218
- "type": "integer",
1219
- "description": "If provided, the maximum number of canonical strings to return. The LLM will group terms more aggressively to meet this limit, ensuring all raw strings are mapped.",
1220
- "required": false
1221
- }
1222
- },
1223
- "required": [
1224
- "metadata_list"
1225
- ]
1280
+ "configs": {
1281
+ "api_type": "CHATGPT",
1282
+ "model_id": "o4-mini-0416",
1283
+ "temperature": 0.7,
1284
+ "max_new_tokens": 8192,
1285
+ "return_json": true,
1286
+ "return_metadata": false
1287
+ }
1288
+ },
1289
+ {
1290
+ "type": "AgenticTool",
1291
+ "name": "ToolMetadataStandardizer",
1292
+ "description": "Standardizes and groups semantically equivalent metadata strings (e.g., sources, tags) into canonical forms for consistent downstream usage.",
1293
+ "prompt": "You are an expert in metadata normalization and canonicalization. Given a list of raw metadata strings (sources, tags, categories, etc.), produce a JSON object that maps a SINGLE canonical (standardized) string to the list of ALL raw variants from the input that correspond to that canonical form.\n\nINPUT LIST (raw values):\n{metadata_list}\n\nOPTIONAL LIMIT:\n{limit}\n\nTASK:\nReturn ONLY a JSON object (no markdown, no explanations) of the form:\n{\n \"canonical_value_1\": [\"variant_a\", \"variant_b\"],\n \"canonical_value_2\": [\"variant_c\"],\n ...\n}\n\n**LIMIT CONSTRAINT:**\nIf a `limit` is provided, you MUST group terms more aggressively to ensure the number of canonical keys in the output JSON does not exceed the limit. Every raw string must still be mapped to one of the canonical strings. **However, this aggressive grouping must be balanced. Avoid creating overly broad, uninformative categories (e.g., 'data', 'science', 'metadata'). The canonical labels must still clearly distinguish between different technical capabilities and scientific fields.**\n\n**STANDARDIZATION RULES (apply in order):**\n\n**Part 1: Grammatical & Syntactic Normalization**\n1. Trim whitespace; collapse internal repeated whitespace to a single space.\n2. Case fold (lowercase) for comparison, but canonical output SHOULD use a clean, title or widely-recognized uppercase style for well-known acronyms (retain ALLCAPS for <=5 letter well-known biomedical / data acronyms like NCBI, FDA, NIH, EMA, WHO, API). For general words use lowercase-hyphen style (e.g., \"gene-expression\").\n3. Remove surrounding quotes and trailing punctuation (periods, commas, semicolons).\n4. Replace underscores, spaces, and consecutive separators with a single hyphen (e.g., 'Gene Expression', 'gene_expression' -> 'gene-expression').\n5. Treat hyphen and space variants as equivalent (protein-analysis == protein analysis).\n6. Singular vs plural: treat plural forms as the same (e.g., \"dataset\" and \"datasets\"). Use singular in canonical unless plural is the widely accepted form (e.g., 'omics').\n7. Common stop punctuation (&, /, :) removed unless they encode a standard acronym combination. For constructs like 'R&D' keep as 'R-and-d'.\n8. Strip leading articles (the, a, an) unless part of proper noun (e.g., 'The Cancer Genome Atlas' -> keep).\n9. Collapse obvious expansions to standard acronyms when unambiguous (\"national center for biotechnology information\" -> NCBI, \"food and drug administration\" -> FDA).\n10. If a term is already a concise, recognized proper noun or database name (e.g., 'DrugBank', 'ChEMBL', 'PubChem'), keep its conventional casing as canonical and group all variants to it.\n\n**Part 2: Semantic & Hierarchical Grouping (MOST IMPORTANT)**\n*After applying grammatical normalization, perform the following semantic groupings to create more general, reusable labels.*\n11. **Generalize Specific Terms:** This is the most critical rule. Collapse specific sub-topics into a broader, more general parent category. The goal is to make labels applicable across multiple tools. For example, group 'bioinformatics-ontology' and 'bioinformatics-library-overview' under the single canonical label 'bioinformatics'. **Crucially, do not over-generalize to the point of losing meaning. A category like 'bioinformatics' is good, but a category like 'science' is too broad and uninformative.**\n12. **Hierarchy Collapse:** If terms represent a clear parent-child relationship (e.g., 'genomics' and 'gene-expression-analysis'), group them under the more general parent term ('genomics').\n13. **Synonym & Function Grouping:** Group clear synonyms or terms describing the same function (e.g., 'visualization', 'plotting', 'charting') under a single canonical term (e.g., 'data-visualization').\n14. **Prioritize Broad Concepts:** When choosing a canonical key for a semantic group, always select the most general and widely understood term. For example, prefer 'protein-analysis' over 'protein-folding-simulation'.\n\n**Part 3: Final Output Formatting**\n15. Always include the original raw variants EXACTLY as they appeared in the input list (before any normalization) inside the variant arrays (deduplicate within each list, preserving original order of first appearance).\n16. The canonical key MUST be a clean, user-presentable string (no surrounding whitespace, no trailing punctuation).\n17. Every input value must appear in exactly one array in the output.\n\n**CANONICAL KEY SELECTION HEURISTICS (when multiple variants map to same group):\n- Prefer the most general, high-level concept (e.g., 'bioinformatics' over 'sequence-alignment').\n- Prefer widely recognized product / database / organization name with correct branding (DrugBank, PubChem, UniProt, Ensembl).\n- Else prefer the shortest unambiguous normalized form.\n- Else use hyphenated lowercase normalized form.\n\nOUTPUT REQUIREMENTS:\n- Pure JSON object.\n- Keys: canonical strings.\n- Values: arrays of raw variants (length >=1).\n- Do NOT return commentary, explanations, or fields other than the mapping.\n\nIf input list is empty, return {}.",
1294
+ "input_arguments": [
1295
+ "metadata_list",
1296
+ "limit"
1297
+ ],
1298
+ "parameter": {
1299
+ "type": "object",
1300
+ "properties": {
1301
+ "metadata_list": {
1302
+ "type": "array",
1303
+ "items": {
1304
+ "type": "string"
1305
+ },
1306
+ "description": "List of raw metadata strings (e.g., sources, tags) to standardize and group.",
1307
+ "required": true
1226
1308
  },
1227
- "configs": {
1228
- "api_type": "CHATGPT",
1229
- "model_id": "o4-mini-0416",
1230
- "temperature": 0.7,
1231
- "max_new_tokens": 13192,
1232
- "return_json": true
1309
+ "limit": {
1310
+ "type": "integer",
1311
+ "description": "If provided, the maximum number of canonical strings to return. The LLM will group terms more aggressively to meet this limit, ensuring all raw strings are mapped.",
1312
+ "required": false
1233
1313
  }
1314
+ },
1315
+ "required": [
1316
+ "metadata_list"
1317
+ ]
1234
1318
  },
1235
- {
1236
- "type": "AgenticTool",
1237
- "name": "ToolRelationshipDetector",
1238
- "description": "Analyzes a primary tool against a list of other tools to identify meaningful, directional data flow compatibilities for scientific workflows. Returns a list of compatible pairs with direction and rationale.",
1239
- "prompt": "You are an expert in tool composition and scientific workflow design. Your task is to determine the directional data flow compatibility between a primary tool (Tool A) and each tool in a provided list of other tools. Directional compatibility means that the output of one tool can be meaningfully and frequently used as an input to another tool as part of a logical scientific discovery process.\n\n**Your Task:**\n1. For each tool in the list of 'Other Tools', independently evaluate its pairwise relationship with Tool A.\n2. Identify only the pairs where the output of one tool is **frequently and logically** used as input to the other and could feasibly be part of a scientific workflow.\n3. For each such meaningful pair found, determine the data flow direction (`A->B`, `B->A`, or `both`) and provide a 10-15 word rationale for your choice referencing the inputs and outputs of the tools. \n\n**Primary Tool (Tool A):**\n{tool_a}\n\n**List of Other Tools:**\n{other_tools}\n\n**Output Format:**\nReturn ONLY a valid JSON object containing a single key, `relationships`, which holds a list of JSON objects. Each object in the list represents a meaningful relationship. If no meaningful relationships are found, return an empty list.\n\n```json\n{\n \"relationships\": [\n {\n \"tool_b_name\": \"<Name of the tool from the list>\",\n \"direction\": \"<'A->B'|'B->A'|'both'>\"\n \"rationale\": \"<10-15 word rationale>\"\n ]\n}\n```",
1240
- "input_arguments": [
1241
- "tool_a",
1242
- "other_tools"
1243
- ],
1244
- "parameter": {
1245
- "type": "object",
1246
- "properties": {
1247
- "tool_a": {
1248
- "type": "string",
1249
- "description": "JSON string for the primary tool configuration (Tool A).",
1250
- "required": true
1251
- },
1252
- "other_tools": {
1253
- "type": "string",
1254
- "description": "JSON string of a list of other tool configurations to compare against Tool A.",
1255
- "required": true
1256
- }
1257
- },
1258
- "required": [
1259
- "tool_a",
1260
- "other_tools"
1261
- ]
1319
+ "configs": {
1320
+ "api_type": "CHATGPT",
1321
+ "model_id": "o4-mini-0416",
1322
+ "temperature": 0.7,
1323
+ "max_new_tokens": 13192,
1324
+ "return_json": true
1325
+ }
1326
+ },
1327
+ {
1328
+ "type": "AgenticTool",
1329
+ "name": "ToolRelationshipDetector",
1330
+ "description": "Analyzes a primary tool against a list of other tools to identify meaningful, directional data flow compatibilities for scientific workflows. Returns a list of compatible pairs with direction and rationale.",
1331
+ "prompt": "You are an expert in tool composition and scientific workflow design. Your task is to determine the directional data flow compatibility between a primary tool (Tool A) and each tool in a provided list of other tools. Directional compatibility means that the output of one tool can be meaningfully and frequently used as an input to another tool as part of a logical scientific discovery process.\n\n**Your Task:**\n1. For each tool in the list of 'Other Tools', independently evaluate its pairwise relationship with Tool A.\n2. Identify only the pairs where the output of one tool is **frequently and logically** used as input to the other and could feasibly be part of a scientific workflow.\n3. For each such meaningful pair found, determine the data flow direction (`A->B`, `B->A`, or `both`) and provide a 10-15 word rationale for your choice referencing the inputs and outputs of the tools. \n\n**Primary Tool (Tool A):**\n{tool_a}\n\n**List of Other Tools:**\n{other_tools}\n\n**Output Format:**\nReturn ONLY a valid JSON object containing a single key, `relationships`, which holds a list of JSON objects. Each object in the list represents a meaningful relationship. If no meaningful relationships are found, return an empty list.\n\n```json\n{\n \"relationships\": [\n {\n \"tool_b_name\": \"<Name of the tool from the list>\",\n \"direction\": \"<'A->B'|'B->A'|'both'>\"\n \"rationale\": \"<10-15 word rationale>\"\n ]\n}\n```",
1332
+ "input_arguments": [
1333
+ "tool_a",
1334
+ "other_tools"
1335
+ ],
1336
+ "parameter": {
1337
+ "type": "object",
1338
+ "properties": {
1339
+ "tool_a": {
1340
+ "type": "string",
1341
+ "description": "JSON string for the primary tool configuration (Tool A).",
1342
+ "required": true
1262
1343
  },
1263
- "configs": {
1264
- "api_type": "CHATGPT",
1265
- "model_id": "o4-mini-0416",
1266
- "temperature": 0.2,
1267
- "max_new_tokens": 8192,
1268
- "return_json": true
1344
+ "other_tools": {
1345
+ "type": "string",
1346
+ "description": "JSON string of a list of other tool configurations to compare against Tool A.",
1347
+ "required": true
1269
1348
  }
1349
+ },
1350
+ "required": [
1351
+ "tool_a",
1352
+ "other_tools"
1353
+ ]
1354
+ },
1355
+ "configs": {
1356
+ "api_type": "CHATGPT",
1357
+ "model_id": "o4-mini-0416",
1358
+ "temperature": 0.2,
1359
+ "max_new_tokens": 8192,
1360
+ "return_json": true
1270
1361
  }
1362
+ }
1271
1363
  ]