unique_toolkit 1.1.4__tar.gz → 1.1.6__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-1.1.4 → unique_toolkit-1.1.6}/CHANGELOG.md +5 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/PKG-INFO +6 -1
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/pyproject.toml +1 -1
- unique_toolkit-1.1.6/unique_toolkit/_common/utils/__init__.py +1 -0
- unique_toolkit-1.1.6/unique_toolkit/_common/utils/structured_output/__init__.py +1 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/config.py +48 -37
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/schemas.py +1 -1
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/tool.py +10 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/tool_manager.py +1 -4
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/LICENSE +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/README.md +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/a2a/memory.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/a2a/schema.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/a2a/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -5,6 +5,11 @@ 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
|
+
## [1.1.6] - 2025-09-23
|
9
|
+
- Fix model_dump for `ToolBuildConfig`
|
10
|
+
|
11
|
+
## [1.1.5] - 2025-09-23
|
12
|
+
- Fix a circular import and add tests for `ToolBuildConfig`
|
8
13
|
|
9
14
|
## [1.1.4] - 2025-09-23
|
10
15
|
- First version human verification on api calls
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: unique_toolkit
|
3
|
-
Version: 1.1.
|
3
|
+
Version: 1.1.6
|
4
4
|
Summary:
|
5
5
|
License: Proprietary
|
6
6
|
Author: Cedric Klinkert
|
@@ -118,6 +118,11 @@ All notable changes to this project will be documented in this file.
|
|
118
118
|
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
|
+
## [1.1.6] - 2025-09-23
|
122
|
+
- Fix model_dump for `ToolBuildConfig`
|
123
|
+
|
124
|
+
## [1.1.5] - 2025-09-23
|
125
|
+
- Fix a circular import and add tests for `ToolBuildConfig`
|
121
126
|
|
122
127
|
## [1.1.4] - 2025-09-23
|
123
128
|
- First version human verification on api calls
|
@@ -0,0 +1 @@
|
|
1
|
+
# Utils package for common utilities
|
@@ -0,0 +1 @@
|
|
1
|
+
# Structured output utilities package
|
@@ -1,41 +1,16 @@
|
|
1
|
+
import json
|
1
2
|
from enum import StrEnum
|
2
|
-
from typing import
|
3
|
+
from typing import Any, Dict
|
3
4
|
|
4
|
-
import humps
|
5
5
|
from pydantic import (
|
6
6
|
BaseModel,
|
7
|
-
ConfigDict,
|
8
7
|
Field,
|
9
8
|
ValidationInfo,
|
10
9
|
model_validator,
|
11
10
|
)
|
12
|
-
from pydantic.alias_generators import to_camel
|
13
|
-
from pydantic.fields import ComputedFieldInfo, FieldInfo
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
def field_title_generator(
|
20
|
-
title: str,
|
21
|
-
info: FieldInfo | ComputedFieldInfo,
|
22
|
-
) -> str:
|
23
|
-
return humps.decamelize(title).replace("_", " ").title()
|
24
|
-
|
25
|
-
|
26
|
-
def model_title_generator(model: type) -> str:
|
27
|
-
return humps.decamelize(model.__name__).replace("_", " ").title()
|
28
|
-
|
29
|
-
|
30
|
-
def get_configuration_dict(**kwargs) -> ConfigDict:
|
31
|
-
return ConfigDict(
|
32
|
-
alias_generator=to_camel,
|
33
|
-
field_title_generator=field_title_generator,
|
34
|
-
model_title_generator=model_title_generator,
|
35
|
-
populate_by_name=True,
|
36
|
-
protected_namespaces=(),
|
37
|
-
**kwargs,
|
38
|
-
)
|
12
|
+
from unique_toolkit._common.pydantic_helpers import get_configuration_dict
|
13
|
+
from unique_toolkit.agentic.tools.schemas import BaseToolConfig
|
39
14
|
|
40
15
|
|
41
16
|
class ToolIcon(StrEnum):
|
@@ -63,7 +38,7 @@ class ToolBuildConfig(BaseModel):
|
|
63
38
|
"""Main tool configuration"""
|
64
39
|
|
65
40
|
name: str
|
66
|
-
configuration:
|
41
|
+
configuration: BaseToolConfig
|
67
42
|
display_name: str = ""
|
68
43
|
icon: ToolIcon = ToolIcon.BOOK
|
69
44
|
selection_policy: ToolSelectionPolicy = Field(
|
@@ -124,10 +99,46 @@ class ToolBuildConfig(BaseModel):
|
|
124
99
|
value["configuration"] = config
|
125
100
|
return value
|
126
101
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
102
|
+
def model_dump(self) -> Dict[str, Any]:
|
103
|
+
"""
|
104
|
+
Returns a dict representation of the tool config that preserves
|
105
|
+
subclass fields from `configuration` by delegating to its own
|
106
|
+
model_dump. This prevents `{}` when `configuration` is typed
|
107
|
+
as `BaseToolConfig` but holds a subclass instance.
|
108
|
+
"""
|
109
|
+
data: Dict[str, Any] = {
|
110
|
+
"name": self.name,
|
111
|
+
"configuration": self.configuration.model_dump()
|
112
|
+
if self.configuration
|
113
|
+
else None,
|
114
|
+
"display_name": self.display_name,
|
115
|
+
"icon": self.icon,
|
116
|
+
"selection_policy": self.selection_policy,
|
117
|
+
"is_exclusive": self.is_exclusive,
|
118
|
+
"is_sub_agent": self.is_sub_agent,
|
119
|
+
"is_enabled": self.is_enabled,
|
120
|
+
}
|
121
|
+
return data
|
122
|
+
|
123
|
+
def model_dump_json(self) -> str:
|
124
|
+
"""
|
125
|
+
Returns a JSON string representation of the tool config.
|
126
|
+
Ensures `configuration` is fully serialized by using the
|
127
|
+
subclass's `model_dump_json()` when available.
|
128
|
+
"""
|
129
|
+
config_json = (
|
130
|
+
self.configuration.model_dump_json() if self.configuration else None
|
131
|
+
)
|
132
|
+
config = json.loads(config_json) if config_json else None
|
133
|
+
|
134
|
+
data: Dict[str, Any] = {
|
135
|
+
"name": self.name,
|
136
|
+
"configuration": config,
|
137
|
+
"display_name": self.display_name,
|
138
|
+
"icon": self.icon,
|
139
|
+
"selection_policy": self.selection_policy,
|
140
|
+
"is_exclusive": self.is_exclusive,
|
141
|
+
"is_sub_agent": self.is_sub_agent,
|
142
|
+
"is_enabled": self.is_enabled,
|
143
|
+
}
|
144
|
+
return json.dumps(data)
|
@@ -5,7 +5,7 @@ from typing import Any, Optional
|
|
5
5
|
|
6
6
|
from pydantic import BaseModel, ConfigDict, Field, field_serializer, field_validator
|
7
7
|
|
8
|
-
from unique_toolkit.
|
8
|
+
from unique_toolkit._common.pydantic_helpers import get_configuration_dict
|
9
9
|
from unique_toolkit.agentic.tools.utils.source_handling.schema import SourceFormatConfig
|
10
10
|
from unique_toolkit.content.schemas import ContentChunk
|
11
11
|
|
@@ -61,6 +61,11 @@ class Tool(ABC, Generic[ConfigType]):
|
|
61
61
|
"""
|
62
62
|
return False
|
63
63
|
|
64
|
+
@property
|
65
|
+
def configuration(self) -> BaseToolConfig:
|
66
|
+
"""The configuration of the tool."""
|
67
|
+
return self.settings.configuration
|
68
|
+
|
64
69
|
@abstractmethod
|
65
70
|
def tool_description(self) -> LanguageModelToolDescription:
|
66
71
|
raise NotImplementedError
|
@@ -72,18 +77,23 @@ class Tool(ABC, Generic[ConfigType]):
|
|
72
77
|
else:
|
73
78
|
return cast("dict[str, Any]", parameters)
|
74
79
|
|
80
|
+
# TODO: This method should be a property
|
75
81
|
def tool_description_for_system_prompt(self) -> str:
|
76
82
|
return ""
|
77
83
|
|
84
|
+
# TODO: This method should be a property
|
78
85
|
def tool_format_information_for_system_prompt(self) -> str:
|
79
86
|
return ""
|
80
87
|
|
88
|
+
# TODO: This method should be a property
|
81
89
|
def tool_description_for_user_prompt(self) -> str:
|
82
90
|
return ""
|
83
91
|
|
92
|
+
# TODO: This method should be a property
|
84
93
|
def tool_format_information_for_user_prompt(self) -> str:
|
85
94
|
return ""
|
86
95
|
|
96
|
+
# TODO: This method should be a property
|
87
97
|
def tool_format_reminder_for_user_prompt(self) -> str:
|
88
98
|
"""A short reminder for the user prompt for formatting rules for the tool.
|
89
99
|
You can use this if the LLM fails to follow the formatting rules.
|
@@ -6,7 +6,7 @@ from pydantic import BaseModel, Field
|
|
6
6
|
|
7
7
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
8
8
|
from unique_toolkit.agentic.tools.a2a.manager import A2AManager
|
9
|
-
from unique_toolkit.agentic.tools.config import ToolBuildConfig
|
9
|
+
from unique_toolkit.agentic.tools.config import ToolBuildConfig
|
10
10
|
from unique_toolkit.agentic.tools.factory import ToolFactory
|
11
11
|
from unique_toolkit.agentic.tools.mcp.manager import MCPManager
|
12
12
|
from unique_toolkit.agentic.tools.schemas import ToolCallResponse, ToolPrompts
|
@@ -23,9 +23,6 @@ from unique_toolkit.language_model.schemas import (
|
|
23
23
|
LanguageModelToolDescription,
|
24
24
|
)
|
25
25
|
|
26
|
-
# Rebuild the config model now that all imports are resolved
|
27
|
-
_rebuild_config_model()
|
28
|
-
|
29
26
|
|
30
27
|
class ForcedToolOption:
|
31
28
|
type: str = "function"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/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.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/default_language_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/token/token_counting.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/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
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/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.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/evaluation/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-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/history_manager/utils.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
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/test/test_mcp_manager.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/agentic/tools/tool_progress_reporter.py
RENAMED
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/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
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/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
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/langchain/client.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/unique_toolkit/framework_utilities/openai/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.1.4 → unique_toolkit-1.1.6}/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
|
File without changes
|
File without changes
|
File without changes
|