aurelian 0.3.4__tar.gz → 0.4.1__tar.gz

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.
Files changed (268) hide show
  1. {aurelian-0.3.4 → aurelian-0.4.1}/PKG-INFO +6 -4
  2. {aurelian-0.3.4 → aurelian-0.4.1}/pyproject.toml +10 -4
  3. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/biblio/biblio_agent.py +1 -0
  4. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/checklist_agent.py +1 -0
  5. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/chemistry_agent.py +2 -1
  6. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/d4d/__init__.py +2 -2
  7. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/d4d/d4d_agent.py +4 -3
  8. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/d4d/d4d_gradio.py +2 -2
  9. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis/diagnosis_agent.py +1 -0
  10. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/__init__.py +10 -1
  11. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/gocam_agent.py +3 -0
  12. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/gocam_evals.py +0 -3
  13. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/linkml/linkml_mcp.py +1 -6
  14. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/literature/literature_agent.py +20 -0
  15. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/monarch/monarch_agent.py +1 -0
  16. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/monarch/monarch_tools.py +0 -1
  17. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ontology_mapper/ontology_mapper_agent.py +1 -0
  18. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/paperqa/paperqa_agent.py +1 -0
  19. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/rag/rag_agent.py +1 -0
  20. aurelian-0.4.1/src/aurelian/agents/talisman/talisman_mcp.py +75 -0
  21. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ubergraph/ubergraph_agent.py +1 -0
  22. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/web/web_tools.py +16 -3
  23. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/cli.py +9 -0
  24. aurelian-0.4.1/src/aurelian/evaluators/model.py +9 -0
  25. aurelian-0.4.1/src/aurelian/evaluators/substring_evaluator.py +30 -0
  26. aurelian-0.4.1/src/aurelian/tools/web/__init__.py +0 -0
  27. aurelian-0.4.1/src/aurelian/utils/__init__.py +0 -0
  28. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/async_utils.py +6 -3
  29. aurelian-0.3.4/src/aurelian/agents/monarch/__init__.py +0 -25
  30. aurelian-0.3.4/src/aurelian/agents/talisman/talisman_mcp.py +0 -168
  31. aurelian-0.3.4/src/aurelian/agents/uniprot/__init__.py +0 -37
  32. {aurelian-0.3.4 → aurelian-0.4.1}/LICENSE +0 -0
  33. {aurelian-0.3.4 → aurelian-0.4.1}/README.md +0 -0
  34. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/__init__.py +0 -0
  35. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/__init__.py +0 -0
  36. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/amigo/__init__.py +0 -0
  37. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/amigo/amigo_agent.py +0 -0
  38. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/amigo/amigo_config.py +0 -0
  39. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/amigo/amigo_evals.py +0 -0
  40. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/amigo/amigo_gradio.py +0 -0
  41. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/amigo/amigo_mcp.py +0 -0
  42. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/amigo/amigo_tools.py +0 -0
  43. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/biblio/__init__.py +0 -0
  44. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/biblio/biblio_config.py +0 -0
  45. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/biblio/biblio_gradio.py +0 -0
  46. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/biblio/biblio_mcp.py +0 -0
  47. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/biblio/biblio_tools.py +0 -0
  48. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/biblio_agent.py +0 -0
  49. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/__init__.py +0 -0
  50. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/checklist_config.py +0 -0
  51. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/checklist_gradio.py +0 -0
  52. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/checklist_mcp.py +0 -0
  53. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/checklist_tools.py +0 -0
  54. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/content/checklists.yaml +0 -0
  55. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist/content/streams.csv +0 -0
  56. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/checklist_agent.py +0 -0
  57. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/__init__.py +0 -0
  58. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/chemistry_config.py +0 -0
  59. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/chemistry_evals.py +0 -0
  60. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/chemistry_gradio.py +0 -0
  61. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/chemistry_mcp.py +0 -0
  62. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/chemistry_tools.py +0 -0
  63. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/chemistry/image_agent.py +0 -0
  64. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/d4d/d4d_config.py +0 -0
  65. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/d4d/d4d_mcp.py +0 -0
  66. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/d4d/d4d_tools.py +0 -0
  67. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/d4d_agent.py +0 -0
  68. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis/__init__.py +0 -0
  69. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis/diagnosis_config.py +0 -0
  70. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis/diagnosis_evals.py +0 -0
  71. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis/diagnosis_gradio.py +0 -0
  72. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis/diagnosis_mcp.py +0 -0
  73. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis/diagnosis_tools.py +0 -0
  74. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/diagnosis_agent.py +0 -0
  75. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/draw/__init__.py +0 -0
  76. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/draw/draw_agent.py +0 -0
  77. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/draw/draw_config.py +0 -0
  78. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/draw/draw_gradio.py +0 -0
  79. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/draw/draw_mcp.py +0 -0
  80. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/draw/draw_tools.py +0 -0
  81. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/draw/judge_agent.py +0 -0
  82. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/filesystem/__init__.py +0 -0
  83. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/filesystem/filesystem_config.py +0 -0
  84. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/filesystem/filesystem_gradio.py +0 -0
  85. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/filesystem/filesystem_mcp.py +0 -0
  86. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/filesystem/filesystem_tools.py +0 -0
  87. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/filesystem/py.typed +0 -0
  88. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/__init__.py +0 -0
  89. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/github_agent.py +0 -0
  90. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/github_cli.py +0 -0
  91. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/github_config.py +0 -0
  92. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/github_gradio.py +0 -0
  93. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/github_mcp.py +0 -0
  94. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/github_tools.py +0 -0
  95. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/github/github_tools.py.tmp +0 -0
  96. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/__init__.py +0 -0
  97. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/documents/Transcription_Factors_Annotation_Guidelines.md +0 -0
  98. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/documents/Transcription_Factors_Annotation_Guidelines.pdf +0 -0
  99. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/documents/Transcription_Factors_Annotation_Guidelines_Paper.md +0 -0
  100. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/documents/Transcription_Factors_Annotation_Guidelines_Paper.pdf +0 -0
  101. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/goann_agent.py +0 -0
  102. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/goann_config.py +0 -0
  103. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/goann_evals.py +0 -0
  104. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/goann_gradio.py +0 -0
  105. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/goann_mcp.py +0 -0
  106. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/goann/goann_tools.py +0 -0
  107. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/DNA-binding transcription factor activity annotation guidelines.docx +0 -0
  108. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/DNA-binding transcription factor activity annotation guidelines.pdf +0 -0
  109. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/DNA-binding_transcription_factor_activity_annotation_guidelines.md +0 -0
  110. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/E3 ubiquitin ligases.docx +0 -0
  111. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/E3 ubiquitin ligases.pdf +0 -0
  112. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/E3_ubiquitin_ligases.md +0 -0
  113. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/GO-CAM annotation guidelines README.docx +0 -0
  114. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/GO-CAM annotation guidelines README.pdf +0 -0
  115. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/GO-CAM modelling guidelines TO DO.docx +0 -0
  116. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/GO-CAM modelling guidelines TO DO.pdf +0 -0
  117. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/GO-CAM_annotation_guidelines_README.md +0 -0
  118. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/GO-CAM_modelling_guidelines_TO_DO.md +0 -0
  119. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How to annotate complexes in GO-CAM.docx +0 -0
  120. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How to annotate complexes in GO-CAM.pdf +0 -0
  121. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How to annotate molecular adaptors.docx +0 -0
  122. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How to annotate molecular adaptors.pdf +0 -0
  123. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How to annotate sequestering proteins.docx +0 -0
  124. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How to annotate sequestering proteins.pdf +0 -0
  125. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How_to_annotate_complexes_in_GO-CAM.md +0 -0
  126. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How_to_annotate_molecular_adaptors.md +0 -0
  127. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/How_to_annotate_sequestering_proteins.md +0 -0
  128. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Molecular adaptor activity.docx +0 -0
  129. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Molecular adaptor activity.pdf +0 -0
  130. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Molecular carrier activity.docx +0 -0
  131. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Molecular carrier activity.pdf +0 -0
  132. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Molecular_adaptor_activity.md +0 -0
  133. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Molecular_carrier_activity.md +0 -0
  134. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Protein sequestering activity.docx +0 -0
  135. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Protein sequestering activity.pdf +0 -0
  136. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Protein_sequestering_activity.md +0 -0
  137. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Signaling receptor activity annotation guidelines.docx +0 -0
  138. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Signaling receptor activity annotation guidelines.pdf +0 -0
  139. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Signaling_receptor_activity_annotation_guidelines.md +0 -0
  140. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Transcription coregulator activity.docx +0 -0
  141. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Transcription coregulator activity.pdf +0 -0
  142. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Transcription_coregulator_activity.md +0 -0
  143. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Transporter activity annotation annotation guidelines.docx +0 -0
  144. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Transporter activity annotation annotation guidelines.pdf +0 -0
  145. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/Transporter_activity_annotation_annotation_guidelines.md +0 -0
  146. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/WIP - Regulation and Regulatory Processes in GO-CAM.docx +0 -0
  147. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/WIP - Regulation and Regulatory Processes in GO-CAM.pdf +0 -0
  148. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/WIP_-_Regulation_and_Regulatory_Processes_in_GO-CAM.md +0 -0
  149. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/DNA-binding_transcription_factor_activity_annotation_guidelines.md +0 -0
  150. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/E3_ubiquitin_ligases.md +0 -0
  151. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/GO-CAM_annotation_guidelines_README.md +0 -0
  152. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/GO-CAM_modelling_guidelines_TO_DO.md +0 -0
  153. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/How_to_annotate_complexes_in_GO-CAM.md +0 -0
  154. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/How_to_annotate_molecular_adaptors.md +0 -0
  155. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/How_to_annotate_sequestering_proteins.md +0 -0
  156. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/Molecular_adaptor_activity.md +0 -0
  157. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/Molecular_carrier_activity.md +0 -0
  158. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/Protein_sequestering_activity.md +0 -0
  159. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/Signaling_receptor_activity_annotation_guidelines.md +0 -0
  160. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/Transcription_coregulator_activity.md +0 -0
  161. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/Transporter_activity_annotation_annotation_guidelines.md +0 -0
  162. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/md/WIP_-_Regulation_and_Regulatory_Processes_in_GO-CAM.md +0 -0
  163. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/documents/pandoc_md/Signaling_receptor_activity_annotation_guidelines.md +0 -0
  164. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/gocam_config.py +0 -0
  165. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/gocam_curator_agent.py +0 -0
  166. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/gocam_gradio.py +0 -0
  167. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/gocam_mcp.py +0 -0
  168. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/gocam/gocam_tools.py +0 -0
  169. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/linkml/__init__.py +0 -0
  170. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/linkml/linkml_agent.py +0 -0
  171. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/linkml/linkml_config.py +0 -0
  172. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/linkml/linkml_evals.py +0 -0
  173. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/linkml/linkml_gradio.py +0 -0
  174. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/linkml/linkml_tools.py +0 -0
  175. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/literature/__init__.py +0 -0
  176. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/literature/literature_config.py +0 -0
  177. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/literature/literature_gradio.py +0 -0
  178. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/literature/literature_mcp.py +0 -0
  179. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/literature/literature_tools.py +0 -0
  180. {aurelian-0.3.4/src/aurelian/agents/oak → aurelian-0.4.1/src/aurelian/agents/monarch}/__init__.py +0 -0
  181. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/monarch/monarch_config.py +0 -0
  182. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/monarch/monarch_gradio.py +0 -0
  183. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/monarch/monarch_mcp.py +0 -0
  184. {aurelian-0.3.4/src/aurelian/agents/robot → aurelian-0.4.1/src/aurelian/agents/oak}/__init__.py +0 -0
  185. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/oak/oak_config.py +0 -0
  186. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/oak/oak_gradio.py +0 -0
  187. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ontology_mapper/__init__.py +0 -0
  188. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ontology_mapper/ontology_mapper_config.py +0 -0
  189. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ontology_mapper/ontology_mapper_evals.py +0 -0
  190. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ontology_mapper/ontology_mapper_gradio.py +0 -0
  191. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ontology_mapper/ontology_mapper_mcp.py +0 -0
  192. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ontology_mapper/ontology_mapper_tools.py +0 -0
  193. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/paperqa/__init__.py +0 -0
  194. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/paperqa/paperqa_cli.py +0 -0
  195. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/paperqa/paperqa_config.py +0 -0
  196. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/paperqa/paperqa_gradio.py +0 -0
  197. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/paperqa/paperqa_mcp.py +0 -0
  198. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/paperqa/paperqa_tools.py +0 -0
  199. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/phenopackets/__init__.py +0 -0
  200. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/phenopackets/phenopackets_agent.py +0 -0
  201. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/phenopackets/phenopackets_config.py +0 -0
  202. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/phenopackets/phenopackets_evals.py +0 -0
  203. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/phenopackets/phenopackets_gradio.py +0 -0
  204. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/phenopackets/phenopackets_mcp.py +0 -0
  205. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/phenopackets/phenopackets_tools.py +0 -0
  206. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/rag/__init__.py +0 -0
  207. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/rag/rag_config.py +0 -0
  208. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/rag/rag_gradio.py +0 -0
  209. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/rag/rag_mcp.py +0 -0
  210. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/rag/rag_tools.py +0 -0
  211. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/rag_agent.py +0 -0
  212. {aurelian-0.3.4/src/aurelian/agents/web → aurelian-0.4.1/src/aurelian/agents/robot}/__init__.py +0 -0
  213. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/robot/assets/__init__.py +0 -0
  214. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/robot/assets/template.md +0 -0
  215. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/robot/robot_config.py +0 -0
  216. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/robot/robot_gradio.py +0 -0
  217. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/robot/robot_mcp.py +0 -0
  218. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/robot/robot_ontology_agent.py +0 -0
  219. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/robot/robot_tools.py +0 -0
  220. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/__init__.py +0 -0
  221. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/__main__.py +0 -0
  222. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/cli.py +0 -0
  223. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/run_talisman.py +0 -0
  224. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/talisman_agent.py +0 -0
  225. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/talisman_config.py +0 -0
  226. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/talisman_gradio.py +0 -0
  227. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/talisman/talisman_tools.py +0 -0
  228. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ubergraph/__init__.py +0 -0
  229. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ubergraph/ubergraph_config.py +0 -0
  230. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ubergraph/ubergraph_gradio.py +0 -0
  231. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ubergraph/ubergraph_mcp.py +0 -0
  232. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/ubergraph/ubergraph_tools.py +0 -0
  233. {aurelian-0.3.4/src/aurelian/dependencies → aurelian-0.4.1/src/aurelian/agents/uniprot}/__init__.py +0 -0
  234. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/uniprot/uniprot_agent.py +0 -0
  235. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/uniprot/uniprot_config.py +0 -0
  236. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/uniprot/uniprot_evals.py +0 -0
  237. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/uniprot/uniprot_gradio.py +0 -0
  238. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/uniprot/uniprot_mcp.py +0 -0
  239. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/uniprot/uniprot_tools.py +0 -0
  240. {aurelian-0.3.4/src/aurelian/mcp → aurelian-0.4.1/src/aurelian/agents/web}/__init__.py +0 -0
  241. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/web/web_config.py +0 -0
  242. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/web/web_gradio.py +0 -0
  243. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/agents/web/web_mcp.py +0 -0
  244. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/chat.py +0 -0
  245. {aurelian-0.3.4/src/aurelian/tools → aurelian-0.4.1/src/aurelian/dependencies}/__init__.py +0 -0
  246. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/dependencies/workdir.py +0 -0
  247. {aurelian-0.3.4/src/aurelian/tools/web → aurelian-0.4.1/src/aurelian/mcp}/__init__.py +0 -0
  248. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/amigo_mcp_test.py +0 -0
  249. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/config_generator.py +0 -0
  250. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/example_config.json +0 -0
  251. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/generate_sample_config.py +0 -0
  252. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/gocam_mcp_test.py +0 -0
  253. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/linkml_mcp_tools.py +0 -0
  254. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/mcp_discovery.py +0 -0
  255. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/mcp_test.py +0 -0
  256. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/mcp/phenopackets_mcp_test.py +0 -0
  257. {aurelian-0.3.4/src/aurelian/utils → aurelian-0.4.1/src/aurelian/tools}/__init__.py +0 -0
  258. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/tools/web/url_download.py +0 -0
  259. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/data_utils.py +0 -0
  260. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/documentation_manager.py +0 -0
  261. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/doi_fetcher.py +0 -0
  262. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/ontology_utils.py +0 -0
  263. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/pdf_fetcher.py +0 -0
  264. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/process_logs.py +0 -0
  265. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/pubmed_utils.py +0 -0
  266. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/pytest_report_to_markdown.py +0 -0
  267. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/robot_ontology_utils.py +0 -0
  268. {aurelian-0.3.4 → aurelian-0.4.1}/src/aurelian/utils/search_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: aurelian
3
- Version: 0.3.4
3
+ Version: 0.4.1
4
4
  Summary: aurelian
5
5
  License: MIT
6
6
  Author: Author 1
@@ -17,6 +17,7 @@ Provides-Extra: gocam
17
17
  Provides-Extra: gradio
18
18
  Provides-Extra: linkml
19
19
  Provides-Extra: pdfminer
20
+ Provides-Extra: pypaperbot
20
21
  Provides-Extra: rdkit
21
22
  Requires-Dist: bioservices (>=1.12.0) ; extra == "bioservices"
22
23
  Requires-Dist: bs4 (>=0.0.2)
@@ -30,13 +31,14 @@ Requires-Dist: linkml ; extra == "linkml"
30
31
  Requires-Dist: linkml-store[llm,mongodb] (>=0.2.4)
31
32
  Requires-Dist: logfire (>=3.5.3)
32
33
  Requires-Dist: markdownify (>=0.14.1)
33
- Requires-Dist: markitdown (>=0.0.1a4)
34
+ Requires-Dist: markitdown (>=0.1.1)
34
35
  Requires-Dist: mcp[cli] (>=1.3.0,<2.0.0)
35
36
  Requires-Dist: oaklib (>=0.6.19)
37
+ Requires-Dist: onnxruntime (<=1.19.0)
36
38
  Requires-Dist: paper-qa (>=5.20.0,<6.0.0)
37
39
  Requires-Dist: pdfminer-six ; extra == "pdfminer"
38
- Requires-Dist: pydantic-ai (>=0.0.29)
39
- Requires-Dist: pypaperbot (>=1.4.1)
40
+ Requires-Dist: pydantic-ai (>=0.2.0)
41
+ Requires-Dist: pypaperbot (>=1.4.1) ; extra == "pypaperbot"
40
42
  Requires-Dist: pytest-asyncio (>=0.25.3,<0.26.0)
41
43
  Requires-Dist: rdkit ; extra == "rdkit" or extra == "chem"
42
44
  Requires-Dist: tabulate (>=0.9.0)
@@ -1,6 +1,9 @@
1
+ [project]
2
+ name = "aurelian"
3
+
1
4
  [tool.poetry]
2
5
  name = "aurelian"
3
- version = "0.3.4"
6
+ version = "0.4.1"
4
7
  description = "aurelian"
5
8
  authors = ["Author 1 <author@org.org>"]
6
9
  license = "MIT"
@@ -17,14 +20,15 @@ rdkit = {optional=true, version="*"}
17
20
  gocam = {optional=true, version="*"}
18
21
  linkml = {optional=true, version="*"}
19
22
  gradio = "^5.23.3"
20
- pydantic-ai = ">=0.0.29"
23
+ pydantic-ai = ">=0.2.0"
21
24
  logfire = ">=3.5.3"
22
25
  bs4 = ">=0.0.2"
23
26
  duckduckgo-search = ">=7.3.2"
24
27
  markdownify = ">=0.14.1"
25
28
  wikipedia = ">=1.4.0"
26
- markitdown = ">=0.0.1a4"
27
- pypaperbot = ">=1.4.1"
29
+ onnxruntime = "<=1.19.0"
30
+ markitdown = ">=0.1.1"
31
+ pypaperbot = {optional=true, version=">=1.4.1"}
28
32
  undetected-chromedriver = ">=3.5.5"
29
33
  bioservices = ">=1.12.0"
30
34
  pdfminer-six = {optional=true, version="*"}
@@ -54,6 +58,7 @@ bioservices = ["bioservices"]
54
58
  linkml = ["linkml"]
55
59
  chem = ["rdkit"]
56
60
  pdfminer = ["pdfminer-six"]
61
+ pypaperbot = ["pypaperbot"]
57
62
 
58
63
  [tool.pytest.ini_options]
59
64
  markers = [
@@ -78,6 +83,7 @@ typer = ">=0.9.0" # Required for mkdocs-click
78
83
 
79
84
  [tool.poetry.scripts]
80
85
  aurelian = "aurelian.cli:main"
86
+ aurelian-mcp-gocam = "aurelian.agents.gocam.gocam_mcp:main"
81
87
 
82
88
  [tool.poetry-dynamic-versioning]
83
89
  enable = false
@@ -30,6 +30,7 @@ biblio_agent = Agent(
30
30
  " tables for this. Use your judgment in how to roll up tables, and whether values"
31
31
  " should be present/absent, increased/decreased, or more specific."
32
32
  ),
33
+ defer_model_check=True,
33
34
  )
34
35
 
35
36
 
@@ -22,6 +22,7 @@ checklist_agent = Agent(
22
22
  "\nThe available checklists are:"
23
23
  ),
24
24
  deps_type=ChecklistDependencies,
25
+ defer_model_check=True,
25
26
  )
26
27
 
27
28
 
@@ -39,7 +39,8 @@ chemistry_agent = Agent(
39
39
  Tool(retrieve_chemistry_web_page),
40
40
  Tool(inspect_file),
41
41
  Tool(list_files),
42
- ]
42
+ ],
43
+ defer_model_check=True,
43
44
  )
44
45
 
45
46
  # Remove the chat import to avoid circular imports
@@ -3,7 +3,7 @@ D4D (Datasheets for Datasets) agent package for extracting dataset metadata.
3
3
  """
4
4
 
5
5
  # isort: skip_file
6
- from .d4d_agent import data_sheets_agent # noqa: E402
6
+ from .d4d_agent import d4d_agent # noqa: E402
7
7
  from .d4d_config import D4DConfig, get_config # noqa: E402
8
8
  from .d4d_gradio import chat # noqa: E402
9
9
  from .d4d_tools import ( # noqa: E402
@@ -14,7 +14,7 @@ from .d4d_tools import ( # noqa: E402
14
14
 
15
15
  __all__ = [
16
16
  # Agent
17
- "data_sheets_agent",
17
+ "d4d_agent",
18
18
 
19
19
  # Config
20
20
  "D4DConfig",
@@ -8,7 +8,7 @@ from .d4d_tools import get_full_schema, process_website_or_pdf
8
8
 
9
9
 
10
10
  # Create the agent, the full schema will be loaded when needed
11
- data_sheets_agent = Agent(
11
+ d4d_agent = Agent(
12
12
  model="openai:gpt-4o",
13
13
  deps_type=D4DConfig,
14
14
  system_prompt="""
@@ -21,10 +21,11 @@ content, extract all the relevant metadata, and output a YAML document that exac
21
21
  conforms to the above schema. The output must be valid YAML with all required fields
22
22
  filled in, following the schema exactly.
23
23
  """,
24
+ defer_model_check=True,
24
25
  )
25
26
 
26
27
 
27
- @data_sheets_agent.system_prompt
28
+ @d4d_agent.system_prompt
28
29
  async def add_schema(ctx: RunContext[D4DConfig]) -> str:
29
30
  """
30
31
  Add the full schema to the system prompt.
@@ -39,7 +40,7 @@ async def add_schema(ctx: RunContext[D4DConfig]) -> str:
39
40
  return schema
40
41
 
41
42
 
42
- @data_sheets_agent.tool
43
+ @d4d_agent.tool
43
44
  async def extract_metadata(ctx: RunContext[D4DConfig], url: str) -> str:
44
45
  """
45
46
  Extract metadata from a dataset description document or webpage.
@@ -5,7 +5,7 @@ from typing import List, Optional
5
5
 
6
6
  import gradio as gr
7
7
 
8
- from .d4d_agent import data_sheets_agent
8
+ from .d4d_agent import d4d_agent
9
9
  from .d4d_config import D4DConfig, get_config
10
10
 
11
11
 
@@ -22,7 +22,7 @@ async def process_url(url: str, history: List[str], config: D4DConfig) -> str:
22
22
  YAML formatted metadata
23
23
  """
24
24
  # Run the agent with the URL
25
- result = await data_sheets_agent.run(url, deps=config)
25
+ result = await d4d_agent.run(url, deps=config)
26
26
  return result.data
27
27
 
28
28
 
@@ -44,6 +44,7 @@ diagnosis_agent = Agent(
44
44
  deps_type=DiagnosisDependencies,
45
45
  result_type=str,
46
46
  system_prompt=DIAGNOSIS_SYSTEM_PROMPT,
47
+ defer_model_check=True,
47
48
  )
48
49
 
49
50
  # Register tools
@@ -3,11 +3,13 @@ GOCAM agent module for working with Gene Ontology Causal Activity Models.
3
3
  """
4
4
  from pathlib import Path
5
5
 
6
+ from ...evaluators.substring_evaluator import SubstringEvaluator
7
+
6
8
  THIS_DIR = Path(__file__).parent
7
9
  DOCUMENTS_DIR = THIS_DIR / "documents"
8
10
 
9
11
  # isort: skip_file
10
- from .gocam_agent import gocam_agent # noqa: E402
12
+ from .gocam_agent import gocam_agent, gocam_reviewer_agent, gocam_review_summarizer_agent # noqa: E402
11
13
  from .gocam_config import GOCAMDependencies, get_config # noqa: E402
12
14
  from .gocam_gradio import chat # noqa: E402
13
15
  from .gocam_tools import ( # noqa: E402
@@ -18,6 +20,7 @@ from .gocam_tools import ( # noqa: E402
18
20
  fetch_document,
19
21
  validate_gocam_model,
20
22
  )
23
+ from .gocam_evals import create_eval_dataset # noqa: E402
21
24
 
22
25
  __all__ = [
23
26
  # Constants
@@ -26,6 +29,8 @@ __all__ = [
26
29
 
27
30
  # Agent
28
31
  "gocam_agent",
32
+ "gocam_reviewer_agent",
33
+ "gocam_review_summarizer_agent",
29
34
  # Config
30
35
  "GOCAMDependencies",
31
36
  "get_config",
@@ -40,4 +45,8 @@ __all__ = [
40
45
 
41
46
  # Gradio
42
47
  "chat",
48
+
49
+ # Evals
50
+ "create_eval_dataset",
51
+ "SubstringEvaluator",
43
52
  ]
@@ -135,6 +135,7 @@ gocam_agent = Agent(
135
135
  deps_type=GOCAMDependencies,
136
136
  system_prompt=SYSTEM,
137
137
  tools=core_tools,
138
+ defer_model_check=True,
138
139
  )
139
140
 
140
141
  def get_documents_for_prompt() -> str:
@@ -208,6 +209,7 @@ gocam_reviewer_agent = Agent(
208
209
  Tool(lookup_gocam_local),
209
210
  #Tool(validate_gocam_model),
210
211
  ],
212
+ defer_model_check=True,
211
213
  )
212
214
 
213
215
 
@@ -237,4 +239,5 @@ gocam_review_summarizer_agent = Agent(
237
239
  #Tool(lookup_gocam_local),
238
240
  ],
239
241
  result_type=GOCamReviewSummary,
242
+ defer_model_check=True,
240
243
  )
@@ -14,9 +14,6 @@ from pydantic_evals import Case, Dataset
14
14
  from aurelian.agents.gocam.gocam_agent import gocam_agent
15
15
  from aurelian.agents.gocam.gocam_config import GOCAMDependencies
16
16
 
17
- class GOCAMMetadata(Dict[str, Any]):
18
- """Simple metadata dictionary for GO-CAM evaluations."""
19
- pass
20
17
 
21
18
  # Define individual evaluation cases
22
19
  case1 = Case(
@@ -56,7 +56,6 @@ async def inspect_file(data_file: str) -> str:
56
56
  Inspect a file in the working directory.
57
57
 
58
58
  Args:
59
- ctx:
60
59
  data_file: name of file
61
60
 
62
61
  Returns:
@@ -71,7 +70,6 @@ async def list_files() -> str:
71
70
  List files in the working directory.
72
71
 
73
72
  Args:
74
- ctx:
75
73
 
76
74
  Returns:
77
75
 
@@ -84,7 +82,6 @@ async def write_to_file(data: str, file_name: str) -> str:
84
82
  Write data to a file in the working directory.
85
83
 
86
84
  Args:
87
- ctx:
88
85
  data:
89
86
  file_name:
90
87
 
@@ -104,7 +101,6 @@ async def validate_data(schema: str, data_file: str) -> str:
104
101
  You can write data to the working directory using the `write_to_file` tool.
105
102
 
106
103
  Args:
107
- ctx:
108
104
  schema: the schema (as a YAML string)
109
105
  data_file: the name of the data file in the working directory
110
106
 
@@ -167,7 +163,6 @@ async def download_web_page(url: str, local_file_name: str) -> str:
167
163
  Download contents of a web page.
168
164
 
169
165
  Args:
170
- ctx:
171
166
  url: URL of the web page
172
167
  local_file_name: Name of the local file to save the
173
168
 
@@ -183,4 +178,4 @@ async def download_web_page(url: str, local_file_name: str) -> str:
183
178
 
184
179
  if __name__ == "__main__":
185
180
  # Initialize and run the server
186
- mcp.run(transport='stdio')
181
+ mcp.run(transport='stdio')
@@ -1,6 +1,7 @@
1
1
  """
2
2
  Agent for working with scientific literature and publications.
3
3
  """
4
+ from aurelian.agents.web.web_tools import perplexity_query
4
5
  from aurelian.agents.literature.literature_config import LiteratureDependencies
5
6
  from aurelian.agents.literature.literature_tools import (
6
7
  lookup_pmid,
@@ -48,6 +49,25 @@ literature_agent = Agent(
48
49
  Tool(get_article_abstract),
49
50
  Tool(extract_text_from_pdf_url),
50
51
  Tool(search_literature_web),
52
+ #Tool(perplexity_query),
53
+ Tool(retrieve_literature_page),
54
+ Tool(inspect_file),
55
+ Tool(list_files),
56
+ ]
57
+ )
58
+
59
+ advanced_literature_agent = Agent(
60
+ model="openai:gpt-4o",
61
+ deps_type=LiteratureDependencies,
62
+ system_prompt=SYSTEM,
63
+ tools=[
64
+ Tool(lookup_pmid),
65
+ Tool(lookup_doi),
66
+ Tool(convert_pmid_to_doi),
67
+ Tool(convert_doi_to_pmid),
68
+ Tool(get_article_abstract),
69
+ Tool(extract_text_from_pdf_url),
70
+ Tool(perplexity_query),
51
71
  Tool(retrieve_literature_page),
52
72
  Tool(inspect_file),
53
73
  Tool(list_files),
@@ -37,6 +37,7 @@ monarch_agent = Agent(
37
37
  model="openai:gpt-4o",
38
38
  system_prompt=MONARCH_SYSTEM_PROMPT,
39
39
  deps_type=MonarchDependencies,
40
+ defer_model_check=True,
40
41
  )
41
42
 
42
43
  # Register the tools with the agent
@@ -7,7 +7,6 @@ from typing import Dict, List, Optional
7
7
  from pydantic_ai import RunContext, ModelRetry
8
8
 
9
9
  from aurelian.utils.data_utils import obj_to_dict
10
- from aurelian.utils.async_utils import run_sync
11
10
  from .monarch_config import MonarchDependencies, get_config
12
11
 
13
12
 
@@ -39,6 +39,7 @@ ontology_mapper_agent = Agent(
39
39
  deps_type=OntologyMapperDependencies,
40
40
  result_type=str,
41
41
  system_prompt=ONTOLOGY_MAPPER_SYSTEM_PROMPT,
42
+ defer_model_check=True,
42
43
  )
43
44
 
44
45
  # Register the tools with the agent
@@ -55,6 +55,7 @@ paperqa_agent = Agent(
55
55
  deps_type=PaperQADependencies,
56
56
  result_type=str,
57
57
  system_prompt=PAPERQA_SYSTEM_PROMPT,
58
+ defer_model_check=True,
58
59
  )
59
60
 
60
61
  paperqa_agent.tool(search_papers)
@@ -18,6 +18,7 @@ rag_agent = Agent(
18
18
  " - `inspect_document` to retrieve a specific document (by title/name)"
19
19
  "You can also use `lookup_pmid` to retrieve the text of a PubMed ID, or `search_web` to search the web."
20
20
  ),
21
+ defer_model_check=True,
21
22
  )
22
23
 
23
24
 
@@ -0,0 +1,75 @@
1
+ """
2
+ MCP tools for retrieving gene information using the UniProt API and NCBI Entrez.
3
+ """
4
+ import os
5
+
6
+ from mcp.server.fastmcp import FastMCP
7
+
8
+ from aurelian.agents.talisman.talisman_agent import TALISMAN_SYSTEM_PROMPT
9
+ from aurelian.agents.talisman.talisman_config import TalismanConfig, get_config
10
+ from aurelian.agents.talisman.talisman_tools import (
11
+ get_gene_description,
12
+ get_gene_descriptions,
13
+ get_genes_from_list,
14
+ analyze_gene_set
15
+ )
16
+
17
+ from pydantic_ai import RunContext
18
+
19
+ # Initialize FastMCP server
20
+ mcp = FastMCP("talisman", instructions=TALISMAN_SYSTEM_PROMPT)
21
+
22
+ def deps() -> TalismanConfig:
23
+ """Get the Talisman dependencies."""
24
+ return get_config()
25
+
26
+ def ctx() -> RunContext[TalismanConfig]:
27
+ """Get the run context with dependencies."""
28
+ rc: RunContext[TalismanConfig] = RunContext[TalismanConfig](
29
+ deps=deps(),
30
+ model=None, usage=None, prompt=None,
31
+ )
32
+ return rc
33
+
34
+ @mcp.tool()
35
+ async def get_gene_info(gene_id: str) -> str:
36
+ """
37
+ Get description for a single gene ID.
38
+
39
+ Args:
40
+ gene_id: The gene identifier (UniProt ID, gene symbol, etc.)
41
+
42
+ Returns:
43
+ The gene description in a structured format
44
+ """
45
+ return get_gene_description(ctx(), gene_id)
46
+
47
+ @mcp.tool()
48
+ async def get_multiple_gene_info(gene_ids: str) -> str:
49
+ """
50
+ Get descriptions for multiple gene IDs provided as a string.
51
+
52
+ Args:
53
+ gene_ids: String containing gene identifiers separated by commas, spaces, or newlines
54
+
55
+ Returns:
56
+ The gene descriptions in a structured format
57
+ """
58
+ return get_genes_from_list(ctx(), gene_ids)
59
+
60
+ @mcp.tool()
61
+ async def analyze_genes(gene_list: str) -> str:
62
+ """
63
+ Analyze a set of genes and generate a biological summary of their properties and relationships.
64
+
65
+ Args:
66
+ gene_list: String containing gene identifiers separated by commas, spaces, or newlines
67
+
68
+ Returns:
69
+ A structured biological summary of the gene set with Narrative, Functional Terms Table, and Gene Summary Table
70
+ """
71
+ return analyze_gene_set(ctx(), gene_list)
72
+
73
+ if __name__ == "__main__":
74
+ # Initialize and run the server
75
+ mcp.run(transport='stdio')
@@ -50,6 +50,7 @@ ubergraph_agent = Agent(
50
50
  "openai:gpt-4o",
51
51
  deps_type=Dependencies,
52
52
  result_type=str,
53
+ defer_model_check=True,
53
54
  )
54
55
 
55
56
  # Register tools
@@ -43,9 +43,11 @@ async def search_web(query: str) -> str:
43
43
  return web_search(query)
44
44
 
45
45
 
46
- async def perplexity_query(query: str, model_name: str = "sonar") -> ResultWithCitations:
46
+ async def perplexity_query(query: str, model_name: str = "sonar-pro") -> ResultWithCitations:
47
47
  """
48
48
  Query the Perplexity API and return structured results with citations.
49
+
50
+ The Perplexity API performs a web search and returns a structured response with citations.
49
51
 
50
52
  Args:
51
53
  query: The query to send to Perplexity
@@ -58,14 +60,25 @@ async def perplexity_query(query: str, model_name: str = "sonar") -> ResultWithC
58
60
  ValueError: If the Perplexity API key is not set
59
61
  RuntimeError: If the response parsing fails
60
62
  """
63
+ # TODO: consider using perplexity API directly, gives control over search domains, e.g. https://docs.perplexity.ai/guides/search-domain-filters
61
64
  perplexity_api_key = os.environ.get("PERPLEXITY_API_KEY")
62
65
  if not perplexity_api_key:
63
66
  raise ValueError("PERPLEXITY_API_KEY environment variable is not set")
64
67
 
68
+ # Use specific implementation instead of OpenAIModel directly
69
+ # since OpenAIModel doesn't accept base_url and api_key params directly
70
+ from pydantic_ai.models.openai import Provider
71
+ from pydantic_ai.providers.openai import OpenAIProvider
72
+
73
+
74
+ provider = OpenAIProvider(
75
+ api_key=perplexity_api_key,
76
+ base_url='https://api.perplexity.ai'
77
+ )
78
+
65
79
  sonar_model = OpenAIModel(
66
80
  model_name=model_name,
67
- base_url='https://api.perplexity.ai',
68
- api_key=perplexity_api_key,
81
+ provider=provider,
69
82
  )
70
83
 
71
84
  agent = Agent(sonar_model,
@@ -4,6 +4,7 @@ import logging
4
4
  import os
5
5
  from typing import Any, Awaitable, Callable, Optional, List
6
6
 
7
+ from aurelian.utils.async_utils import run_sync
7
8
  import click
8
9
  from pydantic_ai.models.openai import OpenAIModel
9
10
  from pydantic_ai.providers.openai import OpenAIProvider
@@ -550,6 +551,14 @@ def websearch(term):
550
551
  txt = web_search(term)
551
552
  print(txt)
552
553
 
554
+ @main.command()
555
+ @click.argument("term")
556
+ def perplexity(term):
557
+ """Search the web for a query term, with citations."""
558
+ from aurelian.agents.web.web_tools import perplexity_query
559
+ result = run_sync(perplexity_query(term))
560
+ import yaml
561
+ print(yaml.dump(result.model_dump(), indent=2))
553
562
 
554
563
  @main.command()
555
564
  @click.argument("url")
@@ -0,0 +1,9 @@
1
+ # Use TypedDict for metadata
2
+ from typing_extensions import TypedDict
3
+
4
+
5
+ MetadataDict = TypedDict("Metadata", {"difficulty": str, "type": str})
6
+
7
+
8
+ def metadata(difficulty: str, type: str) -> MetadataDict:
9
+ return {"difficulty": difficulty, "type": type}
@@ -0,0 +1,30 @@
1
+ from pydantic_evals.evaluators import Evaluator, EvaluatorContext
2
+
3
+
4
+ class SubstringEvaluator(Evaluator[str, str]):
5
+ """
6
+ Custom evaluator for GO-CAM agent responses.
7
+
8
+ This evaluator checks if the expected substring is present in the agent's response.
9
+ If no expected output is specified, it assumes the test passes (for cases where we
10
+ only want to verify the agent doesn't error out).
11
+ """
12
+
13
+ def evaluate(self, ctx: EvaluatorContext[str, str]) -> float:
14
+ """
15
+ Evaluate GO-CAM agent response by checking for expected substring.
16
+
17
+ Args:
18
+ ctx: The evaluator context containing input, output, and expected output
19
+
20
+ Returns:
21
+ Score between 0.0 and 1.0 (1.0 = pass, 0.0 = fail)
22
+ """
23
+ # If no expected output is specified, return 1.0 (success)
24
+ if ctx.expected_output is None:
25
+ return 1.0
26
+
27
+ # Check if expected string is in output
28
+ if ctx.expected_output.lower() in ctx.output.lower():
29
+ return 1.0
30
+ return 0.0
File without changes
File without changes
@@ -1,11 +1,14 @@
1
1
  import asyncio
2
- from typing import Callable
2
+ from typing import Callable, Coroutine
3
3
 
4
4
 
5
- def run_sync(f: Callable):
5
+ def run_sync(f: Callable | Coroutine):
6
6
  loop = asyncio.new_event_loop()
7
7
  asyncio.set_event_loop(loop)
8
- result = f()
8
+ if isinstance(f, Coroutine):
9
+ result = f
10
+ else:
11
+ result = f()
9
12
 
10
13
  # Ensure it's a coroutine before running it
11
14
  if asyncio.iscoroutine(result):
@@ -1,25 +0,0 @@
1
- """
2
- Monarch agent package for interacting with the Monarch Knowledge Base.
3
- """
4
-
5
- from .monarch_agent import monarch_agent, MONARCH_SYSTEM_PROMPT
6
- from .monarch_config import MonarchDependencies, get_config
7
- from .monarch_gradio import chat
8
- from .monarch_tools import find_gene_associations, find_disease_associations
9
-
10
- __all__ = [
11
- # Agent
12
- "monarch_agent",
13
- "MONARCH_SYSTEM_PROMPT",
14
-
15
- # Config
16
- "MonarchDependencies",
17
- "get_config",
18
-
19
- # Tools
20
- "find_gene_associations",
21
- "find_disease_associations",
22
-
23
- # Gradio
24
- "chat",
25
- ]