unique_toolkit 2026.36.0.dev9__py3-none-any.whl → 2026.36.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.
- unique_toolkit/agentic_table/__init__.py +4 -0
- unique_toolkit/agentic_table/schemas.py +48 -1
- unique_toolkit/language_model/infos.py +61 -0
- {unique_toolkit-2026.36.0.dev9.dist-info → unique_toolkit-2026.36.0.dev11.dist-info}/METADATA +2 -2
- {unique_toolkit-2026.36.0.dev9.dist-info → unique_toolkit-2026.36.0.dev11.dist-info}/RECORD +6 -6
- {unique_toolkit-2026.36.0.dev9.dist-info → unique_toolkit-2026.36.0.dev11.dist-info}/WHEEL +0 -0
|
@@ -26,11 +26,13 @@ from .schemas import (
|
|
|
26
26
|
MagicTableGenerateArtifactPayload,
|
|
27
27
|
MagicTableLibrarySheetRowVerifiedPayload,
|
|
28
28
|
MagicTableRerunRowPayload,
|
|
29
|
+
MagicTableRerunRowsPayload,
|
|
29
30
|
MagicTableSheet,
|
|
30
31
|
MagicTableSheetCompletedPayload,
|
|
31
32
|
MagicTableSheetCreatedPayload,
|
|
32
33
|
MagicTableUpdateCellPayload,
|
|
33
34
|
RerunRowMetadata,
|
|
35
|
+
RerunRowsMetadata,
|
|
34
36
|
RowMetadataEntry,
|
|
35
37
|
RowMetadataEntryInput,
|
|
36
38
|
SelectionMethod,
|
|
@@ -74,11 +76,13 @@ __all__ = [
|
|
|
74
76
|
"MagicTableGenerateArtifactPayload",
|
|
75
77
|
"MagicTableLibrarySheetRowVerifiedPayload",
|
|
76
78
|
"MagicTableRerunRowPayload",
|
|
79
|
+
"MagicTableRerunRowsPayload",
|
|
77
80
|
"MagicTableSheet",
|
|
78
81
|
"MagicTableSheetCompletedPayload",
|
|
79
82
|
"MagicTableSheetCreatedPayload",
|
|
80
83
|
"MagicTableUpdateCellPayload",
|
|
81
84
|
"RerunRowMetadata",
|
|
85
|
+
"RerunRowsMetadata",
|
|
82
86
|
"RowMetadataEntry",
|
|
83
87
|
"RowMetadataEntryInput",
|
|
84
88
|
"RowVerificationStatus",
|
|
@@ -22,7 +22,10 @@ from unique_sdk.api_resources._agentic_table import (
|
|
|
22
22
|
)
|
|
23
23
|
|
|
24
24
|
from unique_toolkit._common.exception import ConfigurationException
|
|
25
|
-
from unique_toolkit._common.pydantic_helpers import
|
|
25
|
+
from unique_toolkit._common.pydantic_helpers import (
|
|
26
|
+
NoneToDefault,
|
|
27
|
+
get_configuration_dict,
|
|
28
|
+
)
|
|
26
29
|
from unique_toolkit.app.schemas import (
|
|
27
30
|
AssistantWebhookEvent,
|
|
28
31
|
BaseEventPayload,
|
|
@@ -44,6 +47,7 @@ class MagicTableEventTypes(StrEnum):
|
|
|
44
47
|
LIBRARY_SHEET_ROW_VERIFIED = "unique.magic-table.library-sheet-row.verified"
|
|
45
48
|
SHEET_CREATED = "unique.magic-table.sheet-created"
|
|
46
49
|
RERUN_ROW = "unique.magic-table.rerun-row"
|
|
50
|
+
RERUN_ROWS = "unique.magic-table.rerun-rows"
|
|
47
51
|
|
|
48
52
|
|
|
49
53
|
class BaseMetadata(BaseModel):
|
|
@@ -248,6 +252,48 @@ class MagicTableRerunRowPayload(
|
|
|
248
252
|
): ...
|
|
249
253
|
|
|
250
254
|
|
|
255
|
+
########## Rerun Rows Payload ##########
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class RerunRowsMetadata(BaseMetadata):
|
|
259
|
+
"""Metadata of a bulk re-run: one event carrying N rows of the same sheet."""
|
|
260
|
+
|
|
261
|
+
model_config = get_configuration_dict()
|
|
262
|
+
source_file_ids: Annotated[list[str], NoneToDefault] = Field(
|
|
263
|
+
default_factory=list,
|
|
264
|
+
description=(
|
|
265
|
+
"Source file IDs for this rerun. Optional: a user-triggered bulk "
|
|
266
|
+
"rerun may omit sources when none changed. Null and omitted become []."
|
|
267
|
+
),
|
|
268
|
+
)
|
|
269
|
+
row_orders: Annotated[list[int], NoneToDefault] = Field(
|
|
270
|
+
default_factory=list,
|
|
271
|
+
description=(
|
|
272
|
+
"1-based content row indices to rerun, in first-seen selection order. "
|
|
273
|
+
"Duplicates are dropped. Row 0 is the header and negatives address "
|
|
274
|
+
"nothing, so non-positive values are discarded. Empty means no work."
|
|
275
|
+
),
|
|
276
|
+
)
|
|
277
|
+
context: str = Field(default="", description="The context text for the rerun.")
|
|
278
|
+
|
|
279
|
+
@field_validator("row_orders", mode="after")
|
|
280
|
+
@classmethod
|
|
281
|
+
def normalize_row_orders(cls, v: list[int]) -> list[int]:
|
|
282
|
+
return list(dict.fromkeys(row for row in v if row > 0))
|
|
283
|
+
|
|
284
|
+
@field_validator("context", mode="before")
|
|
285
|
+
@classmethod
|
|
286
|
+
def normalize_context(cls, v):
|
|
287
|
+
if v is None:
|
|
288
|
+
return ""
|
|
289
|
+
return v
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
class MagicTableRerunRowsPayload(
|
|
293
|
+
MagicTableBasePayload[Literal[MagicTableAction.RERUN_ROWS], RerunRowsMetadata]
|
|
294
|
+
): ...
|
|
295
|
+
|
|
296
|
+
|
|
251
297
|
########### Magic Table Event definition ###########
|
|
252
298
|
|
|
253
299
|
|
|
@@ -259,6 +305,7 @@ PayloadTypes = (
|
|
|
259
305
|
| MagicTableLibrarySheetRowVerifiedPayload
|
|
260
306
|
| MagicTableSheetCreatedPayload
|
|
261
307
|
| MagicTableRerunRowPayload
|
|
308
|
+
| MagicTableRerunRowsPayload
|
|
262
309
|
)
|
|
263
310
|
|
|
264
311
|
MagicTablePayloadTypes = Annotated[PayloadTypes, Field(discriminator="action")]
|
|
@@ -139,6 +139,9 @@ class LanguageModelName(StrEnum):
|
|
|
139
139
|
LITELLM_DEEPSEEK_V4_PRO = "litellm:deepseek-v4-pro"
|
|
140
140
|
LITELLM_GLM_5_1 = "litellm:glm-5.1"
|
|
141
141
|
LITELLM_GLM_5_2 = "litellm:glm-5.2"
|
|
142
|
+
LITELLM_PHOENIQS_DEEPSEEK_V4_FLASH = "litellm:phoeniqs-deepseek-v4-flash"
|
|
143
|
+
LITELLM_PHOENIQS_GEMMA_4_31B = "litellm:phoeniqs-gemma-4-31b"
|
|
144
|
+
LITELLM_PHOENIQS_GLM_5_2 = "litellm:phoeniqs-glm-5.2"
|
|
142
145
|
LITELLM_KIMI_K2_6 = "litellm:kimi-k2.6"
|
|
143
146
|
LITELLM_KIMI_K3 = "litellm:kimi-k3"
|
|
144
147
|
LITELLM_QWEN_3 = "litellm:qwen-3-235B-A22B"
|
|
@@ -2915,6 +2918,64 @@ class LanguageModelInfo(BaseModel):
|
|
|
2915
2918
|
published_at=date(2026, 1, 1),
|
|
2916
2919
|
supported_reasoning_efforts=[],
|
|
2917
2920
|
)
|
|
2921
|
+
# Phoeniqs publishes one combined context-window figure (max tokens per API call), not separate input/output limits, so token_limit_input==token_limit_output below — note the deprecated `LanguageModelTokenLimits.token_limit` sums these to 2x Phoeniqs' real per-call cap. https://documentation.phoeniqs.com/maas/active-models/
|
|
2922
|
+
case LanguageModelName.LITELLM_PHOENIQS_DEEPSEEK_V4_FLASH:
|
|
2923
|
+
return cls(
|
|
2924
|
+
name=model_name,
|
|
2925
|
+
provider=LanguageModelProvider.LITELLM,
|
|
2926
|
+
family=ModelFamily.DEEPSEEK,
|
|
2927
|
+
version="deepseek-v4-flash-0731",
|
|
2928
|
+
encoder_name=EncoderName.DEEPSEEK,
|
|
2929
|
+
capabilities=[
|
|
2930
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
2931
|
+
ModelCapabilities.REASONING,
|
|
2932
|
+
ModelCapabilities.STREAMING,
|
|
2933
|
+
],
|
|
2934
|
+
token_limits=LanguageModelTokenLimits(
|
|
2935
|
+
token_limit_input=1_000_000, token_limit_output=1_000_000
|
|
2936
|
+
),
|
|
2937
|
+
published_at=date(2026, 7, 31), # HF repo creation date
|
|
2938
|
+
supported_reasoning_efforts=[],
|
|
2939
|
+
)
|
|
2940
|
+
case LanguageModelName.LITELLM_PHOENIQS_GEMMA_4_31B:
|
|
2941
|
+
return cls(
|
|
2942
|
+
name=model_name,
|
|
2943
|
+
provider=LanguageModelProvider.LITELLM,
|
|
2944
|
+
family=ModelFamily.GOOGLE,
|
|
2945
|
+
version="gemma-4-31b-it-fp8-block",
|
|
2946
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
2947
|
+
capabilities=[
|
|
2948
|
+
ModelCapabilities.VISION,
|
|
2949
|
+
ModelCapabilities.STREAMING,
|
|
2950
|
+
],
|
|
2951
|
+
token_limits=LanguageModelTokenLimits(
|
|
2952
|
+
token_limit_input=131_072, token_limit_output=131_072
|
|
2953
|
+
),
|
|
2954
|
+
published_at=date(2026, 4, 3), # HF repo creation date
|
|
2955
|
+
supported_reasoning_efforts=[],
|
|
2956
|
+
)
|
|
2957
|
+
case LanguageModelName.LITELLM_PHOENIQS_GLM_5_2:
|
|
2958
|
+
return cls(
|
|
2959
|
+
name=model_name,
|
|
2960
|
+
provider=LanguageModelProvider.LITELLM,
|
|
2961
|
+
family=ModelFamily.ZAI,
|
|
2962
|
+
version="glm-5.2",
|
|
2963
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
2964
|
+
capabilities=[
|
|
2965
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
2966
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
2967
|
+
ModelCapabilities.REASONING,
|
|
2968
|
+
ModelCapabilities.STREAMING,
|
|
2969
|
+
],
|
|
2970
|
+
token_limits=LanguageModelTokenLimits(
|
|
2971
|
+
token_limit_input=131_072, token_limit_output=131_072
|
|
2972
|
+
),
|
|
2973
|
+
published_at=date(
|
|
2974
|
+
2026, 6, 16
|
|
2975
|
+
), # HF repo creation date — unlike the
|
|
2976
|
+
# Together AI entry above, not an unsourced placeholder.
|
|
2977
|
+
supported_reasoning_efforts=[],
|
|
2978
|
+
)
|
|
2918
2979
|
case LanguageModelName.LITELLM_KIMI_K2_6:
|
|
2919
2980
|
return cls(
|
|
2920
2981
|
name=model_name,
|
{unique_toolkit-2026.36.0.dev9.dist-info → unique_toolkit-2026.36.0.dev11.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: unique-toolkit
|
|
3
|
-
Version: 2026.36.0.
|
|
3
|
+
Version: 2026.36.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>
|
|
@@ -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.36.0.
|
|
19
|
+
Requires-Dist: unique-sdk>=2026.36.0.dev3,<2026.36.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
|
|
@@ -237,8 +237,8 @@ unique_toolkit/agentic/tools/utils/source_handling/__init__.py,sha256=47DEQpj8HB
|
|
|
237
237
|
unique_toolkit/agentic/tools/utils/source_handling/schema.py,sha256=iHBKuks6tUy8tvian4Pd0B6_-8__SehVVNcxIUAUjEA,882
|
|
238
238
|
unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py,sha256=uZ0QXqrPWgId3ZA67dvjHQ6xrW491LK1xxx_sVJmFHg,9160
|
|
239
239
|
unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py,sha256=EA8iVvb3L91OFk2XMbGcFuhe2etqm3Sx9QCYDGiOSOM,6995
|
|
240
|
-
unique_toolkit/agentic_table/__init__.py,sha256=
|
|
241
|
-
unique_toolkit/agentic_table/schemas.py,sha256=
|
|
240
|
+
unique_toolkit/agentic_table/__init__.py,sha256=jUO15EKDit_x10Eb1bCSzTaBaNmh2iJ4y2aaSYhQ4o4,2410
|
|
241
|
+
unique_toolkit/agentic_table/schemas.py,sha256=a6el5jTDImY-f5WH4JgJoOKd2_rXvTQYhBS1bwj8kBQ,16384
|
|
242
242
|
unique_toolkit/agentic_table/service.py,sha256=LvmjPyuXK5PrsAjgwN04_qY6tks4j7f_8PWs_0ioyxQ,40346
|
|
243
243
|
unique_toolkit/agentic_table/synthetic_chat_event.py,sha256=MylvYuhx5CVt2DbPetzV0sR8GlkL218DmNFi7A6RYVs,2373
|
|
244
244
|
unique_toolkit/app/__init__.py,sha256=qear5ErW3smLDATxtnUsgkX3f177zsn65ixVW8T0JVE,1641
|
|
@@ -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=
|
|
397
|
+
unique_toolkit/language_model/infos.py,sha256=TY4HtNbOxwokq3YW4QNiAyA8eq2ZvzzaRhGAfDkKG3M,149525
|
|
398
398
|
unique_toolkit/language_model/invocation_stats.py,sha256=CQbpUz394IsVd8eNTB1gPSMt5f0UXmkN1amNsqtAW6U,5857
|
|
399
399
|
unique_toolkit/language_model/model_costs.py,sha256=WM1u2fWAKpPB_creS-ew8YAzc1V8oiaCbvhpSJaO8B0,3789
|
|
400
400
|
unique_toolkit/language_model/prompt.py,sha256=JSawaLjQg3VR-E2fK8engFyJnNdk21zaO8pPIodzN4Q,3991
|
|
@@ -422,6 +422,6 @@ unique_toolkit/short_term_memory/service.py,sha256=2JMBEBn6GoyK-a0xvdcWpPft-3C74
|
|
|
422
422
|
unique_toolkit/smart_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
423
423
|
unique_toolkit/smart_rules/compile.py,sha256=vRe0aMJWuVIK-VsqomgxQImzke7MDmwgSxxJfYCa7zw,1386
|
|
424
424
|
unique_toolkit/test_utilities/events.py,sha256=FLrhMh0A_mQutAUjoD0FdMcVQ4Gq31r35OVGzRjvLro,6760
|
|
425
|
-
unique_toolkit-2026.36.0.
|
|
426
|
-
unique_toolkit-2026.36.0.
|
|
427
|
-
unique_toolkit-2026.36.0.
|
|
425
|
+
unique_toolkit-2026.36.0.dev11.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
|
|
426
|
+
unique_toolkit-2026.36.0.dev11.dist-info/METADATA,sha256=I9TKoZvLaVx9C8U-O2Pk2e62x1-zlbOqeuFwJW_PnsE,7822
|
|
427
|
+
unique_toolkit-2026.36.0.dev11.dist-info/RECORD,,
|
|
File without changes
|