unique_orchestrator 1.7.1__tar.gz → 1.7.3__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.

Potentially problematic release.


This version of unique_orchestrator might be problematic. Click here for more details.

@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.7.3] - 2025-11-03
9
+ - Fixed an issue where new assistant messages were not properly generated during streaming outputs with tool calls; the orchestrator now correctly creates messages via `_create_new_assistant_message_if_loop_response_contains_content` when loop_response includes text and tool invocations.
10
+
11
+ ## [1.7.2] - 2025-11-03
12
+ - Add Swot tool to the orchestrator
13
+
8
14
  ## [1.7.1] - 2025-10-30
9
15
  - Fixing that system format info is only appended to system prompt if tool is called
10
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_orchestrator
3
- Version: 1.7.1
3
+ Version: 1.7.3
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Andreas Hauri
@@ -17,9 +17,10 @@ Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
17
17
  Requires-Dist: unique-deep-research (>=3.0.0,<4.0.0)
18
18
  Requires-Dist: unique-follow-up-questions (>=1.1.2,<2.0.0)
19
19
  Requires-Dist: unique-internal-search (>=1.0.1,<2.0.0)
20
- Requires-Dist: unique-sdk (>=0.10.24,<0.11.0)
20
+ Requires-Dist: unique-sdk (>=0.10.34,<0.11.0)
21
21
  Requires-Dist: unique-stock-ticker (>=1.0.2,<2.0.0)
22
- Requires-Dist: unique-toolkit (>=1.18.0,<2.0.0)
22
+ Requires-Dist: unique-swot (>=0.1.0,<0.2.0)
23
+ Requires-Dist: unique-toolkit (>=1.22.2,<2.0.0)
23
24
  Requires-Dist: unique-web-search (>=1.3.1,<2.0.0)
24
25
  Description-Content-Type: text/markdown
25
26
 
@@ -33,6 +34,12 @@ All notable changes to this project will be documented in this file.
33
34
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
34
35
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
35
36
 
37
+ ## [1.7.3] - 2025-11-03
38
+ - Fixed an issue where new assistant messages were not properly generated during streaming outputs with tool calls; the orchestrator now correctly creates messages via `_create_new_assistant_message_if_loop_response_contains_content` when loop_response includes text and tool invocations.
39
+
40
+ ## [1.7.2] - 2025-11-03
41
+ - Add Swot tool to the orchestrator
42
+
36
43
  ## [1.7.1] - 2025-10-30
37
44
  - Fixing that system format info is only appended to system prompt if tool is called
38
45
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_orchestrator"
3
- version = "1.7.1"
3
+ version = "1.7.3"
4
4
  description = ""
5
5
  authors = ["Andreas Hauri <andreas.hauri@unique.ai>"]
6
6
  readme = ["README.md", "CHANGELOG.md"]
@@ -13,18 +13,19 @@ pydantic = "^2.8.2"
13
13
  pydantic-settings = "^2.10.1"
14
14
  python-dotenv = "^1.0.1"
15
15
  pytest = "^8.4.1"
16
- unique-sdk = "^0.10.24"
16
+ unique-sdk = "^0.10.34"
17
17
 
18
- unique-toolkit = "^1.18.0"
18
+ unique-toolkit = "^1.22.2"
19
19
  unique-stock-ticker = "^1.0.2"
20
20
  unique-follow-up-questions = "^1.1.2"
21
21
  unique-internal-search = "^1.0.1"
22
22
  unique-deep-research = "^3.0.0"
23
23
  unique-web-search = "^1.3.1"
24
+ unique-swot = "^0.1.0"
24
25
 
25
26
 
26
27
  [tool.poetry.group.dev.dependencies]
27
- ruff = "^0.12.10"
28
+ ruff = "^0.11.7"
28
29
  python = "^3.12"
29
30
  typing-extensions = "^4.9.0"
30
31
  pydantic = "^2.8.2"
@@ -36,7 +37,7 @@ unique-toolkit = { path = "../unique_toolkit", develop = true }
36
37
  unique-stock-ticker = { path = "../postprocessors/unique_stock_ticker", develop = true }
37
38
  unique-follow-up-questions = { path = "../postprocessors/unique_follow_up_questions", develop = true }
38
39
  unique-internal-search = { path = "../tool_packages/unique_internal_search", develop = true }
39
-
40
+ unique-swot = { path = "../tool_packages/unique_swot", develop = true }
40
41
 
41
42
  [build-system]
42
43
  requires = ["poetry-core"]
@@ -10,6 +10,7 @@ from unique_follow_up_questions.config import FollowUpQuestionsConfig
10
10
  from unique_internal_search.config import InternalSearchConfig
11
11
  from unique_internal_search.service import InternalSearchTool
12
12
  from unique_stock_ticker.config import StockTickerConfig
13
+ from unique_swot import SwotAnalysisTool, SwotAnalysisToolConfig
13
14
  from unique_toolkit._common.validators import (
14
15
  LMI,
15
16
  ClipInt,
@@ -90,6 +91,10 @@ class SpaceConfigBase(BaseModel, Generic[T]):
90
91
  name=DeepResearchTool.name,
91
92
  configuration=DeepResearchToolConfig(),
92
93
  ),
94
+ ToolBuildConfig(
95
+ name=SwotAnalysisTool.name,
96
+ configuration=SwotAnalysisToolConfig(),
97
+ ),
93
98
  ],
94
99
  )
95
100
 
@@ -135,9 +135,6 @@ class UniqueAI:
135
135
  self.start_text = self._thinking_manager.update_start_text(
136
136
  self.start_text, loop_response
137
137
  )
138
- await self._create_new_assistant_message_if_loop_response_contains_content(
139
- loop_response
140
- )
141
138
 
142
139
  # Only set completed_at if no tool took control. Tools that take control will set the message state to completed themselves.
143
140
  await self._chat_service.modify_assistant_message_async(
@@ -231,6 +228,7 @@ class UniqueAI:
231
228
  self._logger.debug(
232
229
  "Tools were called we process them and do not exit the loop"
233
230
  )
231
+ await self._create_new_assistant_message_if_loop_response_contains_content(loop_response)
234
232
 
235
233
  return await self._handle_tool_calls(loop_response)
236
234