unique_orchestrator 1.6.0__py3-none-any.whl → 1.7.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.

@@ -33,6 +33,9 @@ from unique_toolkit.agentic.tools.openai_builtin.manager import (
33
33
  OpenAICodeInterpreterConfig,
34
34
  )
35
35
  from unique_toolkit.agentic.tools.tool import ToolBuildConfig
36
+ from unique_toolkit.agentic.tools.tool_progress_reporter import (
37
+ ToolProgressReporterConfig,
38
+ )
36
39
  from unique_toolkit.language_model.default_language_model import DEFAULT_GPT_4o
37
40
  from unique_web_search.config import WebSearchConfig
38
41
  from unique_web_search.service import WebSearchTool
@@ -191,6 +194,10 @@ class UniqueAIServices(BaseModel):
191
194
 
192
195
  uploaded_content_config: UploadedContentConfig = UploadedContentConfig()
193
196
 
197
+ tool_progress_reporter_config: ToolProgressReporterConfig = (
198
+ ToolProgressReporterConfig()
199
+ )
200
+
194
201
 
195
202
  class InputTokenDistributionConfig(BaseModel):
196
203
  model_config = get_configuration_dict(frozen=True)
@@ -31,7 +31,6 @@ from unique_toolkit.agentic.history_manager.history_manager import (
31
31
  HistoryManagerConfig,
32
32
  )
33
33
  from unique_toolkit.agentic.postprocessor.postprocessor_manager import (
34
- Postprocessor,
35
34
  PostprocessorManager,
36
35
  )
37
36
  from unique_toolkit.agentic.reference_manager.reference_manager import ReferenceManager
@@ -107,13 +106,13 @@ class _CommonComponents(NamedTuple):
107
106
  reference_manager: ReferenceManager
108
107
  history_manager: HistoryManager
109
108
  evaluation_manager: EvaluationManager
109
+ postprocessor_manager: PostprocessorManager
110
110
  # Tool Manager Components
111
111
  tool_progress_reporter: ToolProgressReporter
112
112
  tool_manager_config: ToolManagerConfig
113
113
  mcp_manager: MCPManager
114
114
  a2a_manager: A2AManager
115
115
  mcp_servers: list[McpServer]
116
- postprocessors: list[Postprocessor]
117
116
 
118
117
 
119
118
  def _build_common(
@@ -127,7 +126,10 @@ def _build_common(
127
126
 
128
127
  uploaded_documents = content_service.get_documents_uploaded_to_chat()
129
128
 
130
- tool_progress_reporter = ToolProgressReporter(chat_service=chat_service)
129
+ tool_progress_reporter = ToolProgressReporter(
130
+ chat_service=chat_service,
131
+ config=config.agent.services.tool_progress_reporter_config,
132
+ )
131
133
  thinking_manager_config = ThinkingManagerConfig(
132
134
  thinking_steps_display=config.agent.experimental.thinking_steps_display
133
135
  )
@@ -141,9 +143,7 @@ def _build_common(
141
143
  reference_manager = ReferenceManager()
142
144
 
143
145
  history_manager_config = HistoryManagerConfig(
144
- experimental_features=history_manager_module.ExperimentalFeatures(
145
- full_sources_serialize_dump=False,
146
- ),
146
+ experimental_features=history_manager_module.ExperimentalFeatures(),
147
147
  percent_of_max_tokens_for_history=config.agent.input_token_distribution.percent_for_history,
148
148
  language_model=config.space.language_model,
149
149
  uploaded_content_config=config.agent.services.uploaded_content_config,
@@ -180,10 +180,13 @@ def _build_common(
180
180
  max_tool_calls=config.agent.experimental.loop_configuration.max_tool_calls_per_iteration,
181
181
  )
182
182
 
183
- postprocessors = []
183
+ postprocessor_manager = PostprocessorManager(
184
+ logger=logger,
185
+ chat_service=chat_service,
186
+ )
184
187
 
185
- if config.agent.services.stock_ticker_config:
186
- postprocessors.append(
188
+ if config.agent.services.stock_ticker_config is not None:
189
+ postprocessor_manager.add_postprocessor(
187
190
  StockTickerPostprocessor(
188
191
  config=config.agent.services.stock_ticker_config,
189
192
  event=event,
@@ -194,7 +197,8 @@ def _build_common(
194
197
  config.agent.services.follow_up_questions_config
195
198
  and config.agent.services.follow_up_questions_config.number_of_questions > 0
196
199
  ):
197
- postprocessors.append(
200
+ # Should run last to make sure the follow up questions are displayed last.
201
+ postprocessor_manager.set_last_postprocessor(
198
202
  FollowUpPostprocessor(
199
203
  logger=logger,
200
204
  config=config.agent.services.follow_up_questions_config,
@@ -217,7 +221,7 @@ def _build_common(
217
221
  a2a_manager=a2a_manager,
218
222
  tool_manager_config=tool_manager_config,
219
223
  mcp_servers=event.payload.mcp_servers,
220
- postprocessors=postprocessors,
224
+ postprocessor_manager=postprocessor_manager,
221
225
  )
222
226
 
223
227
 
@@ -299,12 +303,7 @@ async def _build_responses(
299
303
  builtin_tool_manager=builtin_tool_manager,
300
304
  )
301
305
 
302
- postprocessor_manager = PostprocessorManager(
303
- logger=logger,
304
- chat_service=common_components.chat_service,
305
- )
306
- for postprocessor in common_components.postprocessors:
307
- postprocessor_manager.add_postprocessor(postprocessor)
306
+ postprocessor_manager = common_components.postprocessor_manager
308
307
 
309
308
  if (
310
309
  config.agent.experimental.responses_api_config.code_interpreter_display_config
@@ -410,12 +409,7 @@ def _build_completions(
410
409
  if not TOOL_CHOICES and UPLOADED_DOCUMENTS:
411
410
  tool_manager.add_forced_tool(UploadedSearchTool.name)
412
411
 
413
- postprocessor_manager = PostprocessorManager(
414
- logger=logger,
415
- chat_service=common_components.chat_service,
416
- )
417
- for postprocessor in common_components.postprocessors:
418
- postprocessor_manager.add_postprocessor(postprocessor)
412
+ postprocessor_manager = common_components.postprocessor_manager
419
413
 
420
414
  _add_sub_agents_postprocessor(
421
415
  postprocessor_manager=postprocessor_manager,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_orchestrator
3
- Version: 1.6.0
3
+ Version: 1.7.0
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Andreas Hauri
@@ -33,6 +33,13 @@ 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.7.0] - 2025-10-30
37
+ - Add option to customize the display of tool progress statuses.
38
+ - Make follow-questions postprocessor run last to make sure the follow up questions are displayed last.
39
+
40
+ ## [1.6.1] - 2025-10-28
41
+ - Removing unused experimental config `full_sources_serialize_dump` in `history_manager`
42
+
36
43
  ## [1.6.0] - 2025-10-27
37
44
  - Add temporary config option `sleep_time_before_update` to avoid rendering issues with sub agent responses`
38
45
 
@@ -1,11 +1,11 @@
1
- unique_orchestrator/config.py,sha256=iSNjiXacox0ZCfDO8whWgCjWzRLa1WKK4SLZF_uzpwk,11587
1
+ unique_orchestrator/config.py,sha256=NNBPNiLWZN0pFemOtUSxVbEcCEFoUbmu1p8i-hbxlRY,11797
2
2
  unique_orchestrator/prompts/generic_reference_prompt.jinja2,sha256=fYPaiE-N1gSoOqu85OeEBa_ttAim8grOhHuOHJjSHNU,2663
3
3
  unique_orchestrator/prompts/system_prompt.jinja2,sha256=YXFdx3PG2p4TKfjEpz7guIw2GaKoY-4zRMEzXaKhHXE,7213
4
4
  unique_orchestrator/prompts/user_message_prompt.jinja2,sha256=BQokpBh3H2J-rFk8i-PRph3jy4T1gAJPPb1mxxRWNuM,878
5
5
  unique_orchestrator/tests/test_unique_ai_reference_order.py,sha256=8mZeVP1k8neH4qrFW3oa3zwIdaq2c7R1VvurC7kjBU8,4445
6
6
  unique_orchestrator/unique_ai.py,sha256=OO-85-Qvw5tf5A227_ur34p3qn8RKnU4EPJ21x7jdQE,19324
7
- unique_orchestrator/unique_ai_builder.py,sha256=SCk7dP3cRgD4hNnlhgHTH_79Dx1Og2brOhhe8gZtC04,17993
8
- unique_orchestrator-1.6.0.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
9
- unique_orchestrator-1.6.0.dist-info/METADATA,sha256=ll6s_8fzkumdRgcZwTusCO1MX2UaKnhjjGF6OZs6bXs,3370
10
- unique_orchestrator-1.6.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
11
- unique_orchestrator-1.6.0.dist-info/RECORD,,
7
+ unique_orchestrator/unique_ai_builder.py,sha256=p7cXCdXN36_CAgTiq-YXuPlaTjWI2D-QTwMSe0S7Chg,17877
8
+ unique_orchestrator-1.7.0.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
9
+ unique_orchestrator-1.7.0.dist-info/METADATA,sha256=bZx2lv3lGnGuH5bSz-tFudCURZ_0519DBTeUxyKhGn4,3678
10
+ unique_orchestrator-1.7.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
11
+ unique_orchestrator-1.7.0.dist-info/RECORD,,