unique_toolkit 2026.40.0.dev6__py3-none-any.whl → 2026.40.0.dev8__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.
@@ -653,6 +653,8 @@ class AgenticTableService:
653
653
  row_orders: list[int],
654
654
  status: RowVerificationStatus,
655
655
  locked: bool | None = None,
656
+ *,
657
+ emit_library_sheet_verified_event: bool | None = None,
656
658
  ):
657
659
  """Update the verification status of multiple rows at once.
658
660
 
@@ -660,24 +662,27 @@ class AgenticTableService:
660
662
  row_orders: The row indexes to update.
661
663
  status: The verification status to set (``NEEDS_REVIEW``, etc.; matches public API).
662
664
  locked: When set, forwarded as ``locked`` on ``POST .../rows/bulk-update-status``.
665
+ emit_library_sheet_verified_event: When set, forwarded as
666
+ ``emitLibrarySheetVerifiedEvent``. ``False`` marks the rows without
667
+ starting a ``LIBRARY_SHEET_ROW_VERIFIED`` run on library sheets; use it
668
+ when the caller has already ingested the rows. ``None`` omits the field
669
+ and keeps the server default (``True``). Servers that predate the field
670
+ reject it with a 400, so only set it against a backend that supports it.
663
671
  """
664
- if locked is None:
665
- await AgenticTable.bulk_update_status(
666
- user_id=self._user_id,
667
- company_id=self._company_id,
668
- tableId=self.table_id,
669
- rowOrders=row_orders,
670
- status=status,
671
- )
672
- else:
673
- await AgenticTable.bulk_update_status(
674
- user_id=self._user_id,
675
- company_id=self._company_id,
676
- tableId=self.table_id,
677
- rowOrders=row_orders,
678
- status=status,
679
- locked=locked,
680
- )
672
+ params: AgenticTable.BulkUpdateStatus = {
673
+ "tableId": self.table_id,
674
+ "rowOrders": row_orders,
675
+ "status": status,
676
+ }
677
+ if locked is not None:
678
+ params["locked"] = locked
679
+ if emit_library_sheet_verified_event is not None:
680
+ params["emitLibrarySheetVerifiedEvent"] = emit_library_sheet_verified_event
681
+ await AgenticTable.bulk_update_status(
682
+ user_id=self._user_id,
683
+ company_id=self._company_id,
684
+ **params,
685
+ )
681
686
 
682
687
  async def import_questions_and_sources(
683
688
  self,
@@ -142,6 +142,7 @@ class LanguageModelName(StrEnum):
142
142
  LITELLM_DEEPSEEK_R1 = "litellm:deepseek-r1"
143
143
  LITELLM_DEEPSEEK_V3 = "litellm:deepseek-v3-1"
144
144
  LITELLM_DEEPSEEK_V4_PRO = "litellm:deepseek-v4-pro"
145
+ LITELLM_DEEPSEEK_V4_1_FLASH = "litellm:deepseek-v4-1-flash"
145
146
  LITELLM_GLM_5_1 = "litellm:glm-5.1"
146
147
  LITELLM_GLM_5_2 = "litellm:glm-5.2"
147
148
  LITELLM_PHOENIQS_DEEPSEEK_V4_FLASH = "litellm:phoeniqs-deepseek-v4-flash"
@@ -3071,6 +3072,30 @@ class LanguageModelInfo(BaseModel):
3071
3072
  published_at=date(2026, 1, 1),
3072
3073
  supported_reasoning_efforts=[],
3073
3074
  )
3075
+ case LanguageModelName.LITELLM_DEEPSEEK_V4_1_FLASH:
3076
+ return cls(
3077
+ name=model_name,
3078
+ provider=LanguageModelProvider.LITELLM,
3079
+ family=ModelFamily.DEEPSEEK,
3080
+ version="deepseek-v4-1-flash",
3081
+ encoder_name=EncoderName.DEEPSEEK,
3082
+ capabilities=[
3083
+ ModelCapabilities.FUNCTION_CALLING,
3084
+ ModelCapabilities.STRUCTURED_OUTPUT,
3085
+ ModelCapabilities.REASONING,
3086
+ ModelCapabilities.STREAMING,
3087
+ ModelCapabilities.VISION,
3088
+ ],
3089
+ # 1M context and 384K max output. Alibaba Model Studio lists
3090
+ # max input 1_000_000 and max output 393_216; Together serves
3091
+ # maxTokens 384_000.
3092
+ # https://www.alibabacloud.com/help/en/model-studio/deepseek-v4-1-flash
3093
+ # https://pi.dev/models/together/deepseek-ai-deepseek-v4-1-flash
3094
+ token_limits=LanguageModelTokenLimits(
3095
+ token_limit_input=1_000_000, token_limit_output=384_000
3096
+ ),
3097
+ supported_reasoning_efforts=[],
3098
+ )
3074
3099
  case LanguageModelName.LITELLM_GLM_5_1:
3075
3100
  return cls(
3076
3101
  name=model_name,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-toolkit
3
- Version: 2026.40.0.dev6
3
+ Version: 2026.40.0.dev8
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.40.0.dev4,<2026.40.0rc0
19
+ Requires-Dist: unique-sdk>=2026.40.0.dev6,<2026.40.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
@@ -239,7 +239,7 @@ unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py,sha256=u
239
239
  unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py,sha256=EA8iVvb3L91OFk2XMbGcFuhe2etqm3Sx9QCYDGiOSOM,6995
240
240
  unique_toolkit/agentic_table/__init__.py,sha256=RwBShHaD15R3117mU3ZLVzjgPz2ngdbzif7WJwhm8zw,2552
241
241
  unique_toolkit/agentic_table/schemas.py,sha256=hi4vUn95ct2dm3nbkvke7j8RVVCp_nTlzSzLro1OT34,18663
242
- unique_toolkit/agentic_table/service.py,sha256=DPZc1QJgJytdzzQZvMNeJ84ofu844s8YJjeuCjsz3DM,42361
242
+ unique_toolkit/agentic_table/service.py,sha256=An2D701eGdUTCaZYHZHQEZsHe50PlDw3yKEK5ypCD-g,42891
243
243
  unique_toolkit/agentic_table/synthetic_chat_event.py,sha256=MylvYuhx5CVt2DbPetzV0sR8GlkL218DmNFi7A6RYVs,2373
244
244
  unique_toolkit/app/__init__.py,sha256=qear5ErW3smLDATxtnUsgkX3f177zsn65ixVW8T0JVE,1641
245
245
  unique_toolkit/app/chat_event_filter_options_settings.py,sha256=W0Ydio1UeED5_xqaTzbcGzK2tH4EpA1WHUzdF-iWpqI,364
@@ -394,7 +394,7 @@ unique_toolkit/language_model/builder.py,sha256=KwBzsD6-fvQnB4p2I7M-5Tk6j4tmQ973
394
394
  unique_toolkit/language_model/constants.py,sha256=B-topqW0r83dkC_25DeQfnPk3n53qzIHUCBS7YJ0-1U,119
395
395
  unique_toolkit/language_model/default_language_model.py,sha256=mcyuFs_V6tp52C8xJSHiEHO4kFGj6xed1gvozvCRD7k,1181
396
396
  unique_toolkit/language_model/functions.py,sha256=W6JC4LUh-LZ9waDgph--xVmKeQ7Ls6NRAqDx9DwQdeY,26691
397
- unique_toolkit/language_model/infos.py,sha256=7SWbktrOHKQhNJQtEYRJUC05gmPLXkUzQvJYNX4JaTk,158888
397
+ unique_toolkit/language_model/infos.py,sha256=XXXiDl1Hc_Ew2FsclDhIXQRAAhrkQTnaXoEMlrt5DQk,160244
398
398
  unique_toolkit/language_model/invocation_stats.py,sha256=CQbpUz394IsVd8eNTB1gPSMt5f0UXmkN1amNsqtAW6U,5857
399
399
  unique_toolkit/language_model/model_costs.py,sha256=ShuDAzMew1fUkJ3tzPgU5Zqjp6ivUZaG97BFh93tEn4,6358
400
400
  unique_toolkit/language_model/prompt.py,sha256=JSawaLjQg3VR-E2fK8engFyJnNdk21zaO8pPIodzN4Q,3991
@@ -423,6 +423,6 @@ unique_toolkit/short_term_memory/service.py,sha256=2JMBEBn6GoyK-a0xvdcWpPft-3C74
423
423
  unique_toolkit/smart_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
424
424
  unique_toolkit/smart_rules/compile.py,sha256=vRe0aMJWuVIK-VsqomgxQImzke7MDmwgSxxJfYCa7zw,1386
425
425
  unique_toolkit/test_utilities/events.py,sha256=FLrhMh0A_mQutAUjoD0FdMcVQ4Gq31r35OVGzRjvLro,6760
426
- unique_toolkit-2026.40.0.dev6.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
427
- unique_toolkit-2026.40.0.dev6.dist-info/METADATA,sha256=vbzpuiTtX4OvAZk4O3wrQY-ie0UYxA8ga5WiI0BjrW4,7821
428
- unique_toolkit-2026.40.0.dev6.dist-info/RECORD,,
426
+ unique_toolkit-2026.40.0.dev8.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
427
+ unique_toolkit-2026.40.0.dev8.dist-info/METADATA,sha256=H-q-Bpzy3v46lU-ZGnDod7ZBkGlWxxExNYf8jdSxzBI,7821
428
+ unique_toolkit-2026.40.0.dev8.dist-info/RECORD,,