unique_toolkit 1.11.3__tar.gz → 1.12.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.
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/CHANGELOG.md +9 -1
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/PKG-INFO +10 -2
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/pyproject.toml +1 -1
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/service.py +16 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/openai/message_builder.py +85 -1
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/LICENSE +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/README.md +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_consolidate_references.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_postprocessor_reference_functions.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/knowledge_base.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -4,7 +4,15 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
|
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.12.0] - 2026-10-07
|
9
|
+
- Add the `OpenAIUserMessageBuilder` for complex user messages with images
|
10
|
+
- More examples with documents/images on the chat
|
11
|
+
|
12
|
+
## [1.11.4] - 2026-10-07
|
13
|
+
- Make newer `MessageExecution` and `MessageLog` method keyword only
|
14
|
+
|
15
|
+
## [1.11.3] - 2026-10-07
|
8
16
|
- Move smart rules to content
|
9
17
|
- Add to documentation
|
10
18
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: unique_toolkit
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.12.0
|
4
4
|
Summary:
|
5
5
|
License: Proprietary
|
6
6
|
Author: Cedric Klinkert
|
@@ -117,7 +117,15 @@ All notable changes to this project will be documented in this file.
|
|
117
117
|
|
118
118
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
119
119
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
120
|
-
|
120
|
+
|
121
|
+
## [1.12.0] - 2026-10-07
|
122
|
+
- Add the `OpenAIUserMessageBuilder` for complex user messages with images
|
123
|
+
- More examples with documents/images on the chat
|
124
|
+
|
125
|
+
## [1.11.4] - 2026-10-07
|
126
|
+
- Make newer `MessageExecution` and `MessageLog` method keyword only
|
127
|
+
|
128
|
+
## [1.11.3] - 2026-10-07
|
121
129
|
- Move smart rules to content
|
122
130
|
- Add to documentation
|
123
131
|
|
@@ -714,6 +714,7 @@ class ChatService(ChatServiceDeprecated):
|
|
714
714
|
|
715
715
|
def create_message_log(
|
716
716
|
self,
|
717
|
+
*,
|
717
718
|
message_id: str,
|
718
719
|
text: str,
|
719
720
|
status: MessageLogStatus,
|
@@ -754,6 +755,7 @@ class ChatService(ChatServiceDeprecated):
|
|
754
755
|
|
755
756
|
async def create_message_log_async(
|
756
757
|
self,
|
758
|
+
*,
|
757
759
|
message_id: str,
|
758
760
|
text: str,
|
759
761
|
status: MessageLogStatus,
|
@@ -794,6 +796,7 @@ class ChatService(ChatServiceDeprecated):
|
|
794
796
|
|
795
797
|
def update_message_log(
|
796
798
|
self,
|
799
|
+
*,
|
797
800
|
message_log_id: str,
|
798
801
|
order: int,
|
799
802
|
text: str | None = None,
|
@@ -834,6 +837,7 @@ class ChatService(ChatServiceDeprecated):
|
|
834
837
|
|
835
838
|
async def update_message_log_async(
|
836
839
|
self,
|
840
|
+
*,
|
837
841
|
message_log_id: str,
|
838
842
|
order: int,
|
839
843
|
text: str | None = None,
|
@@ -874,6 +878,7 @@ class ChatService(ChatServiceDeprecated):
|
|
874
878
|
|
875
879
|
def create_assistant_message_log(
|
876
880
|
self,
|
881
|
+
*,
|
877
882
|
text: str,
|
878
883
|
status: MessageLogStatus,
|
879
884
|
order: int,
|
@@ -912,6 +917,7 @@ class ChatService(ChatServiceDeprecated):
|
|
912
917
|
|
913
918
|
async def create_assistant_message_log_async(
|
914
919
|
self,
|
920
|
+
*,
|
915
921
|
text: str,
|
916
922
|
status: MessageLogStatus,
|
917
923
|
order: int,
|
@@ -953,6 +959,7 @@ class ChatService(ChatServiceDeprecated):
|
|
953
959
|
|
954
960
|
def create_message_execution(
|
955
961
|
self,
|
962
|
+
*,
|
956
963
|
message_id: str,
|
957
964
|
type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
|
958
965
|
seconds_remaining: int | None = None,
|
@@ -985,6 +992,7 @@ class ChatService(ChatServiceDeprecated):
|
|
985
992
|
|
986
993
|
async def create_message_execution_async(
|
987
994
|
self,
|
995
|
+
*,
|
988
996
|
message_id: str,
|
989
997
|
type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
|
990
998
|
seconds_remaining: int | None = None,
|
@@ -1017,6 +1025,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1017
1025
|
|
1018
1026
|
def get_message_execution(
|
1019
1027
|
self,
|
1028
|
+
*,
|
1020
1029
|
message_id: str,
|
1021
1030
|
) -> MessageExecution:
|
1022
1031
|
"""Gets a message execution by message ID synchronously.
|
@@ -1039,6 +1048,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1039
1048
|
|
1040
1049
|
async def get_message_execution_async(
|
1041
1050
|
self,
|
1051
|
+
*,
|
1042
1052
|
message_id: str,
|
1043
1053
|
) -> MessageExecution:
|
1044
1054
|
"""Gets a message execution by message ID asynchronously.
|
@@ -1061,6 +1071,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1061
1071
|
|
1062
1072
|
def update_message_execution(
|
1063
1073
|
self,
|
1074
|
+
*,
|
1064
1075
|
message_id: str,
|
1065
1076
|
status: MessageExecutionUpdateStatus,
|
1066
1077
|
seconds_remaining: int | None = None,
|
@@ -1092,6 +1103,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1092
1103
|
|
1093
1104
|
async def update_message_execution_async(
|
1094
1105
|
self,
|
1106
|
+
*,
|
1095
1107
|
message_id: str,
|
1096
1108
|
status: MessageExecutionUpdateStatus,
|
1097
1109
|
seconds_remaining: int | None = None,
|
@@ -1123,6 +1135,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1123
1135
|
|
1124
1136
|
def create_assistant_message_execution(
|
1125
1137
|
self,
|
1138
|
+
*,
|
1126
1139
|
type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
|
1127
1140
|
seconds_remaining: int | None = None,
|
1128
1141
|
percentage_completed: int | None = None,
|
@@ -1152,6 +1165,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1152
1165
|
|
1153
1166
|
async def create_assistant_message_execution_async(
|
1154
1167
|
self,
|
1168
|
+
*,
|
1155
1169
|
type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
|
1156
1170
|
seconds_remaining: int | None = None,
|
1157
1171
|
percentage_completed: int | None = None,
|
@@ -1211,6 +1225,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1211
1225
|
|
1212
1226
|
def update_assistant_message_execution(
|
1213
1227
|
self,
|
1228
|
+
*,
|
1214
1229
|
status: MessageExecutionUpdateStatus,
|
1215
1230
|
seconds_remaining: int | None = None,
|
1216
1231
|
percentage_completed: int | None = None,
|
@@ -1240,6 +1255,7 @@ class ChatService(ChatServiceDeprecated):
|
|
1240
1255
|
|
1241
1256
|
async def update_assistant_message_execution_async(
|
1242
1257
|
self,
|
1258
|
+
*,
|
1243
1259
|
status: MessageExecutionUpdateStatus,
|
1244
1260
|
seconds_remaining: int | None = None,
|
1245
1261
|
percentage_completed: int | None = None,
|
@@ -1,5 +1,8 @@
|
|
1
|
+
import base64
|
2
|
+
import mimetypes
|
1
3
|
from collections.abc import Iterable
|
2
|
-
from
|
4
|
+
from pathlib import Path
|
5
|
+
from typing import Self, overload
|
3
6
|
|
4
7
|
from openai.types.chat.chat_completion_assistant_message_param import (
|
5
8
|
Audio,
|
@@ -7,6 +10,10 @@ from openai.types.chat.chat_completion_assistant_message_param import (
|
|
7
10
|
ContentArrayOfContentPart,
|
8
11
|
FunctionCall,
|
9
12
|
)
|
13
|
+
from openai.types.chat.chat_completion_content_part_image_param import (
|
14
|
+
ChatCompletionContentPartImageParam,
|
15
|
+
ImageURL,
|
16
|
+
)
|
10
17
|
from openai.types.chat.chat_completion_content_part_param import (
|
11
18
|
ChatCompletionContentPartParam,
|
12
19
|
)
|
@@ -32,6 +39,83 @@ from openai.types.chat.chat_completion_tool_message_param import (
|
|
32
39
|
from openai.types.chat.chat_completion_user_message_param import (
|
33
40
|
ChatCompletionUserMessageParam,
|
34
41
|
)
|
42
|
+
from typing_extensions import Literal
|
43
|
+
|
44
|
+
|
45
|
+
class OpenAIUserMessageBuilder:
|
46
|
+
def __init__(
|
47
|
+
self,
|
48
|
+
) -> None:
|
49
|
+
self._messages: list[ChatCompletionContentPartParam] = []
|
50
|
+
|
51
|
+
def append_text(self, content: str) -> Self:
|
52
|
+
part = ChatCompletionContentPartTextParam(
|
53
|
+
type="text",
|
54
|
+
text=content,
|
55
|
+
)
|
56
|
+
self._messages.append(part)
|
57
|
+
return self
|
58
|
+
|
59
|
+
@overload
|
60
|
+
def append_image(
|
61
|
+
self, *, url: str, detail: Literal["auto", "low", "high"] = "auto"
|
62
|
+
) -> Self: ...
|
63
|
+
|
64
|
+
@overload
|
65
|
+
def append_image(
|
66
|
+
self, *, path: Path, detail: Literal["auto", "low", "high"] = "auto"
|
67
|
+
) -> Self: ...
|
68
|
+
|
69
|
+
@overload
|
70
|
+
def append_image(
|
71
|
+
self,
|
72
|
+
*,
|
73
|
+
content: bytes,
|
74
|
+
mime_type: str,
|
75
|
+
detail: Literal["auto", "low", "high"] = "auto",
|
76
|
+
) -> Self: ...
|
77
|
+
|
78
|
+
def append_image(
|
79
|
+
self,
|
80
|
+
*,
|
81
|
+
url: str | None = None,
|
82
|
+
path: Path | None = None,
|
83
|
+
content: bytes | None = None,
|
84
|
+
mime_type: str | None = None,
|
85
|
+
detail: Literal["auto", "low", "high"] = "auto",
|
86
|
+
) -> Self:
|
87
|
+
if url is None and path is None and (content is None or mime_type is None):
|
88
|
+
raise ValueError("Either url or path must be provided")
|
89
|
+
|
90
|
+
if path is not None:
|
91
|
+
# Read image file and encode as base64 data URI
|
92
|
+
image_data = path.read_bytes()
|
93
|
+
base64_image = base64.b64encode(image_data).decode("utf-8")
|
94
|
+
mime_type = mimetypes.guess_type(str(path))[0] or "image/jpeg"
|
95
|
+
url = f"data:{mime_type};base64,{base64_image}"
|
96
|
+
|
97
|
+
if content is not None and mime_type is not None:
|
98
|
+
base64_image = base64.b64encode(content).decode("utf-8")
|
99
|
+
url = f"data:{mime_type};base64,{base64_image}"
|
100
|
+
|
101
|
+
image_url = ImageURL(url=url or "", detail=detail)
|
102
|
+
part = ChatCompletionContentPartImageParam(
|
103
|
+
type="image_url",
|
104
|
+
image_url=image_url,
|
105
|
+
)
|
106
|
+
self._messages.append(part)
|
107
|
+
return self
|
108
|
+
|
109
|
+
@property
|
110
|
+
def user_message(self) -> ChatCompletionUserMessageParam:
|
111
|
+
return ChatCompletionUserMessageParam(
|
112
|
+
content=self._messages,
|
113
|
+
role="user",
|
114
|
+
)
|
115
|
+
|
116
|
+
@property
|
117
|
+
def iterable_content(self) -> Iterable[ChatCompletionContentPartParam]:
|
118
|
+
return self._messages
|
35
119
|
|
36
120
|
|
37
121
|
class OpenAIMessageBuilder:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/base_model_type_attribute.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/default_language_model.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/endpoint_requestor.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/token/token_counting.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/_common/validate_required_values.py
RENAMED
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
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/exception.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/evaluation/schemas.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/__init__.py
RENAMED
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
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/config.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/a2a/tool/service.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/mcp/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/tool_manager.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/agentic/tools/utils/__init__.py
RENAMED
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
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/performance/async_tasks.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/app/performance/async_wrapper.py
RENAMED
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
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/framework_utilities/openai/client.py
RENAMED
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
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/constants.py
RENAMED
File without changes
|
{unique_toolkit-1.11.3 → unique_toolkit-1.12.0}/unique_toolkit/short_term_memory/functions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|