unique_toolkit 1.5.0__tar.gz → 1.6.0__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.5.0 → unique_toolkit-1.6.0}/CHANGELOG.md +6 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/PKG-INFO +7 -1
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/pyproject.toml +1 -1
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/exception.py +4 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/history_manager/history_manager.py +1 -1
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +2 -17
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/dev_util.py +4 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/schemas.py +16 -2
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/LICENSE +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/README.md +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/memory.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_postprocessor_reference_functions.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/schema.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -5,6 +5,12 @@ 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.6.0] - 2025-10-01
|
9
|
+
- revert and simplify 1.5.0
|
10
|
+
|
11
|
+
## [1.5.1] - 2025-10-01
|
12
|
+
- Fix filtering logic to raise a ConfigurationException if chat event filters are not specified
|
13
|
+
|
8
14
|
## [1.5.0] - 2025-10-01
|
9
15
|
- Allow history manager to fetch only ui visible text
|
10
16
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: unique_toolkit
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.6.0
|
4
4
|
Summary:
|
5
5
|
License: Proprietary
|
6
6
|
Author: Cedric Klinkert
|
@@ -118,6 +118,12 @@ 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.6.0] - 2025-10-01
|
122
|
+
- revert and simplify 1.5.0
|
123
|
+
|
124
|
+
## [1.5.1] - 2025-10-01
|
125
|
+
- Fix filtering logic to raise a ConfigurationException if chat event filters are not specified
|
126
|
+
|
121
127
|
## [1.5.0] - 2025-10-01
|
122
128
|
- Allow history manager to fetch only ui visible text
|
123
129
|
|
@@ -228,7 +228,7 @@ class HistoryManager:
|
|
228
228
|
Returns:
|
229
229
|
LanguageModelMessages: The user visible chat history.
|
230
230
|
"""
|
231
|
-
history = await self._token_reducer.
|
231
|
+
history = await self._token_reducer.get_history_from_db()
|
232
232
|
if assistant_message_text:
|
233
233
|
history.append(
|
234
234
|
LanguageModelAssistantMessage(content=assistant_message_text)
|
@@ -113,21 +113,6 @@ class LoopTokenReducer:
|
|
113
113
|
|
114
114
|
return messages
|
115
115
|
|
116
|
-
async def get_user_visible_chat_history(
|
117
|
-
self, message: LanguageModelAssistantMessage
|
118
|
-
) -> LanguageModelMessages:
|
119
|
-
"""Get the user visible chat history.
|
120
|
-
|
121
|
-
Args:
|
122
|
-
message (LanguageModelAssistantMessage): The latest assistant message to append to the history, as this is not extracted from the history.
|
123
|
-
|
124
|
-
Returns:
|
125
|
-
LanguageModelMessages: The user visible chat history.
|
126
|
-
"""
|
127
|
-
history = await self._get_history_from_db()
|
128
|
-
history.append(message)
|
129
|
-
return LanguageModelMessages(history)
|
130
|
-
|
131
116
|
def _exceeds_token_limit(self, token_count: int) -> bool:
|
132
117
|
"""Check if token count exceeds the maximum allowed limit and if at least one tool call has more than one source."""
|
133
118
|
# At least one tool call should have more than one chunk as answer
|
@@ -165,7 +150,7 @@ class LoopTokenReducer:
|
|
165
150
|
rendered_system_message_string: str,
|
166
151
|
remove_from_text: Callable[[str], Awaitable[str]],
|
167
152
|
) -> list[LanguageModelMessage]:
|
168
|
-
history_from_db = await self.
|
153
|
+
history_from_db = await self.get_history_from_db(remove_from_text)
|
169
154
|
history_from_db = self._replace_user_message(
|
170
155
|
history_from_db, original_user_message, rendered_user_message_string
|
171
156
|
)
|
@@ -237,7 +222,7 @@ class LoopTokenReducer:
|
|
237
222
|
]
|
238
223
|
return history
|
239
224
|
|
240
|
-
async def
|
225
|
+
async def get_history_from_db(
|
241
226
|
self, remove_from_text: Callable[[str], Awaitable[str]] | None = None
|
242
227
|
) -> list[LanguageModelMessage]:
|
243
228
|
"""
|
@@ -11,6 +11,7 @@ from typing import (
|
|
11
11
|
|
12
12
|
from sseclient import SSEClient
|
13
13
|
|
14
|
+
from unique_toolkit._common.exception import ConfigurationException
|
14
15
|
from unique_toolkit.app import BaseEvent, ChatEvent, EventName
|
15
16
|
from unique_toolkit.app.init_sdk import init_unique_sdk
|
16
17
|
from unique_toolkit.app.unique_settings import UniqueSettings
|
@@ -79,6 +80,9 @@ def get_event_generator(
|
|
79
80
|
|
80
81
|
yield parsed_event
|
81
82
|
|
83
|
+
except ConfigurationException as e:
|
84
|
+
# Re-raise ConfigurationException from filter_event (configuration errors)
|
85
|
+
raise e
|
82
86
|
except Exception as e:
|
83
87
|
LOGGER.error(f"Could not parse SSE event data as JSON: {e}")
|
84
88
|
continue
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import json
|
2
2
|
from enum import StrEnum
|
3
|
+
from logging import getLogger
|
3
4
|
from pathlib import Path
|
4
5
|
from typing import Any, Generic, Optional, TypeVar, override
|
5
6
|
|
@@ -8,6 +9,7 @@ from pydantic import BaseModel, ConfigDict, Field, field_validator
|
|
8
9
|
from pydantic_settings import BaseSettings
|
9
10
|
from typing_extensions import deprecated
|
10
11
|
|
12
|
+
from unique_toolkit._common.exception import ConfigurationException
|
11
13
|
from unique_toolkit.app.unique_settings import UniqueChatEventFilterOptions
|
12
14
|
from unique_toolkit.smart_rules.compile import UniqueQL, parse_uniqueql
|
13
15
|
|
@@ -19,6 +21,7 @@ model_config = ConfigDict(
|
|
19
21
|
populate_by_name=True,
|
20
22
|
arbitrary_types_allowed=True,
|
21
23
|
)
|
24
|
+
_logger = getLogger(__name__)
|
22
25
|
|
23
26
|
|
24
27
|
class EventName(StrEnum):
|
@@ -255,9 +258,20 @@ class ChatEvent(BaseEvent):
|
|
255
258
|
self, *, filter_options: UniqueChatEventFilterOptions | None = None
|
256
259
|
) -> bool:
|
257
260
|
# Empty string evals to False
|
258
|
-
if filter_options is None:
|
259
|
-
return False
|
260
261
|
|
262
|
+
if filter_options is None:
|
263
|
+
return False # Don't filter when no options provided
|
264
|
+
|
265
|
+
if not filter_options.assistant_ids and not filter_options.references_in_code:
|
266
|
+
raise ConfigurationException(
|
267
|
+
"No filter options provided, all events will be filtered! \n"
|
268
|
+
"Please define: \n"
|
269
|
+
" - 'UNIQUE_CHAT_EVENT_FILTER_OPTIONS_ASSISTANT_IDS' \n"
|
270
|
+
" - 'UNIQUE_CHAT_EVENT_FILTER_OPTIONS_REFERENCES_IN_CODE' \n"
|
271
|
+
"in your environment variables."
|
272
|
+
)
|
273
|
+
|
274
|
+
# Per reference in code there can be multiple assistants
|
261
275
|
if (
|
262
276
|
filter_options.assistant_ids
|
263
277
|
and self.payload.assistant_id not in filter_options.assistant_ids
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/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.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/default_language_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/token/token_counting.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/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.5.0 → unique_toolkit-1.6.0}/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.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/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
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/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.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py
RENAMED
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/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.5.0 → unique_toolkit-1.6.0}/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.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/langchain/client.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/unique_toolkit/framework_utilities/openai/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.5.0 → unique_toolkit-1.6.0}/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
|