agenta 0.50.6__tar.gz → 0.51.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (372) hide show
  1. {agenta-0.50.6 → agenta-0.51.1}/PKG-INFO +4 -2
  2. {agenta-0.50.6 → agenta-0.51.1}/agenta/__init__.py +8 -5
  3. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/__init__.py +2 -1
  4. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/agenta_init.py +2 -2
  5. agenta-0.51.1/agenta/sdk/context/running.py +39 -0
  6. agenta-0.50.6/agenta/sdk/context/routing.py → agenta-0.51.1/agenta/sdk/context/serving.py +4 -4
  7. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/context/tracing.py +27 -1
  8. agenta-0.51.1/agenta/sdk/decorators/running.py +134 -0
  9. agenta-0.50.6/agenta/sdk/decorators/routing.py → agenta-0.51.1/agenta/sdk/decorators/serving.py +5 -5
  10. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/decorators/tracing.py +7 -1
  11. agenta-0.51.1/agenta/sdk/litellm/mockllm.py +89 -0
  12. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/config.py +2 -2
  13. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/secrets.py +2 -2
  14. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/vault.py +2 -2
  15. agenta-0.51.1/agenta/sdk/middleware/adapt.py +253 -0
  16. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/auth.py +179 -3
  17. agenta-0.51.1/agenta/sdk/middleware/base.py +40 -0
  18. agenta-0.51.1/agenta/sdk/middleware/flags.py +40 -0
  19. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/exporters.py +9 -9
  20. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/inline.py +1 -0
  21. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/tracing.py +0 -8
  22. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/cache.py +3 -3
  23. agenta-0.51.1/agenta/sdk/workflows/__init__.py +0 -0
  24. agenta-0.51.1/agenta/sdk/workflows/registry.py +32 -0
  25. agenta-0.51.1/agenta/sdk/workflows/types.py +470 -0
  26. agenta-0.51.1/agenta/sdk/workflows/utils.py +17 -0
  27. {agenta-0.50.6 → agenta-0.51.1}/pyproject.toml +4 -2
  28. agenta-0.50.6/agenta/sdk/context/exporting.py +0 -25
  29. agenta-0.50.6/agenta/sdk/litellm/mockllm.py +0 -36
  30. {agenta-0.50.6 → agenta-0.51.1}/README.md +0 -0
  31. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/Readme.md +0 -0
  32. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/__init__.py +0 -0
  33. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/__init__.py +0 -0
  34. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/access_control/__init__.py +0 -0
  35. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/access_control/client.py +0 -0
  36. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/access_control/raw_client.py +0 -0
  37. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/admin/__init__.py +0 -0
  38. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/admin/client.py +0 -0
  39. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/admin/raw_client.py +0 -0
  40. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/api_keys/__init__.py +0 -0
  41. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/api_keys/client.py +0 -0
  42. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/api_keys/raw_client.py +0 -0
  43. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/apps/__init__.py +0 -0
  44. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/apps/client.py +0 -0
  45. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/apps/raw_client.py +0 -0
  46. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/bases/__init__.py +0 -0
  47. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/bases/client.py +0 -0
  48. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/bases/raw_client.py +0 -0
  49. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/billing/__init__.py +0 -0
  50. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/billing/client.py +0 -0
  51. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/billing/raw_client.py +0 -0
  52. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/client.py +0 -0
  53. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/configs/__init__.py +0 -0
  54. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/configs/client.py +0 -0
  55. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/configs/raw_client.py +0 -0
  56. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/containers/__init__.py +0 -0
  57. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/containers/client.py +0 -0
  58. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/containers/raw_client.py +0 -0
  59. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/__init__.py +0 -0
  60. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/api_error.py +0 -0
  61. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/client_wrapper.py +0 -0
  62. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/datetime_utils.py +0 -0
  63. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/file.py +0 -0
  64. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/force_multipart.py +0 -0
  65. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/http_client.py +0 -0
  66. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/http_response.py +0 -0
  67. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/jsonable_encoder.py +0 -0
  68. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/pydantic_utilities.py +0 -0
  69. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/query_encoder.py +0 -0
  70. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
  71. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/request_options.py +0 -0
  72. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/core/serialization.py +0 -0
  73. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/environment.py +0 -0
  74. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/environments/__init__.py +0 -0
  75. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/environments/client.py +0 -0
  76. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/environments/raw_client.py +0 -0
  77. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/errors/__init__.py +0 -0
  78. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
  79. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evals/__init__.py +0 -0
  80. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evals/client.py +0 -0
  81. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evals/raw_client.py +0 -0
  82. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evaluations/__init__.py +0 -0
  83. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evaluations/client.py +0 -0
  84. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evaluations/raw_client.py +0 -0
  85. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evaluators/__init__.py +0 -0
  86. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evaluators/client.py +0 -0
  87. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/evaluators/raw_client.py +0 -0
  88. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/human_evaluations/__init__.py +0 -0
  89. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/human_evaluations/client.py +0 -0
  90. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/human_evaluations/raw_client.py +0 -0
  91. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/__init__.py +0 -0
  92. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/client.py +0 -0
  93. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/raw_client.py +0 -0
  94. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/types/__init__.py +0 -0
  95. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/types/fetch_trace_by_id_request_trace_id.py +0 -0
  96. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/types/fetch_trace_by_id_response.py +0 -0
  97. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/types/query_analytics_response.py +0 -0
  98. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/observability/types/query_traces_response.py +0 -0
  99. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/organization/__init__.py +0 -0
  100. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/organization/client.py +0 -0
  101. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/organization/raw_client.py +0 -0
  102. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/raw_client.py +0 -0
  103. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/scopes/__init__.py +0 -0
  104. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/scopes/client.py +0 -0
  105. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/scopes/raw_client.py +0 -0
  106. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/testsets/__init__.py +0 -0
  107. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/testsets/client.py +0 -0
  108. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/testsets/raw_client.py +0 -0
  109. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/testsets/types/__init__.py +0 -0
  110. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/testsets/types/create_testset_from_file_request_file_type.py +0 -0
  111. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/testsets/types/fetch_testset_to_file_request_file_type.py +0 -0
  112. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/testsets/types/update_testset_from_file_request_file_type.py +0 -0
  113. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/tracing/__init__.py +0 -0
  114. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/tracing/client.py +0 -0
  115. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/tracing/raw_client.py +0 -0
  116. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/tracing/types/__init__.py +0 -0
  117. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/tracing/types/fetch_trace_request_trace_id.py +0 -0
  118. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/tracing/types/remove_trace_request_trace_id.py +0 -0
  119. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/__init__.py +0 -0
  120. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/account_request.py +0 -0
  121. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/account_response.py +0 -0
  122. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/agenta_node_dto.py +0 -0
  123. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/agenta_node_dto_nodes_value.py +0 -0
  124. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/agenta_nodes_response.py +0 -0
  125. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/agenta_root_dto.py +0 -0
  126. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/agenta_roots_response.py +0 -0
  127. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/agenta_tree_dto.py +0 -0
  128. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/agenta_trees_response.py +0 -0
  129. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/aggregated_result.py +0 -0
  130. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/aggregated_result_evaluator_config.py +0 -0
  131. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/analytics_response.py +0 -0
  132. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation.py +0 -0
  133. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_create.py +0 -0
  134. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_edit.py +0 -0
  135. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_kind.py +0 -0
  136. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_link.py +0 -0
  137. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_link_response.py +0 -0
  138. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_query.py +0 -0
  139. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_query_request.py +0 -0
  140. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_reference.py +0 -0
  141. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_references.py +0 -0
  142. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_response.py +0 -0
  143. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotation_source.py +0 -0
  144. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/annotations_response.py +0 -0
  145. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/app.py +0 -0
  146. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/app_variant_response.py +0 -0
  147. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/app_variant_revision.py +0 -0
  148. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/artifact.py +0 -0
  149. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/base_output.py +0 -0
  150. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/body_fetch_workflow_revision.py +0 -0
  151. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/body_import_testset.py +0 -0
  152. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/bucket_dto.py +0 -0
  153. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/collect_status_response.py +0 -0
  154. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/config_db.py +0 -0
  155. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/config_dto.py +0 -0
  156. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/config_response_model.py +0 -0
  157. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/correct_answer.py +0 -0
  158. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/create_app_output.py +0 -0
  159. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/custom_model_settings_dto.py +0 -0
  160. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/custom_provider_dto.py +0 -0
  161. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/custom_provider_kind.py +0 -0
  162. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/custom_provider_settings_dto.py +0 -0
  163. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/data.py +0 -0
  164. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/delete_evaluation.py +0 -0
  165. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/environment_output.py +0 -0
  166. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/environment_output_extended.py +0 -0
  167. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/environment_revision.py +0 -0
  168. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/error.py +0 -0
  169. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluation.py +0 -0
  170. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluation_scenario.py +0 -0
  171. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
  172. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluation_scenario_output.py +0 -0
  173. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
  174. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluation_status_enum.py +0 -0
  175. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluation_type.py +0 -0
  176. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator.py +0 -0
  177. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_config.py +0 -0
  178. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_flags.py +0 -0
  179. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_mapping_output_interface.py +0 -0
  180. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_output_interface.py +0 -0
  181. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_query.py +0 -0
  182. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_query_request.py +0 -0
  183. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_request.py +0 -0
  184. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluator_response.py +0 -0
  185. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/evaluators_response.py +0 -0
  186. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/exception_dto.py +0 -0
  187. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/extended_o_tel_tracing_response.py +0 -0
  188. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/focus.py +0 -0
  189. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/format.py +0 -0
  190. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/full_json_input.py +0 -0
  191. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/full_json_output.py +0 -0
  192. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/get_config_response.py +0 -0
  193. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/header.py +0 -0
  194. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/http_validation_error.py +0 -0
  195. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/human_evaluation.py +0 -0
  196. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/human_evaluation_scenario.py +0 -0
  197. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
  198. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
  199. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/invite_request.py +0 -0
  200. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_analytics_response.py +0 -0
  201. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_data_point.py +0 -0
  202. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_evaluator.py +0 -0
  203. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_scope_request.py +0 -0
  204. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_scopes_response.py +0 -0
  205. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_subscription_request.py +0 -0
  206. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_user_request.py +0 -0
  207. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/legacy_user_response.py +0 -0
  208. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/lifecycle_dto.py +0 -0
  209. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/link_dto.py +0 -0
  210. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/list_api_keys_response.py +0 -0
  211. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
  212. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/meta_request.py +0 -0
  213. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/metrics_dto.py +0 -0
  214. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/new_testset.py +0 -0
  215. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/node_dto.py +0 -0
  216. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/node_type.py +0 -0
  217. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_context_dto.py +0 -0
  218. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_event.py +0 -0
  219. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_event_dto.py +0 -0
  220. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_extra_dto.py +0 -0
  221. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_flat_span.py +0 -0
  222. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_flat_span_input_end_time.py +0 -0
  223. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_flat_span_input_start_time.py +0 -0
  224. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_flat_span_output_end_time.py +0 -0
  225. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_flat_span_output_start_time.py +0 -0
  226. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_link.py +0 -0
  227. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_link_dto.py +0 -0
  228. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_links_response.py +0 -0
  229. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span.py +0 -0
  230. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_dto.py +0 -0
  231. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_input_end_time.py +0 -0
  232. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_input_spans_value.py +0 -0
  233. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_input_start_time.py +0 -0
  234. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_kind.py +0 -0
  235. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_output_end_time.py +0 -0
  236. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_output_spans_value.py +0 -0
  237. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_span_output_start_time.py +0 -0
  238. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_spans_tree.py +0 -0
  239. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_spans_tree_input_spans_value.py +0 -0
  240. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_spans_tree_output_spans_value.py +0 -0
  241. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_status_code.py +0 -0
  242. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_tracing_data_response.py +0 -0
  243. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_tracing_request.py +0 -0
  244. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/o_tel_tracing_response.py +0 -0
  245. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/organization.py +0 -0
  246. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/organization_details.py +0 -0
  247. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/organization_membership_request.py +0 -0
  248. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/organization_output.py +0 -0
  249. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/organization_request.py +0 -0
  250. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/parent_dto.py +0 -0
  251. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/permission.py +0 -0
  252. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/plan.py +0 -0
  253. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/project_membership_request.py +0 -0
  254. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/project_request.py +0 -0
  255. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/project_scope.py +0 -0
  256. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/projects_response.py +0 -0
  257. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/recursive_types.py +0 -0
  258. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/reference.py +0 -0
  259. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/reference_dto.py +0 -0
  260. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/reference_request_model.py +0 -0
  261. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/result.py +0 -0
  262. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/role.py +0 -0
  263. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/root_dto.py +0 -0
  264. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/scopes_response_model.py +0 -0
  265. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/score.py +0 -0
  266. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/secret_dto.py +0 -0
  267. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/secret_kind.py +0 -0
  268. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/secret_response_dto.py +0 -0
  269. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
  270. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/span_dto.py +0 -0
  271. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/span_dto_nodes_value.py +0 -0
  272. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/standard_provider_dto.py +0 -0
  273. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/standard_provider_kind.py +0 -0
  274. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/standard_provider_settings_dto.py +0 -0
  275. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/status_code.py +0 -0
  276. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/status_dto.py +0 -0
  277. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/tags_request.py +0 -0
  278. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/test_set_output_response.py +0 -0
  279. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/test_set_simple_response.py +0 -0
  280. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/testcase_response.py +0 -0
  281. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/testset.py +0 -0
  282. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/testset_request.py +0 -0
  283. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/testset_response.py +0 -0
  284. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/testsets_response.py +0 -0
  285. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/time_dto.py +0 -0
  286. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/timestamp.py +0 -0
  287. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/tree_dto.py +0 -0
  288. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/tree_type.py +0 -0
  289. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/update_app_output.py +0 -0
  290. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/user_request.py +0 -0
  291. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/validation_error.py +0 -0
  292. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
  293. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_artifact.py +0 -0
  294. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_data.py +0 -0
  295. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_flags.py +0 -0
  296. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_request.py +0 -0
  297. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_response.py +0 -0
  298. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_revision.py +0 -0
  299. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_revision_request.py +0 -0
  300. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_revision_response.py +0 -0
  301. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_revisions_response.py +0 -0
  302. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_variant.py +0 -0
  303. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_variant_request.py +0 -0
  304. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_variant_response.py +0 -0
  305. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflow_variants_response.py +0 -0
  306. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workflows_response.py +0 -0
  307. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace.py +0 -0
  308. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace_member_response.py +0 -0
  309. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace_membership_request.py +0 -0
  310. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace_permission.py +0 -0
  311. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace_request.py +0 -0
  312. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace_response.py +0 -0
  313. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace_role.py +0 -0
  314. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/types/workspace_role_response.py +0 -0
  315. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/variants/__init__.py +0 -0
  316. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/variants/client.py +0 -0
  317. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/variants/raw_client.py +0 -0
  318. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/variants/types/__init__.py +0 -0
  319. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/variants/types/add_variant_from_base_and_config_response.py +0 -0
  320. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/vault/__init__.py +0 -0
  321. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/vault/client.py +0 -0
  322. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/vault/raw_client.py +0 -0
  323. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/workflows/__init__.py +0 -0
  324. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/workflows/client.py +0 -0
  325. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/workflows/raw_client.py +0 -0
  326. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/workspace/__init__.py +0 -0
  327. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/workspace/client.py +0 -0
  328. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/backend/workspace/raw_client.py +0 -0
  329. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/client.py +0 -0
  330. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/types/provider_key_dto.py~HEAD +0 -0
  331. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/types/provider_key_dto.py~feat_model-registry +0 -0
  332. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/types/provider_kind.py~HEAD +0 -0
  333. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/types/provider_kind.py~feat_model-registry +0 -0
  334. {agenta-0.50.6 → agenta-0.51.1}/agenta/client/types.py +0 -0
  335. {agenta-0.50.6 → agenta-0.51.1}/agenta/config.py +0 -0
  336. {agenta-0.50.6 → agenta-0.51.1}/agenta/config.toml +0 -0
  337. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/assets.py +0 -0
  338. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/context/__init__.py +0 -0
  339. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/decorators/__init__.py +0 -0
  340. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/litellm/__init__.py +0 -0
  341. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/litellm/litellm.py +0 -0
  342. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/litellm/mocks/__init__.py +0 -0
  343. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/__init__.py +0 -0
  344. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/apps.py +0 -0
  345. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/deployment.py +0 -0
  346. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/shared.py +0 -0
  347. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/managers/variant.py +0 -0
  348. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/__init__.py +0 -0
  349. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/config.py +0 -0
  350. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/cors.py +0 -0
  351. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/inline.py +0 -0
  352. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/mock.py +0 -0
  353. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/otel.py +0 -0
  354. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/middleware/vault.py +0 -0
  355. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/router.py +0 -0
  356. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/__init__.py +0 -0
  357. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/attributes.py +0 -0
  358. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/conventions.py +0 -0
  359. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/processors.py +0 -0
  360. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/propagation.py +0 -0
  361. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/tracing/spans.py +0 -0
  362. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/types.py +0 -0
  363. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/__init__.py +0 -0
  364. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/constants.py +0 -0
  365. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/costs.py +0 -0
  366. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/exceptions.py +0 -0
  367. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/globals.py +0 -0
  368. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/helpers.py +0 -0
  369. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/logging.py +0 -0
  370. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/preinit.py +0 -0
  371. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/singleton.py +0 -0
  372. {agenta-0.50.6 → agenta-0.51.1}/agenta/sdk/utils/timing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: agenta
3
- Version: 0.50.6
3
+ Version: 0.51.1
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
@@ -15,13 +15,15 @@ Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Classifier: Programming Language :: Python :: 3.13
17
17
  Classifier: Topic :: Software Development :: Libraries
18
+ Requires-Dist: decorator (>=5.2.1,<6.0.0)
18
19
  Requires-Dist: fastapi (>=0.116.0,<0.117.0)
19
20
  Requires-Dist: h11 (>=0.16.0)
20
21
  Requires-Dist: httpx (>=0.28.0)
21
22
  Requires-Dist: huggingface-hub (<0.31.0)
22
23
  Requires-Dist: importlib-metadata (>=8.0.0,<9.0)
23
24
  Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
24
- Requires-Dist: litellm (>=1.68.0)
25
+ Requires-Dist: litellm (>=1.75.9)
26
+ Requires-Dist: openai (>=1.100.0)
25
27
  Requires-Dist: opentelemetry-api (>=1.27.0,<2.0.0)
26
28
  Requires-Dist: opentelemetry-exporter-otlp-proto-http (>=1.27.0,<2.0.0)
27
29
  Requires-Dist: opentelemetry-instrumentation (>=0.56b0)
@@ -21,13 +21,15 @@ from .sdk.types import (
21
21
  PromptTemplate,
22
22
  )
23
23
 
24
+ from .sdk.agenta_init import Config, AgentaSingleton, init as _init
24
25
  from .sdk.utils.logging import get_module_logger
26
+ from .sdk.utils.costs import calculate_token_usage
25
27
  from .sdk.tracing import Tracing, get_tracer
26
- from .sdk.decorators.tracing import instrument
27
28
  from .sdk.tracing.conventions import Reference
28
- from .sdk.decorators.routing import entrypoint, app, route
29
- from .sdk.agenta_init import Config, AgentaSingleton, init as _init
30
- from .sdk.utils.costs import calculate_token_usage
29
+ from .sdk.decorators.tracing import instrument
30
+ from .sdk.decorators.running import workflow, workflows
31
+ from .sdk.decorators.serving import entrypoint, app, route
32
+ from .sdk.context.running import workflow_mode_enabled
31
33
  from .sdk.litellm import litellm as callbacks
32
34
  from .sdk.managers.apps import AppManager
33
35
  from .sdk.managers.vault import VaultManager
@@ -52,6 +54,7 @@ tracer = get_tracer(tracing)
52
54
 
53
55
  def init(
54
56
  host: Optional[str] = None,
57
+ api_url: Optional[str] = None,
55
58
  api_key: Optional[str] = None,
56
59
  config_fname: Optional[str] = None,
57
60
  redact: Optional[Callable[..., Any]] = None,
@@ -62,7 +65,7 @@ def init(
62
65
  global api, async_api, tracing, tracer # pylint: disable=global-statement
63
66
 
64
67
  _init(
65
- host=host,
68
+ host=host or api_url,
66
69
  api_key=api_key,
67
70
  config_fname=config_fname,
68
71
  redact=redact,
@@ -22,8 +22,9 @@ from .types import (
22
22
 
23
23
  from .tracing import Tracing, get_tracer
24
24
  from .decorators.tracing import instrument
25
+ from .decorators.running import workflow, workflows
26
+ from .decorators.serving import entrypoint, app, route
25
27
  from .tracing.conventions import Reference
26
- from .decorators.routing import entrypoint, app, route
27
28
  from .agenta_init import Config, AgentaSingleton, init as _init
28
29
  from .utils.costs import calculate_token_usage
29
30
  from .managers.apps import AppManager
@@ -9,7 +9,7 @@ from agenta.sdk.utils.logging import get_module_logger
9
9
  from agenta.client.client import AgentaApi, AsyncAgentaApi
10
10
 
11
11
  from agenta.sdk.tracing import Tracing
12
- from agenta.sdk.context.routing import routing_context
12
+ from agenta.sdk.context.serving import serving_context
13
13
 
14
14
 
15
15
  log = get_module_logger(__name__)
@@ -149,7 +149,7 @@ class Config:
149
149
  return self.default_parameters
150
150
 
151
151
  def __getattr__(self, key):
152
- context = routing_context.get()
152
+ context = serving_context.get()
153
153
 
154
154
  parameters = context.parameters
155
155
 
@@ -0,0 +1,39 @@
1
+ from typing import Dict, Any, Optional
2
+ from contextvars import ContextVar
3
+ from contextlib import contextmanager
4
+
5
+ from pydantic import BaseModel
6
+
7
+ workflow_mode_enabled_context: ContextVar[bool] = ContextVar(
8
+ "ag.workflow_context_enabled",
9
+ default=False,
10
+ )
11
+
12
+
13
+ @contextmanager
14
+ def workflow_mode_enabled():
15
+ token = workflow_mode_enabled_context.set(True)
16
+ try:
17
+ yield
18
+ finally:
19
+ workflow_mode_enabled_context.reset(token)
20
+
21
+
22
+ @contextmanager
23
+ async def async_workflow_mode_enabled():
24
+ token = workflow_mode_enabled_context.set(True)
25
+ try:
26
+ yield
27
+ finally:
28
+ workflow_mode_enabled_context.reset(token)
29
+
30
+
31
+ class WorkflowRegistryContext(BaseModel):
32
+ version: Optional[str] = None
33
+ handlers: Dict[str, Any] = {}
34
+
35
+
36
+ workflow_registry_context: ContextVar[WorkflowRegistryContext] = ContextVar(
37
+ "ag.workflow_registry",
38
+ default=WorkflowRegistryContext(),
39
+ )
@@ -12,16 +12,16 @@ class RoutingContext(BaseModel):
12
12
  mock: Optional[str] = None
13
13
 
14
14
 
15
- routing_context = ContextVar("routing_context", default=RoutingContext())
15
+ serving_context = ContextVar("serving_context", default=RoutingContext())
16
16
 
17
17
 
18
18
  @contextmanager
19
- def routing_context_manager(
19
+ def serving_context_manager(
20
20
  *,
21
21
  context: Optional[RoutingContext] = None,
22
22
  ):
23
- token = routing_context.set(context)
23
+ token = serving_context.set(context)
24
24
  try:
25
25
  yield
26
26
  finally:
27
- routing_context.reset(token)
27
+ serving_context.reset(token)
@@ -13,9 +13,13 @@ class TracingContext(BaseModel):
13
13
  parameters: Optional[Dict[str, Any]] = None
14
14
  references: Optional[Dict[str, Any]] = None
15
15
  link: Optional[Dict[str, Any]] = None
16
+ type: Optional[str] = None
16
17
 
17
18
 
18
- tracing_context = ContextVar("tracing_context", default=TracingContext())
19
+ tracing_context = ContextVar(
20
+ "ag.tracing_context",
21
+ default=TracingContext(),
22
+ )
19
23
 
20
24
 
21
25
  @contextmanager
@@ -28,3 +32,25 @@ def tracing_context_manager(
28
32
  yield
29
33
  finally:
30
34
  tracing_context.reset(token)
35
+
36
+
37
+ class TracingExporterContext(BaseModel):
38
+ credentials: Optional[str] = None
39
+
40
+
41
+ tracing_exporter_context = ContextVar(
42
+ "ag.tracing_exporter_context",
43
+ default=TracingExporterContext(),
44
+ )
45
+
46
+
47
+ @contextmanager
48
+ def tracing_exporter_context_manager(
49
+ *,
50
+ context: Optional[TracingExporterContext] = None,
51
+ ):
52
+ token = tracing_exporter_context.set(context)
53
+ try:
54
+ yield
55
+ finally:
56
+ tracing_exporter_context.reset(token)
@@ -0,0 +1,134 @@
1
+ from typing import Any, Callable, List, Awaitable, Dict, Optional
2
+ import asyncio
3
+ from functools import wraps
4
+ from inspect import iscoroutinefunction
5
+ from copy import deepcopy
6
+
7
+ from decorator import decorator
8
+
9
+ from agenta.sdk.context.running import (
10
+ workflow_mode_enabled_context,
11
+ workflow_registry_context,
12
+ WorkflowRegistryContext,
13
+ )
14
+ from agenta.sdk.workflows.types import (
15
+ WorkflowServiceRequest,
16
+ WorkflowServiceResponse,
17
+ WorkflowServiceInterface,
18
+ WorkflowRevision,
19
+ Schema,
20
+ )
21
+ from agenta.sdk.middleware.base import WorkflowMiddlewareDecorator
22
+
23
+ from agenta.sdk.middleware.auth import AuthMiddleware
24
+ from agenta.sdk.middleware.flags import FlagsMiddleware
25
+ from agenta.sdk.middleware.adapt import AdaptMiddleware
26
+
27
+
28
+ LATEST_VERSION = "2025.07.14"
29
+ DEFAULT_SCHEMAS = lambda: {} # pylint: disable=unnecessary-lambda-assignment
30
+
31
+
32
+ class workflows:
33
+ @classmethod
34
+ def get_registry(cls) -> WorkflowRegistryContext:
35
+ return deepcopy(workflow_registry_context.get())
36
+
37
+
38
+ class workflow: # pylint: disable=invalid-name
39
+ def __init__(
40
+ self,
41
+ version: Optional[str] = None,
42
+ schemas: Optional[Dict[str, Schema]] = None,
43
+ ):
44
+ self.middleware: List[WorkflowMiddlewareDecorator] = [
45
+ AuthMiddleware,
46
+ FlagsMiddleware,
47
+ AdaptMiddleware,
48
+ ]
49
+
50
+ self.version = version or LATEST_VERSION
51
+ self.schemas = schemas or DEFAULT_SCHEMAS()
52
+
53
+ def __call__(self, func: Callable[..., Any]) -> Callable[..., Any]:
54
+ is_async = iscoroutinefunction(func)
55
+
56
+ workflow_registry = workflow_registry_context.get()
57
+
58
+ workflow_registry.version = workflow_registry.version or self.version
59
+
60
+ if is_async:
61
+
62
+ @wraps(func)
63
+ async def async_wrapper(*args, **kwargs):
64
+ if workflow_mode_enabled_context.get():
65
+ return await self._wrapped_async(func)(*args, **kwargs)
66
+ return await func(*args, **kwargs)
67
+
68
+ workflow_registry.handlers = {
69
+ "invoke": async_wrapper,
70
+ "inspect": self.make_interface_wrapper(self.version, self.schemas),
71
+ }
72
+
73
+ return async_wrapper
74
+
75
+ else:
76
+
77
+ @wraps(func)
78
+ def sync_wrapper(*args, **kwargs):
79
+ if workflow_mode_enabled_context.get():
80
+ return self._wrapped_async(func)(*args, **kwargs)
81
+ return func(*args, **kwargs)
82
+
83
+ return sync_wrapper
84
+
85
+ def _wrapped_async(
86
+ self,
87
+ func: Callable[..., Any],
88
+ ) -> Callable[..., Awaitable[WorkflowServiceResponse]]:
89
+ @decorator
90
+ async def async_wrapper(func, *args, **kwargs):
91
+ result = (
92
+ await func(*args, **kwargs)
93
+ if iscoroutinefunction(func)
94
+ else await asyncio.to_thread(func, *args, **kwargs)
95
+ )
96
+
97
+ return result
98
+
99
+ @wraps(func)
100
+ async def wrapper(*args, **kwargs):
101
+ handler = async_wrapper(func, *args, **kwargs)
102
+ request: WorkflowServiceRequest = (
103
+ kwargs.pop("request")
104
+ if "request" in kwargs
105
+ else args[0]
106
+ if len(args) > 0
107
+ else None
108
+ )
109
+ revision: WorkflowRevision = (
110
+ kwargs.pop("revision")
111
+ if "revision" in kwargs
112
+ else args[1]
113
+ if len(args) > 1
114
+ else None
115
+ )
116
+
117
+ _handler = handler
118
+ for middleware in reversed(self.middleware):
119
+ _handler = middleware(_handler)
120
+
121
+ return await _handler(
122
+ request=request,
123
+ revision=revision,
124
+ )
125
+
126
+ return wrapper
127
+
128
+ def make_interface_wrapper(self, path, schemas):
129
+ async def interface_wrapper() -> WorkflowServiceResponse:
130
+ return WorkflowServiceInterface(
131
+ schemas={path: schemas},
132
+ )
133
+
134
+ return interface_wrapper
@@ -14,11 +14,11 @@ from agenta.sdk.middleware.inline import InlineMiddleware
14
14
  from agenta.sdk.middleware.vault import VaultMiddleware
15
15
  from agenta.sdk.middleware.config import ConfigMiddleware
16
16
  from agenta.sdk.middleware.otel import OTelMiddleware
17
- from agenta.sdk.middleware.auth import AuthMiddleware
17
+ from agenta.sdk.middleware.auth import AuthHTTPMiddleware
18
18
  from agenta.sdk.middleware.cors import CORSMiddleware
19
19
 
20
- from agenta.sdk.context.routing import (
21
- routing_context_manager,
20
+ from agenta.sdk.context.serving import (
21
+ serving_context_manager,
22
22
  RoutingContext,
23
23
  )
24
24
  from agenta.sdk.context.tracing import (
@@ -145,7 +145,7 @@ class entrypoint:
145
145
  app.add_middleware(InlineMiddleware)
146
146
  app.add_middleware(VaultMiddleware)
147
147
  app.add_middleware(ConfigMiddleware)
148
- app.add_middleware(AuthMiddleware)
148
+ app.add_middleware(AuthHTTPMiddleware)
149
149
  app.add_middleware(OTelMiddleware)
150
150
  app.add_middleware(CORSMiddleware)
151
151
  ### ------------------ #
@@ -326,7 +326,7 @@ class entrypoint:
326
326
  inline = state.inline
327
327
  mock = state.mock
328
328
 
329
- with routing_context_manager(
329
+ with serving_context_manager(
330
330
  context=RoutingContext(
331
331
  parameters=parameters,
332
332
  secrets=secrets,
@@ -169,8 +169,14 @@ class instrument: # pylint: disable=invalid-name
169
169
 
170
170
  ag.tracing.credentials.put(trace_id, context.credentials)
171
171
 
172
+ trace_type = context.type or "invocation"
173
+ span_type = self.type or "task"
174
+
172
175
  span.set_attributes(
173
- attributes={"node": self.type},
176
+ attributes={
177
+ "node": span_type,
178
+ "tree": trace_type,
179
+ },
174
180
  namespace="type",
175
181
  )
176
182
 
@@ -0,0 +1,89 @@
1
+ from typing import Optional, Protocol, Any
2
+ from os import environ
3
+ from contextlib import contextmanager
4
+
5
+ from agenta.sdk.utils.logging import get_module_logger
6
+
7
+ from agenta.sdk.litellm.mocks import MOCKS
8
+ from agenta.sdk.context.serving import serving_context
9
+
10
+ AGENTA_LITELLM_MOCK = environ.get("AGENTA_LITELLM_MOCK") or None
11
+
12
+ log = get_module_logger(__name__)
13
+
14
+
15
+ ENV_KEYS_TO_CLEAR = [
16
+ # anything that could inject Lambda/ECS role creds
17
+ "AWS_SESSION_TOKEN",
18
+ "AWS_SECURITY_TOKEN",
19
+ "AWS_WEB_IDENTITY_TOKEN_FILE",
20
+ "AWS_ROLE_ARN",
21
+ "AWS_CONTAINER_CREDENTIALS_FULL_URI",
22
+ "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",
23
+ "AWS_ECS_CONTAINER_AUTHORIZATION_TOKEN",
24
+ "AWS_PROFILE",
25
+ "AWS_SHARED_CREDENTIALS_FILE",
26
+ "AWS_CONFIG_FILE",
27
+ ]
28
+
29
+ ENV_KEYS_FROM_USER = [
30
+ "AWS_ACCESS_KEY_ID",
31
+ "AWS_SECRET_ACCESS_KEY",
32
+ "AWS_SESSION_TOKEN",
33
+ "AWS_REGION",
34
+ "AWS_DEFAULT_REGION",
35
+ ]
36
+
37
+
38
+ @contextmanager
39
+ def user_aws_credentials_from(ps: dict):
40
+ old = {}
41
+ try:
42
+ # Save original state of ALL keys we'll modify
43
+ for k in ENV_KEYS_TO_CLEAR + ENV_KEYS_FROM_USER:
44
+ if k in environ:
45
+ old[k] = environ[k]
46
+
47
+ # Clear AWS role credentials
48
+ for k in ENV_KEYS_TO_CLEAR:
49
+ environ.pop(k, None)
50
+
51
+ # Set user credentials
52
+ for k in ENV_KEYS_FROM_USER:
53
+ if ps.get(k.upper()) is None:
54
+ environ.pop(k, None)
55
+ else:
56
+ environ[k] = ps[k.upper()]
57
+ yield
58
+ finally:
59
+ # Restore all environment variables to original state
60
+ for k in ENV_KEYS_TO_CLEAR + ENV_KEYS_FROM_USER:
61
+ if k in old:
62
+ environ[k] = old[k]
63
+ else:
64
+ environ.pop(k, None)
65
+
66
+
67
+ class LitellmProtocol(Protocol):
68
+ async def acompletion(self, *args: Any, **kwargs: Any) -> Any:
69
+ ...
70
+
71
+
72
+ litellm: Optional[LitellmProtocol] = None # pylint: disable=invalid-name
73
+
74
+
75
+ async def acompletion(*args, **kwargs):
76
+ mock = AGENTA_LITELLM_MOCK or serving_context.get().mock
77
+
78
+ if mock:
79
+ log.debug("Mocking litellm: %s.", mock)
80
+
81
+ if mock not in MOCKS:
82
+ mock = "hello"
83
+
84
+ return MOCKS[mock](*args, **kwargs)
85
+
86
+ if not litellm:
87
+ raise ValueError("litellm not found")
88
+
89
+ return await litellm.acompletion(*args, **kwargs)
@@ -7,7 +7,7 @@ from pydantic import BaseModel
7
7
 
8
8
  from agenta.sdk.utils.logging import get_module_logger
9
9
  from agenta.sdk.managers.shared import SharedManager
10
- from agenta.sdk.context.routing import routing_context
10
+ from agenta.sdk.context.serving import serving_context
11
11
 
12
12
  T = TypeVar("T", bound=BaseModel)
13
13
 
@@ -45,7 +45,7 @@ class ConfigManager:
45
45
  Only one of these should be provided.
46
46
  """
47
47
 
48
- context = routing_context.get()
48
+ context = serving_context.get()
49
49
 
50
50
  parameters = context.parameters
51
51
 
@@ -1,14 +1,14 @@
1
1
  import re
2
2
  from typing import Optional, Dict, Any, List
3
3
 
4
- from agenta.sdk.context.routing import routing_context
4
+ from agenta.sdk.context.serving import serving_context
5
5
  from agenta.sdk.assets import model_to_provider_mapping as _standard_providers
6
6
 
7
7
 
8
8
  class SecretsManager:
9
9
  @staticmethod
10
10
  def get_from_route() -> Optional[List[Dict[str, Any]]]:
11
- context = routing_context.get()
11
+ context = serving_context.get()
12
12
 
13
13
  secrets = context.secrets
14
14
 
@@ -1,12 +1,12 @@
1
1
  from typing import Optional, Dict, Any
2
2
 
3
- from agenta.sdk.context.routing import routing_context
3
+ from agenta.sdk.context.serving import serving_context
4
4
 
5
5
 
6
6
  class VaultManager:
7
7
  @staticmethod
8
8
  def get_from_route() -> Optional[Dict[str, Any]]:
9
- context = routing_context.get()
9
+ context = serving_context.get()
10
10
 
11
11
  secrets = context.secrets
12
12