unique_toolkit 0.8.30__tar.gz → 0.8.31__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.
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/CHANGELOG.md +12 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/PKG-INFO +13 -1
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/pyproject.toml +1 -1
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/infos.py +156 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/a2a/config.py +1 -3
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/a2a/manager.py +1 -2
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/a2a/memory.py +0 -1
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/a2a/service.py +6 -8
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/mcp/models.py +1 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/test/test_mcp_manager.py +10 -19
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/tool_manager.py +1 -3
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/LICENSE +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/README.md +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/config.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/context_relevancy/prompts.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/context_relevancy/schema.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/context_relevancy/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/evaluation_manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/exception.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/prompts.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/output_parser.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/tests/test_output_parser.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/config.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/context_relevancy/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/context_relevancy/prompts.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/context_relevancy/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/context_relevancy/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/exception.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/prompts.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/output_parser.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/history_manager/history_manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/history_manager/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/a2a/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/a2a/schema.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/config.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/factory.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/mcp/__init__.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/mcp/manager.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/schemas.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/tool.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
|
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
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
|
+
|
|
9
|
+
## [0.8.31] - 2025-08-29
|
|
10
|
+
- Add various openai models to supported model list
|
|
11
|
+
- o1
|
|
12
|
+
- o3
|
|
13
|
+
- o3-deep-research
|
|
14
|
+
- o3-pro
|
|
15
|
+
- o4-mini
|
|
16
|
+
- o4-mini-deep-research
|
|
17
|
+
- gpt-4-1-mini
|
|
18
|
+
- gpt-4-1-nano
|
|
19
|
+
|
|
8
20
|
## [0.8.30] - 2025-08-28
|
|
9
21
|
- Added A2A manager
|
|
10
22
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_toolkit
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.31
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Martin Fadler
|
|
@@ -115,6 +115,18 @@ All notable changes to this project will be documented in this file.
|
|
|
115
115
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
116
116
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
117
117
|
|
|
118
|
+
|
|
119
|
+
## [0.8.31] - 2025-08-29
|
|
120
|
+
- Add various openai models to supported model list
|
|
121
|
+
- o1
|
|
122
|
+
- o3
|
|
123
|
+
- o3-deep-research
|
|
124
|
+
- o3-pro
|
|
125
|
+
- o4-mini
|
|
126
|
+
- o4-mini-deep-research
|
|
127
|
+
- gpt-4-1-mini
|
|
128
|
+
- gpt-4-1-nano
|
|
129
|
+
|
|
118
130
|
## [0.8.30] - 2025-08-28
|
|
119
131
|
- Added A2A manager
|
|
120
132
|
|
|
@@ -48,6 +48,14 @@ class LanguageModelName(StrEnum):
|
|
|
48
48
|
LITELLM_OPENAI_GPT_5_MINI = "litellm:openai-gpt-5-mini"
|
|
49
49
|
LITELLM_OPENAI_GPT_5_NANO = "litellm:openai-gpt-5-nano"
|
|
50
50
|
LITELLM_OPENAI_GPT_5_CHAT = "litellm:openai-gpt-5-chat"
|
|
51
|
+
LITELLM_OPENAI_O1 = "litellm:openai-o1"
|
|
52
|
+
LITELLM_OPENAI_O3 = "litellm:openai-o3"
|
|
53
|
+
LITELLM_OPENAI_O3_DEEP_RESEARCH = "litellm:openai-o3-deep-research"
|
|
54
|
+
LITELLM_OPENAI_O3_PRO = "litellm:openai-o3-pro"
|
|
55
|
+
LITELLM_OPENAI_O4_MINI = "litellm:openai-o4-mini"
|
|
56
|
+
LITELLM_OPENAI_O4_MINI_DEEP_RESEARCH = "litellm:openai-o4-mini-deep-research"
|
|
57
|
+
LITELLM_OPENAI_GPT_4_1_MINI = "litellm:openai-gpt-4-1-mini"
|
|
58
|
+
LITELLM_OPENAI_GPT_4_1_NANO = "litellm:openai-gpt-4-1-nano"
|
|
51
59
|
LITELLM_DEEPSEEK_R1 = "litellm:deepseek-r1"
|
|
52
60
|
LITELLM_DEEPSEEK_V3 = "litellm:deepseek-v3-1"
|
|
53
61
|
LITELLM_QWEN_3 = "litellm:qwen-3-235B-A22B"
|
|
@@ -83,6 +91,14 @@ def get_encoder_name(model_name: LanguageModelName) -> EncoderName:
|
|
|
83
91
|
| LMN.LITELLM_OPENAI_GPT_5_MINI
|
|
84
92
|
| LMN.LITELLM_OPENAI_GPT_5_NANO
|
|
85
93
|
| LMN.LITELLM_OPENAI_GPT_5_CHAT
|
|
94
|
+
| LMN.LITELLM_OPENAI_O1
|
|
95
|
+
| LMN.LITELLM_OPENAI_O3
|
|
96
|
+
| LMN.LITELLM_OPENAI_O3_DEEP_RESEARCH
|
|
97
|
+
| LMN.LITELLM_OPENAI_O4_MINI
|
|
98
|
+
| LMN.LITELLM_OPENAI_O4_MINI_DEEP_RESEARCH
|
|
99
|
+
| LMN.LITELLM_OPENAI_GPT_4_1_MINI
|
|
100
|
+
| LMN.LITELLM_OPENAI_GPT_4_1_NANO
|
|
101
|
+
| LMN.LITELLM_OPENAI_O3_PRO
|
|
86
102
|
):
|
|
87
103
|
return EncoderName.O200K_BASE
|
|
88
104
|
case _:
|
|
@@ -879,6 +895,146 @@ class LanguageModelInfo(BaseModel):
|
|
|
879
895
|
deprecated_at=date(2026, 8, 7),
|
|
880
896
|
retirement_at=date(2026, 8, 7),
|
|
881
897
|
)
|
|
898
|
+
case LanguageModelName.LITELLM_OPENAI_O1:
|
|
899
|
+
return cls(
|
|
900
|
+
name=model_name,
|
|
901
|
+
provider=LanguageModelProvider.LITELLM,
|
|
902
|
+
version="2024-12-17",
|
|
903
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
904
|
+
capabilities=[
|
|
905
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
906
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
907
|
+
ModelCapabilities.STREAMING,
|
|
908
|
+
ModelCapabilities.VISION,
|
|
909
|
+
ModelCapabilities.REASONING,
|
|
910
|
+
],
|
|
911
|
+
token_limits=LanguageModelTokenLimits(
|
|
912
|
+
token_limit_input=200_000, token_limit_output=100_000
|
|
913
|
+
),
|
|
914
|
+
info_cutoff_at=date(2023, 10, 1),
|
|
915
|
+
published_at=date(2024, 12, 17),
|
|
916
|
+
temperature_bounds=TemperatureBounds(
|
|
917
|
+
min_temperature=1.0, max_temperature=1.0
|
|
918
|
+
),
|
|
919
|
+
)
|
|
920
|
+
case LanguageModelName.LITELLM_OPENAI_O3:
|
|
921
|
+
return cls(
|
|
922
|
+
name=model_name,
|
|
923
|
+
provider=LanguageModelProvider.LITELLM,
|
|
924
|
+
version="2025-04-16",
|
|
925
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
926
|
+
capabilities=[
|
|
927
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
928
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
929
|
+
ModelCapabilities.STREAMING,
|
|
930
|
+
ModelCapabilities.REASONING,
|
|
931
|
+
],
|
|
932
|
+
token_limits=LanguageModelTokenLimits(
|
|
933
|
+
token_limit_input=200_000, token_limit_output=100_000
|
|
934
|
+
),
|
|
935
|
+
temperature_bounds=TemperatureBounds(
|
|
936
|
+
min_temperature=1.0, max_temperature=1.0
|
|
937
|
+
),
|
|
938
|
+
published_at=date(2025, 4, 16),
|
|
939
|
+
info_cutoff_at=date(2024, 6, 1),
|
|
940
|
+
)
|
|
941
|
+
case LanguageModelName.LITELLM_OPENAI_O3_DEEP_RESEARCH:
|
|
942
|
+
return cls(
|
|
943
|
+
name=model_name,
|
|
944
|
+
provider=LanguageModelProvider.LITELLM,
|
|
945
|
+
version="2025-06-26",
|
|
946
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
947
|
+
token_limits=LanguageModelTokenLimits(
|
|
948
|
+
token_limit_input=200_000, token_limit_output=100_000
|
|
949
|
+
),
|
|
950
|
+
published_at=date(2025, 4, 16),
|
|
951
|
+
capabilities=[ModelCapabilities.STREAMING],
|
|
952
|
+
info_cutoff_at=date(2024, 6, 1),
|
|
953
|
+
)
|
|
954
|
+
case LanguageModelName.LITELLM_OPENAI_O3_PRO:
|
|
955
|
+
return cls(
|
|
956
|
+
name=model_name,
|
|
957
|
+
provider=LanguageModelProvider.LITELLM,
|
|
958
|
+
version="2025-06-10",
|
|
959
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
960
|
+
capabilities=[
|
|
961
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
962
|
+
ModelCapabilities.REASONING,
|
|
963
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
964
|
+
],
|
|
965
|
+
token_limits=LanguageModelTokenLimits(
|
|
966
|
+
token_limit_input=200_000, token_limit_output=100_000
|
|
967
|
+
),
|
|
968
|
+
published_at=date(2025, 6, 10),
|
|
969
|
+
info_cutoff_at=date(2024, 6, 1),
|
|
970
|
+
)
|
|
971
|
+
case LanguageModelName.LITELLM_OPENAI_O4_MINI:
|
|
972
|
+
return cls(
|
|
973
|
+
name=model_name,
|
|
974
|
+
provider=LanguageModelProvider.LITELLM,
|
|
975
|
+
version="2025-04-16",
|
|
976
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
977
|
+
capabilities=[
|
|
978
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
979
|
+
ModelCapabilities.STREAMING,
|
|
980
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
981
|
+
],
|
|
982
|
+
token_limits=LanguageModelTokenLimits(
|
|
983
|
+
token_limit_input=200_000, token_limit_output=100_000
|
|
984
|
+
),
|
|
985
|
+
published_at=date(2025, 4, 16),
|
|
986
|
+
info_cutoff_at=date(2024, 6, 1),
|
|
987
|
+
temperature_bounds=TemperatureBounds(
|
|
988
|
+
min_temperature=1.0, max_temperature=1.0
|
|
989
|
+
),
|
|
990
|
+
)
|
|
991
|
+
case LanguageModelName.LITELLM_OPENAI_O4_MINI_DEEP_RESEARCH:
|
|
992
|
+
return cls(
|
|
993
|
+
name=model_name,
|
|
994
|
+
provider=LanguageModelProvider.LITELLM,
|
|
995
|
+
version="2025-06-26",
|
|
996
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
997
|
+
token_limits=LanguageModelTokenLimits(
|
|
998
|
+
token_limit_input=200_000, token_limit_output=100_000
|
|
999
|
+
),
|
|
1000
|
+
published_at=date(2025, 4, 16),
|
|
1001
|
+
capabilities=[ModelCapabilities.STREAMING],
|
|
1002
|
+
info_cutoff_at=date(2024, 6, 1),
|
|
1003
|
+
)
|
|
1004
|
+
case LanguageModelName.LITELLM_OPENAI_GPT_4_1_MINI:
|
|
1005
|
+
return cls(
|
|
1006
|
+
name=model_name,
|
|
1007
|
+
provider=LanguageModelProvider.LITELLM,
|
|
1008
|
+
version="2025-04-14",
|
|
1009
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
1010
|
+
published_at=date(2025, 4, 14),
|
|
1011
|
+
info_cutoff_at=date(2024, 6, 1),
|
|
1012
|
+
token_limits=LanguageModelTokenLimits(
|
|
1013
|
+
token_limit_input=1_047_576, token_limit_output=32_768
|
|
1014
|
+
),
|
|
1015
|
+
capabilities=[
|
|
1016
|
+
ModelCapabilities.STREAMING,
|
|
1017
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
1018
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
1019
|
+
],
|
|
1020
|
+
)
|
|
1021
|
+
case LanguageModelName.LITELLM_OPENAI_GPT_4_1_NANO:
|
|
1022
|
+
return cls(
|
|
1023
|
+
name=model_name,
|
|
1024
|
+
provider=LanguageModelProvider.LITELLM,
|
|
1025
|
+
version="2025-04-14",
|
|
1026
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
1027
|
+
published_at=date(2025, 4, 14),
|
|
1028
|
+
info_cutoff_at=date(2024, 6, 1),
|
|
1029
|
+
token_limits=LanguageModelTokenLimits(
|
|
1030
|
+
token_limit_input=1_047_576, token_limit_output=32_768
|
|
1031
|
+
),
|
|
1032
|
+
capabilities=[
|
|
1033
|
+
ModelCapabilities.STREAMING,
|
|
1034
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
1035
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
1036
|
+
],
|
|
1037
|
+
)
|
|
882
1038
|
case LanguageModelName.LITELLM_DEEPSEEK_R1:
|
|
883
1039
|
return cls(
|
|
884
1040
|
name=model_name,
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
from unique_toolkit.tools.schemas import BaseToolConfig
|
|
2
|
-
|
|
3
1
|
from unique_toolkit.tools.config import get_configuration_dict
|
|
4
|
-
|
|
2
|
+
from unique_toolkit.tools.schemas import BaseToolConfig
|
|
5
3
|
|
|
6
4
|
DEFAULT_PARAM_DESCRIPTION_SUB_AGENT_USER_MESSAGE = """
|
|
7
5
|
This is the message that will be sent to the sub-agent.
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
from logging import Logger
|
|
2
2
|
|
|
3
3
|
from unique_toolkit.app.schemas import ChatEvent
|
|
4
|
-
from unique_toolkit.tools.a2a.service import SubAgentTool, ToolProgressReporter
|
|
5
|
-
|
|
6
4
|
from unique_toolkit.tools.a2a.config import SubAgentToolConfig
|
|
5
|
+
from unique_toolkit.tools.a2a.service import SubAgentTool, ToolProgressReporter
|
|
7
6
|
from unique_toolkit.tools.config import ToolBuildConfig
|
|
8
7
|
from unique_toolkit.tools.schemas import BaseToolConfig
|
|
9
8
|
from unique_toolkit.tools.tool import Tool
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
from pydantic import Field, create_model
|
|
2
2
|
from unique_sdk.utils.chat_in_space import send_message_and_wait_for_completion
|
|
3
|
+
|
|
3
4
|
from unique_toolkit.app import ChatEvent
|
|
5
|
+
from unique_toolkit.evaluators.schemas import EvaluationMetricName
|
|
4
6
|
from unique_toolkit.language_model import (
|
|
5
7
|
LanguageModelFunction,
|
|
6
8
|
LanguageModelMessage,
|
|
7
9
|
LanguageModelToolDescription,
|
|
8
10
|
)
|
|
9
|
-
|
|
10
|
-
from unique_toolkit.evaluators.schemas import EvaluationMetricName
|
|
11
|
-
from unique_toolkit.tools.schemas import ToolCallResponse
|
|
12
11
|
from unique_toolkit.tools.a2a.config import SubAgentToolConfig
|
|
13
12
|
from unique_toolkit.tools.a2a.memory import (
|
|
14
13
|
get_sub_agent_short_term_memory_manager,
|
|
15
14
|
)
|
|
16
15
|
from unique_toolkit.tools.a2a.schema import (
|
|
17
16
|
SubAgentShortTermMemorySchema,
|
|
18
|
-
SubAgentToolCallResponse,
|
|
19
17
|
SubAgentToolInput,
|
|
20
18
|
)
|
|
19
|
+
from unique_toolkit.tools.schemas import ToolCallResponse
|
|
21
20
|
from unique_toolkit.tools.tool import Tool
|
|
22
|
-
|
|
23
21
|
from unique_toolkit.tools.tool_progress_reporter import (
|
|
24
22
|
ProgressState,
|
|
25
23
|
ToolProgressReporter,
|
|
@@ -148,7 +146,7 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
|
|
|
148
146
|
tool_response: ToolCallResponse,
|
|
149
147
|
) -> LanguageModelMessage:
|
|
150
148
|
return ToolCallResponse(
|
|
151
|
-
id=
|
|
152
|
-
name=
|
|
153
|
-
content=
|
|
149
|
+
id=tool_response.id,
|
|
150
|
+
name=tool_response.name,
|
|
151
|
+
content=tool_response["content"],
|
|
154
152
|
)
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/test/test_mcp_manager.py
RENAMED
|
@@ -7,6 +7,7 @@ from pydantic import BaseModel
|
|
|
7
7
|
from tests.test_obj_factory import get_event_obj
|
|
8
8
|
from unique_toolkit.app.schemas import McpServer, McpTool
|
|
9
9
|
from unique_toolkit.chat.service import ChatService
|
|
10
|
+
from unique_toolkit.tools.a2a.manager import A2AManager
|
|
10
11
|
from unique_toolkit.tools.config import ToolBuildConfig, ToolIcon, ToolSelectionPolicy
|
|
11
12
|
from unique_toolkit.tools.factory import ToolFactory
|
|
12
13
|
from unique_toolkit.tools.mcp.manager import MCPManager
|
|
@@ -15,8 +16,6 @@ from unique_toolkit.tools.tool import Tool
|
|
|
15
16
|
from unique_toolkit.tools.tool_manager import ToolManager, ToolManagerConfig
|
|
16
17
|
from unique_toolkit.tools.tool_progress_reporter import ToolProgressReporter
|
|
17
18
|
|
|
18
|
-
from unique_toolkit.tools.a2a.manager import A2AManager
|
|
19
|
-
|
|
20
19
|
|
|
21
20
|
class MockParameters(BaseModel):
|
|
22
21
|
pass
|
|
@@ -163,9 +162,9 @@ class TestMCPManager:
|
|
|
163
162
|
event=self.event,
|
|
164
163
|
tool_progress_reporter=tool_progress_reporter,
|
|
165
164
|
)
|
|
166
|
-
|
|
165
|
+
|
|
167
166
|
@pytest.fixture
|
|
168
|
-
def a2a_manager(self,tool_progress_reporter):
|
|
167
|
+
def a2a_manager(self, tool_progress_reporter):
|
|
169
168
|
"""Create MCP manager fixture"""
|
|
170
169
|
return A2AManager(
|
|
171
170
|
logger=self.logger,
|
|
@@ -178,17 +177,18 @@ class TestMCPManager:
|
|
|
178
177
|
return ToolManagerConfig(tools=internal_tools, max_tool_calls=10)
|
|
179
178
|
|
|
180
179
|
@pytest.fixture
|
|
181
|
-
def tool_manager(
|
|
180
|
+
def tool_manager(
|
|
181
|
+
self, tool_manager_config, mcp_manager, a2a_manager, tool_progress_reporter
|
|
182
|
+
):
|
|
182
183
|
"""Create tool manager fixture"""
|
|
183
184
|
|
|
184
|
-
|
|
185
185
|
return ToolManager(
|
|
186
186
|
logger=self.logger,
|
|
187
187
|
config=tool_manager_config,
|
|
188
188
|
event=self.event,
|
|
189
189
|
tool_progress_reporter=tool_progress_reporter,
|
|
190
190
|
mcp_manager=mcp_manager,
|
|
191
|
-
a2a_manager=a2a_manager
|
|
191
|
+
a2a_manager=a2a_manager,
|
|
192
192
|
)
|
|
193
193
|
|
|
194
194
|
def test_tool_manager_initialization(self, tool_manager):
|
|
@@ -270,7 +270,6 @@ class TestMCPManager:
|
|
|
270
270
|
|
|
271
271
|
# Test 1: Normal initialization with both tool types
|
|
272
272
|
|
|
273
|
-
|
|
274
273
|
a2a_manager = A2AManager(
|
|
275
274
|
logger=self.logger,
|
|
276
275
|
tool_progress_reporter=tool_progress_reporter,
|
|
@@ -282,7 +281,7 @@ class TestMCPManager:
|
|
|
282
281
|
event=self.event,
|
|
283
282
|
tool_progress_reporter=tool_progress_reporter,
|
|
284
283
|
mcp_manager=mcp_manager,
|
|
285
|
-
a2a_manager=a2a_manager
|
|
284
|
+
a2a_manager=a2a_manager,
|
|
286
285
|
)
|
|
287
286
|
|
|
288
287
|
# Verify both tools are loaded
|
|
@@ -307,8 +306,6 @@ class TestMCPManager:
|
|
|
307
306
|
event_with_disabled.payload.tool_choices = ["internal_search", "mcp_test_tool"]
|
|
308
307
|
event_with_disabled.payload.disabled_tools = ["internal_search"]
|
|
309
308
|
|
|
310
|
-
|
|
311
|
-
|
|
312
309
|
a2a_manager = A2AManager(
|
|
313
310
|
logger=self.logger,
|
|
314
311
|
tool_progress_reporter=tool_progress_reporter,
|
|
@@ -345,8 +342,6 @@ class TestMCPManager:
|
|
|
345
342
|
event_with_limited_choices.payload.tool_choices = ["internal_search"]
|
|
346
343
|
event_with_limited_choices.payload.disabled_tools = []
|
|
347
344
|
|
|
348
|
-
|
|
349
|
-
|
|
350
345
|
a2a_manager = A2AManager(
|
|
351
346
|
logger=self.logger,
|
|
352
347
|
tool_progress_reporter=tool_progress_reporter,
|
|
@@ -386,8 +381,6 @@ class TestMCPManager:
|
|
|
386
381
|
tools=[exclusive_tool_config], max_tool_calls=10
|
|
387
382
|
)
|
|
388
383
|
|
|
389
|
-
|
|
390
|
-
|
|
391
384
|
a2a_manager = A2AManager(
|
|
392
385
|
logger=self.logger,
|
|
393
386
|
tool_progress_reporter=tool_progress_reporter,
|
|
@@ -399,7 +392,7 @@ class TestMCPManager:
|
|
|
399
392
|
event=self.event,
|
|
400
393
|
tool_progress_reporter=tool_progress_reporter,
|
|
401
394
|
mcp_manager=mcp_manager,
|
|
402
|
-
a2a_manager=a2a_manager
|
|
395
|
+
a2a_manager=a2a_manager,
|
|
403
396
|
)
|
|
404
397
|
|
|
405
398
|
# Should only have the exclusive tool, MCP tools should be ignored
|
|
@@ -429,8 +422,6 @@ class TestMCPManager:
|
|
|
429
422
|
tools=[disabled_tool_config], max_tool_calls=10
|
|
430
423
|
)
|
|
431
424
|
|
|
432
|
-
|
|
433
|
-
|
|
434
425
|
a2a_manager = A2AManager(
|
|
435
426
|
logger=self.logger,
|
|
436
427
|
tool_progress_reporter=tool_progress_reporter,
|
|
@@ -442,7 +433,7 @@ class TestMCPManager:
|
|
|
442
433
|
event=self.event,
|
|
443
434
|
tool_progress_reporter=tool_progress_reporter,
|
|
444
435
|
mcp_manager=mcp_manager,
|
|
445
|
-
a2a_manager=a2a_manager
|
|
436
|
+
a2a_manager=a2a_manager,
|
|
446
437
|
)
|
|
447
438
|
|
|
448
439
|
# Should only have MCP tool, disabled internal tool should be filtered out
|
|
@@ -2,10 +2,7 @@ import asyncio
|
|
|
2
2
|
from logging import Logger, getLogger
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
-
|
|
6
5
|
from pydantic import BaseModel, Field
|
|
7
|
-
from unique_toolkit.tools.a2a.manager import A2AManager
|
|
8
|
-
|
|
9
6
|
|
|
10
7
|
from unique_toolkit.app.schemas import ChatEvent
|
|
11
8
|
from unique_toolkit.evals.schemas import EvaluationMetricName
|
|
@@ -14,6 +11,7 @@ from unique_toolkit.language_model.schemas import (
|
|
|
14
11
|
LanguageModelTool,
|
|
15
12
|
LanguageModelToolDescription,
|
|
16
13
|
)
|
|
14
|
+
from unique_toolkit.tools.a2a.manager import A2AManager
|
|
17
15
|
from unique_toolkit.tools.config import ToolBuildConfig, _rebuild_config_model
|
|
18
16
|
from unique_toolkit.tools.factory import ToolFactory
|
|
19
17
|
from unique_toolkit.tools.mcp.manager import MCPManager
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/_common/token/token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/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
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/app/performance/async_tasks.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/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
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/context_relevancy/prompts.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/context_relevancy/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/context_relevancy/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/prompts.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/hallucination/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evals/tests/test_output_parser.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-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/context_relevancy/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/constants.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/prompts.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/service.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/evaluators/hallucination/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/framework_utilities/openai/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/history_manager/history_manager.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/history_manager/loop_token_reducer.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
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/short_term_memory/constants.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/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
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/thinking_manager/thinking_manager.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-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/tool_progress_reporter.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/utils/execution/execution.py
RENAMED
|
File without changes
|
{unique_toolkit-0.8.30 → unique_toolkit-0.8.31}/unique_toolkit/tools/utils/source_handling/schema.py
RENAMED
|
File without changes
|
|
File without changes
|