unique-sdk 2026.26.0.dev11__tar.gz → 2026.26.0.dev12__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 (84) hide show
  1. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/PKG-INFO +1 -1
  2. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/pyproject.toml +1 -1
  3. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/utils/file_io.py +28 -3
  4. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/README.md +0 -0
  5. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/__init__.py +0 -0
  6. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_api_requestor.py +0 -0
  7. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_api_resource.py +0 -0
  8. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_api_version.py +0 -0
  9. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_error.py +0 -0
  10. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_http_client.py +0 -0
  11. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_list_object.py +0 -0
  12. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_object_classes.py +0 -0
  13. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_request_options.py +0 -0
  14. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_unique_object.py +0 -0
  15. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_unique_ql.py +0 -0
  16. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_unique_response.py +0 -0
  17. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_util.py +0 -0
  18. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_version.py +0 -0
  19. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/_webhook.py +0 -0
  20. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/__init__.py +0 -0
  21. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_acronyms.py +0 -0
  22. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_agentic_table.py +0 -0
  23. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_analytics_order.py +0 -0
  24. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_benchmarking.py +0 -0
  25. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_briefing.py +0 -0
  26. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_chat_completion.py +0 -0
  27. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_content.py +0 -0
  28. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_dynamic_frontend.py +0 -0
  29. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_elicitation.py +0 -0
  30. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_embedding.py +0 -0
  31. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_event.py +0 -0
  32. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_folder.py +0 -0
  33. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_group.py +0 -0
  34. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_integrated.py +0 -0
  35. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_llm_models.py +0 -0
  36. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_mcp.py +0 -0
  37. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_message.py +0 -0
  38. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_message_assessment.py +0 -0
  39. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_message_execution.py +0 -0
  40. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_message_log.py +0 -0
  41. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_message_tool.py +0 -0
  42. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_module.py +0 -0
  43. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_scheduled_task.py +0 -0
  44. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_search.py +0 -0
  45. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_search_string.py +0 -0
  46. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_short_term_memory.py +0 -0
  47. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_space.py +0 -0
  48. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_user.py +0 -0
  49. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/api_resources/_web_search.py +0 -0
  50. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/__init__.py +0 -0
  51. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/__main__.py +0 -0
  52. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/cli.py +0 -0
  53. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/__init__.py +0 -0
  54. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/_citation_manifest.py +0 -0
  55. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/cite_file.py +0 -0
  56. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/dynamic_frontend.py +0 -0
  57. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/elicitation.py +0 -0
  58. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/files.py +0 -0
  59. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/folders.py +0 -0
  60. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/mcp.py +0 -0
  61. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/navigation.py +0 -0
  62. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/read.py +0 -0
  63. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/scheduled_tasks.py +0 -0
  64. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/search.py +0 -0
  65. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/subagent.py +0 -0
  66. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/web_search.py +0 -0
  67. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/commands/web_search_config.py +0 -0
  68. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/config.py +0 -0
  69. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/formatting.py +0 -0
  70. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/shell.py +0 -0
  71. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/skills/unique-cli-elicitation/SKILL.md +0 -0
  72. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/skills/unique-cli-file-management/SKILL.md +0 -0
  73. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/skills/unique-cli-mcp/SKILL.md +0 -0
  74. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/skills/unique-cli-scheduled-tasks/SKILL.md +0 -0
  75. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/skills/unique-cli-search/SKILL.md +0 -0
  76. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/skills/unique-cli-subagent/SKILL.md +0 -0
  77. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/skills/unique-cli-web-search/SKILL.md +0 -0
  78. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/cli/state.py +0 -0
  79. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/utils/analytics_order_run.py +0 -0
  80. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/utils/benchmarking_run.py +0 -0
  81. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/utils/chat_history.py +0 -0
  82. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/utils/chat_in_space.py +0 -0
  83. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/utils/sources.py +0 -0
  84. {unique_sdk-2026.26.0.dev11 → unique_sdk-2026.26.0.dev12}/unique_sdk/utils/token.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-sdk
3
- Version: 2026.26.0.dev11
3
+ Version: 2026.26.0.dev12
4
4
  Summary:
5
5
  Author: Martin Fadler, Konstantin Krauss, Andreas Hauri
6
6
  Author-email: Martin Fadler <martin.fadler@unique.ch>, Konstantin Krauss <konstantin@unique.ch>, Andreas Hauri <andreas@unique.ch>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_sdk"
3
- version = "2026.26.0.dev11"
3
+ version = "2026.26.0.dev12"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -20,6 +20,20 @@ class _PreviewKwargs(TypedDict, total=False):
20
20
  previewPdfFileName: str
21
21
 
22
22
 
23
+ class _VersioningKwargs(TypedDict, total=False):
24
+ """Subset of ``Content.UpsertParams`` carrying ``versioningEnabled``,
25
+ forwarded conditionally for the same reason as ``_PreviewKwargs``.
26
+
27
+ Forwarding ``versioningEnabled=None`` would serialize as JSON
28
+ ``null``, which node-ingestion rejects (the Prisma
29
+ ``Content.versioningEnabled`` column is a non-null boolean). Omitting
30
+ the key entirely lets the backend apply its own default, preserving
31
+ the legacy upload behavior for callers that never opt into
32
+ versioning."""
33
+
34
+ versioningEnabled: bool
35
+
36
+
23
37
  # download readUrl a random directory in /tmp
24
38
  def download_file(url: str, filename: str):
25
39
  # Guard for callers without a type checker: fail fast with a clear error before reaching requests.
@@ -163,6 +177,17 @@ def upload_file(
163
177
 
164
178
  size = os.path.getsize(path_to_file)
165
179
 
180
+ # Forward ``versioningEnabled`` only when the caller opted in. A
181
+ # default of ``None`` would otherwise serialize as JSON ``null``,
182
+ # which node-ingestion rejects on the non-null Prisma column; an
183
+ # omitted key lets the backend apply its own default (legacy
184
+ # behavior).
185
+ versioning_kwargs: _VersioningKwargs = (
186
+ {"versioningEnabled": versioning_enabled}
187
+ if versioning_enabled is not None
188
+ else {}
189
+ )
190
+
166
191
  # Step 1 — first upsert WITHOUT ``previewPdfFileName``. The id we
167
192
  # need to derive a collision-free preview blob name does not exist
168
193
  # yet; deriving from ``displayed_filename`` instead would race
@@ -181,7 +206,7 @@ def upload_file(
181
206
  },
182
207
  scopeId=scope_or_unique_path,
183
208
  chatId=chat_id,
184
- versioningEnabled=versioning_enabled,
209
+ **versioning_kwargs,
185
210
  )
186
211
 
187
212
  # Step 2 — PUT the original bytes to the SAS URL minted by Step 1.
@@ -234,7 +259,7 @@ def upload_file(
234
259
  },
235
260
  fileUrl=createdContent.readUrl,
236
261
  chatId=chat_id,
237
- versioningEnabled=versioning_enabled,
262
+ **versioning_kwargs,
238
263
  **preview_kwargs,
239
264
  )
240
265
  else:
@@ -252,7 +277,7 @@ def upload_file(
252
277
  },
253
278
  fileUrl=createdContent.readUrl,
254
279
  scopeId=scope_or_unique_path,
255
- versioningEnabled=versioning_enabled,
280
+ **versioning_kwargs,
256
281
  **preview_kwargs,
257
282
  )
258
283