unique_orchestrator 2026.36.0.dev0__tar.gz → 2026.36.0.dev2__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.
Files changed (34) hide show
  1. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/PKG-INFO +3 -3
  2. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/pyproject.toml +3 -3
  3. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/config.py +4 -3
  4. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/unique_ai_builder.py +2 -0
  5. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/README.md +0 -0
  6. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/__init__.py +0 -0
  7. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/_builders/__init__.py +0 -0
  8. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/_builders/history_manager.py +0 -0
  9. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/_builders/inject_tool_reminders.py +0 -0
  10. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/_builders/loop_iteration_runner.py +0 -0
  11. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/_builders/open_file_setup.py +0 -0
  12. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/_builders/skill_setup.py +0 -0
  13. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/prompts/generic_reference_prompt.jinja2 +0 -0
  14. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/prompts/system_prompt.jinja2 +0 -0
  15. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/prompts/user_message_prompt.jinja2 +0 -0
  16. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/settings.py +0 -0
  17. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_agent_config_rjsf_ui_schema.py +0 -0
  18. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_build_loop_iteration_runner.py +0 -0
  19. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_config_services_validators.py +0 -0
  20. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_qwen_max_loop_iterations.py +0 -0
  21. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_register_code_interpreter_postprocessors.py +0 -0
  22. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_async_modify.py +0 -0
  23. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_execution_timing.py +0 -0
  24. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_get_filtered_user_metadata.py +0 -0
  25. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_log_tool_calls.py +0 -0
  26. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_loop_debug_params.py +0 -0
  27. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_persist_tool_calls.py +0 -0
  28. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_plan_or_execute_include.py +0 -0
  29. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_reference_order.py +0 -0
  30. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_render_system_prompt_user_instructions.py +0 -0
  31. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_unique_ai_token_usage.py +0 -0
  32. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/tests/test_utils_resolve_other_options.py +0 -0
  33. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/unique_ai.py +0 -0
  34. {unique_orchestrator-2026.36.0.dev0 → unique_orchestrator-2026.36.0.dev2}/unique_orchestrator/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-orchestrator
3
- Version: 2026.36.0.dev0
3
+ Version: 2026.36.0.dev2
4
4
  Summary:
5
5
  Author: Andreas Hauri
6
6
  Author-email: Andreas Hauri <andreas.hauri@unique.ai>
@@ -9,9 +9,9 @@ Requires-Dist: pydantic>=2.8.2,<3
9
9
  Requires-Dist: pydantic-settings>=2.10.1,<3
10
10
  Requires-Dist: typing-extensions>=4.9.0,<5
11
11
  Requires-Dist: jinja2>=3.1.0,<4
12
- Requires-Dist: unique-toolkit>=2026.36.0.dev0,<2026.36.0rc0
12
+ Requires-Dist: unique-toolkit>=2026.36.0.dev2,<2026.36.0rc0
13
13
  Requires-Dist: unique-stock-ticker>=2026.36.0.dev0,<2026.36.0rc0
14
- Requires-Dist: unique-follow-up-questions>=2026.36.0.dev0,<2026.36.0rc0
14
+ Requires-Dist: unique-follow-up-questions>=2026.36.0.dev1,<2026.36.0rc0
15
15
  Requires-Dist: unique-internal-search>=2026.36.0.dev0,<2026.36.0rc0
16
16
  Requires-Dist: unique-deep-research>=2026.36.0.dev0,<2026.36.0rc0
17
17
  Requires-Dist: unique-web-search>=2026.36.0.dev0,<2026.36.0rc0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_orchestrator"
3
- version = "2026.36.0.dev0"
3
+ version = "2026.36.0.dev2"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  license = { text = "Proprietary" }
@@ -13,9 +13,9 @@ 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.36.0.dev0,<2026.36.0rc0",
16
+ "unique-toolkit>=2026.36.0.dev2,<2026.36.0rc0",
17
17
  "unique-stock-ticker>=2026.36.0.dev0,<2026.36.0rc0",
18
- "unique-follow-up-questions>=2026.36.0.dev0,<2026.36.0rc0",
18
+ "unique-follow-up-questions>=2026.36.0.dev1,<2026.36.0rc0",
19
19
  "unique-internal-search>=2026.36.0.dev0,<2026.36.0rc0",
20
20
  "unique-deep-research>=2026.36.0.dev0,<2026.36.0rc0",
21
21
  "unique-web-search>=2026.36.0.dev0,<2026.36.0rc0",
@@ -114,13 +114,14 @@ class SwitchableLanguageModelConfig(BaseToolConfig):
114
114
  )
115
115
  additional_llm_options: dict[str, Any] | None = Field(
116
116
  default=None,
117
- # The node backend forwards this key as `additionalLLMOptions` (LLM
118
- # uppercase), which the `to_camel` alias generator would not match.
117
+ # Explicit aliases skip `to_camel`; keep the schema camelCase while also
118
+ # accepting the node key `additionalLLMOptions` (LLM uppercase).
119
119
  validation_alias=AliasChoices(
120
- "additional_llm_options",
121
120
  "additionalLlmOptions",
122
121
  "additionalLLMOptions",
122
+ "additional_llm_options",
123
123
  ),
124
+ serialization_alias="additionalLlmOptions",
124
125
  description=(
125
126
  "Optional per-model provider-specific request options (e.g. "
126
127
  "`reasoning_effort`) shallow-merged into "
@@ -537,6 +537,7 @@ async def _build_responses(
537
537
  "x-company-id": event.company_id,
538
538
  "x-assistant-id": event.payload.assistant_id,
539
539
  "x-chat-id": event.payload.chat_id,
540
+ "x-assistant-message-id": event.payload.assistant_message.id,
540
541
  }
541
542
  )
542
543
 
@@ -651,6 +652,7 @@ async def _build_responses(
651
652
  "x-company-id": event.company_id,
652
653
  "x-assistant-id": event.payload.assistant_id,
653
654
  "x-chat-id": event.payload.chat_id,
655
+ "x-assistant-message-id": event.payload.assistant_message.id,
654
656
  },
655
657
  )
656
658
  else: