ragaai-catalyst 2.2.4.2b1__tar.gz → 2.2.5__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 (223) hide show
  1. {ragaai_catalyst-2.2.4.2b1/ragaai_catalyst.egg-info → ragaai_catalyst-2.2.5}/PKG-INFO +2 -1
  2. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/pyproject.toml +2 -1
  3. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/__init__.py +0 -2
  4. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/dataset.py +59 -1
  5. ragaai_catalyst-2.2.5/ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py +117 -0
  6. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py +3 -1
  7. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py +5 -6
  8. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +13 -12
  9. ragaai_catalyst-2.2.5/ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py +1 -0
  10. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py +20 -9
  11. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/zip_list_of_unique_files.py +9 -1
  12. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/exporters/__init__.py +1 -2
  13. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py +48 -35
  14. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/exporters/file_span_exporter.py +0 -1
  15. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py +81 -28
  16. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/tracer.py +14 -191
  17. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/utils/trace_json_converter.py +7 -1
  18. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5/ragaai_catalyst.egg-info}/PKG-INFO +2 -1
  19. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst.egg-info/SOURCES.txt +0 -31
  20. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst.egg-info/requires.txt +1 -0
  21. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/experiment.py +0 -486
  22. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tests/FinancialAnalysisSystem.ipynb +0 -536
  23. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tests/GameActivityEventPlanner.ipynb +0 -134
  24. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tests/TravelPlanner.ipynb +0 -563
  25. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tests/ai_travel_agent.py +0 -197
  26. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tests/unique_decorator_test.py +0 -172
  27. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/agent_tracer.py +0 -687
  28. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/base.py +0 -1319
  29. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/custom_tracer.py +0 -347
  30. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/langgraph_tracer.py +0 -0
  31. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py +0 -1182
  32. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py +0 -397
  33. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py +0 -288
  34. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/tool_tracer.py +0 -557
  35. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers/user_interaction_tracer.py +0 -129
  36. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/upload/upload_local_metric.py +0 -74
  37. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py +0 -3
  38. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py +0 -21
  39. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/utils/generic.py +0 -32
  40. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/utils/get_user_trace_metrics.py +0 -28
  41. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +0 -133
  42. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/utils/supported_llm_provider.toml +0 -34
  43. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/exporters/raga_exporter.py +0 -467
  44. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/langchain_callback.py +0 -821
  45. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/llamaindex_callback.py +0 -361
  46. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/llamaindex_instrumentation.py +0 -424
  47. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/upload_traces.py +0 -170
  48. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/utils/convert_langchain_callbacks_output.py +0 -62
  49. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py +0 -69
  50. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/utils/extraction_logic_llama_index.py +0 -74
  51. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/utils/langchain_tracer_extraction_logic.py +0 -82
  52. ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/utils/rag_trace_json_converter.py +0 -403
  53. ragaai_catalyst-2.2.4.2b1/tests/examples/__init__.py +0 -0
  54. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  55. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  56. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  57. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/.github/workflows/ci.yml +0 -0
  58. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/.gitignore +0 -0
  59. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/.gitmodules +0 -0
  60. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/LICENSE +0 -0
  61. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/Quickstart.md +0 -0
  62. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/README.md +0 -0
  63. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/agentic_tracing.md +0 -0
  64. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/dataset_management.md +0 -0
  65. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/autheticate.gif +0 -0
  66. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/create_project.gif +0 -0
  67. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/custom_metrics.png +0 -0
  68. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/dataset.gif +0 -0
  69. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/dataset.png +0 -0
  70. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/evaluation.gif +0 -0
  71. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/evaluation.png +0 -0
  72. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/guardrails.png +0 -0
  73. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/last_main.png +0 -0
  74. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/main.png +0 -0
  75. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/projects_new.png +0 -0
  76. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/img/trace_comp.png +0 -0
  77. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/prompt_management.md +0 -0
  78. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/docs/trace_management.md +0 -0
  79. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/all_llm_provider/all_llm_provider.py +0 -0
  80. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/all_llm_provider/config.py +0 -0
  81. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/all_llm_provider/run_all_llm_provider.py +0 -0
  82. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/crewai/scifi_writer/README.md +0 -0
  83. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/crewai/scifi_writer/requirements.txt +0 -0
  84. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/crewai/scifi_writer/sample.env +0 -0
  85. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/crewai/scifi_writer/scifi_writer.py +0 -0
  86. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/custom_agents/travel_agent/agents.py +0 -0
  87. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/custom_agents/travel_agent/config.py +0 -0
  88. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/custom_agents/travel_agent/main.py +0 -0
  89. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/custom_agents/travel_agent/tools.py +0 -0
  90. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/haystack/news_fetching/README.md +0 -0
  91. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/haystack/news_fetching/news_fetching.py +0 -0
  92. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/haystack/news_fetching/requirements.txt +0 -0
  93. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  94. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  95. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  96. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langchain/medical_rag/diagnosis_agent.py +0 -0
  97. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langchain/medical_rag/requirements.txt +0 -0
  98. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langchain/medical_rag/sample.env +0 -0
  99. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langgraph/personal_research_assistant/README.md +0 -0
  100. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langgraph/personal_research_assistant/requirements.txt +0 -0
  101. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langgraph/personal_research_assistant/research_assistant.py +0 -0
  102. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/langgraph/personal_research_assistant/sample.env +0 -0
  103. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  104. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  105. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  106. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/llamaindex_examples/legal_research_rag/legal_rag.py +0 -0
  107. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/llamaindex_examples/legal_research_rag/requirements.txt +0 -0
  108. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/llamaindex_examples/legal_research_rag/sample.env +0 -0
  109. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/email_data_extraction_agent/README.md +0 -0
  110. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/email_data_extraction_agent/data_extraction_email.py +0 -0
  111. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/email_data_extraction_agent/requirements.txt +0 -0
  112. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/email_data_extraction_agent/sample.env +0 -0
  113. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/youtube_summary_agent/README.md +0 -0
  114. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/youtube_summary_agent/requirements.txt +0 -0
  115. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/youtube_summary_agent/sample.env +0 -0
  116. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/openai_agents_sdk/youtube_summary_agent/youtube_summary_agent.py +0 -0
  117. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/pii_masking_example/llamaindex_agentic_fastapi/app.py +0 -0
  118. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/pii_masking_example/llamaindex_agentic_fastapi/app_presidio.py +0 -0
  119. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/pii_masking_example/llamaindex_agentic_fastapi/request.py +0 -0
  120. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/pii_masking_example/llamaindex_agentic_fastapi/requirements.txt +0 -0
  121. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/smolagents/most_upvoted_paper/README.md +0 -0
  122. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +0 -0
  123. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/smolagents/most_upvoted_paper/requirements.txt +0 -0
  124. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/examples/smolagents/most_upvoted_paper/sample.env +0 -0
  125. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/_version.py +0 -0
  126. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/evaluation.py +0 -0
  127. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/guard_executor.py +0 -0
  128. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/guardrails_manager.py +0 -0
  129. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/internal_api_completion.py +0 -0
  130. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/prompt_manager.py +0 -0
  131. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/proxy_call.py +0 -0
  132. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/ragaai_catalyst.py +0 -0
  133. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/__init__.py +0 -0
  134. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/config/detectors.toml +0 -0
  135. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/data_generator/scenario_generator.py +0 -0
  136. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/data_generator/test_case_generator.py +0 -0
  137. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/evaluator.py +0 -0
  138. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/llm_generator.py +0 -0
  139. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/llm_generator_old.py +0 -0
  140. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/red_teaming.py +0 -0
  141. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/requirements.txt +0 -0
  142. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/tests/grok.ipynb +0 -0
  143. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/tests/stereotype.ipynb +0 -0
  144. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/upload_result.py +0 -0
  145. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/utils/issue_description.py +0 -0
  146. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming/utils/rt.png +0 -0
  147. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/redteaming_old.py +0 -0
  148. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/synthetic_data_generation.py +0 -0
  149. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/__init__.py +0 -0
  150. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/README.md +0 -0
  151. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/__init__.py +0 -0
  152. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/data/__init__.py +0 -0
  153. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/data/data_structure.py +0 -0
  154. {ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tests → ragaai_catalyst-2.2.5/ragaai_catalyst/tracers/agentic_tracing/tracers}/__init__.py +0 -0
  155. {ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/tracers → ragaai_catalyst-2.2.5/ragaai_catalyst/tracers/agentic_tracing/upload}/__init__.py +0 -0
  156. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/upload/session_manager.py +0 -0
  157. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/file_name_tracker.py +0 -0
  158. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +0 -0
  159. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json +0 -0
  160. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/system_monitor.py +0 -0
  161. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/trace_utils.py +0 -0
  162. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/agentic_tracing/utils/unique_decorator.py +0 -0
  163. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/distributed.py +0 -0
  164. {ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/agentic_tracing/upload → ragaai_catalyst-2.2.5/ragaai_catalyst/tracers/instrumentators}/__init__.py +0 -0
  165. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/utils/__init__.py +0 -0
  166. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json +0 -0
  167. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/utils/rag_extraction_logic_final.py +0 -0
  168. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/tracers/utils/utils.py +0 -0
  169. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst/utils.py +0 -0
  170. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst.egg-info/dependency_links.txt +0 -0
  171. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/ragaai_catalyst.egg-info/top_level.txt +0 -0
  172. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/requirements.txt +0 -0
  173. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/setup.cfg +0 -0
  174. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/test_report_20250407_183101.txt +0 -0
  175. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/README.md +0 -0
  176. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/environment.yml +0 -0
  177. {ragaai_catalyst-2.2.4.2b1/ragaai_catalyst/tracers/instrumentators → ragaai_catalyst-2.2.5/tests/examples}/__init__.py +0 -0
  178. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/all_llm_provider/all_llm_provider.py +0 -0
  179. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/all_llm_provider/config.py +0 -0
  180. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/all_llm_provider/test_all_llm_provider.py +0 -0
  181. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/crewai/scifi_writer/sci_fi_story.md +0 -0
  182. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/crewai/scifi_writer/scifi_writer.py +0 -0
  183. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/crewai/scifi_writer/test_scifi_writer.py +0 -0
  184. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/custom_agents/travel_agent/agents.py +0 -0
  185. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/custom_agents/travel_agent/config.py +0 -0
  186. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/custom_agents/travel_agent/main.py +0 -0
  187. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/custom_agents/travel_agent/test_travel_agent.py +0 -0
  188. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/custom_agents/travel_agent/tools.py +0 -0
  189. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/haystack/news_fetching/news_fetching.py +0 -0
  190. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/haystack/news_fetching/test_news_fetching.py +0 -0
  191. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  192. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  193. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  194. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/langchain/medical_rag/diagnosis_agent.py +0 -0
  195. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/langchain/medical_rag/test_diagnosis_agent.py +0 -0
  196. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/langgraph/personal_research_assistant/research_assistant.py +0 -0
  197. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/langgraph/personal_research_assistant/test_research_assistant.py +0 -0
  198. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  199. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  200. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  201. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/llamaindex_examples/legal_research_rag/legal_rag.py +0 -0
  202. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/llamaindex_examples/legal_research_rag/test_legal_rag.py +0 -0
  203. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +0 -0
  204. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/smolagents/most_upvoted_paper/paper.pdf +0 -0
  205. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/smolagents/most_upvoted_paper/test_most_upvoted_paper.py +0 -0
  206. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/test_utils/get_components.py +0 -0
  207. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/examples/test_utils/get_trace_data.py +0 -0
  208. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/run_pytest_and_print_and_save_results.py +0 -0
  209. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/table_result.png +0 -0
  210. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_base_tracer_add_metrics.py +0 -0
  211. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_base_tracer_metrics.py +0 -0
  212. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_data/util_synthetic_data_doc.pdf +0 -0
  213. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_data/util_synthetic_data_invalid.csv +0 -0
  214. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_data/util_synthetic_data_valid.csv +0 -0
  215. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_data/util_test_dataset.csv +0 -0
  216. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_data/util_test_langchain_tracing.pdf +0 -0
  217. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_dataset.py +0 -0
  218. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_evaluation.py +0 -0
  219. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_evaluation_metrics.py +0 -0
  220. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_prompt_manager.py +0 -0
  221. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_synthetic_data_generation.py +0 -0
  222. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests/test_catalyst/test_the_configuration.py +0 -0
  223. {ragaai_catalyst-2.2.4.2b1 → ragaai_catalyst-2.2.5}/tests_requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.2.4.2b1
3
+ Version: 2.2.5
4
4
  Summary: RAGA AI CATALYST
5
5
  Author-email: Kiran Scaria <kiran.scaria@raga.ai>, Kedar Gaikwad <kedar.gaikwad@raga.ai>, Dushyant Mahajan <dushyant.mahajan@raga.ai>, Siddhartha Kosti <siddhartha.kosti@raga.ai>, Ritika Goel <ritika.goel@raga.ai>, Vijay Chaurasia <vijay.chaurasia@raga.ai>, Tushar Kumar <tushar.kumar@raga.ai>, Rishabh Pandey <rishabh.pandey@raga.ai>, Jyotsana C G <jyotsana@raga.ai>
6
6
  Requires-Python: <=3.13.2,>=3.10
@@ -41,6 +41,7 @@ Requires-Dist: openinference-instrumentation-crewai
41
41
  Requires-Dist: openinference-instrumentation-haystack
42
42
  Requires-Dist: openinference-instrumentation-openai-agents
43
43
  Requires-Dist: openinference-instrumentation-smolagents
44
+ Requires-Dist: openinference-instrumentation-google-adk
44
45
  Requires-Dist: opentelemetry-sdk
45
46
  Requires-Dist: opentelemetry-exporter-otlp
46
47
  Requires-Dist: opentelemetry-proto>=1.12.0
@@ -8,7 +8,7 @@ description = "RAGA AI CATALYST"
8
8
  readme = "README.md"
9
9
  requires-python = ">=3.10,<=3.13.2"
10
10
  # license = {file = "LICENSE"}
11
- version = "2.2.4.2.beta.1"
11
+ version = "2.2.5"
12
12
  authors = [
13
13
  {name = "Kiran Scaria", email = "kiran.scaria@raga.ai"},
14
14
  {name = "Kedar Gaikwad", email = "kedar.gaikwad@raga.ai"},
@@ -57,6 +57,7 @@ dependencies = [
57
57
  "openinference-instrumentation-haystack",
58
58
  "openinference-instrumentation-openai-agents",
59
59
  "openinference-instrumentation-smolagents",
60
+ "openinference-instrumentation-google-adk",
60
61
  "opentelemetry-sdk",
61
62
  "opentelemetry-exporter-otlp",
62
63
  "opentelemetry-proto>=1.12.0",
@@ -1,4 +1,3 @@
1
- from .experiment import Experiment
2
1
  from .ragaai_catalyst import RagaAICatalyst
3
2
  from .utils import response_checker
4
3
  from .dataset import Dataset
@@ -15,7 +14,6 @@ from .redteaming import RedTeaming
15
14
 
16
15
 
17
16
  __all__ = [
18
- "Experiment",
19
17
  "RagaAICatalyst",
20
18
  "Tracer",
21
19
  "PromptManager",
@@ -732,4 +732,62 @@ class Dataset:
732
732
  try:
733
733
  os.remove(tmp_csv_path)
734
734
  except Exception as e:
735
- logger.error(f"Error removing temporary CSV file: {e}")
735
+ logger.error(f"Error removing temporary CSV file: {e}")
736
+
737
+ def delete_dataset(self, dataset_name):
738
+ try:
739
+ def make_request():
740
+ headers = {
741
+ 'Content-Type': 'application/json',
742
+ "Authorization": f"Bearer {os.getenv('RAGAAI_CATALYST_TOKEN')}",
743
+ "X-Project-Id": str(self.project_id),
744
+ }
745
+ json_data = {"size": 99999, "page": "0", "projectId": str(self.project_id), "search": ""}
746
+ try:
747
+ response = requests.post(
748
+ f"{Dataset.BASE_URL}/v2/llm/dataset",
749
+ headers=headers,
750
+ json=json_data,
751
+ timeout=Dataset.TIMEOUT,
752
+ )
753
+ response.raise_for_status()
754
+ return response
755
+ except requests.exceptions.RequestException as e:
756
+ logger.error(f"Failed to list datasets: {e}")
757
+ pass
758
+
759
+ response = make_request()
760
+
761
+ datasets = response.json()["data"]["content"]
762
+ dataset_list = [dataset["name"] for dataset in datasets]
763
+ if dataset_name not in dataset_list:
764
+ logger.error(f"Dataset '{dataset_name}' does not exists. Please enter a existing dataset name")
765
+ return
766
+
767
+ # Get dataset id
768
+ dataset_id = [dataset["id"] for dataset in datasets if dataset["name"] == dataset_name][0]
769
+
770
+ response = requests.delete(
771
+ f"{Dataset.BASE_URL}/v1/llm/dataset/{int(dataset_id)}",
772
+ headers={
773
+ 'Authorization': f"Bearer {os.getenv('RAGAAI_CATALYST_TOKEN')}",
774
+ "X-Project-Id": str(self.project_id)
775
+ },
776
+ timeout=Dataset.TIMEOUT
777
+ )
778
+ response.raise_for_status()
779
+ if response.json()["success"]:
780
+ print(f"Dataset '{dataset_name}' deleted successfully")
781
+ else:
782
+ logger.error("Request was not successful")
783
+ except requests.exceptions.HTTPError as http_err:
784
+ logger.error(f"HTTP error occurred: {http_err}")
785
+ except requests.exceptions.ConnectionError as conn_err:
786
+ logger.error(f"Connection error occurred: {conn_err}")
787
+ except requests.exceptions.Timeout as timeout_err:
788
+ logger.error(f"Timeout error occurred: {timeout_err}")
789
+ except requests.exceptions.RequestException as req_err:
790
+ logger.error(f"An error occurred: {req_err}")
791
+ except Exception as e:
792
+ logger.error(f"An unexpected error occurred: {e}")
793
+
@@ -0,0 +1,117 @@
1
+ import contextvars
2
+ from typing import Optional, Dict
3
+ import json
4
+ from datetime import datetime
5
+ import uuid
6
+ import os
7
+ import builtins
8
+ from pathlib import Path
9
+ import logging
10
+ logger = logging.getLogger(__name__)
11
+
12
+ from ..data.data_structure import (
13
+ Trace,
14
+ Metadata,
15
+ SystemInfo,
16
+ OSInfo,
17
+ EnvironmentInfo,
18
+ Resources,
19
+ CPUResource,
20
+ MemoryResource,
21
+ DiskResource,
22
+ NetworkResource,
23
+ ResourceInfo,
24
+ MemoryInfo,
25
+ DiskInfo,
26
+ NetworkInfo,
27
+ Component,
28
+ LLMComponent,
29
+ AgentComponent,
30
+ ToolComponent,
31
+ NetworkCall,
32
+ Interaction,
33
+ Error,
34
+ )
35
+
36
+ from ....ragaai_catalyst import RagaAICatalyst
37
+
38
+
39
+ class AgenticTracing():
40
+ def __init__(self, user_detail, auto_instrumentation=None, timeout=120):
41
+ self.project_name = user_detail["project_name"]
42
+ self.project_id = user_detail["project_id"]
43
+ self.trace_user_detail = user_detail["trace_user_detail"]
44
+ self.base_url = f"{RagaAICatalyst.BASE_URL}"
45
+ self.timeout = timeout
46
+
47
+ # Add warning flag
48
+ self._warning_shown = False
49
+
50
+ self.tools: Dict[str, Tool] = {}
51
+ self.call_depth = contextvars.ContextVar("call_depth", default=0)
52
+ self.current_component_id = contextvars.ContextVar(
53
+ "current_component_id", default=None
54
+ )
55
+
56
+ # Handle auto_instrumentation
57
+ if auto_instrumentation is None:
58
+ # Default behavior: everything enabled
59
+ self.is_active = True
60
+ self.auto_instrument_llm = True
61
+ self.auto_instrument_tool = True
62
+ self.auto_instrument_agent = True
63
+ self.auto_instrument_user_interaction = True
64
+ self.auto_instrument_file_io = True
65
+ self.auto_instrument_network = True
66
+ self.auto_instrument_custom = True
67
+ else:
68
+ # Set global active state
69
+ self.is_active = True
70
+
71
+ # Set individual components
72
+ if isinstance(auto_instrumentation, dict):
73
+ self.auto_instrument_llm = auto_instrumentation.get("llm", True)
74
+ self.auto_instrument_tool = auto_instrumentation.get("tool", True)
75
+ self.auto_instrument_agent = auto_instrumentation.get("agent", True)
76
+ self.auto_instrument_user_interaction = auto_instrumentation.get(
77
+ "user_interaction", True
78
+ )
79
+ self.auto_instrument_file_io = auto_instrumentation.get(
80
+ "file_io", True
81
+ )
82
+ self.auto_instrument_network = auto_instrumentation.get(
83
+ "network", True
84
+ )
85
+ self.auto_instrument_custom = auto_instrumentation.get("custom", True)
86
+ else:
87
+ # If boolean provided, apply to all components
88
+ self.auto_instrument_llm = bool(auto_instrumentation)
89
+ self.auto_instrument_tool = bool(auto_instrumentation)
90
+ self.auto_instrument_agent = bool(auto_instrumentation)
91
+ self.auto_instrument_user_interaction = bool(auto_instrumentation)
92
+ self.auto_instrument_file_io = bool(auto_instrumentation)
93
+ self.auto_instrument_network = bool(auto_instrumentation)
94
+ self.auto_instrument_custom = bool(auto_instrumentation)
95
+
96
+ self.current_agent_id = contextvars.ContextVar("current_agent_id", default=None)
97
+ self.agent_children = contextvars.ContextVar("agent_children", default=[])
98
+ self.component_network_calls = {} # Store network calls per component
99
+ self.component_user_interaction = {}
100
+
101
+
102
+ def register_post_processor(self, post_processor_func):
103
+ """
104
+ Pass through the post-processor registration to the BaseTracer
105
+ """
106
+ if not callable(post_processor_func):
107
+ logger.error("post_processor_func must be a callable")
108
+ self.post_processor = post_processor_func
109
+
110
+ def __enter__(self):
111
+ """Context manager entry"""
112
+ self.start()
113
+ return self
114
+
115
+ def __exit__(self, exc_type, exc_value, traceback):
116
+ """Context manager exit"""
117
+ self.stop()
@@ -240,6 +240,7 @@ def process_upload(task_id: str, filepath: str, hash_id: str, zip_path: str,
240
240
  user_details=user_details,
241
241
  timeout=timeout
242
242
  )
243
+
243
244
  if response is None:
244
245
  logger.error(f"Dataset schema creation failed for {dataset_name} - received None response")
245
246
  elif hasattr(response, 'status_code') and response.status_code in [200, 201]:
@@ -480,7 +481,8 @@ def submit_upload_task(filepath, hash_id, zip_path, project_name, project_id, da
480
481
 
481
482
  return task_id
482
483
  except RuntimeError as e:
483
- if "cannot schedule new futures after shutdown" in str(e):
484
+ if any(msg in str(e) for msg in
485
+ ("cannot schedule new futures after shutdown", "cannot schedule new futures after interpreter shutdown")):
484
486
  logger.warning(f"Executor already shut down, falling back to synchronous processing: {e}")
485
487
  return do_sync_processing()
486
488
  else:
@@ -9,8 +9,6 @@ from requests.exceptions import ConnectionError, Timeout, RequestException
9
9
  from http.client import RemoteDisconnected
10
10
  from .session_manager import session_manager
11
11
 
12
- import requests
13
-
14
12
  logger = logging.getLogger(__name__)
15
13
 
16
14
  from ragaai_catalyst.ragaai_catalyst import RagaAICatalyst
@@ -65,7 +63,7 @@ class UploadAgenticTraces:
65
63
  presignedurl = self.update_presigned_url(presignedURLs, self.base_url)
66
64
  return presignedurl
67
65
  elif response.status_code == 401:
68
- logger.warning("Received 401 error. Attempting to refresh token.")
66
+ logger.warning("Received 401 error while getting presign url. Attempting to refresh token.")
69
67
  token = RagaAICatalyst.get_token(force_refresh=True)
70
68
  headers = {
71
69
  "Content-Type": "application/json",
@@ -90,7 +88,8 @@ class UploadAgenticTraces:
90
88
  return None
91
89
  else:
92
90
  # If POST fails, try GET
93
- logger.warning(f"POST request failed for presign url with status {response.status_code}. Falling back to GET request.")
91
+ logger.warning(
92
+ f"POST request failed for getting presign url with status{response.status_code}.Falling back to GET request.")
94
93
  response = session_manager.make_request_with_retry(
95
94
  "GET", endpoint, headers=headers, data=payload, timeout=self.timeout
96
95
  )
@@ -105,7 +104,7 @@ class UploadAgenticTraces:
105
104
  )
106
105
  return presignedurl
107
106
  elif response.status_code == 401:
108
- logger.warning("Received 401 error. Attempting to refresh token.")
107
+ logger.warning("Received 401 error while getting presign url. Attempting to refresh token.")
109
108
  token = RagaAICatalyst.get_token(force_refresh=True)
110
109
  headers = {
111
110
  "Content-Type": "application/json",
@@ -131,7 +130,7 @@ class UploadAgenticTraces:
131
130
  return presignedurl
132
131
  else:
133
132
  logger.error(
134
- f"Error while getting presigned url: {response.json()['message']}"
133
+ f"Error while getting presigned url after token refresh: {response.json()['message']}"
135
134
  )
136
135
  return None
137
136
  else:
@@ -8,8 +8,6 @@ from urllib3.exceptions import PoolError, MaxRetryError, NewConnectionError
8
8
  from requests.exceptions import ConnectionError, Timeout, RequestException
9
9
  from http.client import RemoteDisconnected
10
10
 
11
- import requests
12
-
13
11
  from ragaai_catalyst.ragaai_catalyst import RagaAICatalyst
14
12
  from .session_manager import session_manager
15
13
 
@@ -106,7 +104,7 @@ def _fetch_dataset_code_hashes(project_name, dataset_name, base_url=None, timeou
106
104
  session_manager.handle_request_exceptions(e, "fetching dataset code hashes")
107
105
  return None
108
106
  except RequestException as e:
109
- logger.error(f"Failed to list datasets: {e}")
107
+ logger.error(f"Failed to fetch dataset code hashes: {e}")
110
108
  return None
111
109
 
112
110
 
@@ -142,7 +140,7 @@ def _fetch_presigned_url(project_name, dataset_name, base_url=None, timeout=120)
142
140
  start_time = time.time()
143
141
  # Changed to POST from GET
144
142
  endpoint = f"{url_base}/v1/llm/presigned-url"
145
- response = requests.request(
143
+ response = session_manager.make_request_with_retry(
146
144
  "POST", endpoint, headers=headers, data=payload, timeout=timeout
147
145
  )
148
146
  elapsed_ms = (time.time() - start_time) * 1000
@@ -150,20 +148,20 @@ def _fetch_presigned_url(project_name, dataset_name, base_url=None, timeout=120)
150
148
  f"API Call: [POST] {endpoint} | Status: {response.status_code} | Time: {elapsed_ms:.2f}ms"
151
149
  )
152
150
 
153
- if response.status_code == 200:
151
+ if response.status_code in [200, 201]:
154
152
  presigned_url = response.json()["data"]["presignedUrls"][0]
155
153
  presigned_url = update_presigned_url(presigned_url, url_base)
156
154
  return presigned_url
157
155
  else:
158
156
  # If POST fails, try GET
159
- response = requests.request(
157
+ response = session_manager.make_request_with_retry(
160
158
  "POST", endpoint, headers=headers, data=payload, timeout=timeout
161
159
  )
162
160
  elapsed_ms = (time.time() - start_time) * 1000
163
161
  logger.debug(
164
162
  f"API Call: [POST] {endpoint} | Status: {response.status_code} | Time: {elapsed_ms:.2f}ms"
165
163
  )
166
- if response.status_code == 200:
164
+ if response.status_code in [200, 201]:
167
165
  presigned_url = response.json()["data"]["presignedUrls"][0]
168
166
  presigned_url = update_presigned_url(presigned_url, url_base)
169
167
  return presigned_url
@@ -175,7 +173,7 @@ def _fetch_presigned_url(project_name, dataset_name, base_url=None, timeout=120)
175
173
  "Content-Type": "application/json",
176
174
  "X-Project-Name": project_name,
177
175
  }
178
- response = requests.request(
176
+ response = session_manager.make_request_with_retry(
179
177
  "POST", endpoint, headers=headers, data=payload, timeout=timeout
180
178
  )
181
179
  elapsed_ms = (time.time() - start_time) * 1000
@@ -188,15 +186,18 @@ def _fetch_presigned_url(project_name, dataset_name, base_url=None, timeout=120)
188
186
  return presigned_url
189
187
  else:
190
188
  logger.error(
191
- f"Failed to fetch code hashes: {response.json()['message']}"
189
+ f"Failed to fetch presigned URL for code upload after 401: {response.json()['message']}"
192
190
  )
193
191
  else:
194
192
  logger.error(
195
- f"Failed to fetch code hashes: {response.json()['message']}"
193
+ f"Failed to fetch presigned URL for code upload: {response.json()['message']}"
196
194
  )
197
195
  return None
198
- except requests.exceptions.RequestException as e:
199
- logger.error(f"Failed to list datasets: {e}")
196
+ except (PoolError, MaxRetryError, NewConnectionError, ConnectionError, Timeout, RemoteDisconnected) as e:
197
+ session_manager.handle_request_exceptions(e, "fetching presigned URL for code upload")
198
+ return None
199
+ except RequestException as e:
200
+ logger.error(f"Failed to fetch presigned URL for code upload: {e}")
200
201
  return None
201
202
 
202
203
 
@@ -1,8 +1,9 @@
1
1
  import os
2
2
  import json
3
- import re
3
+ import requests
4
4
  import logging
5
5
  import time
6
+ from typing import Optional
6
7
  from urllib3.exceptions import PoolError, MaxRetryError, NewConnectionError
7
8
  from requests.exceptions import ConnectionError, Timeout, RequestException
8
9
  from http.client import RemoteDisconnected
@@ -10,16 +11,26 @@ from http.client import RemoteDisconnected
10
11
  from ragaai_catalyst import RagaAICatalyst
11
12
  from ragaai_catalyst.tracers.agentic_tracing.upload.session_manager import session_manager
12
13
 
14
+ IGNORED_KEYS = {"log_source", "recorded_on"}
13
15
  logger = logging.getLogger(__name__)
14
16
 
15
- def create_dataset_schema_with_trace(project_name, dataset_name, base_url=None, user_details=None, timeout=120):
16
- SCHEMA_MAPPING = {}
17
- metadata = user_details.get("trace_user_detail").get("metadata")
18
- if metadata and isinstance(metadata, dict):
17
+ def create_dataset_schema_with_trace(
18
+ project_name: str,
19
+ dataset_name: str,
20
+ base_url: Optional[str] = None,
21
+ user_details: Optional[dict] = None,
22
+ timeout: int = 120) -> requests.Response:
23
+ schema_mapping = {}
24
+
25
+ metadata = (
26
+ user_details.get("trace_user_detail", {}).get("metadata", {})
27
+ if user_details else {}
28
+ )
29
+ if isinstance(metadata, dict):
19
30
  for key, value in metadata.items():
20
- if key in ["log_source", "recorded_on"]:
31
+ if key in IGNORED_KEYS:
21
32
  continue
22
- SCHEMA_MAPPING[key] = {"columnType": "metadata"}
33
+ schema_mapping[key] = {"columnType": "metadata"}
23
34
 
24
35
  headers = {
25
36
  "Content-Type": "application/json",
@@ -27,11 +38,11 @@ def create_dataset_schema_with_trace(project_name, dataset_name, base_url=None,
27
38
  "X-Project-Name": project_name,
28
39
  }
29
40
 
30
- if SCHEMA_MAPPING:
41
+ if schema_mapping:
31
42
  payload = json.dumps({
32
43
  "datasetName": dataset_name,
33
44
  "traceFolderUrl": None,
34
- "schemaMapping": SCHEMA_MAPPING
45
+ "schemaMapping": schema_mapping
35
46
  })
36
47
  else:
37
48
  payload = json.dumps({
@@ -7,6 +7,8 @@ import re
7
7
  import ast
8
8
  import importlib.util
9
9
  import json
10
+ from typing import List, Optional, Tuple
11
+
10
12
  import ipynbname
11
13
  from copy import deepcopy
12
14
 
@@ -460,8 +462,14 @@ class TraceDependencyTracker:
460
462
  logger.debug(f"Zip file created successfully at: {zip_filename}")
461
463
  return hash_id, zip_filename
462
464
 
463
- def zip_list_of_unique_files(filepaths, output_dir=None):
465
+ def zip_list_of_unique_files(
466
+ filepaths: List[str],
467
+ output_dir: Optional[str] = None
468
+ ) -> Tuple[str, str]:
464
469
  """Create a zip file containing all unique files and their dependencies."""
470
+ if not filepaths:
471
+ logger.warning("The filepaths list is empty. Proceeding with an empty ZIP archive.")
472
+ filepaths = []
465
473
  if output_dir is None:
466
474
  # Set default output directory based on environment
467
475
  if JupyterNotebookHandler.is_running_in_colab():
@@ -1,7 +1,6 @@
1
1
  from .file_span_exporter import FileSpanExporter
2
- from .raga_exporter import RagaExporter
3
2
  from .ragaai_trace_exporter import RAGATraceExporter
4
3
  from .dynamic_trace_exporter import DynamicTraceExporter
5
4
 
6
5
 
7
- __all__ = ["FileSpanExporter", "RagaExporter", "RAGATraceExporter", "DynamicTraceExporter"]
6
+ __all__ = ["FileSpanExporter", "RAGATraceExporter", "DynamicTraceExporter"]