ragaai-catalyst 2.1.7.5b3__tar.gz → 2.1.7.5b4__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 (220) hide show
  1. {ragaai_catalyst-2.1.7.5b3/ragaai_catalyst.egg-info → ragaai_catalyst-2.1.7.5b4}/PKG-INFO +1 -1
  2. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/Quickstart.md +13 -8
  3. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/pyproject.toml +1 -1
  4. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/ragaai_catalyst.py +48 -7
  5. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/tracer.py +44 -1
  6. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4/ragaai_catalyst.egg-info}/PKG-INFO +1 -1
  7. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  9. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  10. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/.github/workflows/ci.yml +0 -0
  11. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/.gitignore +0 -0
  12. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/.gitmodules +0 -0
  13. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/LICENSE +0 -0
  14. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/README.md +0 -0
  15. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/agentic_tracing.md +0 -0
  16. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/dataset_management.md +0 -0
  17. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/autheticate.gif +0 -0
  18. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/create_project.gif +0 -0
  19. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/custom_metrics.png +0 -0
  20. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/dataset.gif +0 -0
  21. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/dataset.png +0 -0
  22. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/evaluation.gif +0 -0
  23. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/evaluation.png +0 -0
  24. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/guardrails.png +0 -0
  25. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/last_main.png +0 -0
  26. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/main.png +0 -0
  27. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/projects_new.png +0 -0
  28. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/img/trace_comp.png +0 -0
  29. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/prompt_management.md +0 -0
  30. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/docs/trace_management.md +0 -0
  31. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/all_llm_provider/all_llm_provider.py +0 -0
  32. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/all_llm_provider/config.py +0 -0
  33. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/all_llm_provider/run_all_llm_provider.py +0 -0
  34. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/crewai/scifi_writer/README.md +0 -0
  35. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/crewai/scifi_writer/requirements.txt +0 -0
  36. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/crewai/scifi_writer/sample.env +0 -0
  37. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/crewai/scifi_writer/scifi_writer.py +0 -0
  38. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/custom_agents/travel_agent/agents.py +0 -0
  39. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/custom_agents/travel_agent/config.py +0 -0
  40. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/custom_agents/travel_agent/main.py +0 -0
  41. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/custom_agents/travel_agent/tools.py +0 -0
  42. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/haystack/news_fetching/README.md +0 -0
  43. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/haystack/news_fetching/news_fetching.py +0 -0
  44. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/haystack/news_fetching/requirements.txt +0 -0
  45. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  46. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  47. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  48. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langchain/medical_rag/diagnosis_agent.py +0 -0
  49. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langchain/medical_rag/requirements.txt +0 -0
  50. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langchain/medical_rag/sample.env +0 -0
  51. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langgraph/personal_research_assistant/README.md +0 -0
  52. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langgraph/personal_research_assistant/requirements.txt +0 -0
  53. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langgraph/personal_research_assistant/research_assistant.py +0 -0
  54. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/langgraph/personal_research_assistant/sample.env +0 -0
  55. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  56. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  57. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  58. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/llamaindex_examples/legal_research_rag/legal_rag.py +0 -0
  59. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/llamaindex_examples/legal_research_rag/requirements.txt +0 -0
  60. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/llamaindex_examples/legal_research_rag/sample.env +0 -0
  61. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/email_data_extraction_agent/README.md +0 -0
  62. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/email_data_extraction_agent/data_extraction_email.py +0 -0
  63. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/email_data_extraction_agent/requirements.txt +0 -0
  64. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/email_data_extraction_agent/sample.env +0 -0
  65. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/youtube_summary_agent/README.md +0 -0
  66. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/youtube_summary_agent/requirements.txt +0 -0
  67. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/youtube_summary_agent/sample.env +0 -0
  68. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/openai_agents_sdk/youtube_summary_agent/youtube_summary_agent.py +0 -0
  69. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/pii_masking_example/llamaindex_agentic_fastapi/app.py +0 -0
  70. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/pii_masking_example/llamaindex_agentic_fastapi/app_presidio.py +0 -0
  71. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/pii_masking_example/llamaindex_agentic_fastapi/request.py +0 -0
  72. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/pii_masking_example/llamaindex_agentic_fastapi/requirements.txt +0 -0
  73. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/smolagents/most_upvoted_paper/README.md +0 -0
  74. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +0 -0
  75. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/smolagents/most_upvoted_paper/requirements.txt +0 -0
  76. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/examples/smolagents/most_upvoted_paper/sample.env +0 -0
  77. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/__init__.py +0 -0
  78. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/_version.py +0 -0
  79. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/dataset.py +0 -0
  80. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/evaluation.py +0 -0
  81. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/experiment.py +0 -0
  82. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/guard_executor.py +0 -0
  83. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/guardrails_manager.py +0 -0
  84. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/internal_api_completion.py +0 -0
  85. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/prompt_manager.py +0 -0
  86. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/proxy_call.py +0 -0
  87. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/__init__.py +0 -0
  88. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/config/detectors.toml +0 -0
  89. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/data_generator/scenario_generator.py +0 -0
  90. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/data_generator/test_case_generator.py +0 -0
  91. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/evaluator.py +0 -0
  92. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/llm_generator.py +0 -0
  93. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/llm_generator_old.py +0 -0
  94. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/red_teaming.py +0 -0
  95. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/requirements.txt +0 -0
  96. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/tests/grok.ipynb +0 -0
  97. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/tests/stereotype.ipynb +0 -0
  98. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/upload_result.py +0 -0
  99. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/utils/issue_description.py +0 -0
  100. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming/utils/rt.png +0 -0
  101. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/redteaming_old.py +0 -0
  102. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/synthetic_data_generation.py +0 -0
  103. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/__init__.py +0 -0
  104. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/README.md +0 -0
  105. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/__init__.py +0 -0
  106. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/data/__init__.py +0 -0
  107. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/data/data_structure.py +0 -0
  108. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tests/FinancialAnalysisSystem.ipynb +0 -0
  109. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tests/GameActivityEventPlanner.ipynb +0 -0
  110. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tests/TravelPlanner.ipynb +0 -0
  111. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tests/__init__.py +0 -0
  112. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tests/ai_travel_agent.py +0 -0
  113. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tests/unique_decorator_test.py +0 -0
  114. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/__init__.py +0 -0
  115. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/agent_tracer.py +0 -0
  116. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/base.py +0 -0
  117. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/custom_tracer.py +0 -0
  118. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/langgraph_tracer.py +0 -0
  119. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/llm_tracer.py +0 -0
  120. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/main_tracer.py +0 -0
  121. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/network_tracer.py +0 -0
  122. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/tool_tracer.py +0 -0
  123. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/tracers/user_interaction_tracer.py +0 -0
  124. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/upload/__init__.py +0 -0
  125. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/upload/trace_uploader.py +0 -0
  126. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_agentic_traces.py +0 -0
  127. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_code.py +0 -0
  128. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_local_metric.py +0 -0
  129. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/upload/upload_trace_metric.py +0 -0
  130. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/__init__.py +0 -0
  131. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/api_utils.py +0 -0
  132. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/create_dataset_schema.py +0 -0
  133. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/file_name_tracker.py +0 -0
  134. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/generic.py +0 -0
  135. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/get_user_trace_metrics.py +0 -0
  136. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/llm_utils.py +0 -0
  137. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/model_costs.json +0 -0
  138. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/span_attributes.py +0 -0
  139. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/supported_llm_provider.toml +0 -0
  140. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/system_monitor.py +0 -0
  141. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/trace_utils.py +0 -0
  142. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/unique_decorator.py +0 -0
  143. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/agentic_tracing/utils/zip_list_of_unique_files.py +0 -0
  144. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/distributed.py +0 -0
  145. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/exporters/__init__.py +0 -0
  146. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/exporters/dynamic_trace_exporter.py +0 -0
  147. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/exporters/file_span_exporter.py +0 -0
  148. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/exporters/raga_exporter.py +0 -0
  149. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/exporters/ragaai_trace_exporter.py +0 -0
  150. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/instrumentators/__init__.py +0 -0
  151. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/langchain_callback.py +0 -0
  152. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/llamaindex_callback.py +0 -0
  153. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/llamaindex_instrumentation.py +0 -0
  154. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/upload_traces.py +0 -0
  155. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/__init__.py +0 -0
  156. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/convert_langchain_callbacks_output.py +0 -0
  157. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/convert_llama_instru_callback.py +0 -0
  158. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/extraction_logic_llama_index.py +0 -0
  159. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/langchain_tracer_extraction_logic.py +0 -0
  160. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/model_prices_and_context_window_backup.json +0 -0
  161. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/rag_trace_json_converter.py +0 -0
  162. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/trace_json_converter.py +0 -0
  163. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/tracers/utils/utils.py +0 -0
  164. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst/utils.py +0 -0
  165. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst.egg-info/SOURCES.txt +0 -0
  166. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst.egg-info/dependency_links.txt +0 -0
  167. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst.egg-info/requires.txt +0 -0
  168. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/ragaai_catalyst.egg-info/top_level.txt +0 -0
  169. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/requirements.txt +0 -0
  170. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/setup.cfg +0 -0
  171. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/test_report_20250407_183101.txt +0 -0
  172. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/README.md +0 -0
  173. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/environment.yml +0 -0
  174. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/__init__.py +0 -0
  175. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/all_llm_provider/all_llm_provider.py +0 -0
  176. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/all_llm_provider/config.py +0 -0
  177. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/all_llm_provider/test_all_llm_provider.py +0 -0
  178. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/crewai/scifi_writer/sci_fi_story.md +0 -0
  179. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/crewai/scifi_writer/scifi_writer.py +0 -0
  180. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/crewai/scifi_writer/test_scifi_writer.py +0 -0
  181. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/custom_agents/travel_agent/agents.py +0 -0
  182. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/custom_agents/travel_agent/config.py +0 -0
  183. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/custom_agents/travel_agent/main.py +0 -0
  184. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/custom_agents/travel_agent/test_travel_agent.py +0 -0
  185. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/custom_agents/travel_agent/tools.py +0 -0
  186. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/haystack/news_fetching/news_fetching.py +0 -0
  187. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/haystack/news_fetching/test_news_fetching.py +0 -0
  188. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/langchain/medical_rag/data/medical_texts/handbook1.pdf +0 -0
  189. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/langchain/medical_rag/data/medical_texts/handbook2.pdf +0 -0
  190. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/langchain/medical_rag/data/symptom_disease_map.csv +0 -0
  191. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/langchain/medical_rag/diagnosis_agent.py +0 -0
  192. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/langchain/medical_rag/test_diagnosis_agent.py +0 -0
  193. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/langgraph/personal_research_assistant/research_assistant.py +0 -0
  194. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/langgraph/personal_research_assistant/test_research_assistant.py +0 -0
  195. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/cases/ca_overtime_2021.pdf +0 -0
  196. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/cases/fl_ada_2022.pdf +0 -0
  197. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/llamaindex_examples/legal_research_rag/legal_data/statutes.csv +0 -0
  198. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/llamaindex_examples/legal_research_rag/legal_rag.py +0 -0
  199. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/llamaindex_examples/legal_research_rag/test_legal_rag.py +0 -0
  200. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/smolagents/most_upvoted_paper/most_upvoted_paper.py +0 -0
  201. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/smolagents/most_upvoted_paper/paper.pdf +0 -0
  202. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/smolagents/most_upvoted_paper/test_most_upvoted_paper.py +0 -0
  203. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/test_utils/get_components.py +0 -0
  204. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/examples/test_utils/get_trace_data.py +0 -0
  205. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/run_pytest_and_print_and_save_results.py +0 -0
  206. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/table_result.png +0 -0
  207. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_base_tracer_add_metrics.py +0 -0
  208. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_base_tracer_metrics.py +0 -0
  209. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_data/util_synthetic_data_doc.pdf +0 -0
  210. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_data/util_synthetic_data_invalid.csv +0 -0
  211. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_data/util_synthetic_data_valid.csv +0 -0
  212. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_data/util_test_dataset.csv +0 -0
  213. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_data/util_test_langchain_tracing.pdf +0 -0
  214. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_dataset.py +0 -0
  215. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_evaluation.py +0 -0
  216. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_evaluation_metrics.py +0 -0
  217. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_prompt_manager.py +0 -0
  218. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_synthetic_data_generation.py +0 -0
  219. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests/test_catalyst/test_the_configuration.py +0 -0
  220. {ragaai_catalyst-2.1.7.5b3 → ragaai_catalyst-2.1.7.5b4}/tests_requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.7.5b3
3
+ Version: 2.1.7.5b4
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>
6
6
  Requires-Python: <=3.13.2,>=3.10
@@ -1,4 +1,4 @@
1
- # Quickstart
1
+ # Quickstart | RagaAI Catalyst
2
2
 
3
3
  ## **1. Install RagaAI Catalyst**
4
4
 
@@ -17,8 +17,6 @@ pip install ragaai-catalyst
17
17
  2. Navigate to **Profile Settings** → **Authentication**.
18
18
  3. Click **Generate New Key** to obtain your **Access Key** and **Secret Key**.
19
19
 
20
- ![How to generate authentication keys](docs/img/autheticate.gif)
21
-
22
20
  ### **Initialize the SDK**
23
21
 
24
22
  To begin using Catalyst, initialize it as follows:
@@ -33,6 +31,7 @@ catalyst = RagaAICatalyst(
33
31
  )
34
32
  ```
35
33
 
34
+
36
35
  ## **3. Create Your First Project**
37
36
 
38
37
  Create a new project and choose a use case from the available options:
@@ -47,8 +46,6 @@ project = catalyst.create_project(
47
46
  # List available use cases
48
47
  print(catalyst.project_use_cases())
49
48
  ```
50
- ![Projects](docs/img/create_project.gif)
51
-
52
49
 
53
50
  ### **Add a Dataset**
54
51
  Initialize the dataset manager and create a dataset from a CSV file, DataFrame, or JSONl file.
@@ -74,7 +71,7 @@ dataset_manager.create_from_csv(
74
71
  # View dataset schema
75
72
  print(dataset_manager.get_schema_mapping())
76
73
  ```
77
- ![Dataset](docs/img/dataset.gif)
74
+
78
75
 
79
76
  ## **4. Trace Your Application**
80
77
 
@@ -147,7 +144,7 @@ tracer.stop()
147
144
  # Verify data capture
148
145
  print(tracer.get_upload_status())
149
146
  ```
150
- ![Tracing](docs/img/last_main.png)
147
+
151
148
 
152
149
 
153
150
  ## **5. Evaluation Framework**
@@ -192,4 +189,12 @@ evaluation.add_metrics(
192
189
  print(f"Status: {evaluation.get_status()}")
193
190
  print(f"Results: {evaluation.get_results()}")
194
191
  ```
195
- ![Evaluation](docs/img/evaluation.gif)
192
+
193
+
194
+
195
+ ## **Next Steps**
196
+ - **Explore the Dashboard:** Visualize metrics and insights in the RagaAI Web UI.
197
+
198
+
199
+
200
+ **Version:** 1.0.0 | **Last Updated:** Mar 2025
@@ -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.1.7.5.beta.3"
11
+ version = "2.1.7.5.beta.4"
12
12
  authors = [
13
13
  {name = "Kiran Scaria", email = "kiran.scaria@raga.ai"},
14
14
  {name = "Kedar Gaikwad", email = "kedar.gaikwad@raga.ai"},
@@ -13,6 +13,7 @@ logging_level = (
13
13
  class RagaAICatalyst:
14
14
  BASE_URL = None
15
15
  TIMEOUT = 10 # Default timeout in seconds
16
+ TOKEN_EXPIRY_TIME = 6 # Default token expiration time (6 hours in hours)
16
17
 
17
18
  def __init__(
18
19
  self,
@@ -20,6 +21,7 @@ class RagaAICatalyst:
20
21
  secret_key,
21
22
  api_keys: Optional[Dict[str, str]] = None,
22
23
  base_url: Optional[str] = None,
24
+ token_expiry_time: Optional[float] = 6,
23
25
  ):
24
26
  """
25
27
  Initializes a new instance of the RagaAICatalyst class.
@@ -29,6 +31,7 @@ class RagaAICatalyst:
29
31
  secret_key (str): The secret key for the RagaAICatalyst.
30
32
  api_keys (Optional[Dict[str, str]]): A dictionary of API keys for different services. Defaults to None.
31
33
  base_url (Optional[str]): The base URL for the RagaAICatalyst API. Defaults to None.
34
+ token_expiry_time (Optional[float]): The time in hours before the token expires. Defaults to 0.1 hours.
32
35
 
33
36
  Raises:
34
37
  ValueError: If the RAGAAI_CATALYST_ACCESS_KEY and RAGAAI_CATALYST_SECRET_KEY environment variables are not set.
@@ -54,6 +57,9 @@ class RagaAICatalyst:
54
57
  self._token_expiry = None
55
58
  self._token_refresh_lock = threading.Lock()
56
59
  self._refresh_thread = None
60
+
61
+ # Set token expiration time (convert hours to seconds)
62
+ RagaAICatalyst.TOKEN_EXPIRY_TIME = token_expiry_time * 60 * 60
57
63
 
58
64
  RagaAICatalyst.BASE_URL = (
59
65
  os.getenv("RAGAAI_CATALYST_BASE_URL")
@@ -149,9 +155,8 @@ class RagaAICatalyst:
149
155
  """Get the API key for a specific service."""
150
156
  return self.api_keys.get(service)
151
157
 
152
- # Token expiration time in seconds (6 hours by default)
153
- # TODO: Change this to 23 hours
154
- TOKEN_EXPIRATION_TIME = 6 * 60 * 60
158
+ # Token expiration time is now configurable via the token_expiry_time parameter
159
+ # Default is 6 hours, but can be changed to 23 hours or any other value
155
160
 
156
161
  def _get_credentials(self) -> tuple[str, str]:
157
162
  """Get access key and secret key from instance or environment."""
@@ -165,6 +170,29 @@ class RagaAICatalyst:
165
170
  self.get_token(force_refresh=True)
166
171
  except Exception as e:
167
172
  logger.error(f"Background token refresh failed: {str(e)}")
173
+
174
+ def _schedule_token_refresh(self):
175
+ """Schedule a token refresh to happen 20 seconds before expiration."""
176
+ if not self._token_expiry:
177
+ return
178
+
179
+ # Calculate when to refresh (20 seconds before expiration)
180
+ current_time = time.time()
181
+ refresh_buffer = min(20, RagaAICatalyst.TOKEN_EXPIRY_TIME * 0.05) # 20 seconds or 5% of expiry time, whichever is smaller
182
+ time_until_refresh = max(self._token_expiry - current_time - refresh_buffer, 1) # At least 1 second
183
+
184
+ def delayed_refresh():
185
+ # Sleep until it's time to refresh
186
+ time.sleep(time_until_refresh)
187
+ logger.debug(f"Scheduled token refresh triggered")
188
+ self._refresh_token_async()
189
+
190
+ # Start a new thread for the delayed refresh
191
+ if not self._refresh_thread or not self._refresh_thread.is_alive():
192
+ self._refresh_thread = threading.Thread(target=delayed_refresh)
193
+ self._refresh_thread.daemon = True
194
+ self._refresh_thread.start()
195
+ logger.debug(f"Token refresh scheduled in {time_until_refresh:.1f} seconds")
168
196
 
169
197
  def get_token(self, force_refresh=False) -> Union[str, None]:
170
198
  """
@@ -226,8 +254,12 @@ class RagaAICatalyst:
226
254
  token = token_response.get("data", {}).get("token")
227
255
  if token:
228
256
  os.environ["RAGAAI_CATALYST_TOKEN"] = token
229
- self._token_expiry = time.time() + self.TOKEN_EXPIRATION_TIME
230
- logger.info(f"Token refreshed successfully. Next refresh in {self.TOKEN_EXPIRATION_TIME/3600:.1f} hours")
257
+ self._token_expiry = time.time() + RagaAICatalyst.TOKEN_EXPIRY_TIME
258
+ logger.debug(f"Token refreshed successfully. Next refresh in {RagaAICatalyst.TOKEN_EXPIRY_TIME/3600:.1f} hours")
259
+
260
+ # Schedule token refresh 20 seconds before expiration
261
+ self._schedule_token_refresh()
262
+
231
263
  return token
232
264
  else:
233
265
  logger.error("Token(s) not set")
@@ -237,7 +269,7 @@ class RagaAICatalyst:
237
269
  """
238
270
  Ensures a valid token is available, with different handling for missing token vs expired token:
239
271
  - Missing token: Synchronous retrieval (fail fast)
240
- - Expired token: Asynchronous refresh in background
272
+ - Expired token: Synchronous refresh (since token is needed immediately)
241
273
 
242
274
  Returns:
243
275
  - A string representing the valid token if successful.
@@ -250,13 +282,22 @@ class RagaAICatalyst:
250
282
  if not current_token:
251
283
  return self.get_token(force_refresh=True)
252
284
 
253
- # Case 2: Token expired or about to expire - async refresh
285
+ # Case 2: Token expired - synchronous refresh (since we need a valid token now)
254
286
  if not self._token_expiry or current_time >= self._token_expiry:
287
+ logger.info("Token expired, refreshing synchronously")
288
+ return self.get_token(force_refresh=True)
289
+
290
+ # Case 3: Token valid but approaching expiry (less than 10% of lifetime remaining)
291
+ # Start background refresh but return current token
292
+ token_remaining_time = self._token_expiry - current_time
293
+ if token_remaining_time < (RagaAICatalyst.TOKEN_EXPIRY_TIME * 0.1):
255
294
  if not self._refresh_thread or not self._refresh_thread.is_alive():
295
+ logger.info("Token approaching expiry, starting background refresh")
256
296
  self._refresh_thread = threading.Thread(target=self._refresh_token_async)
257
297
  self._refresh_thread.daemon = True
258
298
  self._refresh_thread.start()
259
299
 
300
+ # Return current token (which is valid)
260
301
  return current_token
261
302
 
262
303
  def get_auth_header(self) -> Dict[str, str]:
@@ -402,7 +402,50 @@ class Tracer(AgenticTracing):
402
402
  def recursive_mask_values(obj, parent_key=None):
403
403
  """Apply masking to all values in nested structure."""
404
404
  if isinstance(obj, dict):
405
- return {k: recursive_mask_values(v, k) for k, v in obj.items()}
405
+ if self.tracer_type == "langchain":
406
+ # Special handling for LangChain data
407
+ if isinstance(obj, dict):
408
+ if obj.get("name", "") == "retrieve_documents.langchain.workflow":
409
+ prompt_structured_data = {
410
+ "traceloop.entity.input": json.dumps({
411
+ "kwargs": {
412
+ "input": masking_func(json.loads(obj.get("attributes", {}).get("traceloop.entity.input", "")).get("kwargs", {}).get("input", "")),
413
+ }
414
+ })
415
+ }
416
+ prompt_data = {
417
+ "name": "retrieve_documents.langchain.workflow",
418
+ "attributes": prompt_structured_data,
419
+ }
420
+ return prompt_data
421
+ elif obj.get("name", "") == "PromptTemplate.langchain.task":
422
+ context_structured_data = {
423
+ "traceloop.entity.input": json.dumps({
424
+ "kwargs": {
425
+ "context": masking_func(json.loads(obj.get("attributes", {}).get("traceloop.entity.input", "")).get("kwargs", {}).get("context", "")),
426
+ }
427
+ }),
428
+ "traceloop.entity.output": json.dumps({
429
+ "kwargs": {
430
+ "text": masking_func(json.loads(obj.get("attributes", {}).get("traceloop.entity.output", "")).get("kwargs", {}).get("text", "")),
431
+ }
432
+ })
433
+ }
434
+ context_data = {
435
+ "name": "PromptTemplate.langchain.task",
436
+ "attributes": context_structured_data,
437
+ }
438
+ return context_data
439
+ elif obj.get("name", "") == "ChatOpenAI.langchain.task":
440
+ response_structured_data = {"gen_ai.completion.0.content": masking_func(obj.get("attributes", {}).get("gen_ai.completion.0.content", "")),
441
+ "gen_ai.prompt.0.content": masking_func(obj.get("attributes", {}).get("gen_ai.prompt.0.content", ""))}
442
+ response_data = {
443
+ "name": "ChatOpenAI.langchain.task",
444
+ "attributes" : response_structured_data
445
+ }
446
+ return response_data
447
+ else:
448
+ return {k: recursive_mask_values(v, k) for k, v in obj.items()}
406
449
  elif isinstance(obj, list):
407
450
  return [recursive_mask_values(item, parent_key) for item in obj]
408
451
  elif isinstance(obj, str):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ragaai_catalyst
3
- Version: 2.1.7.5b3
3
+ Version: 2.1.7.5b4
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>
6
6
  Requires-Python: <=3.13.2,>=3.10