unique_toolkit 1.5.0__tar.gz → 1.5.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/CHANGELOG.md +4 -0
  2. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/PKG-INFO +5 -1
  3. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/pyproject.toml +1 -1
  4. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/exception.py +4 -0
  5. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/dev_util.py +4 -0
  6. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/schemas.py +16 -2
  7. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/LICENSE +0 -0
  8. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/README.md +0 -0
  9. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/__init__.py +0 -0
  10. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  13. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  14. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  15. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  16. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  17. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  18. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  19. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/default_language_model.py +0 -0
  20. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/endpoint_builder.py +0 -0
  21. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  22. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  23. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  24. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  25. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/string_utilities.py +0 -0
  26. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  27. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/token/token_counting.py +0 -0
  28. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/utils/__init__.py +0 -0
  29. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  30. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  31. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  32. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/validate_required_values.py +0 -0
  33. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/_common/validators.py +0 -0
  34. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/__init__.py +0 -0
  35. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  36. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/config.py +0 -0
  37. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  38. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  39. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  40. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  41. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  42. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  43. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  44. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  45. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  46. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  47. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  48. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  49. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  50. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  51. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  52. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  53. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  54. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  55. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  56. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  57. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  58. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  59. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/__init__.py +0 -0
  60. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  61. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  62. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  63. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  64. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  65. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  66. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  67. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/memory.py +0 -0
  68. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  69. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  70. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
  71. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  72. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_postprocessor_reference_functions.py +0 -0
  73. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/schema.py +0 -0
  74. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/a2a/service.py +0 -0
  75. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  76. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/config.py +0 -0
  77. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/factory.py +0 -0
  78. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  79. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  80. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  81. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  82. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/schemas.py +0 -0
  83. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  84. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  85. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/tool.py +0 -0
  86. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  87. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  88. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  89. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
  90. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
  91. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  92. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  93. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  94. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  95. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/__init__.py +0 -0
  96. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/init_logging.py +0 -0
  97. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/init_sdk.py +0 -0
  98. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/performance/async_tasks.py +0 -0
  99. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  100. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/unique_settings.py +0 -0
  101. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/app/verification.py +0 -0
  102. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/chat/__init__.py +0 -0
  103. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/chat/constants.py +0 -0
  104. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/chat/functions.py +0 -0
  105. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/chat/schemas.py +0 -0
  106. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/chat/service.py +0 -0
  107. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/chat/state.py +0 -0
  108. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/chat/utils.py +0 -0
  109. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/content/__init__.py +0 -0
  110. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/content/constants.py +0 -0
  111. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/content/functions.py +0 -0
  112. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/content/schemas.py +0 -0
  113. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/content/service.py +0 -0
  114. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/content/utils.py +0 -0
  115. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/embedding/__init__.py +0 -0
  116. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/embedding/constants.py +0 -0
  117. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/embedding/functions.py +0 -0
  118. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/embedding/schemas.py +0 -0
  119. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/embedding/service.py +0 -0
  120. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/embedding/utils.py +0 -0
  121. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/framework_utilities/__init__.py +0 -0
  122. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  123. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  124. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  125. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  126. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  127. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/framework_utilities/utils.py +0 -0
  128. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/__init__.py +0 -0
  129. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/builder.py +0 -0
  130. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/constants.py +0 -0
  131. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/functions.py +0 -0
  132. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/infos.py +0 -0
  133. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/prompt.py +0 -0
  134. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/reference.py +0 -0
  135. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/schemas.py +0 -0
  136. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/service.py +0 -0
  137. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/language_model/utils.py +0 -0
  138. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/protocols/support.py +0 -0
  139. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/short_term_memory/__init__.py +0 -0
  140. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/short_term_memory/constants.py +0 -0
  141. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/short_term_memory/functions.py +0 -0
  142. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/short_term_memory/schemas.py +0 -0
  143. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/short_term_memory/service.py +0 -0
  144. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/smart_rules/__init__.py +0 -0
  145. {unique_toolkit-1.5.0 → unique_toolkit-1.5.1}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -5,6 +5,10 @@ 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
+ ## [1.5.1] - 2025-10-01
10
+ - Fix filtering logic to raise a ConfigurationException if chat event filters are not specified
11
+
8
12
  ## [1.5.0] - 2025-10-01
9
13
  - Allow history manager to fetch only ui visible text
10
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.5.0
3
+ Version: 1.5.1
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -118,6 +118,10 @@ 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
+
122
+ ## [1.5.1] - 2025-10-01
123
+ - Fix filtering logic to raise a ConfigurationException if chat event filters are not specified
124
+
121
125
  ## [1.5.0] - 2025-10-01
122
126
  - Allow history manager to fetch only ui visible text
123
127
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.5.0"
3
+ version = "1.5.1"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -31,3 +31,7 @@ class CommonException(Exception):
31
31
 
32
32
  def __str__(self):
33
33
  return self._error_message
34
+
35
+
36
+ class ConfigurationException(Exception):
37
+ pass
@@ -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