unique_orchestrator 1.0.2__tar.gz → 1.1.0__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.
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/CHANGELOG.md +8 -0
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/PKG-INFO +12 -4
- unique_orchestrator-1.1.0/README.md +3 -0
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/pyproject.toml +2 -2
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/config.py +2 -0
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/prompts/system_prompt.jinja2 +2 -2
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/unique_ai_builder.py +25 -0
- unique_orchestrator-1.0.2/README.md +0 -3
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/LICENSE +0 -0
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/prompts/generic_reference_prompt.jinja2 +0 -0
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/prompts/user_message_prompt.jinja2 +0 -0
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/tests/test_unique_ai_reference_order.py +0 -0
- {unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/unique_ai.py +0 -0
|
@@ -5,6 +5,14 @@ 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.1.0] - 2025-09-29
|
|
9
|
+
- Add ability to display sub agent's answers in main agent.
|
|
10
|
+
- Add ability to consolidate sub agent's assessment's in main agent.
|
|
11
|
+
|
|
12
|
+
## [1.0.3] - 2025-09-29
|
|
13
|
+
- fix UniqueAI system prompt for not activated tools
|
|
14
|
+
- updated README
|
|
15
|
+
|
|
8
16
|
## [1.0.2] - 2025-09-29
|
|
9
17
|
- updated deep-research to v2
|
|
10
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_orchestrator
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Andreas Hauri
|
|
@@ -19,13 +19,13 @@ Requires-Dist: unique-follow-up-questions (>=1.0.0,<2.0.0)
|
|
|
19
19
|
Requires-Dist: unique-internal-search (>=1.0.0,<2.0.0)
|
|
20
20
|
Requires-Dist: unique-sdk (>=0.10.24,<0.11.0)
|
|
21
21
|
Requires-Dist: unique-stock-ticker (>=1.0.0,<2.0.0)
|
|
22
|
-
Requires-Dist: unique-toolkit (>=1.
|
|
22
|
+
Requires-Dist: unique-toolkit (>=1.4.0,<2.0.0)
|
|
23
23
|
Requires-Dist: unique-web-search (>=1.0.0,<2.0.0)
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
|
|
26
|
-
#
|
|
26
|
+
# Unique Orchestrator
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
Unique AI orchestrator agent to struct and direct subagents, tools and services
|
|
29
29
|
# Changelog
|
|
30
30
|
|
|
31
31
|
All notable changes to this project will be documented in this file.
|
|
@@ -33,6 +33,14 @@ All notable changes to this project will be documented in this file.
|
|
|
33
33
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
34
34
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
35
35
|
|
|
36
|
+
## [1.1.0] - 2025-09-29
|
|
37
|
+
- Add ability to display sub agent's answers in main agent.
|
|
38
|
+
- Add ability to consolidate sub agent's assessment's in main agent.
|
|
39
|
+
|
|
40
|
+
## [1.0.3] - 2025-09-29
|
|
41
|
+
- fix UniqueAI system prompt for not activated tools
|
|
42
|
+
- updated README
|
|
43
|
+
|
|
36
44
|
## [1.0.2] - 2025-09-29
|
|
37
45
|
- updated deep-research to v2
|
|
38
46
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "unique_orchestrator"
|
|
3
|
-
version = "1.0
|
|
3
|
+
version = "1.1.0"
|
|
4
4
|
description = ""
|
|
5
5
|
authors = ["Andreas Hauri <andreas.hauri@unique.ai>"]
|
|
6
6
|
readme = ["README.md", "CHANGELOG.md"]
|
|
@@ -15,7 +15,7 @@ python-dotenv = "^1.0.1"
|
|
|
15
15
|
pytest = "^8.4.1"
|
|
16
16
|
unique-sdk = "^0.10.24"
|
|
17
17
|
|
|
18
|
-
unique-toolkit = "^1.
|
|
18
|
+
unique-toolkit = "^1.4.0"
|
|
19
19
|
unique-stock-ticker = "^1.0.0"
|
|
20
20
|
unique-follow-up-questions = "^1.0.0"
|
|
21
21
|
unique-internal-search = "^1.0.0"
|
|
@@ -22,6 +22,7 @@ from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
|
|
22
22
|
from unique_toolkit.agentic.history_manager.history_manager import (
|
|
23
23
|
UploadedContentConfig,
|
|
24
24
|
)
|
|
25
|
+
from unique_toolkit.agentic.tools.a2a.evaluation import SubAgentEvaluationConfig
|
|
25
26
|
from unique_toolkit.agentic.tools.config import get_configuration_dict
|
|
26
27
|
from unique_toolkit.agentic.tools.tool import ToolBuildConfig
|
|
27
28
|
from unique_web_search.config import WebSearchConfig
|
|
@@ -116,6 +117,7 @@ class EvaluationConfig(BaseModel):
|
|
|
116
117
|
model_config = get_configuration_dict()
|
|
117
118
|
max_review_steps: int = 3
|
|
118
119
|
hallucination_config: HallucinationConfig = HallucinationConfig()
|
|
120
|
+
sub_agents_config: SubAgentEvaluationConfig = SubAgentEvaluationConfig()
|
|
119
121
|
|
|
120
122
|
|
|
121
123
|
# ------------------------------------------------------------
|
|
@@ -52,13 +52,13 @@ This tool is called {{ tool_description.display_name }} by the user.
|
|
|
52
52
|
{%- set tool_messages = {
|
|
53
53
|
'automations': {'display': 'automations', 'message': 'Cannot create reminders, recurring tasks, or scheduled prompts.'},
|
|
54
54
|
'canmore': {'display': 'canmore', 'message': 'Cannot create or edit documents/canvas for writing or coding.'},
|
|
55
|
-
'InternalSearch': {'display': '
|
|
55
|
+
'InternalSearch': {'display': 'Internal Search', 'message': 'Cannot search across internal company sources. If you cannot force it in this space, ask an admin to activate the tool.'},
|
|
56
56
|
'gcal': {'display': 'gcal (Google Calendar)', 'message': 'Cannot show or search calendar events.'},
|
|
57
57
|
'gcontacts': {'display': 'gcontacts (Google Contacts)', 'message': 'Cannot look up or retrieve contact information.'},
|
|
58
58
|
'gmail': {'display': 'gmail', 'message': 'Cannot search, read, or summarize emails.'},
|
|
59
59
|
'image_gen': {'display': 'image_gen', 'message': 'Cannot generate or edit images.'},
|
|
60
60
|
'python': {'display': 'python', 'message': 'Cannot analyze data, process files, generate charts, or create/export different file formats.'},
|
|
61
|
-
'WebSearch': {'display': '
|
|
61
|
+
'WebSearch': {'display': 'Web Search', 'message': 'Cannot perform live web searches, fetch fresh news, or look up real-time information. If you cannot force it in this space, ask an admin to activate the tool.'},
|
|
62
62
|
'recording_knowledge': {'display': 'recording_knowledge', 'message': 'Cannot access or summarize meeting transcripts from ChatGPT Record Mode.'}
|
|
63
63
|
} -%}
|
|
64
64
|
{%- set ns = namespace(any=false) -%}
|
{unique_orchestrator-1.0.2 → unique_orchestrator-1.1.0}/unique_orchestrator/unique_ai_builder.py
RENAMED
|
@@ -35,7 +35,11 @@ from unique_toolkit.agentic.thinking_manager.thinking_manager import (
|
|
|
35
35
|
ThinkingManager,
|
|
36
36
|
ThinkingManagerConfig,
|
|
37
37
|
)
|
|
38
|
+
from unique_toolkit.agentic.tools.a2a.evaluation import SubAgentsEvaluation
|
|
38
39
|
from unique_toolkit.agentic.tools.a2a.manager import A2AManager
|
|
40
|
+
from unique_toolkit.agentic.tools.a2a.postprocessing import (
|
|
41
|
+
SubAgentResponsesPostprocessor,
|
|
42
|
+
)
|
|
39
43
|
from unique_toolkit.agentic.tools.config import ToolBuildConfig
|
|
40
44
|
from unique_toolkit.agentic.tools.mcp.manager import MCPManager
|
|
41
45
|
from unique_toolkit.agentic.tools.tool_manager import ToolManager, ToolManagerConfig
|
|
@@ -161,6 +165,27 @@ def build_unique_ai(
|
|
|
161
165
|
)
|
|
162
166
|
)
|
|
163
167
|
|
|
168
|
+
if len(tool_manager.sub_agents) > 0:
|
|
169
|
+
postprocessor_manager.add_postprocessor(
|
|
170
|
+
SubAgentResponsesPostprocessor(
|
|
171
|
+
user_id=event.user_id,
|
|
172
|
+
agent_chat_id=event.payload.chat_id,
|
|
173
|
+
company_id=event.company_id,
|
|
174
|
+
sub_agent_tools=tool_manager.sub_agents,
|
|
175
|
+
)
|
|
176
|
+
)
|
|
177
|
+
if config.agent.services.evaluation_config is not None:
|
|
178
|
+
logger.info("Adding sub agents evaluation")
|
|
179
|
+
evaluation_manager.add_evaluation(
|
|
180
|
+
SubAgentsEvaluation(
|
|
181
|
+
config.agent.services.evaluation_config.sub_agents_config,
|
|
182
|
+
tool_manager.sub_agents,
|
|
183
|
+
LanguageModelService.from_event(event),
|
|
184
|
+
)
|
|
185
|
+
)
|
|
186
|
+
else:
|
|
187
|
+
logger.warning("No evaluation config found for sub agents")
|
|
188
|
+
|
|
164
189
|
return UniqueAI(
|
|
165
190
|
event=event,
|
|
166
191
|
config=config,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|