agenta 0.51.3__tar.gz → 0.51.4__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.

Potentially problematic release.


This version of agenta might be problematic. Click here for more details.

Files changed (370) hide show
  1. {agenta-0.51.3 → agenta-0.51.4}/PKG-INFO +2 -2
  2. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/decorators/tracing.py +182 -25
  3. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/processors.py +4 -8
  4. {agenta-0.51.3 → agenta-0.51.4}/pyproject.toml +2 -2
  5. {agenta-0.51.3 → agenta-0.51.4}/README.md +0 -0
  6. {agenta-0.51.3 → agenta-0.51.4}/agenta/__init__.py +0 -0
  7. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/Readme.md +0 -0
  8. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/__init__.py +0 -0
  9. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/__init__.py +0 -0
  10. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/access_control/__init__.py +0 -0
  11. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/access_control/client.py +0 -0
  12. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/access_control/raw_client.py +0 -0
  13. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/admin/__init__.py +0 -0
  14. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/admin/client.py +0 -0
  15. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/admin/raw_client.py +0 -0
  16. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/api_keys/__init__.py +0 -0
  17. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/api_keys/client.py +0 -0
  18. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/api_keys/raw_client.py +0 -0
  19. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/apps/__init__.py +0 -0
  20. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/apps/client.py +0 -0
  21. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/apps/raw_client.py +0 -0
  22. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/bases/__init__.py +0 -0
  23. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/bases/client.py +0 -0
  24. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/bases/raw_client.py +0 -0
  25. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/billing/__init__.py +0 -0
  26. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/billing/client.py +0 -0
  27. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/billing/raw_client.py +0 -0
  28. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/client.py +0 -0
  29. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/configs/__init__.py +0 -0
  30. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/configs/client.py +0 -0
  31. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/configs/raw_client.py +0 -0
  32. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/containers/__init__.py +0 -0
  33. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/containers/client.py +0 -0
  34. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/containers/raw_client.py +0 -0
  35. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/__init__.py +0 -0
  36. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/api_error.py +0 -0
  37. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/client_wrapper.py +0 -0
  38. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/datetime_utils.py +0 -0
  39. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/file.py +0 -0
  40. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/force_multipart.py +0 -0
  41. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/http_client.py +0 -0
  42. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/http_response.py +0 -0
  43. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/jsonable_encoder.py +0 -0
  44. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/pydantic_utilities.py +0 -0
  45. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/query_encoder.py +0 -0
  46. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
  47. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/request_options.py +0 -0
  48. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/core/serialization.py +0 -0
  49. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/environment.py +0 -0
  50. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/environments/__init__.py +0 -0
  51. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/environments/client.py +0 -0
  52. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/environments/raw_client.py +0 -0
  53. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/errors/__init__.py +0 -0
  54. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
  55. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evals/__init__.py +0 -0
  56. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evals/client.py +0 -0
  57. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evals/raw_client.py +0 -0
  58. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evaluations/__init__.py +0 -0
  59. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evaluations/client.py +0 -0
  60. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evaluations/raw_client.py +0 -0
  61. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evaluators/__init__.py +0 -0
  62. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evaluators/client.py +0 -0
  63. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/evaluators/raw_client.py +0 -0
  64. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/human_evaluations/__init__.py +0 -0
  65. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/human_evaluations/client.py +0 -0
  66. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/human_evaluations/raw_client.py +0 -0
  67. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/__init__.py +0 -0
  68. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/client.py +0 -0
  69. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/raw_client.py +0 -0
  70. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/types/__init__.py +0 -0
  71. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/types/fetch_trace_by_id_request_trace_id.py +0 -0
  72. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/types/fetch_trace_by_id_response.py +0 -0
  73. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/types/query_analytics_response.py +0 -0
  74. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/observability/types/query_traces_response.py +0 -0
  75. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/organization/__init__.py +0 -0
  76. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/organization/client.py +0 -0
  77. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/organization/raw_client.py +0 -0
  78. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/raw_client.py +0 -0
  79. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/scopes/__init__.py +0 -0
  80. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/scopes/client.py +0 -0
  81. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/scopes/raw_client.py +0 -0
  82. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/testsets/__init__.py +0 -0
  83. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/testsets/client.py +0 -0
  84. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/testsets/raw_client.py +0 -0
  85. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/testsets/types/__init__.py +0 -0
  86. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/testsets/types/create_testset_from_file_request_file_type.py +0 -0
  87. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/testsets/types/fetch_testset_to_file_request_file_type.py +0 -0
  88. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/testsets/types/update_testset_from_file_request_file_type.py +0 -0
  89. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/tracing/__init__.py +0 -0
  90. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/tracing/client.py +0 -0
  91. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/tracing/raw_client.py +0 -0
  92. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/tracing/types/__init__.py +0 -0
  93. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/tracing/types/fetch_trace_request_trace_id.py +0 -0
  94. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/tracing/types/remove_trace_request_trace_id.py +0 -0
  95. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/__init__.py +0 -0
  96. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/account_request.py +0 -0
  97. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/account_response.py +0 -0
  98. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/agenta_node_dto.py +0 -0
  99. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/agenta_node_dto_nodes_value.py +0 -0
  100. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/agenta_nodes_response.py +0 -0
  101. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/agenta_root_dto.py +0 -0
  102. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/agenta_roots_response.py +0 -0
  103. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/agenta_tree_dto.py +0 -0
  104. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/agenta_trees_response.py +0 -0
  105. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/aggregated_result.py +0 -0
  106. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/aggregated_result_evaluator_config.py +0 -0
  107. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/analytics_response.py +0 -0
  108. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation.py +0 -0
  109. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_create.py +0 -0
  110. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_edit.py +0 -0
  111. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_kind.py +0 -0
  112. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_link.py +0 -0
  113. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_link_response.py +0 -0
  114. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_query.py +0 -0
  115. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_query_request.py +0 -0
  116. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_reference.py +0 -0
  117. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_references.py +0 -0
  118. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_response.py +0 -0
  119. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotation_source.py +0 -0
  120. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/annotations_response.py +0 -0
  121. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/app.py +0 -0
  122. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/app_variant_response.py +0 -0
  123. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/app_variant_revision.py +0 -0
  124. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/artifact.py +0 -0
  125. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/base_output.py +0 -0
  126. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/body_fetch_workflow_revision.py +0 -0
  127. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/body_import_testset.py +0 -0
  128. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/bucket_dto.py +0 -0
  129. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/collect_status_response.py +0 -0
  130. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/config_db.py +0 -0
  131. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/config_dto.py +0 -0
  132. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/config_response_model.py +0 -0
  133. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/correct_answer.py +0 -0
  134. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/create_app_output.py +0 -0
  135. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/custom_model_settings_dto.py +0 -0
  136. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/custom_provider_dto.py +0 -0
  137. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/custom_provider_kind.py +0 -0
  138. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/custom_provider_settings_dto.py +0 -0
  139. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/data.py +0 -0
  140. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/delete_evaluation.py +0 -0
  141. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/environment_output.py +0 -0
  142. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/environment_output_extended.py +0 -0
  143. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/environment_revision.py +0 -0
  144. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/error.py +0 -0
  145. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluation.py +0 -0
  146. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluation_scenario.py +0 -0
  147. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
  148. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluation_scenario_output.py +0 -0
  149. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
  150. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluation_status_enum.py +0 -0
  151. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluation_type.py +0 -0
  152. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator.py +0 -0
  153. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_config.py +0 -0
  154. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_flags.py +0 -0
  155. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_mapping_output_interface.py +0 -0
  156. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_output_interface.py +0 -0
  157. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_query.py +0 -0
  158. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_query_request.py +0 -0
  159. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_request.py +0 -0
  160. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluator_response.py +0 -0
  161. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/evaluators_response.py +0 -0
  162. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/exception_dto.py +0 -0
  163. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/extended_o_tel_tracing_response.py +0 -0
  164. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/focus.py +0 -0
  165. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/format.py +0 -0
  166. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/full_json_input.py +0 -0
  167. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/full_json_output.py +0 -0
  168. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/get_config_response.py +0 -0
  169. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/header.py +0 -0
  170. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/http_validation_error.py +0 -0
  171. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/human_evaluation.py +0 -0
  172. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/human_evaluation_scenario.py +0 -0
  173. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
  174. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
  175. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/invite_request.py +0 -0
  176. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_analytics_response.py +0 -0
  177. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_data_point.py +0 -0
  178. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_evaluator.py +0 -0
  179. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_scope_request.py +0 -0
  180. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_scopes_response.py +0 -0
  181. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_subscription_request.py +0 -0
  182. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_user_request.py +0 -0
  183. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/legacy_user_response.py +0 -0
  184. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/lifecycle_dto.py +0 -0
  185. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/link_dto.py +0 -0
  186. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/list_api_keys_response.py +0 -0
  187. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
  188. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/meta_request.py +0 -0
  189. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/metrics_dto.py +0 -0
  190. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/new_testset.py +0 -0
  191. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/node_dto.py +0 -0
  192. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/node_type.py +0 -0
  193. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_context_dto.py +0 -0
  194. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_event.py +0 -0
  195. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_event_dto.py +0 -0
  196. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_extra_dto.py +0 -0
  197. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_flat_span.py +0 -0
  198. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_flat_span_input_end_time.py +0 -0
  199. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_flat_span_input_start_time.py +0 -0
  200. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_flat_span_output_end_time.py +0 -0
  201. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_flat_span_output_start_time.py +0 -0
  202. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_link.py +0 -0
  203. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_link_dto.py +0 -0
  204. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_links_response.py +0 -0
  205. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span.py +0 -0
  206. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_dto.py +0 -0
  207. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_input_end_time.py +0 -0
  208. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_input_spans_value.py +0 -0
  209. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_input_start_time.py +0 -0
  210. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_kind.py +0 -0
  211. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_output_end_time.py +0 -0
  212. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_output_spans_value.py +0 -0
  213. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_span_output_start_time.py +0 -0
  214. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_spans_tree.py +0 -0
  215. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_spans_tree_input_spans_value.py +0 -0
  216. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_spans_tree_output_spans_value.py +0 -0
  217. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_status_code.py +0 -0
  218. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_tracing_data_response.py +0 -0
  219. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_tracing_request.py +0 -0
  220. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/o_tel_tracing_response.py +0 -0
  221. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/organization.py +0 -0
  222. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/organization_details.py +0 -0
  223. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/organization_membership_request.py +0 -0
  224. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/organization_output.py +0 -0
  225. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/organization_request.py +0 -0
  226. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/parent_dto.py +0 -0
  227. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/permission.py +0 -0
  228. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/plan.py +0 -0
  229. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/project_membership_request.py +0 -0
  230. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/project_request.py +0 -0
  231. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/project_scope.py +0 -0
  232. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/projects_response.py +0 -0
  233. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/recursive_types.py +0 -0
  234. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/reference.py +0 -0
  235. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/reference_dto.py +0 -0
  236. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/reference_request_model.py +0 -0
  237. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/result.py +0 -0
  238. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/role.py +0 -0
  239. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/root_dto.py +0 -0
  240. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/scopes_response_model.py +0 -0
  241. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/score.py +0 -0
  242. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/secret_dto.py +0 -0
  243. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/secret_kind.py +0 -0
  244. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/secret_response_dto.py +0 -0
  245. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
  246. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/span_dto.py +0 -0
  247. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/span_dto_nodes_value.py +0 -0
  248. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/standard_provider_dto.py +0 -0
  249. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/standard_provider_kind.py +0 -0
  250. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/standard_provider_settings_dto.py +0 -0
  251. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/status_code.py +0 -0
  252. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/status_dto.py +0 -0
  253. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/tags_request.py +0 -0
  254. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/test_set_output_response.py +0 -0
  255. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/test_set_simple_response.py +0 -0
  256. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/testcase_response.py +0 -0
  257. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/testset.py +0 -0
  258. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/testset_request.py +0 -0
  259. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/testset_response.py +0 -0
  260. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/testsets_response.py +0 -0
  261. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/time_dto.py +0 -0
  262. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/timestamp.py +0 -0
  263. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/tree_dto.py +0 -0
  264. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/tree_type.py +0 -0
  265. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/update_app_output.py +0 -0
  266. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/user_request.py +0 -0
  267. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/validation_error.py +0 -0
  268. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
  269. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_artifact.py +0 -0
  270. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_data.py +0 -0
  271. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_flags.py +0 -0
  272. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_request.py +0 -0
  273. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_response.py +0 -0
  274. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_revision.py +0 -0
  275. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_revision_request.py +0 -0
  276. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_revision_response.py +0 -0
  277. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_revisions_response.py +0 -0
  278. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_variant.py +0 -0
  279. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_variant_request.py +0 -0
  280. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_variant_response.py +0 -0
  281. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflow_variants_response.py +0 -0
  282. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workflows_response.py +0 -0
  283. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace.py +0 -0
  284. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace_member_response.py +0 -0
  285. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace_membership_request.py +0 -0
  286. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace_permission.py +0 -0
  287. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace_request.py +0 -0
  288. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace_response.py +0 -0
  289. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace_role.py +0 -0
  290. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/types/workspace_role_response.py +0 -0
  291. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/variants/__init__.py +0 -0
  292. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/variants/client.py +0 -0
  293. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/variants/raw_client.py +0 -0
  294. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/variants/types/__init__.py +0 -0
  295. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/variants/types/add_variant_from_base_and_config_response.py +0 -0
  296. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/vault/__init__.py +0 -0
  297. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/vault/client.py +0 -0
  298. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/vault/raw_client.py +0 -0
  299. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/workflows/__init__.py +0 -0
  300. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/workflows/client.py +0 -0
  301. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/workflows/raw_client.py +0 -0
  302. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/workspace/__init__.py +0 -0
  303. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/workspace/client.py +0 -0
  304. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/backend/workspace/raw_client.py +0 -0
  305. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/client.py +0 -0
  306. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/types/provider_key_dto.py~HEAD +0 -0
  307. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/types/provider_key_dto.py~feat_model-registry +0 -0
  308. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/types/provider_kind.py~HEAD +0 -0
  309. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/types/provider_kind.py~feat_model-registry +0 -0
  310. {agenta-0.51.3 → agenta-0.51.4}/agenta/client/types.py +0 -0
  311. {agenta-0.51.3 → agenta-0.51.4}/agenta/config.py +0 -0
  312. {agenta-0.51.3 → agenta-0.51.4}/agenta/config.toml +0 -0
  313. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/__init__.py +0 -0
  314. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/agenta_init.py +0 -0
  315. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/assets.py +0 -0
  316. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/context/__init__.py +0 -0
  317. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/context/running.py +0 -0
  318. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/context/serving.py +0 -0
  319. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/context/tracing.py +0 -0
  320. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/decorators/__init__.py +0 -0
  321. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/decorators/running.py +0 -0
  322. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/decorators/serving.py +0 -0
  323. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/litellm/__init__.py +0 -0
  324. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/litellm/litellm.py +0 -0
  325. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/litellm/mockllm.py +0 -0
  326. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/litellm/mocks/__init__.py +0 -0
  327. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/__init__.py +0 -0
  328. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/apps.py +0 -0
  329. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/config.py +0 -0
  330. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/deployment.py +0 -0
  331. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/secrets.py +0 -0
  332. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/shared.py +0 -0
  333. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/variant.py +0 -0
  334. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/managers/vault.py +0 -0
  335. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/__init__.py +0 -0
  336. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/adapt.py +0 -0
  337. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/auth.py +0 -0
  338. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/base.py +0 -0
  339. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/config.py +0 -0
  340. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/cors.py +0 -0
  341. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/flags.py +0 -0
  342. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/inline.py +0 -0
  343. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/mock.py +0 -0
  344. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/otel.py +0 -0
  345. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/middleware/vault.py +0 -0
  346. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/router.py +0 -0
  347. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/__init__.py +0 -0
  348. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/attributes.py +0 -0
  349. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/conventions.py +0 -0
  350. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/exporters.py +0 -0
  351. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/inline.py +0 -0
  352. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/propagation.py +0 -0
  353. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/spans.py +0 -0
  354. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/tracing/tracing.py +0 -0
  355. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/types.py +0 -0
  356. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/__init__.py +0 -0
  357. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/cache.py +0 -0
  358. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/constants.py +0 -0
  359. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/costs.py +0 -0
  360. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/exceptions.py +0 -0
  361. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/globals.py +0 -0
  362. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/helpers.py +0 -0
  363. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/logging.py +0 -0
  364. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/preinit.py +0 -0
  365. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/singleton.py +0 -0
  366. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/utils/timing.py +0 -0
  367. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/workflows/__init__.py +0 -0
  368. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/workflows/registry.py +0 -0
  369. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/workflows/types.py +0 -0
  370. {agenta-0.51.3 → agenta-0.51.4}/agenta/sdk/workflows/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: agenta
3
- Version: 0.51.3
3
+ Version: 0.51.4
4
4
  Summary: The SDK for agenta is an open-source LLMOps platform.
5
5
  Keywords: LLMOps,LLM,evaluation,prompt engineering
6
6
  Author: Mahmoud Mabrouk
@@ -22,7 +22,7 @@ Requires-Dist: httpx (>=0.28.0)
22
22
  Requires-Dist: huggingface-hub (<0.31.0)
23
23
  Requires-Dist: importlib-metadata (>=8.0.0,<9.0)
24
24
  Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
25
- Requires-Dist: litellm (>=1.75.9)
25
+ Requires-Dist: litellm (==1.76.0)
26
26
  Requires-Dist: openai (>=1.100.0)
27
27
  Requires-Dist: opentelemetry-api (>=1.27.0,<2.0.0)
28
28
  Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.27.0,<2.0.0)
@@ -1,8 +1,18 @@
1
1
  from typing import Callable, Optional, Any, Dict, List, Union
2
2
 
3
+ from opentelemetry import context as otel_context
4
+ from opentelemetry.context import attach, detach
5
+ from opentelemetry import trace
6
+
7
+
3
8
  from functools import wraps
4
9
  from itertools import chain
5
- from inspect import iscoroutinefunction, getfullargspec
10
+ from inspect import (
11
+ getfullargspec,
12
+ iscoroutinefunction,
13
+ isgeneratorfunction,
14
+ isasyncgenfunction,
15
+ )
6
16
 
7
17
  from opentelemetry import baggage
8
18
  from opentelemetry.context import attach, detach, get_current
@@ -31,6 +41,7 @@ class instrument: # pylint: disable=invalid-name
31
41
  redact: Optional[Callable[..., Any]] = None,
32
42
  redact_on_error: Optional[bool] = True,
33
43
  max_depth: Optional[int] = 2,
44
+ aggregate: Optional[Callable[[List[Any]], Any]] = None,
34
45
  # DEPRECATING
35
46
  kind: str = "task",
36
47
  spankind: Optional[str] = "TASK",
@@ -43,67 +54,213 @@ class instrument: # pylint: disable=invalid-name
43
54
  self.redact = redact
44
55
  self.redact_on_error = redact_on_error
45
56
  self.max_depth = max_depth
57
+ self.aggregate = aggregate
46
58
 
47
59
  def __call__(self, func: Callable[..., Any]):
48
60
  is_coroutine_function = iscoroutinefunction(func)
61
+ is_sync_generator = isgeneratorfunction(func)
62
+ is_async_generator = isasyncgenfunction(func)
49
63
 
50
- @wraps(func)
51
- async def awrapper(*args, **kwargs):
52
- async def aauto_instrumented(*args, **kwargs):
64
+ # ---- ASYNC GENERATOR ----
65
+ if is_async_generator:
66
+
67
+ @wraps(func)
68
+ def astream_wrapper(*args, **kwargs):
53
69
  self._parse_type_and_kind()
54
70
 
55
- token = self._attach_baggage()
71
+ captured_ctx = otel_context.get_current()
72
+ parent_ctx = trace.set_span_in_context(trace.get_current_span())
56
73
 
74
+ token = self._attach_baggage()
57
75
  ctx = self._get_traceparent()
58
76
 
59
- with ag.tracer.start_as_current_span(
60
- name=func.__name__,
61
- kind=self.kind,
62
- context=ctx,
63
- ):
64
- self._set_link()
77
+ agen = func(*args, **kwargs)
65
78
 
66
- self._pre_instrument(func, *args, **kwargs)
79
+ async def wrapped_generator():
80
+ token_ctx = otel_context.attach(captured_ctx)
67
81
 
68
- result = await func(*args, **kwargs)
82
+ try:
83
+ with ag.tracer.start_as_current_span(
84
+ name=func.__name__,
85
+ kind=self.kind,
86
+ context=parent_ctx or ctx,
87
+ ):
88
+ self._set_link()
89
+ self._pre_instrument(func, *args, **kwargs)
69
90
 
70
- self._post_instrument(result)
91
+ _result = []
71
92
 
72
- return result
93
+ try:
94
+ while True:
95
+ chunk = await agen.__anext__()
73
96
 
74
- self._detach_baggage(token)
97
+ _result.append(chunk)
98
+ yield chunk
75
99
 
76
- return await aauto_instrumented(*args, **kwargs)
100
+ except StopAsyncIteration:
101
+ pass
77
102
 
78
- @wraps(func)
79
- def wrapper(*args, **kwargs):
80
- def auto_instrumented(*args, **kwargs):
103
+ finally:
104
+ if self.aggregate:
105
+ result = self.aggregate(_result)
106
+ elif all(isinstance(r, str) for r in _result):
107
+ result = "".join(_result)
108
+ elif all(isinstance(r, bytes) for r in _result):
109
+ result = b"".join(_result)
110
+ else:
111
+ result = _result
112
+
113
+ self._post_instrument(result)
114
+
115
+ finally:
116
+ otel_context.detach(token_ctx)
117
+
118
+ self._detach_baggage(token)
119
+
120
+ return wrapped_generator()
121
+
122
+ return astream_wrapper
123
+
124
+ # ---- SYNC GENERATOR ----
125
+ if is_sync_generator:
126
+
127
+ @wraps(func)
128
+ def stream_wrapper(*args, **kwargs):
81
129
  self._parse_type_and_kind()
82
130
 
131
+ captured_ctx = otel_context.get_current()
132
+ parent_ctx = trace.set_span_in_context(trace.get_current_span())
133
+
83
134
  token = self._attach_baggage()
135
+ ctx = self._get_traceparent()
136
+
137
+ agen = func(*args, **kwargs)
138
+
139
+ def wrapped_generator():
140
+ token_ctx = otel_context.attach(captured_ctx)
141
+
142
+ try:
143
+ with ag.tracer.start_as_current_span(
144
+ name=func.__name__,
145
+ kind=self.kind,
146
+ context=parent_ctx or ctx,
147
+ ):
148
+ self._set_link()
149
+ self._pre_instrument(func, *args, **kwargs)
150
+
151
+ _result = []
152
+
153
+ gen_return = None
154
+ stop_iteration_raised = False
155
+
156
+ try:
157
+ while True:
158
+ try:
159
+ chunk = next(agen)
84
160
 
161
+ except StopIteration as e:
162
+ gen_return = e.value
163
+ stop_iteration_raised = True
164
+ break
165
+
166
+ _result.append(chunk)
167
+
168
+ yield chunk
169
+
170
+ finally:
171
+ if self.aggregate:
172
+ result = self.aggregate(_result)
173
+ elif all(isinstance(r, str) for r in _result):
174
+ result = "".join(_result)
175
+ elif all(isinstance(r, bytes) for r in _result):
176
+ result = b"".join(_result)
177
+ else:
178
+ result = _result
179
+
180
+ self._post_instrument(result)
181
+
182
+ return gen_return if stop_iteration_raised else None
183
+
184
+ finally:
185
+ otel_context.detach(token_ctx)
186
+
187
+ self._detach_baggage(token)
188
+
189
+ return wrapped_generator()
190
+
191
+ return stream_wrapper
192
+
193
+ # ---- ASYNC FUNCTION (non-generator) ----
194
+ if is_coroutine_function:
195
+
196
+ @wraps(func)
197
+ async def awrapper(*args, **kwargs):
198
+ self._parse_type_and_kind()
199
+
200
+ captured_ctx = otel_context.get_current()
201
+ parent_ctx = trace.set_span_in_context(trace.get_current_span())
202
+
203
+ token = self._attach_baggage()
85
204
  ctx = self._get_traceparent()
86
205
 
206
+ token_ctx = otel_context.attach(captured_ctx)
207
+
208
+ try:
209
+ with ag.tracer.start_as_current_span(
210
+ name=func.__name__,
211
+ kind=self.kind,
212
+ context=parent_ctx or ctx,
213
+ ):
214
+ self._set_link()
215
+ self._pre_instrument(func, *args, **kwargs)
216
+
217
+ result = await func(*args, **kwargs)
218
+
219
+ self._post_instrument(result)
220
+
221
+ finally:
222
+ otel_context.detach(token_ctx)
223
+
224
+ self._detach_baggage(token)
225
+
226
+ return result
227
+
228
+ return awrapper
229
+
230
+ # ---- SYNC FUNCTION (non-generator) ----
231
+ @wraps(func)
232
+ def wrapper(*args, **kwargs):
233
+ self._parse_type_and_kind()
234
+
235
+ captured_ctx = otel_context.get_current()
236
+ parent_ctx = trace.set_span_in_context(trace.get_current_span())
237
+
238
+ token = self._attach_baggage()
239
+ ctx = self._get_traceparent()
240
+
241
+ token_ctx = otel_context.attach(captured_ctx)
242
+
243
+ try:
87
244
  with ag.tracer.start_as_current_span(
88
245
  name=func.__name__,
89
246
  kind=self.kind,
90
- context=ctx,
247
+ context=parent_ctx or ctx,
91
248
  ):
92
249
  self._set_link()
93
-
94
250
  self._pre_instrument(func, *args, **kwargs)
95
251
 
96
252
  result = func(*args, **kwargs)
97
253
 
98
254
  self._post_instrument(result)
99
255
 
100
- return result
256
+ finally:
257
+ otel_context.detach(token_ctx)
101
258
 
102
259
  self._detach_baggage(token)
103
260
 
104
- return auto_instrumented(*args, **kwargs)
261
+ return result
105
262
 
106
- return awrapper if is_coroutine_function else wrapper
263
+ return wrapper
107
264
 
108
265
  def _parse_type_and_kind(self):
109
266
  if not ag.tracing.get_current_span().is_recording():
@@ -8,10 +8,6 @@ from opentelemetry.sdk.trace.export import (
8
8
  SpanExporter,
9
9
  ReadableSpan,
10
10
  BatchSpanProcessor,
11
- _DEFAULT_MAX_QUEUE_SIZE,
12
- _DEFAULT_SCHEDULE_DELAY_MILLIS,
13
- _DEFAULT_MAX_EXPORT_BATCH_SIZE,
14
- _DEFAULT_EXPORT_TIMEOUT_MILLIS,
15
11
  )
16
12
 
17
13
  from agenta.sdk.utils.logging import get_module_logger
@@ -42,10 +38,10 @@ class TraceProcessor(SpanProcessor):
42
38
  if not self.inline:
43
39
  self._delegate = BatchSpanProcessor(
44
40
  span_exporter,
45
- max_queue_size or _DEFAULT_MAX_QUEUE_SIZE,
46
- schedule_delay_millis or _DEFAULT_SCHEDULE_DELAY_MILLIS,
47
- max_export_batch_size or _DEFAULT_MAX_EXPORT_BATCH_SIZE,
48
- export_timeout_millis or _DEFAULT_EXPORT_TIMEOUT_MILLIS,
41
+ max_queue_size,
42
+ schedule_delay_millis,
43
+ max_export_batch_size,
44
+ export_timeout_millis,
49
45
  )
50
46
  # --- DISTRIBUTED
51
47
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "agenta"
3
- version = "0.51.3"
3
+ version = "0.51.4"
4
4
  description = "The SDK for agenta is an open-source LLMOps platform."
5
5
  readme = "README.md"
6
6
  authors = ["Mahmoud Mabrouk <mahmoud@agenta.ai>"]
@@ -29,7 +29,7 @@ importlib-metadata = ">=8.0.0,<9.0"
29
29
  httpx = ">=0.28.0"
30
30
  pyyaml = "^6.0.2"
31
31
  toml = "^0.10.2"
32
- litellm = ">=1.75.9"
32
+ litellm = "==1.76.0"
33
33
  jinja2 = "^3.1.6"
34
34
  opentelemetry-api = ">=1.27.0,<2.0.0"
35
35
  opentelemetry-sdk = ">=1.27.0,<2.0.0"
File without changes
File without changes
File without changes