unique_toolkit 1.21.0__tar.gz → 1.21.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 unique_toolkit might be problematic. Click here for more details.
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/CHANGELOG.md +3 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/PKG-INFO +4 -1
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/pyproject.toml +1 -1
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +33 -17
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/tool_progress_reporter.py +27 -26
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/LICENSE +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/README.md +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_display.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_consolidate_references.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_postprocessor_reference_functions.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/test_utilities/events.py +0 -0
|
@@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## [1.21.1] - 2025-10-30
|
|
10
|
+
- Improve Spaces 2.0 display of tool progress reporter configuration.
|
|
11
|
+
|
|
9
12
|
## [1.21.0] - 2025-10-30
|
|
10
13
|
- Add option to customize the display of tool progress statuses.
|
|
11
14
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_toolkit
|
|
3
|
-
Version: 1.21.
|
|
3
|
+
Version: 1.21.1
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Cedric Klinkert
|
|
@@ -119,6 +119,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
119
119
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
120
120
|
|
|
121
121
|
|
|
122
|
+
## [1.21.1] - 2025-10-30
|
|
123
|
+
- Improve Spaces 2.0 display of tool progress reporter configuration.
|
|
124
|
+
|
|
122
125
|
## [1.21.0] - 2025-10-30
|
|
123
126
|
- Add option to customize the display of tool progress statuses.
|
|
124
127
|
|
|
@@ -252,8 +252,10 @@ class TestToolProgressReporterConfig:
|
|
|
252
252
|
# Arrange
|
|
253
253
|
custom_config = ToolProgressReporterConfig(
|
|
254
254
|
state_to_display_template={
|
|
255
|
-
|
|
256
|
-
|
|
255
|
+
"started": "⚪ {tool_name}: {message}",
|
|
256
|
+
"running": "⏳ {tool_name}: {message}",
|
|
257
|
+
"finished": "✅ {tool_name}: {message}",
|
|
258
|
+
"failed": "❌ {tool_name}: {message}",
|
|
257
259
|
}
|
|
258
260
|
)
|
|
259
261
|
reporter = ToolProgressReporter(chat_service, config=custom_config)
|
|
@@ -275,19 +277,21 @@ class TestToolProgressReporterConfig:
|
|
|
275
277
|
|
|
276
278
|
@pytest.mark.ai
|
|
277
279
|
@pytest.mark.asyncio
|
|
278
|
-
async def
|
|
280
|
+
async def test_config__skips_states_with_empty_template__when_state_hidden(
|
|
279
281
|
self, chat_service, tool_call
|
|
280
282
|
) -> None:
|
|
281
283
|
"""
|
|
282
|
-
Purpose: Verify that states
|
|
284
|
+
Purpose: Verify that states with empty string templates are not displayed.
|
|
283
285
|
Why this matters: Allows selective display of only certain states (e.g., hide STARTED).
|
|
284
|
-
Setup summary: Create config
|
|
286
|
+
Setup summary: Create config with empty string for RUNNING state, verify message is not displayed.
|
|
285
287
|
"""
|
|
286
288
|
# Arrange
|
|
287
289
|
custom_config = ToolProgressReporterConfig(
|
|
288
290
|
state_to_display_template={
|
|
289
|
-
|
|
290
|
-
#
|
|
291
|
+
"started": "",
|
|
292
|
+
"running": "", # Empty string hides RUNNING state
|
|
293
|
+
"finished": "✅ {tool_name}: {message}",
|
|
294
|
+
"failed": "❌ {tool_name}: {message}",
|
|
291
295
|
}
|
|
292
296
|
)
|
|
293
297
|
reporter = ToolProgressReporter(chat_service, config=custom_config)
|
|
@@ -304,7 +308,7 @@ class TestToolProgressReporterConfig:
|
|
|
304
308
|
chat_service.modify_assistant_message_async.assert_called()
|
|
305
309
|
call_args = chat_service.modify_assistant_message_async.call_args
|
|
306
310
|
content = call_args.kwargs["content"]
|
|
307
|
-
# Content should not contain the message since RUNNING is
|
|
311
|
+
# Content should not contain the message since RUNNING template is empty
|
|
308
312
|
assert "Processing" not in content
|
|
309
313
|
assert "Test Tool" not in content
|
|
310
314
|
|
|
@@ -321,8 +325,10 @@ class TestToolProgressReporterConfig:
|
|
|
321
325
|
# Arrange
|
|
322
326
|
custom_config = ToolProgressReporterConfig(
|
|
323
327
|
state_to_display_template={
|
|
324
|
-
|
|
325
|
-
|
|
328
|
+
"started": "○ {tool_name} - {message}",
|
|
329
|
+
"running": "▶️ {tool_name} - {message}",
|
|
330
|
+
"finished": "✓ {tool_name} - {message}",
|
|
331
|
+
"failed": "✗ {tool_name} - {message}",
|
|
326
332
|
}
|
|
327
333
|
)
|
|
328
334
|
reporter = ToolProgressReporter(chat_service, config=custom_config)
|
|
@@ -355,14 +361,17 @@ class TestToolProgressReporterConfig:
|
|
|
355
361
|
self, chat_service, tool_call
|
|
356
362
|
) -> None:
|
|
357
363
|
"""
|
|
358
|
-
Purpose: Verify selective state display shows only FINISHED when
|
|
364
|
+
Purpose: Verify selective state display shows only FINISHED when other states use empty templates.
|
|
359
365
|
Why this matters: Use case where user only wants final results, not intermediate steps.
|
|
360
|
-
Setup summary: Configure only FINISHED
|
|
366
|
+
Setup summary: Configure only FINISHED with content, send STARTED and FINISHED, verify only FINISHED appears.
|
|
361
367
|
"""
|
|
362
368
|
# Arrange
|
|
363
369
|
custom_config = ToolProgressReporterConfig(
|
|
364
370
|
state_to_display_template={
|
|
365
|
-
|
|
371
|
+
"started": "", # Empty template hides STARTED
|
|
372
|
+
"running": "", # Empty template hides RUNNING
|
|
373
|
+
"finished": "Done: {tool_name} - {message}",
|
|
374
|
+
"failed": "Failed: {tool_name} - {message}",
|
|
366
375
|
}
|
|
367
376
|
)
|
|
368
377
|
reporter = ToolProgressReporter(chat_service, config=custom_config)
|
|
@@ -399,16 +408,23 @@ class TestToolProgressReporterConfig:
|
|
|
399
408
|
|
|
400
409
|
@pytest.mark.ai
|
|
401
410
|
@pytest.mark.asyncio
|
|
402
|
-
async def
|
|
411
|
+
async def test_config__handles_all_empty_templates__when_all_states_hidden(
|
|
403
412
|
self, chat_service, tool_call
|
|
404
413
|
) -> None:
|
|
405
414
|
"""
|
|
406
|
-
Purpose: Verify that
|
|
415
|
+
Purpose: Verify that all empty string templates result in no messages being displayed.
|
|
407
416
|
Why this matters: Edge case handling and allows disabling all progress display.
|
|
408
|
-
Setup summary: Create config with empty
|
|
417
|
+
Setup summary: Create config with all empty templates, verify no tool messages appear.
|
|
409
418
|
"""
|
|
410
419
|
# Arrange
|
|
411
|
-
custom_config = ToolProgressReporterConfig(
|
|
420
|
+
custom_config = ToolProgressReporterConfig(
|
|
421
|
+
state_to_display_template={
|
|
422
|
+
"started": "",
|
|
423
|
+
"running": "",
|
|
424
|
+
"finished": "",
|
|
425
|
+
"failed": "",
|
|
426
|
+
}
|
|
427
|
+
)
|
|
412
428
|
reporter = ToolProgressReporter(chat_service, config=custom_config)
|
|
413
429
|
|
|
414
430
|
# Act
|
|
@@ -2,7 +2,7 @@ import re
|
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
from enum import StrEnum
|
|
4
4
|
from functools import wraps
|
|
5
|
-
from typing import Protocol
|
|
5
|
+
from typing import Protocol, TypedDict
|
|
6
6
|
|
|
7
7
|
from pydantic import BaseModel, Field
|
|
8
8
|
|
|
@@ -33,39 +33,37 @@ class ToolExecutionStatus(BaseModel):
|
|
|
33
33
|
timestamp: datetime = Field(default_factory=datetime.now)
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
),
|
|
36
|
+
class StateToDisplayTemplate(TypedDict):
|
|
37
|
+
started: str
|
|
38
|
+
running: str
|
|
39
|
+
failed: str
|
|
40
|
+
finished: str
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
_DEFAULT_STATE_TO_DISPLAY_TEMPLATE: StateToDisplayTemplate = {
|
|
44
|
+
"started": "{arrow}**{{tool_name}}** ⚪: {{message}}".format(arrow=ARROW),
|
|
45
|
+
"running": "{arrow}**{{tool_name}}** 🟡: {{message}}".format(arrow=ARROW),
|
|
46
|
+
"finished": "{arrow}**{{tool_name}}** 🟢: {{message}}".format(arrow=ARROW),
|
|
47
|
+
"failed": "{arrow}**{{tool_name}}** 🔴: {{message}}".format(arrow=ARROW),
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
|
|
52
51
|
state_to_display_template_description = """
|
|
53
|
-
|
|
54
|
-
The
|
|
55
|
-
|
|
52
|
+
Display templates for the different progress states.
|
|
53
|
+
The template is a string that will be used to display the progress status.
|
|
54
|
+
It can contain the following placeholders:
|
|
56
55
|
- `{tool_name}`: The name of the tool
|
|
57
56
|
- `{message}`: The message to display (sent by the tool)
|
|
58
|
-
|
|
59
|
-
If a state is not present in the mapping, then updates for that state will not be displayed.
|
|
60
57
|
""".strip()
|
|
61
58
|
|
|
62
59
|
|
|
63
60
|
class ToolProgressReporterConfig(BaseModel):
|
|
64
61
|
model_config = get_configuration_dict()
|
|
65
62
|
|
|
66
|
-
state_to_display_template:
|
|
63
|
+
state_to_display_template: StateToDisplayTemplate = Field(
|
|
67
64
|
default=_DEFAULT_STATE_TO_DISPLAY_TEMPLATE,
|
|
68
65
|
description=state_to_display_template_description,
|
|
66
|
+
title="Display Templates",
|
|
69
67
|
)
|
|
70
68
|
|
|
71
69
|
|
|
@@ -188,12 +186,15 @@ class ToolProgressReporter:
|
|
|
188
186
|
def _get_tool_status_display_message(
|
|
189
187
|
self, name: str, message: str, state: ProgressState
|
|
190
188
|
) -> str | None:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
189
|
+
display_message = self._config.state_to_display_template[state.value].format(
|
|
190
|
+
tool_name=name,
|
|
191
|
+
message=message,
|
|
192
|
+
)
|
|
193
|
+
# Don't display empty messages
|
|
194
|
+
if display_message.strip() == "":
|
|
195
|
+
return None
|
|
196
|
+
|
|
197
|
+
return display_message
|
|
197
198
|
|
|
198
199
|
|
|
199
200
|
class ToolWithToolProgressReporter(Protocol):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/base_model_type_attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/endpoint_requestor.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/token/token_counting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/_common/validate_required_values.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
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/evaluation/schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/responses_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/__init__.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
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/_memory.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/_schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/config.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/a2a/tool/service.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/openai_builtin/base.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
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/tool_manager.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/agentic/tools/utils/__init__.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
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/performance/async_tasks.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/app/performance/async_wrapper.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
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/framework_utilities/openai/client.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
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/constants.py
RENAMED
|
File without changes
|
{unique_toolkit-1.21.0 → unique_toolkit-1.21.1}/unique_toolkit/short_term_memory/functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|