unique_toolkit 1.16.1__tar.gz → 1.16.2__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.16.1 → unique_toolkit-1.16.2}/CHANGELOG.md +2 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/PKG-INFO +3 -1
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/pyproject.toml +1 -1
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/api_calling/human_verification_manager.py +3 -3
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/endpoint_builder.py +15 -109
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/endpoint_requestor.py +26 -33
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/LICENSE +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/README.md +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_display.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_consolidate_references.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_postprocessor_reference_functions.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/test_utilities/events.py +0 -0
@@ -4,6 +4,8 @@ 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
|
+
## [1.16.2] - 2025-10-16
|
8
|
+
- Reduce operation dependency on path instead of full url
|
7
9
|
|
8
10
|
## [1.16.1] - 2025-10-16
|
9
11
|
- Update debug info for better tool call tracking
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: unique_toolkit
|
3
|
-
Version: 1.16.
|
3
|
+
Version: 1.16.2
|
4
4
|
Summary:
|
5
5
|
License: Proprietary
|
6
6
|
Author: Cedric Klinkert
|
@@ -117,6 +117,8 @@ 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
|
+
## [1.16.2] - 2025-10-16
|
121
|
+
- Reduce operation dependency on path instead of full url
|
120
122
|
|
121
123
|
## [1.16.1] - 2025-10-16
|
122
124
|
- Update debug info for better tool call tracking
|
@@ -280,9 +280,9 @@ if __name__ == "__main__":
|
|
280
280
|
class CombinedParams(GetUserPathParams, GetUserRequestBody):
|
281
281
|
pass
|
282
282
|
|
283
|
-
|
283
|
+
UserApiOperation = build_api_operation(
|
284
284
|
method=EndpointMethods.GET,
|
285
|
-
|
285
|
+
path_template=Template("/users/{user_id}"),
|
286
286
|
path_params_constructor=GetUserPathParams,
|
287
287
|
payload_constructor=GetUserRequestBody,
|
288
288
|
response_model_type=UserResponse,
|
@@ -290,7 +290,7 @@ if __name__ == "__main__":
|
|
290
290
|
|
291
291
|
human_verification_manager = HumanVerificationManagerForApiCalling(
|
292
292
|
logger=logging.getLogger(__name__),
|
293
|
-
operation=
|
293
|
+
operation=UserApiOperation,
|
294
294
|
requestor_type=RequestorType.FAKE,
|
295
295
|
return_value={"id": 100, "name": "John Doe"},
|
296
296
|
)
|
@@ -4,7 +4,7 @@ the endpoints without having to know the details of the endpoints.
|
|
4
4
|
"""
|
5
5
|
|
6
6
|
from enum import StrEnum
|
7
|
-
from string import
|
7
|
+
from string import Template
|
8
8
|
from typing import (
|
9
9
|
Any,
|
10
10
|
Callable,
|
@@ -16,7 +16,6 @@ from typing import (
|
|
16
16
|
)
|
17
17
|
|
18
18
|
from pydantic import BaseModel
|
19
|
-
from typing_extensions import deprecated
|
20
19
|
|
21
20
|
# Paramspecs
|
22
21
|
PayloadParamSpec = ParamSpec("PayloadParamSpec")
|
@@ -67,13 +66,12 @@ class ApiOperationProtocol(
|
|
67
66
|
def response_model() -> type[ResponseType]: ...
|
68
67
|
|
69
68
|
@staticmethod
|
70
|
-
def
|
69
|
+
def create_path(
|
71
70
|
*args: PathParamsSpec.args, **kwargs: PathParamsSpec.kwargs
|
72
71
|
) -> str: ...
|
73
72
|
|
74
73
|
@staticmethod
|
75
|
-
def
|
76
|
-
|
74
|
+
def create_path_from_model(path_params: PathParamsType) -> str: ...
|
77
75
|
@staticmethod
|
78
76
|
def create_payload(
|
79
77
|
*args: PayloadParamSpec.args, **kwargs: PayloadParamSpec.kwargs
|
@@ -98,7 +96,7 @@ class ApiOperationProtocol(
|
|
98
96
|
def build_api_operation(
|
99
97
|
*,
|
100
98
|
method: HttpMethods,
|
101
|
-
|
99
|
+
path_template: Template,
|
102
100
|
path_params_constructor: Callable[PathParamsSpec, PathParamsType],
|
103
101
|
payload_constructor: Callable[PayloadParamSpec, PayloadType],
|
104
102
|
response_model_type: type[ResponseType],
|
@@ -143,33 +141,19 @@ def build_api_operation(
|
|
143
141
|
return response_model_type
|
144
142
|
|
145
143
|
@staticmethod
|
146
|
-
def
|
147
|
-
|
148
|
-
**kwargs: PathParamsSpec.kwargs,
|
149
|
-
) -> str:
|
150
|
-
"""Create URL from path parameters."""
|
151
|
-
path_model = Operation.path_params_model()(*args, **kwargs)
|
152
|
-
path_dict = path_model.model_dump(**dump_options)
|
153
|
-
|
154
|
-
# Extract expected path parameters from template
|
155
|
-
template_params = [
|
156
|
-
fname
|
157
|
-
for _, fname, _, _ in Formatter().parse(url_template.template)
|
158
|
-
if fname is not None
|
159
|
-
]
|
160
|
-
|
161
|
-
# Verify all required path parameters are present
|
162
|
-
missing_params = [
|
163
|
-
param for param in template_params if param not in path_dict
|
164
|
-
]
|
165
|
-
if missing_params:
|
166
|
-
raise ValueError(f"Missing path parameters: {missing_params}")
|
167
|
-
|
168
|
-
return url_template.substitute(**path_dict)
|
144
|
+
def path_template() -> Template:
|
145
|
+
return path_template
|
169
146
|
|
170
147
|
@staticmethod
|
171
|
-
def
|
172
|
-
return
|
148
|
+
def create_path_from_model(path_params: PathParamsType) -> str:
|
149
|
+
return path_template.substitute(**path_params.model_dump(**dump_options))
|
150
|
+
|
151
|
+
@staticmethod
|
152
|
+
def create_path(
|
153
|
+
*args: PathParamsSpec.args, **kwargs: PathParamsSpec.kwargs
|
154
|
+
) -> str:
|
155
|
+
model = Operation.path_params_model()(*args, **kwargs)
|
156
|
+
return Operation.create_path_from_model(model)
|
173
157
|
|
174
158
|
@staticmethod
|
175
159
|
def create_payload(
|
@@ -204,81 +188,3 @@ def build_api_operation(
|
|
204
188
|
return path_params, payload
|
205
189
|
|
206
190
|
return Operation
|
207
|
-
|
208
|
-
|
209
|
-
@deprecated("Use ApiOperationProtocol instead")
|
210
|
-
class EndpointClassProtocol(ApiOperationProtocol):
|
211
|
-
pass
|
212
|
-
|
213
|
-
|
214
|
-
@deprecated("Use build_api_operation instead")
|
215
|
-
def build_endpoint_class(
|
216
|
-
*,
|
217
|
-
method: HttpMethods,
|
218
|
-
url_template: Template,
|
219
|
-
path_params_constructor: Callable[PathParamsSpec, PathParamsType],
|
220
|
-
payload_constructor: Callable[PayloadParamSpec, PayloadType],
|
221
|
-
response_model_type: type[ResponseType],
|
222
|
-
dump_options: dict | None = None,
|
223
|
-
) -> type[
|
224
|
-
ApiOperationProtocol[
|
225
|
-
PathParamsSpec,
|
226
|
-
PathParamsType,
|
227
|
-
PayloadParamSpec,
|
228
|
-
PayloadType,
|
229
|
-
ResponseType,
|
230
|
-
]
|
231
|
-
]:
|
232
|
-
return build_api_operation(
|
233
|
-
method=method,
|
234
|
-
url_template=url_template,
|
235
|
-
path_params_constructor=path_params_constructor,
|
236
|
-
payload_constructor=payload_constructor,
|
237
|
-
response_model_type=response_model_type,
|
238
|
-
dump_options=dump_options,
|
239
|
-
)
|
240
|
-
|
241
|
-
|
242
|
-
if __name__ == "__main__":
|
243
|
-
# Example models
|
244
|
-
class GetUserPathParams(BaseModel):
|
245
|
-
"""Path parameters for the user endpoint."""
|
246
|
-
|
247
|
-
user_id: int
|
248
|
-
|
249
|
-
class GetUserRequestBody(BaseModel):
|
250
|
-
"""Request body/query parameters for the user endpoint."""
|
251
|
-
|
252
|
-
include_profile: bool = False
|
253
|
-
|
254
|
-
class UserResponse(BaseModel):
|
255
|
-
"""Response model for user data."""
|
256
|
-
|
257
|
-
id: int
|
258
|
-
name: str
|
259
|
-
|
260
|
-
# Example usage of make_endpoint_class
|
261
|
-
UserOperation = build_endpoint_class(
|
262
|
-
url_template=Template("/users/${user_id}"),
|
263
|
-
path_params_constructor=GetUserPathParams,
|
264
|
-
payload_constructor=GetUserRequestBody,
|
265
|
-
response_model_type=UserResponse,
|
266
|
-
method=EndpointMethods.GET,
|
267
|
-
)
|
268
|
-
|
269
|
-
# Create URL from path parameters
|
270
|
-
url = UserOperation.create_url(user_id=123)
|
271
|
-
print(f"URL: {url}")
|
272
|
-
|
273
|
-
# Create payload from request body parameters
|
274
|
-
payload = UserOperation.create_payload(include_profile=True)
|
275
|
-
print(f"Payload: {payload}")
|
276
|
-
|
277
|
-
# Create response from endpoint
|
278
|
-
response = UserOperation.handle_response(
|
279
|
-
{
|
280
|
-
"id": 123,
|
281
|
-
"name": "John Doe",
|
282
|
-
}
|
283
|
-
)
|
284
|
-
print(f"Response: {response}")
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/endpoint_requestor.py
RENAMED
@@ -2,7 +2,7 @@ from enum import StrEnum
|
|
2
2
|
from typing import Any, Callable, Generic, Protocol, TypeVar
|
3
3
|
from urllib.parse import urljoin, urlparse
|
4
4
|
|
5
|
-
from pydantic import BaseModel
|
5
|
+
from pydantic import BaseModel, Field
|
6
6
|
from typing_extensions import ParamSpec
|
7
7
|
|
8
8
|
from unique_toolkit._common.endpoint_builder import (
|
@@ -25,25 +25,15 @@ CombinedParamsType = TypeVar("CombinedParamsType", bound=BaseModel)
|
|
25
25
|
ResponseT_co = TypeVar("ResponseT_co", bound=BaseModel, covariant=True)
|
26
26
|
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
If base_url is provided and url is absolute, strip the scheme/netloc from url.
|
32
|
-
"""
|
33
|
-
if not base_url:
|
34
|
-
return url
|
35
|
-
|
36
|
-
parsed = urlparse(url)
|
37
|
-
if parsed.scheme:
|
38
|
-
# URL is absolute, extract only path + query + fragment
|
39
|
-
url = parsed._replace(scheme="", netloc="").geturl()
|
28
|
+
class RequestContext(BaseModel):
|
29
|
+
base_url: str
|
30
|
+
headers: dict[str, str] = Field(default_factory=dict)
|
40
31
|
|
41
|
-
return urljoin(base_url, url)
|
42
32
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
33
|
+
def _verify_url(url: str) -> None:
|
34
|
+
parse_result = urlparse(url)
|
35
|
+
if not (parse_result.netloc and parse_result.scheme):
|
36
|
+
raise ValueError("Scheme and netloc are required for url")
|
47
37
|
|
48
38
|
|
49
39
|
class EndpointRequestorProtocol(Protocol, Generic[CombinedParamsSpec, ResponseT_co]):
|
@@ -142,12 +132,15 @@ def build_request_requestor(
|
|
142
132
|
combined=kwargs
|
143
133
|
)
|
144
134
|
|
145
|
-
|
135
|
+
path = cls._operation.create_path_from_model(path_params)
|
136
|
+
url = urljoin(context.base_url, path)
|
137
|
+
_verify_url(url)
|
138
|
+
|
146
139
|
payload = cls._operation.create_payload_from_model(payload_model)
|
147
140
|
|
148
141
|
response = requests.request(
|
149
142
|
method=cls._operation.request_method(),
|
150
|
-
url=
|
143
|
+
url=url,
|
151
144
|
headers=context.headers,
|
152
145
|
json=payload,
|
153
146
|
)
|
@@ -198,13 +191,13 @@ def build_httpx_requestor(
|
|
198
191
|
combined=kwargs
|
199
192
|
)
|
200
193
|
|
194
|
+
path = cls._operation.create_path_from_model(path_params)
|
195
|
+
url = urljoin(context.base_url, path)
|
196
|
+
_verify_url(url)
|
201
197
|
with httpx.Client() as client:
|
202
198
|
response = client.request(
|
203
199
|
method=cls._operation.request_method(),
|
204
|
-
url=
|
205
|
-
base_url=context.base_url,
|
206
|
-
url=cls._operation.create_url_from_model(path_params),
|
207
|
-
),
|
200
|
+
url=url,
|
208
201
|
headers=headers,
|
209
202
|
json=cls._operation.create_payload_from_model(payload_model),
|
210
203
|
)
|
@@ -223,13 +216,13 @@ def build_httpx_requestor(
|
|
223
216
|
combined=kwargs
|
224
217
|
)
|
225
218
|
|
219
|
+
path = cls._operation.create_path_from_model(path_params)
|
220
|
+
url = urljoin(context.base_url, path)
|
221
|
+
_verify_url(url)
|
226
222
|
async with httpx.AsyncClient() as client:
|
227
223
|
response = await client.request(
|
228
224
|
method=cls._operation.request_method(),
|
229
|
-
url=
|
230
|
-
base_url=context.base_url,
|
231
|
-
url=cls._operation.create_url_from_model(path_params),
|
232
|
-
),
|
225
|
+
url=url,
|
233
226
|
headers=headers,
|
234
227
|
json=cls._operation.create_payload_from_model(payload_model),
|
235
228
|
)
|
@@ -279,14 +272,14 @@ def build_aiohttp_requestor(
|
|
279
272
|
path_params, payload_model = cls._operation.models_from_combined(
|
280
273
|
combined=kwargs
|
281
274
|
)
|
275
|
+
path = cls._operation.create_path_from_model(path_params)
|
276
|
+
url = urljoin(context.base_url, path)
|
277
|
+
_verify_url(url)
|
282
278
|
|
283
279
|
async with aiohttp.ClientSession() as session:
|
284
280
|
response = await session.request(
|
285
281
|
method=cls._operation.request_method(),
|
286
|
-
url=
|
287
|
-
base_url=context.base_url,
|
288
|
-
url=cls._operation.create_url_from_model(path_params),
|
289
|
-
),
|
282
|
+
url=url,
|
290
283
|
headers=headers,
|
291
284
|
json=cls._operation.create_payload_from_model(payload_model),
|
292
285
|
)
|
@@ -360,7 +353,7 @@ if __name__ == "__main__":
|
|
360
353
|
|
361
354
|
UserEndpoint = build_api_operation(
|
362
355
|
method=HttpMethods.GET,
|
363
|
-
|
356
|
+
path_template=Template("/users/{user_id}"),
|
364
357
|
path_params_constructor=GetUserPathParams,
|
365
358
|
payload_constructor=GetUserRequestBody,
|
366
359
|
response_model_type=UserResponse,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/default_language_model.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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.16.1 → unique_toolkit-1.16.2}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/responses_api/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/config.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/a2a/tool/service.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/mcp/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/openai_builtin/base.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.16.1 → unique_toolkit-1.16.2}/unique_toolkit/agentic/tools/tool_manager.py
RENAMED
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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.16.1 → unique_toolkit-1.16.2}/unique_toolkit/app/performance/async_tasks.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/framework_utilities/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/__init__.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/constants.py
RENAMED
File without changes
|
{unique_toolkit-1.16.1 → unique_toolkit-1.16.2}/unique_toolkit/short_term_memory/functions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|