unique_toolkit 1.3.1__tar.gz → 1.3.3__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.3.1 → unique_toolkit-1.3.3}/CHANGELOG.md +5 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/PKG-INFO +6 -1
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/pyproject.toml +1 -1
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +2 -2
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/tool_manager.py +1 -5
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/dev_util.py +4 -1
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/unique_settings.py +42 -8
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/LICENSE +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/README.md +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/memory.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/schema.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/a2a/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/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.3.3] - 2025-09-30
|
9
|
+
- fix bug in exclusive tools not making them selectable
|
10
|
+
|
11
|
+
## [1.3.2] - 2025-09-29
|
12
|
+
- Auto-update unique settings on event arrival in SSE client
|
8
13
|
|
9
14
|
## [1.3.1] - 2025-09-29
|
10
15
|
- More documentation on referencing
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: unique_toolkit
|
3
|
-
Version: 1.3.
|
3
|
+
Version: 1.3.3
|
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.3.3] - 2025-09-30
|
122
|
+
- fix bug in exclusive tools not making them selectable
|
123
|
+
|
124
|
+
## [1.3.2] - 2025-09-29
|
125
|
+
- Auto-update unique settings on event arrival in SSE client
|
121
126
|
|
122
127
|
## [1.3.1] - 2025-09-29
|
123
128
|
- More documentation on referencing
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/test/test_mcp_manager.py
RENAMED
@@ -402,8 +402,8 @@ class TestMCPManager:
|
|
402
402
|
# Should only have the exclusive tool, MCP tools should be ignored
|
403
403
|
tools = tool_manager.get_tools()
|
404
404
|
tool_names = [tool.name for tool in tools]
|
405
|
-
assert "internal_search"
|
406
|
-
assert "mcp_test_tool" in tool_names
|
405
|
+
assert "internal_search" in tool_names
|
406
|
+
assert "mcp_test_tool" not in tool_names
|
407
407
|
assert len(tools) == 1
|
408
408
|
|
409
409
|
def test_init_tools_with_disabled_tool_config(
|
@@ -125,11 +125,7 @@ class ToolManager:
|
|
125
125
|
if len(self._tool_choices) > 0 and t.name not in self._tool_choices:
|
126
126
|
continue
|
127
127
|
# is the tool exclusive and has been choosen by the user?
|
128
|
-
if (
|
129
|
-
t.is_exclusive()
|
130
|
-
and len(tool_choices) > 0
|
131
|
-
and t.name not in tool_choices
|
132
|
-
):
|
128
|
+
if t.is_exclusive() and len(tool_choices) > 0 and t.name in tool_choices:
|
133
129
|
self._tools = [t] # override all other tools
|
134
130
|
break
|
135
131
|
# if the tool is exclusive but no tool choices are given, skip it
|
@@ -46,7 +46,8 @@ def get_event_generator(
|
|
46
46
|
event_type: type[T],
|
47
47
|
) -> Generator[T, None, None]:
|
48
48
|
"""
|
49
|
-
Generator that
|
49
|
+
Generator that updates the unique settings according to the events and
|
50
|
+
yields only events of the specified type from an SSE stream.
|
50
51
|
|
51
52
|
Args:
|
52
53
|
sse_client: The SSE client to read events from
|
@@ -74,6 +75,8 @@ def get_event_generator(
|
|
74
75
|
):
|
75
76
|
continue
|
76
77
|
|
78
|
+
unique_settings.update_from_event(event=parsed_event)
|
79
|
+
|
77
80
|
yield parsed_event
|
78
81
|
|
79
82
|
except Exception as e:
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import os
|
2
2
|
from logging import getLogger
|
3
3
|
from pathlib import Path
|
4
|
-
from typing import Self, TypeVar
|
4
|
+
from typing import TYPE_CHECKING, Self, TypeVar
|
5
5
|
from urllib.parse import ParseResult, urlparse, urlunparse
|
6
6
|
|
7
7
|
import unique_sdk
|
@@ -9,6 +9,10 @@ from platformdirs import user_config_dir
|
|
9
9
|
from pydantic import AliasChoices, Field, SecretStr, model_validator
|
10
10
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
11
11
|
|
12
|
+
if TYPE_CHECKING:
|
13
|
+
from unique_toolkit.app.schemas import BaseEvent
|
14
|
+
|
15
|
+
|
12
16
|
logger = getLogger(__name__)
|
13
17
|
|
14
18
|
T = TypeVar("T", bound=BaseSettings)
|
@@ -159,6 +163,13 @@ class UniqueAuth(BaseSettings):
|
|
159
163
|
def _warn_about_defaults(self) -> Self:
|
160
164
|
return warn_about_defaults(self)
|
161
165
|
|
166
|
+
@classmethod
|
167
|
+
def from_event(cls, event: "BaseEvent") -> Self:
|
168
|
+
return cls(
|
169
|
+
company_id=SecretStr(event.company_id),
|
170
|
+
user_id=SecretStr(event.user_id),
|
171
|
+
)
|
172
|
+
|
162
173
|
|
163
174
|
class UniqueChatEventFilterOptions(BaseSettings):
|
164
175
|
# Empty string evals to False
|
@@ -197,10 +208,10 @@ class UniqueSettings:
|
|
197
208
|
chat_event_filter_options: UniqueChatEventFilterOptions | None = None,
|
198
209
|
env_file: Path | None = None,
|
199
210
|
):
|
200
|
-
self.
|
201
|
-
self.
|
202
|
-
self.
|
203
|
-
self.
|
211
|
+
self._app = app
|
212
|
+
self._auth = auth
|
213
|
+
self._api = api
|
214
|
+
self._chat_event_filter_options = chat_event_filter_options
|
204
215
|
self._env_file: Path | None = (
|
205
216
|
env_file if (env_file and env_file.exists()) else None
|
206
217
|
)
|
@@ -310,9 +321,9 @@ class UniqueSettings:
|
|
310
321
|
This method configures the global unique_sdk module with the API key,
|
311
322
|
app ID, and base URL from these settings.
|
312
323
|
"""
|
313
|
-
unique_sdk.api_key = self.
|
314
|
-
unique_sdk.app_id = self.
|
315
|
-
unique_sdk.api_base = self.
|
324
|
+
unique_sdk.api_key = self._app.key.get_secret_value()
|
325
|
+
unique_sdk.app_id = self._app.id.get_secret_value()
|
326
|
+
unique_sdk.api_base = self._api.sdk_url()
|
316
327
|
|
317
328
|
@classmethod
|
318
329
|
def from_env_auto_with_sdk_init(
|
@@ -331,3 +342,26 @@ class UniqueSettings:
|
|
331
342
|
settings = cls.from_env_auto(filename)
|
332
343
|
settings.init_sdk()
|
333
344
|
return settings
|
345
|
+
|
346
|
+
def update_from_event(self, event: "BaseEvent") -> None:
|
347
|
+
self._auth = UniqueAuth.from_event(event)
|
348
|
+
|
349
|
+
@property
|
350
|
+
def api(self) -> UniqueApi:
|
351
|
+
return self._api
|
352
|
+
|
353
|
+
@property
|
354
|
+
def app(self) -> UniqueApp:
|
355
|
+
return self._app
|
356
|
+
|
357
|
+
@property
|
358
|
+
def auth(self) -> UniqueAuth:
|
359
|
+
return self._auth
|
360
|
+
|
361
|
+
@auth.setter
|
362
|
+
def auth(self, value: UniqueAuth) -> None:
|
363
|
+
self._auth = value
|
364
|
+
|
365
|
+
@property
|
366
|
+
def chat_event_filter_options(self) -> UniqueChatEventFilterOptions | None:
|
367
|
+
return self._chat_event_filter_options
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/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.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/default_language_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/token/token_counting.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/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.3.1 → unique_toolkit-1.3.3}/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.3.1 → unique_toolkit-1.3.3}/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.3.1 → unique_toolkit-1.3.3}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/agentic/tools/tool_progress_reporter.py
RENAMED
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/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.3.1 → unique_toolkit-1.3.3}/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
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/langchain/client.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/unique_toolkit/framework_utilities/openai/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.3.1 → unique_toolkit-1.3.3}/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
|