unique-sdk 2026.38.0.dev4__tar.gz → 2026.40.0.dev0__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.
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/PKG-INFO +1 -1
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/pyproject.toml +1 -1
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-elicitation/SKILL.md +11 -2
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/README.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/__init__.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_api_requestor.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_api_resource.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_api_version.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_error.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_http_client.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_list_object.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_object_classes.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_request_options.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_unique_object.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_unique_ql.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_unique_response.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_util.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_version.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/_webhook.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/__init__.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_acronyms.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_agentic_table.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_analytics_order.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_benchmarking.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_briefing.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_chat_completion.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_content.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_elicitation.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_embedding.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_event.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_folder.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_group.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_integrated.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_llm_models.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_mcp.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message_assessment.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message_execution.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message_log.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message_tool.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_module.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_scheduled_task.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_search.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_search_string.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_short_term_memory.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_space.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_user.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_web_search.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/__init__.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/__main__.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/cli.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/__init__.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/_citation_manifest.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/agentic_table.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/agentic_table_write.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/browser.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/cite_file.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/elicitation.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/files.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/folders.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/mcp.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/navigation.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/read.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/scheduled_tasks.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/search.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/subagent.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/web_search.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/web_search_config.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/config.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/formatting.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/identity.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/metadata_filter.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/shell.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-agentic-table/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-file-management/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-mcp/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-scheduled-tasks/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-search/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-subagent/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-uploaded-search/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/skills/unique-cli-web-search/SKILL.md +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/state.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/analytics_order_run.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/benchmarking_run.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/chat_history.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/chat_in_space.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/file_io.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/sources.py +0 -0
- {unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/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.
|
|
3
|
+
Version: 2026.40.0.dev0
|
|
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>
|
|
@@ -251,6 +251,13 @@ unique-cli elicit ask "Permanently delete /Archive/2024 and everything inside it
|
|
|
251
251
|
|
|
252
252
|
Proceed **only** if the `Status:` is `ACCEPTED`. Treat `DECLINED`, `REJECTED`, `CANCELLED`, or `EXPIRED` all as "do not proceed" -- tell the user you stopped and return control. Put everything the user needs to decide into the message text, since the form has no fields.
|
|
253
253
|
|
|
254
|
+
Confirm on a form with fields is the same consent. If you still need inputs
|
|
255
|
+
(e.g. which folder to delete), ask for them and state the consequence in the
|
|
256
|
+
same `elicit ask` message, then act on `ACCEPTED` -- do not add a checkbox for
|
|
257
|
+
the consent. Only split into a second, empty-schema confirmation when the
|
|
258
|
+
consequence depends on the answers and the user should see it before you act
|
|
259
|
+
(e.g. "Archive/2024 holds 1,234 files, 3 shared with other teams").
|
|
260
|
+
|
|
254
261
|
### Structured form (multiple fields)
|
|
255
262
|
|
|
256
263
|
```bash
|
|
@@ -262,7 +269,7 @@ unique-cli elicit ask "Please provide report settings" \
|
|
|
262
269
|
"quarter": {"type": "string", "enum": ["Q1", "Q2", "Q3", "Q4"]},
|
|
263
270
|
"year": {"type": "integer", "minimum": 2000, "maximum": 2100},
|
|
264
271
|
"recipients":{"type": "array", "items": {"type": "string", "format": "email"}},
|
|
265
|
-
"include_appendix": {"type": "boolean"}
|
|
272
|
+
"include_appendix": {"type": "boolean", "title": "Include appendix"}
|
|
266
273
|
},
|
|
267
274
|
"required": ["quarter", "year"]
|
|
268
275
|
}'
|
|
@@ -382,7 +389,9 @@ esac
|
|
|
382
389
|
|
|
383
390
|
- Always set `"required"` for fields you actually need -- this guarantees the user cannot submit an empty form.
|
|
384
391
|
- Use `enum` for closed choices so the UI can render a selector.
|
|
385
|
-
-
|
|
392
|
+
- The Confirm button is the consent, on any form. Never add a boolean `confirm` or `acknowledge` field (the button and the checkbox are two separate signals that can disagree); put the consequence in the message text instead. When there is nothing else to ask, use an **empty-properties schema** (`{"type": "object", "properties": {}}`) and gate on `Status: ACCEPTED`. Reserve `"type": "boolean"` for genuine data fields where `false` is a valid answer the user can still submit with Confirm (e.g. `include_appendix`).
|
|
393
|
+
- `"required"` on a boolean means "must be answered", not "must be ticked". An unchecked box is a valid `false` and the form submits with it; there is no way to force a checkbox on.
|
|
394
|
+
- Always give booleans a `"title"`. The checkbox label and its required marker come from `title`; with only a `description` the box renders unlabelled.
|
|
386
395
|
- Add short `description` strings -- they are shown as help text next to each field.
|
|
387
396
|
- Keep schemas small. Ask at most 5 questions in a single elicitation; if you need more, split the flow so the user is not confused by an oversized form.
|
|
388
397
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/__init__.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_acronyms.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_agentic_table.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_analytics_order.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_benchmarking.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_briefing.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_chat_completion.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_content.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_elicitation.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_embedding.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_integrated.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_llm_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message_log.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_message_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_scheduled_task.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_search_string.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/api_resources/_web_search.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/agentic_table.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/cite_file.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/elicitation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/navigation.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/scheduled_tasks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/web_search.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/cli/commands/web_search_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/analytics_order_run.py
RENAMED
|
File without changes
|
{unique_sdk-2026.38.0.dev4 → unique_sdk-2026.40.0.dev0}/unique_sdk/utils/benchmarking_run.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|