unique_toolkit 2026.22.0.dev9__py3-none-any.whl → 2026.22.0.dev11__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.
@@ -8,6 +8,7 @@ from pathlib import Path
8
8
  class FileMimeType(StrEnum):
9
9
  PDF = "application/pdf"
10
10
  DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
11
+ DOTX = "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
11
12
  DOC = "application/msword"
12
13
  # TODO: clean up duplicates and make the monolith compatible with this.
13
14
  XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
@@ -41,7 +42,7 @@ class FileMimeType(StrEnum):
41
42
  @property
42
43
  def is_docx(self) -> bool:
43
44
  cls = self.__class__
44
- return self in {cls.DOCX, cls.DOC}
45
+ return self in {cls.DOCX, cls.DOTX, cls.DOC}
45
46
 
46
47
  @property
47
48
  def is_pdf(self) -> bool:
@@ -98,7 +99,7 @@ class FileMimeType(StrEnum):
98
99
 
99
100
  def get_common_name(extension: FileMimeType) -> str:
100
101
  match extension:
101
- case FileMimeType.DOCX | FileMimeType.DOC:
102
+ case FileMimeType.DOCX | FileMimeType.DOTX | FileMimeType.DOC:
102
103
  return "docx"
103
104
  case (
104
105
  FileMimeType.XLSX
@@ -648,6 +648,17 @@ class LanguageModelResponse(BaseModel):
648
648
  # complete type here as the source of truth.
649
649
  ReasoningEffort = Literal["none", "minimal", "low", "medium", "high", "xhigh"]
650
650
 
651
+ # Ordered from lowest to highest reasoning effort. Used wherever effort levels must be
652
+ # compared or ranked (e.g. picking the maximum across multiple skill hints).
653
+ REASONING_EFFORT_ORDER: tuple[ReasoningEffort, ...] = (
654
+ "none",
655
+ "minimal",
656
+ "low",
657
+ "medium",
658
+ "high",
659
+ "xhigh",
660
+ )
661
+
651
662
 
652
663
  def to_reasoning_effort(value: str) -> ReasoningEffort:
653
664
  """Narrow a raw string to ReasoningEffort, raising ValueError for unrecognised values."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-toolkit
3
- Version: 2026.22.0.dev9
3
+ Version: 2026.22.0.dev11
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>
@@ -71,7 +71,7 @@ unique_toolkit/_common/token/token_counting.py,sha256=OQw_PdwNd1OwqJZ85j3Y9ELr3n
71
71
  unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json,sha256=YhrC4y0NumWEBEEjGIGKqozozaSS5ZgwEJ2NprUX-0E,7847652
72
72
  unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json,sha256=wDghF-oynN8JcEETL21zWSS2l5JNb2_DlFcT6WzodTk,7031645
73
73
  unique_toolkit/_common/utils/__init__.py,sha256=qHrEy-3zkbFPdGFriRscPbGKuQfOuPi3O7tE5Zw5VHY,37
74
- unique_toolkit/_common/utils/files.py,sha256=TuEgRgGxg3XP7kZ5NyvyHc7kS6dpjeosgfdHuxapFn4,4813
74
+ unique_toolkit/_common/utils/files.py,sha256=8gK4bIfRJnzBLsGOVqB3xXnKH9QKJE2onAkObs7bnVw,4928
75
75
  unique_toolkit/_common/utils/image/encode.py,sha256=IJhtTcIT_azhiDsPp15oYs2LPze2l-sGlZrJASHrDVI,658
76
76
  unique_toolkit/_common/utils/jinja/helpers.py,sha256=UQWj0hFMtnuUFYDJ8NKbEblvYE8DrWX1o7fKQU3H9IQ,262
77
77
  unique_toolkit/_common/utils/jinja/render.py,sha256=J5UBIWoljl-Us7SjZIap9wewcLTzpXjQpOgas_YTf3Y,482
@@ -370,7 +370,7 @@ unique_toolkit/language_model/functions.py,sha256=iTxCpcavUp1kAitJi16SIL33Y442aW
370
370
  unique_toolkit/language_model/infos.py,sha256=WHhMhFEnysf7g6bX3OfZdJy0TapHROW24vXcrIJ4CIY,128890
371
371
  unique_toolkit/language_model/prompt.py,sha256=JSawaLjQg3VR-E2fK8engFyJnNdk21zaO8pPIodzN4Q,3991
372
372
  unique_toolkit/language_model/reference.py,sha256=T3wr2jP_uRg5wKVIbKqLbxJlcgxfbZQGq3XdjbQ2kSo,6984
373
- unique_toolkit/language_model/schemas.py,sha256=KF1JfebncuDA6kNttCbA4C8NSPK4GeMFNrslJlDzreY,29174
373
+ unique_toolkit/language_model/schemas.py,sha256=JZbIT3w1cj5fKrYaQ55X7sjXmCo6i_GqgJ198V3RXSg,29474
374
374
  unique_toolkit/language_model/service.py,sha256=mzHYppmbFxXRHzsmQ4i_z9N4fheIEjomJeuGaEOFs9Y,12025
375
375
  unique_toolkit/language_model/settings.py,sha256=xkoMv3ATb2ft5V3MA8JvqW-EO8AnZ5t-6rvdbTx6lFU,1490
376
376
  unique_toolkit/language_model/stream_transform.py,sha256=iNNGpLY_7G6Bpp9Y4KtbIkQm3WB4yZt75BXcqx0DVkI,2775
@@ -391,6 +391,6 @@ unique_toolkit/short_term_memory/service.py,sha256=Ncw0_0CNM6kmzJSLVJGG5GcKpBduI
391
391
  unique_toolkit/smart_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
392
392
  unique_toolkit/smart_rules/compile.py,sha256=Ozhh70qCn2yOzRWr9d8WmJeTo7AQurwd3tStgBMPFLA,1246
393
393
  unique_toolkit/test_utilities/events.py,sha256=FLrhMh0A_mQutAUjoD0FdMcVQ4Gq31r35OVGzRjvLro,6760
394
- unique_toolkit-2026.22.0.dev9.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
395
- unique_toolkit-2026.22.0.dev9.dist-info/METADATA,sha256=ShiSlMfxe7Ibor4WRI3ntzKdKhbF3gPbIoAQN7pMrhI,7392
396
- unique_toolkit-2026.22.0.dev9.dist-info/RECORD,,
394
+ unique_toolkit-2026.22.0.dev11.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
395
+ unique_toolkit-2026.22.0.dev11.dist-info/METADATA,sha256=Zd1ldZQ8XbwdVmIpA3DUv80vhQ7MlOluUNfqClpS-jA,7393
396
+ unique_toolkit-2026.22.0.dev11.dist-info/RECORD,,