unique-sdk 2026.34.0.dev7__tar.gz → 2026.34.0.dev9__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 (89) hide show
  1. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/PKG-INFO +1 -1
  2. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/pyproject.toml +1 -1
  3. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_folder.py +70 -2
  4. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_space.py +13 -1
  5. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/utils/chat_in_space.py +1 -1
  6. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/README.md +0 -0
  7. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/__init__.py +0 -0
  8. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_api_requestor.py +0 -0
  9. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_api_resource.py +0 -0
  10. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_api_version.py +0 -0
  11. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_error.py +0 -0
  12. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_http_client.py +0 -0
  13. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_list_object.py +0 -0
  14. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_object_classes.py +0 -0
  15. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_request_options.py +0 -0
  16. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_unique_object.py +0 -0
  17. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_unique_ql.py +0 -0
  18. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_unique_response.py +0 -0
  19. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_util.py +0 -0
  20. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_version.py +0 -0
  21. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/_webhook.py +0 -0
  22. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/__init__.py +0 -0
  23. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_acronyms.py +0 -0
  24. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_agentic_table.py +0 -0
  25. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_analytics_order.py +0 -0
  26. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_benchmarking.py +0 -0
  27. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_briefing.py +0 -0
  28. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_chat_completion.py +0 -0
  29. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_content.py +0 -0
  30. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_elicitation.py +0 -0
  31. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_embedding.py +0 -0
  32. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_event.py +0 -0
  33. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_group.py +0 -0
  34. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_integrated.py +0 -0
  35. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_llm_models.py +0 -0
  36. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_mcp.py +0 -0
  37. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_message.py +0 -0
  38. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_message_assessment.py +0 -0
  39. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_message_execution.py +0 -0
  40. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_message_log.py +0 -0
  41. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_message_tool.py +0 -0
  42. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_module.py +0 -0
  43. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_scheduled_task.py +0 -0
  44. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_search.py +0 -0
  45. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_search_string.py +0 -0
  46. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_short_term_memory.py +0 -0
  47. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_user.py +0 -0
  48. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/api_resources/_web_search.py +0 -0
  49. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/__init__.py +0 -0
  50. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/__main__.py +0 -0
  51. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/cli.py +0 -0
  52. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/__init__.py +0 -0
  53. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/_citation_manifest.py +0 -0
  54. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/agentic_table.py +0 -0
  55. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/agentic_table_write.py +0 -0
  56. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/browser.py +0 -0
  57. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/cite_file.py +0 -0
  58. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/elicitation.py +0 -0
  59. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/files.py +0 -0
  60. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/folders.py +0 -0
  61. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/mcp.py +0 -0
  62. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/navigation.py +0 -0
  63. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/read.py +0 -0
  64. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/scheduled_tasks.py +0 -0
  65. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/search.py +0 -0
  66. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/subagent.py +0 -0
  67. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/web_search.py +0 -0
  68. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/commands/web_search_config.py +0 -0
  69. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/config.py +0 -0
  70. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/formatting.py +0 -0
  71. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/identity.py +0 -0
  72. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/metadata_filter.py +0 -0
  73. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/shell.py +0 -0
  74. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-agentic-table/SKILL.md +0 -0
  75. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-elicitation/SKILL.md +0 -0
  76. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-file-management/SKILL.md +0 -0
  77. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-mcp/SKILL.md +0 -0
  78. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-scheduled-tasks/SKILL.md +0 -0
  79. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-search/SKILL.md +0 -0
  80. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-subagent/SKILL.md +0 -0
  81. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-uploaded-search/SKILL.md +0 -0
  82. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/skills/unique-cli-web-search/SKILL.md +0 -0
  83. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/cli/state.py +0 -0
  84. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/utils/analytics_order_run.py +0 -0
  85. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/utils/benchmarking_run.py +0 -0
  86. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/utils/chat_history.py +0 -0
  87. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/utils/file_io.py +0 -0
  88. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/unique_sdk/utils/sources.py +0 -0
  89. {unique_sdk-2026.34.0.dev7 → unique_sdk-2026.34.0.dev9}/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.34.0.dev7
3
+ Version: 2026.34.0.dev9
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.34.0.dev7"
3
+ version = "2026.34.0.dev9"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -45,18 +45,83 @@ class Folder(APIResource["Folder"]):
45
45
  class VttConfig(TypedDict):
46
46
  languageModel: str | None
47
47
 
48
+ class ImageContentExtractionConfig(TypedDict):
49
+ enabled: bool
50
+ languageModel: NotRequired[str | None]
51
+ settings: NotRequired[dict[str, Any] | None]
52
+
53
+ class PdfConfig(TypedDict):
54
+ usePageBasedChunking: NotRequired[bool | None]
55
+ imageContentExtraction: NotRequired[
56
+ "Folder.ImageContentExtractionConfig | None"
57
+ ]
58
+
59
+ class HtmlConfig(TypedDict):
60
+ imageContentExtraction: NotRequired[
61
+ "Folder.ImageContentExtractionConfig | None"
62
+ ]
63
+
64
+ class PptConfig(TypedDict):
65
+ usePageBasedChunking: NotRequired[bool | None]
66
+
67
+ class ExcelConfig(TypedDict):
68
+ rowsPerChunk: NotRequired[int | None]
69
+ tableFormat: NotRequired[str | None]
70
+ headerRows: NotRequired[list[int] | None]
71
+ headerColumns: NotRequired[list[int] | None]
72
+ maxEmptyTableRows: NotRequired[int | None]
73
+ maxEmptyTableCols: NotRequired[int | None]
74
+ tableChunkTokenLimit: NotRequired[int | None]
75
+ maxRows: NotRequired[int | None]
76
+ maxCols: NotRequired[int | None]
77
+ deduplicateMergedCells: NotRequired[bool | None]
78
+
79
+ class CsvConfig(TypedDict):
80
+ maxRows: NotRequired[int | None]
81
+ maxCols: NotRequired[int | None]
82
+
83
+ class MetadataExtractionConfig(TypedDict):
84
+ enabled: bool
85
+ metadataSchema: dict[str, Any]
86
+ maxInputTokens: int
87
+ languageModel: NotRequired[str | None]
88
+
89
+ class ChunkingConfiguration(TypedDict):
90
+ systemPrompt: NotRequired[str | None]
91
+ model: NotRequired[str | None]
92
+ tokens: NotRequired[int | None]
93
+
48
94
  class IngestionConfig(TypedDict):
95
+ """Folder ingestion settings accepted by ``update_ingestion_config``.
96
+
97
+ Mirrors the public API's write DTO. Reads return the stored JSON
98
+ verbatim (see :class:`Folder.FolderInfo`), so a config read from a
99
+ folder can be written back unchanged.
100
+ """
101
+
49
102
  chunkMaxTokens: NotRequired[int | None]
50
103
  chunkMaxTokensOnePager: NotRequired[int | None]
51
104
  chunkMinTokens: NotRequired[int | None]
52
105
  chunkStrategy: NotRequired[str | None]
106
+ chunkingConfiguration: NotRequired["Folder.ChunkingConfiguration | None"]
107
+ csvConfig: NotRequired["Folder.CsvConfig | None"]
53
108
  customApiOptions: NotRequired[list["Folder.CustomApiOptions"] | None]
54
109
  documentMinTokens: NotRequired[int | None]
110
+ excelConfig: NotRequired["Folder.ExcelConfig | None"]
55
111
  excelReadMode: NotRequired[str | None]
112
+ hideInChat: NotRequired[bool | None]
113
+ htmlConfig: NotRequired["Folder.HtmlConfig | None"]
56
114
  jpgReadMode: NotRequired[str | None]
115
+ metadata: NotRequired[dict[str, str] | None]
116
+ metadataExtractionConfig: NotRequired["Folder.MetadataExtractionConfig | None"]
117
+ pdfConfig: NotRequired["Folder.PdfConfig | None"]
57
118
  pdfReadMode: NotRequired[str | None]
119
+ pptConfig: NotRequired["Folder.PptConfig | None"]
58
120
  pptReadMode: NotRequired[str | None]
59
- uniqueIngestionMode: str
121
+ reportTemplates: NotRequired[list[str] | None]
122
+ shouldApplyToSubScopes: NotRequired[bool | None]
123
+ uniqueIngestionMode: NotRequired[str]
124
+ versioningDefault: NotRequired[bool | None]
60
125
  vttConfig: NotRequired["Folder.VttConfig | None"]
61
126
  wordReadMode: NotRequired[str | None]
62
127
 
@@ -82,7 +147,10 @@ class Folder(APIResource["Folder"]):
82
147
 
83
148
  id: str
84
149
  name: str
85
- ingestionConfig: "Folder.IngestionConfig"
150
+ # Returned verbatim from storage rather than through a typed DTO, so a
151
+ # newly added ingestion option is never dropped on read. The keys of
152
+ # `Folder.IngestionConfig` are what the write endpoint accepts back.
153
+ ingestionConfig: dict[str, Any] | None
86
154
  createdAt: str | None
87
155
  updatedAt: str | None
88
156
  parentId: str | None
@@ -115,6 +115,15 @@ class Space(APIResource["Space"]):
115
115
  parentChatId: str
116
116
  parentAssistantId: str
117
117
 
118
+ class SkillChoice(TypedDict):
119
+ """
120
+ Skill selection for a space message (skillChoices / availableSkills).
121
+ """
122
+
123
+ scopeId: NotRequired[str]
124
+ contentId: NotRequired[str]
125
+ name: NotRequired[str]
126
+
118
127
  class CreateMessageParams(RequestOptions):
119
128
  """
120
129
  Parameters for querying the assistant for a message.
@@ -122,10 +131,13 @@ class Space(APIResource["Space"]):
122
131
 
123
132
  chatId: NotRequired[str | None]
124
133
  assistantId: str
134
+ languageModel: NotRequired[str | None]
125
135
  text: NotRequired[str | None]
126
136
  toolChoices: NotRequired[list[str] | None]
127
- skillChoices: NotRequired[list[dict[str, Any]]]
137
+ skillChoices: NotRequired[list["Space.SkillChoice"] | None]
138
+ availableSkills: NotRequired[list["Space.SkillChoice"] | None]
128
139
  scopeRules: NotRequired[dict[str, Any] | None]
140
+ selectedUploadedFileIds: NotRequired[list[str] | None]
129
141
  correlation: NotRequired["Space.Correlation | None"]
130
142
  autoApproveElicitation: NotRequired[bool | None]
131
143
 
@@ -30,7 +30,7 @@ async def send_message_and_wait_for_completion(
30
30
  assistant_id: str,
31
31
  text: str,
32
32
  tool_choices: list[str] | None = None,
33
- skill_choices: Sequence[dict[str, Any]] = (),
33
+ skill_choices: Sequence[Space.SkillChoice] = (),
34
34
  scope_rules: dict[str, Any] | None = None,
35
35
  chat_id: str | None = None,
36
36
  poll_interval: float = 1.0,