unique_orchestrator 2026.34.0.dev4__tar.gz → 2026.34.0.dev6__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.
- unique_orchestrator-2026.34.0.dev6/PKG-INFO +27 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/pyproject.toml +10 -10
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/config.py +23 -1
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/unique_ai_builder.py +9 -0
- unique_orchestrator-2026.34.0.dev4/PKG-INFO +0 -27
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/README.md +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/__init__.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/_builders/__init__.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/_builders/history_manager.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/_builders/inject_tool_reminders.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/_builders/loop_iteration_runner.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/_builders/open_file_setup.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/_builders/skill_setup.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/prompts/generic_reference_prompt.jinja2 +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/prompts/system_prompt.jinja2 +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/prompts/user_message_prompt.jinja2 +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/settings.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_agent_config_rjsf_ui_schema.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_build_loop_iteration_runner.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_config_services_validators.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_qwen_max_loop_iterations.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_register_code_interpreter_postprocessors.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_async_modify.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_execution_timing.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_get_filtered_user_metadata.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_log_tool_calls.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_loop_debug_params.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_persist_tool_calls.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_plan_or_execute_include.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_reference_order.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_render_system_prompt_user_instructions.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_unique_ai_token_usage.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/tests/test_utils_resolve_other_options.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/unique_ai.py +0 -0
- {unique_orchestrator-2026.34.0.dev4 → unique_orchestrator-2026.34.0.dev6}/unique_orchestrator/utils.py +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: unique-orchestrator
|
|
3
|
+
Version: 2026.34.0.dev6
|
|
4
|
+
Summary:
|
|
5
|
+
Author: Andreas Hauri
|
|
6
|
+
Author-email: Andreas Hauri <andreas.hauri@unique.ai>
|
|
7
|
+
License: Proprietary
|
|
8
|
+
Requires-Dist: pydantic>=2.8.2,<3
|
|
9
|
+
Requires-Dist: pydantic-settings>=2.10.1,<3
|
|
10
|
+
Requires-Dist: typing-extensions>=4.9.0,<5
|
|
11
|
+
Requires-Dist: jinja2>=3.1.0,<4
|
|
12
|
+
Requires-Dist: unique-toolkit>=2026.34.0.dev19,<2026.34.0rc0
|
|
13
|
+
Requires-Dist: unique-stock-ticker>=2026.34.0.dev4,<2026.34.0rc0
|
|
14
|
+
Requires-Dist: unique-follow-up-questions>=2026.34.0.dev4,<2026.34.0rc0
|
|
15
|
+
Requires-Dist: unique-internal-search>=2026.34.0.dev4,<2026.34.0rc0
|
|
16
|
+
Requires-Dist: unique-deep-research>=2026.34.0.dev4,<2026.34.0rc0
|
|
17
|
+
Requires-Dist: unique-web-search>=2026.34.0.dev8,<2026.34.0rc0
|
|
18
|
+
Requires-Dist: unique-swot>=2026.34.0.dev4,<2026.34.0rc0
|
|
19
|
+
Requires-Dist: unique-skill-tool>=2026.34.0.dev4,<2026.34.0rc0
|
|
20
|
+
Requires-Dist: unique-user-memory>=2026.34.0.dev7,<2026.34.0rc0
|
|
21
|
+
Requires-Dist: openai>=1.109.1,<3
|
|
22
|
+
Requires-Python: >=3.12, <4
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
|
|
25
|
+
# Unique Orchestrator
|
|
26
|
+
|
|
27
|
+
Unique AI orchestrator agent to struct and direct subagents, tools and services
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "unique_orchestrator"
|
|
3
|
-
version = "2026.34.0.
|
|
3
|
+
version = "2026.34.0.dev6"
|
|
4
4
|
description = ""
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "Proprietary" }
|
|
@@ -13,15 +13,15 @@ dependencies = [
|
|
|
13
13
|
"pydantic-settings>=2.10.1,<3",
|
|
14
14
|
"typing-extensions>=4.9.0,<5",
|
|
15
15
|
"jinja2>=3.1.0,<4",
|
|
16
|
-
"unique-toolkit>=2026.34.0.
|
|
17
|
-
"unique-stock-ticker>=2026.34.0.
|
|
18
|
-
"unique-follow-up-questions>=2026.34.0.
|
|
19
|
-
"unique-internal-search>=2026.34.0.
|
|
20
|
-
"unique-deep-research>=2026.34.0.
|
|
21
|
-
"unique-web-search>=2026.34.0.
|
|
22
|
-
"unique-swot>=2026.34.0.
|
|
23
|
-
"unique-skill-tool>=2026.34.0.
|
|
24
|
-
"unique-user-memory>=2026.34.0.
|
|
16
|
+
"unique-toolkit>=2026.34.0.dev19,<2026.34.0rc0",
|
|
17
|
+
"unique-stock-ticker>=2026.34.0.dev4,<2026.34.0rc0",
|
|
18
|
+
"unique-follow-up-questions>=2026.34.0.dev4,<2026.34.0rc0",
|
|
19
|
+
"unique-internal-search>=2026.34.0.dev4,<2026.34.0rc0",
|
|
20
|
+
"unique-deep-research>=2026.34.0.dev4,<2026.34.0rc0",
|
|
21
|
+
"unique-web-search>=2026.34.0.dev8,<2026.34.0rc0",
|
|
22
|
+
"unique-swot>=2026.34.0.dev4,<2026.34.0rc0",
|
|
23
|
+
"unique-skill-tool>=2026.34.0.dev4,<2026.34.0rc0",
|
|
24
|
+
"unique-user-memory>=2026.34.0.dev7,<2026.34.0rc0",
|
|
25
25
|
"openai>=1.109.1,<3",
|
|
26
26
|
]
|
|
27
27
|
|
|
@@ -2,7 +2,13 @@ from enum import StrEnum
|
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
from typing import Annotated, Any, Generic, Literal, TypeVar
|
|
4
4
|
|
|
5
|
-
from pydantic import
|
|
5
|
+
from pydantic import (
|
|
6
|
+
AliasChoices,
|
|
7
|
+
Field,
|
|
8
|
+
ValidationInfo,
|
|
9
|
+
field_validator,
|
|
10
|
+
model_validator,
|
|
11
|
+
)
|
|
6
12
|
from pydantic.json_schema import SkipJsonSchema
|
|
7
13
|
from unique_deep_research.config import DeepResearchToolConfig
|
|
8
14
|
from unique_deep_research.service import DeepResearchTool
|
|
@@ -106,6 +112,22 @@ class SwitchableLanguageModelConfig(BaseToolConfig):
|
|
|
106
112
|
"the value validates when copied on model choice."
|
|
107
113
|
),
|
|
108
114
|
)
|
|
115
|
+
additional_llm_options: dict[str, Any] | None = Field(
|
|
116
|
+
default=None,
|
|
117
|
+
# The node backend forwards this key as `additionalLLMOptions` (LLM
|
|
118
|
+
# uppercase), which the `to_camel` alias generator would not match.
|
|
119
|
+
validation_alias=AliasChoices(
|
|
120
|
+
"additional_llm_options",
|
|
121
|
+
"additionalLlmOptions",
|
|
122
|
+
"additionalLLMOptions",
|
|
123
|
+
),
|
|
124
|
+
description=(
|
|
125
|
+
"Optional per-model provider-specific request options (e.g. "
|
|
126
|
+
"`reasoning_effort`) shallow-merged into "
|
|
127
|
+
"agent.experimental.additional_llm_options when chat users select "
|
|
128
|
+
"this model. Per-model keys win over the space-level options."
|
|
129
|
+
),
|
|
130
|
+
)
|
|
109
131
|
|
|
110
132
|
|
|
111
133
|
class SpaceConfigBase(BaseToolConfig, Generic[T]):
|
|
@@ -250,6 +250,15 @@ def _apply_model_choice_override(
|
|
|
250
250
|
switchable_entry.temperature
|
|
251
251
|
)
|
|
252
252
|
|
|
253
|
+
if switchable_entry is not None and switchable_entry.additional_llm_options:
|
|
254
|
+
config_data.setdefault("agent", {})
|
|
255
|
+
config_data["agent"].setdefault("experimental", {})
|
|
256
|
+
experimental = config_data["agent"]["experimental"]
|
|
257
|
+
experimental["additional_llm_options"] = {
|
|
258
|
+
**experimental.get("additional_llm_options", {}),
|
|
259
|
+
**switchable_entry.additional_llm_options,
|
|
260
|
+
}
|
|
261
|
+
|
|
253
262
|
validated_config = UniqueAIConfig.model_validate(config_data)
|
|
254
263
|
|
|
255
264
|
logger.info(
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: unique-orchestrator
|
|
3
|
-
Version: 2026.34.0.dev4
|
|
4
|
-
Summary:
|
|
5
|
-
Author: Andreas Hauri
|
|
6
|
-
Author-email: Andreas Hauri <andreas.hauri@unique.ai>
|
|
7
|
-
License: Proprietary
|
|
8
|
-
Requires-Dist: pydantic>=2.8.2,<3
|
|
9
|
-
Requires-Dist: pydantic-settings>=2.10.1,<3
|
|
10
|
-
Requires-Dist: typing-extensions>=4.9.0,<5
|
|
11
|
-
Requires-Dist: jinja2>=3.1.0,<4
|
|
12
|
-
Requires-Dist: unique-toolkit>=2026.34.0.dev7,<2026.34.0rc0
|
|
13
|
-
Requires-Dist: unique-stock-ticker>=2026.34.0.dev3,<2026.34.0rc0
|
|
14
|
-
Requires-Dist: unique-follow-up-questions>=2026.34.0.dev3,<2026.34.0rc0
|
|
15
|
-
Requires-Dist: unique-internal-search>=2026.34.0.dev3,<2026.34.0rc0
|
|
16
|
-
Requires-Dist: unique-deep-research>=2026.34.0.dev3,<2026.34.0rc0
|
|
17
|
-
Requires-Dist: unique-web-search>=2026.34.0.dev5,<2026.34.0rc0
|
|
18
|
-
Requires-Dist: unique-swot>=2026.34.0.dev3,<2026.34.0rc0
|
|
19
|
-
Requires-Dist: unique-skill-tool>=2026.34.0.dev3,<2026.34.0rc0
|
|
20
|
-
Requires-Dist: unique-user-memory>=2026.34.0.dev3,<2026.34.0rc0
|
|
21
|
-
Requires-Dist: openai>=1.109.1,<3
|
|
22
|
-
Requires-Python: >=3.12, <4
|
|
23
|
-
Description-Content-Type: text/markdown
|
|
24
|
-
|
|
25
|
-
# Unique Orchestrator
|
|
26
|
-
|
|
27
|
-
Unique AI orchestrator agent to struct and direct subagents, tools and services
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|