unique_toolkit 2026.30.0.dev8__py3-none-any.whl → 2026.30.0.dev10__py3-none-any.whl

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.
@@ -1,4 +1,4 @@
1
- import warnings
1
+ from typing import TYPE_CHECKING, Any
2
2
 
3
3
  from .cancellation import CancellationEvent as CancellationEvent
4
4
  from .cancellation import CancellationWatcher as CancellationWatcher
@@ -9,12 +9,29 @@ from .schemas import ChatMessageAssessmentLabel as ChatMessageAssessmentLabel
9
9
  from .schemas import ChatMessageAssessmentStatus as ChatMessageAssessmentStatus
10
10
  from .schemas import ChatMessageAssessmentType as ChatMessageAssessmentType
11
11
  from .schemas import ChatMessageRole as ChatMessageRole
12
-
13
- # Import ChatService with deprecation warning suppressed for internal use
14
- with warnings.catch_warnings():
15
- warnings.simplefilter("ignore", DeprecationWarning)
16
- from .service import ChatService as ChatService
17
-
18
12
  from .utils import (
19
13
  convert_chat_history_to_injectable_string as convert_chat_history_to_injectable_string,
20
14
  )
15
+
16
+ if TYPE_CHECKING:
17
+ from .service import ChatService as ChatService
18
+
19
+
20
+ def __getattr__(name: str) -> Any:
21
+ # Lazy import to break the circular dependency:
22
+ # chat/__init__ → chat/service → chat/deprecated/service → chat/functions → chat/__init__
23
+ # ChatService here is the deprecated shim; the canonical path is
24
+ # unique_toolkit.services.chat_service.ChatService.
25
+ if name == "ChatService":
26
+ import warnings
27
+
28
+ with warnings.catch_warnings():
29
+ warnings.simplefilter("ignore", DeprecationWarning)
30
+ from unique_toolkit.chat.service import ChatService
31
+
32
+ # Cache in globals() per PEP 562: subsequent access resolves via
33
+ # normal attribute lookup, never re-entering __getattr__ (and
34
+ # never re-opening the non-thread-safe warnings.catch_warnings()).
35
+ globals()["ChatService"] = ChatService
36
+ return ChatService
37
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
File without changes
@@ -19,6 +19,8 @@ class Operator(str, Enum):
19
19
  LESS_THAN_OR_EQUAL = "lessThanOrEqual"
20
20
  IN = "in"
21
21
  NOT_IN = "notIn"
22
+ OVERLAPS = "overlaps"
23
+ NOT_OVERLAPS = "notOverlaps"
22
24
  CONTAINS = "contains"
23
25
  NOT_CONTAINS = "notContains"
24
26
  IS_NULL = "isNull"
@@ -148,7 +150,12 @@ def eval_operator(
148
150
  return empty_operator(query.operator, user_metadata, tool_parameters)
149
151
  elif query.operator == Operator.NESTED:
150
152
  return eval_nested_operator(query.value, user_metadata, tool_parameters)
151
- elif query.operator in [Operator.IN, Operator.NOT_IN]:
153
+ elif query.operator in [
154
+ Operator.IN,
155
+ Operator.NOT_IN,
156
+ Operator.OVERLAPS,
157
+ Operator.NOT_OVERLAPS,
158
+ ]:
152
159
  return array_operator(query.value, user_metadata, tool_parameters)
153
160
  else:
154
161
  raise ValueError(f"Operator {query.operator} not supported")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-toolkit
3
- Version: 2026.30.0.dev8
3
+ Version: 2026.30.0.dev10
4
4
  Summary:
5
5
  Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
6
6
  Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
@@ -16,7 +16,7 @@ Requires-Dist: sseclient>=0.0.27,<0.0.28
16
16
  Requires-Dist: openai>=1.105.0,<3
17
17
  Requires-Dist: platformdirs>=4.0.0,<5
18
18
  Requires-Dist: pillow>=12.1.1
19
- Requires-Dist: unique-sdk>=2026.30.0.dev1,<2026.30.0rc0
19
+ Requires-Dist: unique-sdk>=2026.30.0.dev3,<2026.30.0rc0
20
20
  Requires-Dist: jambo>=0.1.2,<0.2
21
21
  Requires-Dist: jinja2>=3.1.6,<4
22
22
  Requires-Dist: docxtpl>=0.20.1,<0.21
@@ -244,9 +244,10 @@ unique_toolkit/app/schemas.py,sha256=_jHuLDZO9YSP0xf-1AxNVorWYg2NgWfNZ9yXpGt2DHE
244
244
  unique_toolkit/app/unique_settings.py,sha256=-bYvxwCw_DvhSViHXgc-pYoNboxhHB8VG2L9YNPiDHU,26861
245
245
  unique_toolkit/app/verification.py,sha256=GxFFwcJMy25fCA_Xe89wKW7bgqOu8PAs5y8QpHF0GSc,3861
246
246
  unique_toolkit/app/webhook.py,sha256=evpxLDnvz7P3D7-TV1XBkl8WcoldXpjOkw3tvFRxHr0,2368
247
- unique_toolkit/chat/__init__.py,sha256=N9RubtxWN7UF0DlxP7YgeNTgjjk6p7AwkbGaVvuZCv0,938
247
+ unique_toolkit/chat/__init__.py,sha256=-239hRT9x8fJ5rL_qvGAhnxLO_F7gToTVVLo0wZbesU,1722
248
248
  unique_toolkit/chat/cancellation.py,sha256=k5HMjpeBmofIiInwq5TjOR_5k91oq1bWG00lJXZSoJ0,5970
249
249
  unique_toolkit/chat/constants.py,sha256=05kq6zjqUVB2d6_P7s-90nbljpB3ryxwCI-CAz0r2O4,83
250
+ unique_toolkit/chat/deprecated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
251
  unique_toolkit/chat/deprecated/service.py,sha256=8_XoopUWHT396Z_5gwMmsI6v4NGVgQirSJCYUW4Gx8c,9339
251
252
  unique_toolkit/chat/functions.py,sha256=h-8MEhDpBbTRZc3A9JoDGMm-so3BWDdV6gv6NpXYIOg,54678
252
253
  unique_toolkit/chat/rendering.py,sha256=c8YiV9oADRrJQ5A_QBJ4_UFc0NZ-2vVaa7tupoMusso,880
@@ -260,7 +261,7 @@ unique_toolkit/content/constants.py,sha256=1iy4Y67xobl5VTnJB6SxSyuoBWbdLl9244xfV
260
261
  unique_toolkit/content/functions.py,sha256=avnlEQ1FkVz2NTbXUkafU04jzygqOJtUMQL605rEL4c,34019
261
262
  unique_toolkit/content/schemas.py,sha256=AmnlqMpA_JgbgsaZF6Xdy8kt9lcY0YCqlfqpG1tYWeE,11306
262
263
  unique_toolkit/content/service.py,sha256=S_sFtG1hJd-zz7XyP-6Gu-B8_Xx-r5v46qZLWdRRyRs,29477
263
- unique_toolkit/content/smart_rules.py,sha256=9GlHXm63POTi4jy5hW0qUjeqy-JSeL1wIbURM1GKhc4,11481
264
+ unique_toolkit/content/smart_rules.py,sha256=-bRlF_e66yKA8KsXTPYqfhHZu1jsXXl5akIZnSgu5X8,11621
264
265
  unique_toolkit/content/utils.py,sha256=keDkqu_ZzQY0y_g7g_XLOza3p4XsvfqVVDI9ylM91KY,10115
265
266
  unique_toolkit/data_extraction/README.md,sha256=5KxzqPHC29wxBiWJ-87wBQisSgRBkuSnPTb38pGH1wA,3138
266
267
  unique_toolkit/data_extraction/__init__.py,sha256=y6uSp8PAqgPZMoBgXWp1Ep0gsk9MD-NV8qn2QpOY-xY,330
@@ -406,6 +407,6 @@ unique_toolkit/short_term_memory/service.py,sha256=2JMBEBn6GoyK-a0xvdcWpPft-3C74
406
407
  unique_toolkit/smart_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
408
  unique_toolkit/smart_rules/compile.py,sha256=vRe0aMJWuVIK-VsqomgxQImzke7MDmwgSxxJfYCa7zw,1386
408
409
  unique_toolkit/test_utilities/events.py,sha256=FLrhMh0A_mQutAUjoD0FdMcVQ4Gq31r35OVGzRjvLro,6760
409
- unique_toolkit-2026.30.0.dev8.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
410
- unique_toolkit-2026.30.0.dev8.dist-info/METADATA,sha256=N_hbI82hHIaIXf7Yuw1mFfQmVfoIkrGGQGMv4IdEBnQ,7459
411
- unique_toolkit-2026.30.0.dev8.dist-info/RECORD,,
410
+ unique_toolkit-2026.30.0.dev10.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
411
+ unique_toolkit-2026.30.0.dev10.dist-info/METADATA,sha256=-kGwhxNA_8HSTWvv7J7CfbrowRZo3G-wxlABvYtWOQk,7460
412
+ unique_toolkit-2026.30.0.dev10.dist-info/RECORD,,