unique-sdk 2026.28.0.dev8__tar.gz → 2026.28.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 (86) hide show
  1. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/PKG-INFO +1 -1
  2. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/pyproject.toml +1 -1
  3. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_space.py +1 -0
  4. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/utils/chat_in_space.py +17 -7
  5. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/README.md +0 -0
  6. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/__init__.py +0 -0
  7. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_api_requestor.py +0 -0
  8. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_api_resource.py +0 -0
  9. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_api_version.py +0 -0
  10. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_error.py +0 -0
  11. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_http_client.py +0 -0
  12. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_list_object.py +0 -0
  13. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_object_classes.py +0 -0
  14. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_request_options.py +0 -0
  15. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_unique_object.py +0 -0
  16. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_unique_ql.py +0 -0
  17. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_unique_response.py +0 -0
  18. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_util.py +0 -0
  19. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_version.py +0 -0
  20. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/_webhook.py +0 -0
  21. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/__init__.py +0 -0
  22. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_acronyms.py +0 -0
  23. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_agentic_table.py +0 -0
  24. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_analytics_order.py +0 -0
  25. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_benchmarking.py +0 -0
  26. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_briefing.py +0 -0
  27. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_chat_completion.py +0 -0
  28. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_content.py +0 -0
  29. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_dynamic_frontend.py +0 -0
  30. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_elicitation.py +0 -0
  31. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_embedding.py +0 -0
  32. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_event.py +0 -0
  33. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_folder.py +0 -0
  34. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_group.py +0 -0
  35. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_integrated.py +0 -0
  36. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_llm_models.py +0 -0
  37. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_mcp.py +0 -0
  38. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_message.py +0 -0
  39. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_message_assessment.py +0 -0
  40. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_message_execution.py +0 -0
  41. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_message_log.py +0 -0
  42. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_message_tool.py +0 -0
  43. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_module.py +0 -0
  44. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_scheduled_task.py +0 -0
  45. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_search.py +0 -0
  46. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_search_string.py +0 -0
  47. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_short_term_memory.py +0 -0
  48. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_user.py +0 -0
  49. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/api_resources/_web_search.py +0 -0
  50. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/__init__.py +0 -0
  51. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/__main__.py +0 -0
  52. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/cli.py +0 -0
  53. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/__init__.py +0 -0
  54. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/_citation_manifest.py +0 -0
  55. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/cite_file.py +0 -0
  56. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/dynamic_frontend.py +0 -0
  57. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/elicitation.py +0 -0
  58. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/files.py +0 -0
  59. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/folders.py +0 -0
  60. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/mcp.py +0 -0
  61. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/navigation.py +0 -0
  62. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/read.py +0 -0
  63. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/scheduled_tasks.py +0 -0
  64. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/search.py +0 -0
  65. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/subagent.py +0 -0
  66. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/web_search.py +0 -0
  67. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/commands/web_search_config.py +0 -0
  68. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/config.py +0 -0
  69. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/formatting.py +0 -0
  70. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/metadata_filter.py +0 -0
  71. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/shell.py +0 -0
  72. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-dynamic-frontend/SKILL.md +0 -0
  73. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-elicitation/SKILL.md +0 -0
  74. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-file-management/SKILL.md +0 -0
  75. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-mcp/SKILL.md +0 -0
  76. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-scheduled-tasks/SKILL.md +0 -0
  77. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-search/SKILL.md +0 -0
  78. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-subagent/SKILL.md +0 -0
  79. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/skills/unique-cli-web-search/SKILL.md +0 -0
  80. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/cli/state.py +0 -0
  81. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/utils/analytics_order_run.py +0 -0
  82. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/utils/benchmarking_run.py +0 -0
  83. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/utils/chat_history.py +0 -0
  84. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/utils/file_io.py +0 -0
  85. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.0.dev9}/unique_sdk/utils/sources.py +0 -0
  86. {unique_sdk-2026.28.0.dev8 → unique_sdk-2026.28.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.28.0.dev8
3
+ Version: 2026.28.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.28.0.dev8"
3
+ version = "2026.28.0.dev9"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -100,6 +100,7 @@ class Space(APIResource["Space"]):
100
100
  skillChoices: NotRequired[list[dict[str, Any]]]
101
101
  scopeRules: NotRequired[dict[str, Any] | None]
102
102
  correlation: NotRequired["Space.Correlation | None"]
103
+ autoApproveElicitation: NotRequired[bool | None]
103
104
 
104
105
  class GetChatMessagesParams(RequestOptions):
105
106
  """
@@ -24,6 +24,7 @@ async def send_message_and_wait_for_completion(
24
24
  max_wait: float = 60.0,
25
25
  stop_condition: Literal["stoppedStreamingAt", "completedAt"] = "stoppedStreamingAt",
26
26
  correlation: "Space.Correlation | None" = None,
27
+ auto_approve_elicitation: bool | None = None,
27
28
  on_message_update: Callable[["Space.Message"], Awaitable[None]] | None = None,
28
29
  ) -> "Space.Message":
29
30
  """
@@ -43,22 +44,31 @@ async def send_message_and_wait_for_completion(
43
44
  stop_condition: Defines when to expect a response back, when the assistant stop streaming or when it completes the message. (default: "stoppedStreamingAt")
44
45
  correlation: Optional correlation data to link this message to a parent message in another chat.
45
46
  Should contain: parentMessageId, parentChatId, parentAssistantId.
47
+ auto_approve_elicitation: When True, automatically approves elicitation requests during
48
+ the assistant run. Use for non-interactive automation where no user is present.
46
49
  on_message_update: Optional async callback called whenever the latest assistant
47
50
  message changes while waiting for completion.
48
51
 
49
52
  Returns:
50
53
  The completed Space.Message.
51
54
  """
55
+ create_message_params: Space.CreateMessageParams = {
56
+ "assistantId": assistant_id,
57
+ "text": text,
58
+ "toolChoices": tool_choices,
59
+ "skillChoices": list(skill_choices),
60
+ "scopeRules": scope_rules,
61
+ "correlation": correlation,
62
+ }
63
+ if chat_id is not None:
64
+ create_message_params["chatId"] = chat_id
65
+ if auto_approve_elicitation is not None:
66
+ create_message_params["autoApproveElicitation"] = auto_approve_elicitation
67
+
52
68
  response = await Space.create_message_async(
53
69
  user_id=user_id,
54
70
  company_id=company_id,
55
- assistantId=assistant_id,
56
- chatId=chat_id,
57
- text=text,
58
- toolChoices=tool_choices,
59
- skillChoices=list(skill_choices),
60
- scopeRules=scope_rules,
61
- correlation=correlation,
71
+ **create_message_params,
62
72
  )
63
73
  chat_id = response.get("chatId")
64
74
  message_id = response.get("id")