unique_orchestrator 1.2.4__py3-none-any.whl → 1.3.0__py3-none-any.whl

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.

@@ -32,6 +32,11 @@ from unique_toolkit.language_model.default_language_model import DEFAULT_GPT_4o
32
32
  from unique_web_search.config import WebSearchConfig
33
33
  from unique_web_search.service import WebSearchTool
34
34
 
35
+ DeactivatedNone = Annotated[
36
+ None,
37
+ Field(title="Deactivated", description="None"),
38
+ ]
39
+
35
40
 
36
41
  class SpaceType(StrEnum):
37
42
  UNIQUE_CUSTOM = "unique_custom"
@@ -121,9 +126,6 @@ class EvaluationConfig(BaseModel):
121
126
  model_config = get_configuration_dict()
122
127
  max_review_steps: int = 3
123
128
  hallucination_config: HallucinationConfig = HallucinationConfig()
124
- sub_agents_config: SubAgentEvaluationServiceConfig | None = (
125
- SubAgentEvaluationServiceConfig()
126
- )
127
129
 
128
130
 
129
131
  # ------------------------------------------------------------
@@ -149,12 +151,6 @@ class UniqueAIPromptConfig(BaseModel):
149
151
  )
150
152
 
151
153
 
152
- DeactivatedNone = Annotated[
153
- None,
154
- Field(title="Deactivated", description="None"),
155
- ]
156
-
157
-
158
154
  class UniqueAIServices(BaseModel):
159
155
  """Determine the services the agent is using
160
156
 
@@ -205,12 +201,9 @@ class InputTokenDistributionConfig(BaseModel):
205
201
  return int(self.percent_for_history * max_input_token)
206
202
 
207
203
 
208
- class SubAgentsConfig(BaseModel):
204
+ class SubAgentsReferencingConfig(BaseModel):
209
205
  model_config = get_configuration_dict()
210
- use_sub_agent_references: bool = Field(
211
- default=True,
212
- description="Whether to use sub agent references in the main agent's response. Only has an effect if sub agents are used.",
213
- )
206
+
214
207
  referencing_instructions_for_system_prompt: str = Field(
215
208
  default=REFERENCING_INSTRUCTIONS_FOR_SYSTEM_PROMPT,
216
209
  description="Referencing instructions for the main agent's system prompt.",
@@ -221,6 +214,18 @@ class SubAgentsConfig(BaseModel):
221
214
  )
222
215
 
223
216
 
217
+ class SubAgentsConfig(BaseModel):
218
+ model_config = get_configuration_dict()
219
+
220
+ referencing_config: (
221
+ Annotated[SubAgentsReferencingConfig, Field(title="Active")] | DeactivatedNone
222
+ ) = SubAgentsReferencingConfig()
223
+ evaluation_config: (
224
+ Annotated[SubAgentEvaluationServiceConfig, Field(title="Active")]
225
+ | DeactivatedNone
226
+ ) = SubAgentEvaluationServiceConfig()
227
+
228
+
224
229
  class ExperimentalConfig(BaseModel):
225
230
  """Experimental features this part of the configuration might evolve in the future continuously"""
226
231
 
@@ -282,5 +287,5 @@ class UniqueAIConfig(BaseModel):
282
287
  @model_validator(mode="after")
283
288
  def disable_sub_agent_referencing_if_not_used(self) -> "UniqueAIConfig":
284
289
  if not any(tool.is_sub_agent for tool in self.space.tools):
285
- self.agent.experimental.sub_agents_config.use_sub_agent_references = False
290
+ self.agent.experimental.sub_agents_config.referencing_config = None
286
291
  return self
@@ -260,10 +260,15 @@ class UniqueAI:
260
260
 
261
261
  query = self._event.payload.user_message.text
262
262
 
263
- use_sub_agent_references = (
264
- self._config.agent.experimental.sub_agents_config.use_sub_agent_references
265
- )
266
- sub_agent_referencing_instructions = self._config.agent.experimental.sub_agents_config.referencing_instructions_for_user_prompt
263
+ if (
264
+ self._config.agent.experimental.sub_agents_config.referencing_config
265
+ is not None
266
+ ):
267
+ use_sub_agent_references = True
268
+ sub_agent_referencing_instructions = self._config.agent.experimental.sub_agents_config.referencing_config.referencing_instructions_for_user_prompt
269
+ else:
270
+ use_sub_agent_references = False
271
+ sub_agent_referencing_instructions = None
267
272
 
268
273
  user_msg = user_message_template.render(
269
274
  query=query,
@@ -294,10 +299,15 @@ class UniqueAI:
294
299
  mcp_server.system_prompt for mcp_server in self._mcp_servers
295
300
  ]
296
301
 
297
- use_sub_agent_references = (
298
- self._config.agent.experimental.sub_agents_config.use_sub_agent_references
299
- )
300
- sub_agent_referencing_instructions = self._config.agent.experimental.sub_agents_config.referencing_instructions_for_system_prompt
302
+ if (
303
+ self._config.agent.experimental.sub_agents_config.referencing_config
304
+ is not None
305
+ ):
306
+ use_sub_agent_references = True
307
+ sub_agent_referencing_instructions = self._config.agent.experimental.sub_agents_config.referencing_config.referencing_instructions_for_system_prompt
308
+ else:
309
+ use_sub_agent_references = False
310
+ sub_agent_referencing_instructions = None
301
311
 
302
312
  system_message = system_prompt_template.render(
303
313
  model_info=self._config.space.language_model.model_dump(mode="json"),
@@ -178,12 +178,9 @@ def build_unique_ai(
178
178
  postprocessor_manager.add_postprocessor(sub_agent_responses_postprocessor)
179
179
 
180
180
  sub_agent_evaluation = None
181
- if (
182
- config.agent.services.evaluation_config is not None
183
- and config.agent.services.evaluation_config.sub_agents_config is not None
184
- ):
181
+ if config.agent.experimental.sub_agents_config.evaluation_config is not None:
185
182
  sub_agent_evaluation = SubAgentEvaluationService(
186
- config=config.agent.services.evaluation_config.sub_agents_config,
183
+ config=config.agent.experimental.sub_agents_config.evaluation_config,
187
184
  language_model_service=LanguageModelService.from_event(event),
188
185
  )
189
186
  evaluation_manager.add_evaluation(sub_agent_evaluation)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_orchestrator
3
- Version: 1.2.4
3
+ Version: 1.3.0
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Andreas Hauri
@@ -33,6 +33,9 @@ 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.3.0] - 2025-10-14
37
+ - Re-organize sub-agents configuration for clarity.
38
+
36
39
  ## [1.2.4] - 2025-10-14
37
40
  - Let control taking tool itself set the message state to completed
38
41
 
@@ -0,0 +1,11 @@
1
+ unique_orchestrator/config.py,sha256=2A3pDEc37PlOULgQzJu_PoLchwLT7T0OEA1Gieue2Ow,9603
2
+ unique_orchestrator/prompts/generic_reference_prompt.jinja2,sha256=fYPaiE-N1gSoOqu85OeEBa_ttAim8grOhHuOHJjSHNU,2663
3
+ unique_orchestrator/prompts/system_prompt.jinja2,sha256=YXFdx3PG2p4TKfjEpz7guIw2GaKoY-4zRMEzXaKhHXE,7213
4
+ unique_orchestrator/prompts/user_message_prompt.jinja2,sha256=BQokpBh3H2J-rFk8i-PRph3jy4T1gAJPPb1mxxRWNuM,878
5
+ unique_orchestrator/tests/test_unique_ai_reference_order.py,sha256=8mZeVP1k8neH4qrFW3oa3zwIdaq2c7R1VvurC7kjBU8,4445
6
+ unique_orchestrator/unique_ai.py,sha256=4juvEzASX6FMQJywTYLzH-V-vaCNviqiu7HZ2jkrDSc,17148
7
+ unique_orchestrator/unique_ai_builder.py,sha256=knwm1cJ59SarJE1DsKGVS5WVpU1B_FCPbMHEFQg4uZY,7524
8
+ unique_orchestrator-1.3.0.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
9
+ unique_orchestrator-1.3.0.dist-info/METADATA,sha256=7jZHo2njuFcvuYZmSvQp2_9VaLT37a3P9Xwu5LrE6Ro,2556
10
+ unique_orchestrator-1.3.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
11
+ unique_orchestrator-1.3.0.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- unique_orchestrator/config.py,sha256=miZXSKSyYkYahk4VOvZ5v0u93QQX-z0RO6aC0mtJu4w,9519
2
- unique_orchestrator/prompts/generic_reference_prompt.jinja2,sha256=fYPaiE-N1gSoOqu85OeEBa_ttAim8grOhHuOHJjSHNU,2663
3
- unique_orchestrator/prompts/system_prompt.jinja2,sha256=YXFdx3PG2p4TKfjEpz7guIw2GaKoY-4zRMEzXaKhHXE,7213
4
- unique_orchestrator/prompts/user_message_prompt.jinja2,sha256=BQokpBh3H2J-rFk8i-PRph3jy4T1gAJPPb1mxxRWNuM,878
5
- unique_orchestrator/tests/test_unique_ai_reference_order.py,sha256=8mZeVP1k8neH4qrFW3oa3zwIdaq2c7R1VvurC7kjBU8,4445
6
- unique_orchestrator/unique_ai.py,sha256=CBOd1eQuasvt-A1azsGZJbHlExm9UGsgy19_l613PoQ,16798
7
- unique_orchestrator/unique_ai_builder.py,sha256=FUIJAVv0lPTWDgWeMx-KuCyrIc8w8lWyEciFs3_7a3Q,7608
8
- unique_orchestrator-1.2.4.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
9
- unique_orchestrator-1.2.4.dist-info/METADATA,sha256=QkwdL4PgwDsEX2c-rSanDPDoN9AaIV11FVnmEkacK50,2479
10
- unique_orchestrator-1.2.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
11
- unique_orchestrator-1.2.4.dist-info/RECORD,,