agenta 0.45.0__tar.gz → 0.45.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.
- {agenta-0.45.0 → agenta-0.45.1}/PKG-INFO +1 -1
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/decorators/tracing.py +3 -1
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/litellm/mockllm.py +12 -4
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/litellm/mocks/__init__.py +22 -1
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/config.py +15 -9
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/processors.py +22 -16
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/tracing.py +55 -34
- {agenta-0.45.0 → agenta-0.45.1}/pyproject.toml +1 -1
- {agenta-0.45.0 → agenta-0.45.1}/README.md +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/Readme.md +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/access_control/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/access_control/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/admin/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/admin/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/api_keys/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/api_keys/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/apps/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/apps/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/bases/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/bases/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/configs/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/configs/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/containers/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/containers/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/containers/types/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/containers/types/container_templates_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/api_error.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/client_wrapper.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/datetime_utils.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/file.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/http_client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/jsonable_encoder.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/pydantic_utilities.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/query_encoder.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/remove_none_from_dict.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/request_options.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/core/serialization.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/environments/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/environments/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/errors/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/errors/unprocessable_entity_error.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/evaluations/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/evaluations/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/evaluators/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/evaluators/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/human_evaluations/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/human_evaluations/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/observability/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/observability/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/observability/types/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/observability/types/format.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/observability/types/query_analytics_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/observability/types/query_traces_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/organization/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/organization/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/scopes/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/scopes/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/testsets/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/testsets/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/account_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/agenta_node_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/agenta_node_dto_nodes_value.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/agenta_nodes_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/agenta_root_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/agenta_roots_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/agenta_tree_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/agenta_trees_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/aggregated_result.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/aggregated_result_evaluator_config.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/analytics_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/app.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/app_variant_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/app_variant_revision.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/base_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/body_import_testset.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/bucket_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/collect_status_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/config_db.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/config_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/config_response_model.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/correct_answer.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/create_app_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/custom_model_settings_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/custom_provider_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/custom_provider_kind.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/custom_provider_settings_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/data.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/delete_evaluation.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/docker_env_vars.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/environment_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/environment_output_extended.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/environment_revision.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/error.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluation.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluation_scenario.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluation_scenario_input.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluation_scenario_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluation_scenario_result.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluation_status_enum.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluation_type.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluator.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluator_config.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluator_mapping_output_interface.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluator_output_interface.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/exception_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/get_config_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/header_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/http_validation_error.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/human_evaluation.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/human_evaluation_scenario.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/human_evaluation_scenario_input.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/human_evaluation_scenario_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/image.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/invite_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/legacy_analytics_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/legacy_data_point.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/legacy_scope_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/legacy_scopes_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/legacy_user_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/legacy_user_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/lifecycle_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/link_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/list_api_keys_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/llm_run_rate_limit.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/metrics_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/new_testset.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/node_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/node_type.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_context_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_event_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_extra_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_link_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_span_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_span_kind.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_spans_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/o_tel_status_code.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/organization.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/organization_details.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/organization_membership_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/organization_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/organization_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/parent_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/permission.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/project_membership_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/project_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/project_scope.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/projects_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/provider_key_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/provider_kind.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/reference.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/reference_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/reference_request_model.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/result.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/role.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/root_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/scopes_response_model.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/score.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/secret_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/secret_kind.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/secret_response_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/simple_evaluation_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/span_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/span_dto_nodes_value.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/standard_provider_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/standard_provider_kind.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/standard_provider_settings_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/status_code.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/status_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/template.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/template_image_info.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/test_set_output_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/test_set_simple_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/time_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/tree_dto.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/tree_type.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/update_app_output.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/uri.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/user_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/validation_error.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/validation_error_loc_item.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/variant_action.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/variant_action_enum.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace_member_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace_membership_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace_permission.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace_request.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace_role.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/workspace_role_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/variants/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/variants/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/variants/types/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/variants/types/add_variant_from_base_and_config_response.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/vault/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/vault/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/workspace/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/workspace/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/client.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/types/provider_key_dto.py~HEAD +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/types/provider_key_dto.py~feat_model-registry +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/types/provider_kind.py~HEAD +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/client/types/provider_kind.py~feat_model-registry +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/config.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/config.toml +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/agenta_init.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/assets.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/context/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/context/exporting.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/context/routing.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/context/tracing.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/decorators/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/decorators/routing.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/litellm/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/litellm/litellm.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/apps.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/config.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/deployment.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/secrets.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/shared.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/variant.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/managers/vault.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/auth.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/cors.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/inline.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/mock.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/otel.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/middleware/vault.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/router.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/attributes.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/conventions.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/exporters.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/inline.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/propagation.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/tracing/spans.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/types.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/__init__.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/cache.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/constants.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/costs.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/exceptions.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/globals.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/helpers.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/logging.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/preinit.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/singleton.py +0 -0
- {agenta-0.45.0 → agenta-0.45.1}/agenta/sdk/utils/timing.py +0 -0
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
from typing import Optional, Protocol, Any
|
|
2
|
+
from os import environ
|
|
3
|
+
|
|
4
|
+
from agenta.sdk.utils.logging import get_module_logger
|
|
2
5
|
|
|
3
6
|
from agenta.sdk.litellm.mocks import MOCKS
|
|
4
7
|
from agenta.sdk.context.routing import routing_context
|
|
5
8
|
|
|
9
|
+
AGENTA_LITELLM_MOCK = environ.get("AGENTA_LITELLM_MOCK") or None
|
|
10
|
+
|
|
11
|
+
log = get_module_logger(__name__)
|
|
12
|
+
|
|
6
13
|
|
|
7
14
|
class LitellmProtocol(Protocol):
|
|
8
|
-
async def acompletion(self, *args: Any, **kwargs: Any) -> Any:
|
|
9
|
-
...
|
|
15
|
+
async def acompletion(self, *args: Any, **kwargs: Any) -> Any: ...
|
|
10
16
|
|
|
11
17
|
|
|
12
18
|
litellm: Optional[LitellmProtocol] = None # pylint: disable=invalid-name
|
|
13
19
|
|
|
14
20
|
|
|
15
21
|
async def acompletion(*args, **kwargs):
|
|
16
|
-
mock = routing_context.get().mock
|
|
22
|
+
mock = AGENTA_LITELLM_MOCK or routing_context.get().mock
|
|
17
23
|
|
|
18
24
|
if mock:
|
|
25
|
+
log.debug("Mocking litellm: %s.", mock)
|
|
26
|
+
|
|
19
27
|
if mock not in MOCKS:
|
|
20
|
-
|
|
28
|
+
mock = "hello"
|
|
21
29
|
|
|
22
30
|
return MOCKS[mock](*args, **kwargs)
|
|
23
31
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from typing import Callable
|
|
2
|
+
from asyncio import sleep
|
|
2
3
|
|
|
3
4
|
from pydantic import BaseModel
|
|
4
5
|
|
|
@@ -30,7 +31,26 @@ def hello_mock_response(*args, **kwargs) -> MockResponseModel:
|
|
|
30
31
|
def chat_mock_response(*args, **kwargs) -> MockResponseModel:
|
|
31
32
|
return MockResponseModel(
|
|
32
33
|
choices=[
|
|
33
|
-
MockChoiceModel(
|
|
34
|
+
MockChoiceModel(
|
|
35
|
+
message=MockMessageModel(
|
|
36
|
+
content="world",
|
|
37
|
+
role="assistant",
|
|
38
|
+
)
|
|
39
|
+
)
|
|
40
|
+
],
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def delay_mock_response(*args, **kwargs) -> MockResponseModel:
|
|
45
|
+
sleep(2)
|
|
46
|
+
|
|
47
|
+
return MockResponseModel(
|
|
48
|
+
choices=[
|
|
49
|
+
MockChoiceModel(
|
|
50
|
+
message=MockMessageModel(
|
|
51
|
+
content="delay",
|
|
52
|
+
)
|
|
53
|
+
)
|
|
34
54
|
],
|
|
35
55
|
)
|
|
36
56
|
|
|
@@ -38,4 +58,5 @@ def chat_mock_response(*args, **kwargs) -> MockResponseModel:
|
|
|
38
58
|
MOCKS: dict[str, Callable[..., MockResponseModel]] = {
|
|
39
59
|
"hello": hello_mock_response,
|
|
40
60
|
"chat": chat_mock_response,
|
|
61
|
+
"delay": delay_mock_response,
|
|
41
62
|
}
|
|
@@ -92,15 +92,21 @@ class ConfigMiddleware(BaseHTTPMiddleware):
|
|
|
92
92
|
return parameters, references
|
|
93
93
|
|
|
94
94
|
config = {}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
95
|
+
|
|
96
|
+
is_test_path = request.url.path.endswith("/test")
|
|
97
|
+
are_refs_missing = not variant_ref and not environment_ref
|
|
98
|
+
should_fetch = not is_test_path or not are_refs_missing
|
|
99
|
+
|
|
100
|
+
if should_fetch:
|
|
101
|
+
async with httpx.AsyncClient() as client:
|
|
102
|
+
response = await client.post(
|
|
103
|
+
f"{self.host}/api/variants/configs/fetch",
|
|
104
|
+
headers=headers,
|
|
105
|
+
json=refs,
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
if response.status_code == 200:
|
|
109
|
+
config = response.json()
|
|
104
110
|
|
|
105
111
|
if not config:
|
|
106
112
|
config["application_ref"] = refs[
|
|
@@ -157,24 +157,30 @@ class TraceProcessor(BatchSpanProcessor):
|
|
|
157
157
|
return trace
|
|
158
158
|
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
# Internal storage for the last ended span context
|
|
161
|
+
_last_ended_span_context = None
|
|
162
|
+
_lock = Lock()
|
|
162
163
|
|
|
163
164
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
165
|
+
def _set_last_ended(span_ctx) -> None:
|
|
166
|
+
"""Set the last ended span context"""
|
|
167
|
+
with _lock:
|
|
168
|
+
global _last_ended_span_context
|
|
169
|
+
_last_ended_span_context = span_ctx
|
|
169
170
|
|
|
170
|
-
with invocation_link_lock:
|
|
171
|
-
invocation_link["trace_id"] = ctx.trace_id
|
|
172
|
-
invocation_link["span_id"] = ctx.span_id
|
|
173
171
|
|
|
172
|
+
def _get_last_ended():
|
|
173
|
+
"""Get the last ended span context"""
|
|
174
|
+
with _lock:
|
|
175
|
+
return _last_ended_span_context
|
|
174
176
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
177
|
+
|
|
178
|
+
class EndedSpanRecorder(SpanProcessor):
|
|
179
|
+
"""Records the last ended span context for later reference.
|
|
180
|
+
|
|
181
|
+
This allows accessing span information even after the span has been ended,
|
|
182
|
+
which is useful for linking annotations to auto-instrumented spans.
|
|
183
|
+
"""
|
|
184
|
+
|
|
185
|
+
def on_end(self, span):
|
|
186
|
+
_set_last_ended(span.get_span_context())
|
|
@@ -23,8 +23,8 @@ from agenta.sdk.utils.exceptions import suppress
|
|
|
23
23
|
from agenta.sdk.utils.logging import get_module_logger
|
|
24
24
|
from agenta.sdk.tracing.processors import (
|
|
25
25
|
TraceProcessor,
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
EndedSpanRecorder,
|
|
27
|
+
_get_last_ended,
|
|
28
28
|
)
|
|
29
29
|
from agenta.sdk.tracing.exporters import InlineExporter, OTLPExporter
|
|
30
30
|
from agenta.sdk.tracing.spans import CustomSpan
|
|
@@ -43,7 +43,7 @@ _original_init = trace.TracerProvider.__init__
|
|
|
43
43
|
|
|
44
44
|
def patched_init(self, *args, **kwargs):
|
|
45
45
|
_original_init(self, *args, **kwargs)
|
|
46
|
-
self.add_span_processor(
|
|
46
|
+
self.add_span_processor(EndedSpanRecorder())
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
trace.TracerProvider.__init__ = patched_init
|
|
@@ -269,37 +269,58 @@ class Tracing(metaclass=Singleton):
|
|
|
269
269
|
):
|
|
270
270
|
return inject(*args, **kwargs)
|
|
271
271
|
|
|
272
|
-
def
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
272
|
+
def get_current_span_context(self):
|
|
273
|
+
"""Get the current active span context if available.
|
|
274
|
+
|
|
275
|
+
Returns:
|
|
276
|
+
SpanContext or None if no active span
|
|
277
|
+
"""
|
|
278
|
+
span = get_current_span()
|
|
279
|
+
ctx = span.get_span_context()
|
|
280
|
+
return ctx if ctx and ctx.is_valid else None
|
|
281
|
+
|
|
282
|
+
def get_last_span_context(self):
|
|
283
|
+
"""Get the last closed span context if available.
|
|
284
|
+
|
|
285
|
+
This is useful for accessing span information after a span has closed,
|
|
286
|
+
particularly with auto-instrumentation libraries.
|
|
287
|
+
|
|
288
|
+
Returns:
|
|
289
|
+
SpanContext or None if no spans have been closed
|
|
290
|
+
"""
|
|
291
|
+
return _get_last_ended()
|
|
292
|
+
|
|
293
|
+
def get_span_context(self):
|
|
294
|
+
"""Get the most relevant span context.
|
|
295
|
+
|
|
296
|
+
First tries to get the current active span context.
|
|
297
|
+
If no active span exists, falls back to the last closed span.
|
|
298
|
+
|
|
299
|
+
Returns:
|
|
300
|
+
SpanContext or None if no relevant span context is available
|
|
301
|
+
"""
|
|
302
|
+
return self.get_current_span_context() or self.get_last_span_context()
|
|
303
|
+
|
|
304
|
+
def build_invocation_link(self, span_ctx=None) -> Optional[Link]:
|
|
305
|
+
"""
|
|
306
|
+
Builds a Link object containing the hex-formatted trace_id and span_id
|
|
307
|
+
from the current (or fallback last ended) span context.
|
|
308
|
+
Useful to link annotations to spans.
|
|
309
|
+
|
|
310
|
+
Args:
|
|
311
|
+
span_ctx: Optional SpanContext to convert to a Link
|
|
312
|
+
|
|
313
|
+
Returns:
|
|
314
|
+
Link object with trace_id and span_id or None if no valid context
|
|
315
|
+
"""
|
|
316
|
+
if span_ctx is None:
|
|
317
|
+
span_ctx = self.get_span_context()
|
|
318
|
+
|
|
319
|
+
if span_ctx and span_ctx.is_valid:
|
|
320
|
+
return Link(
|
|
321
|
+
trace_id=f"{span_ctx.trace_id:032x}",
|
|
322
|
+
span_id=f"{span_ctx.span_id:016x}",
|
|
323
|
+
)
|
|
303
324
|
|
|
304
325
|
return None
|
|
305
326
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/observability/types/query_traces_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/aggregated_result_evaluator_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/evaluator_mapping_output_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/human_evaluation_scenario_input.py
RENAMED
|
File without changes
|
{agenta-0.45.0 → agenta-0.45.1}/agenta/client/backend/types/human_evaluation_scenario_output.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|