unique-toolkit 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.
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/PKG-INFO +1 -1
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/pyproject.toml +1 -1
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +51 -6
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/functions.py +11 -2
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/service.py +15 -1
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/README.md +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/history_manager/settings.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/message_log_order.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/names.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_container.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_files.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_memory.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/builder.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/run_context.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic_table/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/feature_flags.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/find_env_file.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/deprecated/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/README.md +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/_internal/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/_base.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/identity/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/feature_flags/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/feature_flags/client.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/group/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/group/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/user/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/resources/user/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/experimental/testing/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/invocation_stats.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/model_costs.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/settings.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/monitoring/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/monitoring/gunicorn.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/monitoring/middleware.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/monitoring/registry.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/monitoring/tracing.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/services/factory.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/test_utilities/events.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: unique-toolkit
|
|
3
|
-
Version: 2026.36.0.
|
|
3
|
+
Version: 2026.36.0.dev2
|
|
4
4
|
Summary:
|
|
5
5
|
Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
|
|
6
6
|
Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
|
|
@@ -4,9 +4,10 @@ import json
|
|
|
4
4
|
import logging
|
|
5
5
|
import mimetypes
|
|
6
6
|
import uuid
|
|
7
|
-
from typing import Any
|
|
7
|
+
from typing import Any
|
|
8
8
|
|
|
9
9
|
import unique_sdk
|
|
10
|
+
from pydantic import ValidationError
|
|
10
11
|
|
|
11
12
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
|
12
13
|
from unique_toolkit.agentic.feature_flags import FeatureFlagNames
|
|
@@ -21,6 +22,7 @@ from unique_toolkit.app.schemas import ChatEvent, McpServer, McpTool
|
|
|
21
22
|
from unique_toolkit.chat.schemas import MessageLog, MessageLogStatus
|
|
22
23
|
from unique_toolkit.chat.service import ChatService
|
|
23
24
|
from unique_toolkit.content.functions import upload_content_from_bytes
|
|
25
|
+
from unique_toolkit.content.schemas import ContentChunk, ContentReference
|
|
24
26
|
from unique_toolkit.experimental.resources.feature_flags import is_flag_enabled
|
|
25
27
|
from unique_toolkit.language_model import LanguageModelService
|
|
26
28
|
from unique_toolkit.language_model.schemas import (
|
|
@@ -30,6 +32,8 @@ from unique_toolkit.language_model.schemas import (
|
|
|
30
32
|
|
|
31
33
|
logger = logging.getLogger(__name__)
|
|
32
34
|
|
|
35
|
+
REFERENCE_META_KEY = "unique.app/reference"
|
|
36
|
+
|
|
33
37
|
|
|
34
38
|
class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
35
39
|
"""Wrapper class for MCP tools that implements the Tool interface"""
|
|
@@ -72,7 +76,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
72
76
|
parameters=self._mcp_tool.input_schema,
|
|
73
77
|
)
|
|
74
78
|
|
|
75
|
-
def _json_schema_to_python_type(self, schema:
|
|
79
|
+
def _json_schema_to_python_type(self, schema: dict[str, Any]) -> type:
|
|
76
80
|
"""Convert JSON schema type to Python type"""
|
|
77
81
|
json_type = schema.get("type", "string")
|
|
78
82
|
|
|
@@ -152,9 +156,14 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
152
156
|
# Use SDK to call the public API
|
|
153
157
|
result = await self._call_mcp_tool_via_sdk(arguments)
|
|
154
158
|
|
|
159
|
+
content_chunks, references = self._extract_structured_references(result)
|
|
155
160
|
content_str, image_data_urls = await asyncio.to_thread(
|
|
156
161
|
self._process_mcp_result, result
|
|
157
162
|
)
|
|
163
|
+
if content_chunks:
|
|
164
|
+
# Structured references already carry the text; keep any
|
|
165
|
+
# extracted images but drop the redundant flat text.
|
|
166
|
+
content_str = ""
|
|
158
167
|
|
|
159
168
|
# TODO: Why result here not applied directly to the body of the tool_response? like so how does it know the results in the history?
|
|
160
169
|
tool_response = ToolCallResponse(
|
|
@@ -167,6 +176,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
167
176
|
},
|
|
168
177
|
error_message="",
|
|
169
178
|
content=content_str,
|
|
179
|
+
content_chunks=content_chunks or None,
|
|
170
180
|
image_data_urls=image_data_urls,
|
|
171
181
|
)
|
|
172
182
|
|
|
@@ -187,6 +197,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
187
197
|
progress_message="_Completed MCP tool_",
|
|
188
198
|
status=MessageLogStatus.COMPLETED,
|
|
189
199
|
active_message_log=active_message_log,
|
|
200
|
+
references=references,
|
|
190
201
|
)
|
|
191
202
|
|
|
192
203
|
return tool_response
|
|
@@ -230,17 +241,19 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
230
241
|
progress_message: str | None = None,
|
|
231
242
|
status: MessageLogStatus = MessageLogStatus.RUNNING,
|
|
232
243
|
active_message_log: MessageLog | None = None,
|
|
244
|
+
references: list[ContentReference] | None = None,
|
|
233
245
|
) -> MessageLog | None:
|
|
234
246
|
return self._message_step_logger.create_or_update_message_log(
|
|
235
247
|
active_message_log=active_message_log,
|
|
236
248
|
header=self.display_name(),
|
|
237
249
|
progress_message=progress_message,
|
|
238
250
|
status=status,
|
|
251
|
+
references=references or [],
|
|
239
252
|
)
|
|
240
253
|
|
|
241
254
|
def _extract_and_validate_arguments(
|
|
242
255
|
self, tool_call: LanguageModelFunction
|
|
243
|
-
) ->
|
|
256
|
+
) -> dict[str, Any]:
|
|
244
257
|
"""
|
|
245
258
|
Extract and validate arguments from tool call, handling various formats robustly.
|
|
246
259
|
|
|
@@ -287,7 +300,39 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
287
300
|
f"Unexpected arguments type for MCP tool {self.name}: {type(raw_arguments)}"
|
|
288
301
|
)
|
|
289
302
|
|
|
290
|
-
def
|
|
303
|
+
def _extract_structured_references(
|
|
304
|
+
self, result: dict[str, Any]
|
|
305
|
+
) -> tuple[list[ContentChunk], list[ContentReference]]:
|
|
306
|
+
"""Opt-in: content items with valid ``unique.app/reference`` + chunk ``_meta``."""
|
|
307
|
+
chunks: list[ContentChunk] = []
|
|
308
|
+
references: list[ContentReference] = []
|
|
309
|
+
content_items = self._extract_content_items(result)
|
|
310
|
+
for item in content_items:
|
|
311
|
+
if not isinstance(item, dict) or item.get("type") != "text":
|
|
312
|
+
continue
|
|
313
|
+
meta = item.get("_meta")
|
|
314
|
+
if not isinstance(meta, dict):
|
|
315
|
+
continue
|
|
316
|
+
ref_payload = meta.get(REFERENCE_META_KEY)
|
|
317
|
+
if not isinstance(ref_payload, dict):
|
|
318
|
+
continue
|
|
319
|
+
try:
|
|
320
|
+
reference = ContentReference.model_validate(ref_payload)
|
|
321
|
+
chunk = ContentChunk.model_validate(
|
|
322
|
+
{k: v for k, v in meta.items() if k != REFERENCE_META_KEY}
|
|
323
|
+
)
|
|
324
|
+
except ValidationError:
|
|
325
|
+
self.logger.warning(
|
|
326
|
+
"MCP tool %s: ignoring invalid %s metadata",
|
|
327
|
+
self.name,
|
|
328
|
+
REFERENCE_META_KEY,
|
|
329
|
+
)
|
|
330
|
+
continue
|
|
331
|
+
references.append(reference)
|
|
332
|
+
chunks.append(chunk)
|
|
333
|
+
return chunks, references
|
|
334
|
+
|
|
335
|
+
def _process_mcp_result(self, result: dict[str, Any]) -> tuple[str, list[str]]:
|
|
291
336
|
"""Parse MCP result content array, upload images, return content string and data URLs."""
|
|
292
337
|
content_items = self._extract_content_items(result)
|
|
293
338
|
if not content_items:
|
|
@@ -327,7 +372,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
327
372
|
content_str = json.dumps(result)
|
|
328
373
|
return content_str, image_data_urls
|
|
329
374
|
|
|
330
|
-
def _extract_content_items(self, result:
|
|
375
|
+
def _extract_content_items(self, result: dict[str, Any]) -> list[Any]:
|
|
331
376
|
"""Extract content array from MCP result (handles various response shapes)."""
|
|
332
377
|
if "content" in result and isinstance(result["content"], list):
|
|
333
378
|
return result["content"]
|
|
@@ -378,7 +423,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
378
423
|
|
|
379
424
|
return data_url, content_id
|
|
380
425
|
|
|
381
|
-
async def _call_mcp_tool_via_sdk(self, arguments:
|
|
426
|
+
async def _call_mcp_tool_via_sdk(self, arguments: dict[str, Any]) -> dict[str, Any]:
|
|
382
427
|
"""Call MCP tool via SDK to public API"""
|
|
383
428
|
try:
|
|
384
429
|
self.logger.info(
|
|
@@ -46,12 +46,15 @@ logger = logging.getLogger(f"toolkit.language_model.{__name__}")
|
|
|
46
46
|
def _completion_headers(
|
|
47
47
|
chat_id: str | None,
|
|
48
48
|
assistant_id: str | None,
|
|
49
|
+
assistant_message_id: str | None = None,
|
|
49
50
|
) -> dict[str, str] | None:
|
|
50
51
|
headers: dict[str, str] = {}
|
|
51
52
|
if chat_id:
|
|
52
53
|
headers["x-chat-id"] = chat_id
|
|
53
54
|
if assistant_id:
|
|
54
55
|
headers["x-assistant-id"] = assistant_id
|
|
56
|
+
if assistant_message_id:
|
|
57
|
+
headers["x-assistant-message-id"] = assistant_message_id
|
|
55
58
|
return headers or None
|
|
56
59
|
|
|
57
60
|
|
|
@@ -68,6 +71,7 @@ def complete(
|
|
|
68
71
|
user_id: str | None = None,
|
|
69
72
|
chat_id: str | None = None,
|
|
70
73
|
assistant_id: str | None = None,
|
|
74
|
+
assistant_message_id: str | None = None,
|
|
71
75
|
) -> LanguageModelResponse:
|
|
72
76
|
"""Call the completion endpoint synchronously without streaming the response.
|
|
73
77
|
|
|
@@ -103,7 +107,7 @@ def complete(
|
|
|
103
107
|
)
|
|
104
108
|
|
|
105
109
|
try:
|
|
106
|
-
headers = _completion_headers(chat_id, assistant_id)
|
|
110
|
+
headers = _completion_headers(chat_id, assistant_id, assistant_message_id)
|
|
107
111
|
if headers is None:
|
|
108
112
|
response = unique_sdk.ChatCompletion.create(
|
|
109
113
|
company_id=company_id,
|
|
@@ -142,6 +146,7 @@ async def complete_async(
|
|
|
142
146
|
structured_output_enforce_schema: bool = False,
|
|
143
147
|
chat_id: str | None = None,
|
|
144
148
|
assistant_id: str | None = None,
|
|
149
|
+
assistant_message_id: str | None = None,
|
|
145
150
|
) -> LanguageModelResponse:
|
|
146
151
|
"""Call the completion endpoint asynchronously without streaming the response.
|
|
147
152
|
|
|
@@ -186,7 +191,7 @@ async def complete_async(
|
|
|
186
191
|
)
|
|
187
192
|
|
|
188
193
|
try:
|
|
189
|
-
headers = _completion_headers(chat_id, assistant_id)
|
|
194
|
+
headers = _completion_headers(chat_id, assistant_id, assistant_message_id)
|
|
190
195
|
if headers is None:
|
|
191
196
|
response = await unique_sdk.ChatCompletion.create_async(
|
|
192
197
|
company_id=company_id,
|
|
@@ -502,6 +507,7 @@ def complete_with_references(
|
|
|
502
507
|
other_options: dict[str, Any] | None = None,
|
|
503
508
|
chat_id: str | None = None,
|
|
504
509
|
assistant_id: str | None = None,
|
|
510
|
+
assistant_message_id: str | None = None,
|
|
505
511
|
) -> LanguageModelStreamResponse:
|
|
506
512
|
# Use toolkit language model functions for chat completion
|
|
507
513
|
|
|
@@ -516,6 +522,7 @@ def complete_with_references(
|
|
|
516
522
|
other_options=other_options,
|
|
517
523
|
chat_id=chat_id,
|
|
518
524
|
assistant_id=assistant_id,
|
|
525
|
+
assistant_message_id=assistant_message_id,
|
|
519
526
|
)
|
|
520
527
|
|
|
521
528
|
return _create_language_model_stream_response_with_references(
|
|
@@ -539,6 +546,7 @@ async def complete_with_references_async(
|
|
|
539
546
|
other_options: dict[str, Any] | None = None,
|
|
540
547
|
chat_id: str | None = None,
|
|
541
548
|
assistant_id: str | None = None,
|
|
549
|
+
assistant_message_id: str | None = None,
|
|
542
550
|
) -> LanguageModelStreamResponse:
|
|
543
551
|
# Use toolkit language model functions for chat completion
|
|
544
552
|
response = await complete_async(
|
|
@@ -552,6 +560,7 @@ async def complete_with_references_async(
|
|
|
552
560
|
other_options=other_options,
|
|
553
561
|
chat_id=chat_id,
|
|
554
562
|
assistant_id=assistant_id,
|
|
563
|
+
assistant_message_id=assistant_message_id,
|
|
555
564
|
)
|
|
556
565
|
|
|
557
566
|
return _create_language_model_stream_response_with_references(
|
|
@@ -5,7 +5,11 @@ from pydantic import BaseModel
|
|
|
5
5
|
from typing_extensions import deprecated
|
|
6
6
|
|
|
7
7
|
from unique_toolkit._common.validate_required_values import validate_required_values
|
|
8
|
-
from unique_toolkit.app.schemas import
|
|
8
|
+
from unique_toolkit.app.schemas import (
|
|
9
|
+
AssistantWebhookEvent,
|
|
10
|
+
BaseEvent,
|
|
11
|
+
ChatEventPayload,
|
|
12
|
+
)
|
|
9
13
|
from unique_toolkit.app.unique_settings import UniqueSettings
|
|
10
14
|
from unique_toolkit.content.schemas import ContentChunk
|
|
11
15
|
from unique_toolkit.language_model.constants import (
|
|
@@ -67,10 +71,13 @@ class LanguageModelService:
|
|
|
67
71
|
self._event = event
|
|
68
72
|
self._chat_id = None
|
|
69
73
|
self._assistant_id = None
|
|
74
|
+
self._assistant_message_id = None
|
|
70
75
|
if isinstance(event, AssistantWebhookEvent):
|
|
71
76
|
payload = event.payload
|
|
72
77
|
self._chat_id = payload.chat_id
|
|
73
78
|
self._assistant_id = payload.assistant_id
|
|
79
|
+
if isinstance(payload, ChatEventPayload):
|
|
80
|
+
self._assistant_message_id = payload.assistant_message.id
|
|
74
81
|
return
|
|
75
82
|
|
|
76
83
|
[company_id, user_id] = validate_required_values([company_id, user_id])
|
|
@@ -79,6 +86,7 @@ class LanguageModelService:
|
|
|
79
86
|
self._user_id: str = user_id
|
|
80
87
|
self._chat_id: str | None = None
|
|
81
88
|
self._assistant_id: str | None = None
|
|
89
|
+
self._assistant_message_id: str | None = None
|
|
82
90
|
|
|
83
91
|
@classmethod
|
|
84
92
|
def from_event(cls, event: BaseEvent[Any]):
|
|
@@ -89,6 +97,8 @@ class LanguageModelService:
|
|
|
89
97
|
if isinstance(event, AssistantWebhookEvent):
|
|
90
98
|
service._chat_id = event.payload.chat_id
|
|
91
99
|
service._assistant_id = event.payload.assistant_id
|
|
100
|
+
if isinstance(event.payload, ChatEventPayload):
|
|
101
|
+
service._assistant_message_id = event.payload.assistant_message.id
|
|
92
102
|
return service
|
|
93
103
|
|
|
94
104
|
@classmethod
|
|
@@ -251,6 +261,7 @@ class LanguageModelService:
|
|
|
251
261
|
structured_output_enforce_schema=structured_output_enforce_schema,
|
|
252
262
|
chat_id=self._chat_id,
|
|
253
263
|
assistant_id=self._assistant_id,
|
|
264
|
+
assistant_message_id=self._assistant_message_id,
|
|
254
265
|
)
|
|
255
266
|
|
|
256
267
|
async def complete_async(
|
|
@@ -281,6 +292,7 @@ class LanguageModelService:
|
|
|
281
292
|
structured_output_enforce_schema=structured_output_enforce_schema,
|
|
282
293
|
chat_id=self._chat_id,
|
|
283
294
|
assistant_id=self._assistant_id,
|
|
295
|
+
assistant_message_id=self._assistant_message_id,
|
|
284
296
|
)
|
|
285
297
|
|
|
286
298
|
@classmethod
|
|
@@ -344,6 +356,7 @@ class LanguageModelService:
|
|
|
344
356
|
start_text=start_text,
|
|
345
357
|
chat_id=self._chat_id,
|
|
346
358
|
assistant_id=self._assistant_id,
|
|
359
|
+
assistant_message_id=self._assistant_message_id,
|
|
347
360
|
)
|
|
348
361
|
|
|
349
362
|
async def complete_with_references_async(
|
|
@@ -371,4 +384,5 @@ class LanguageModelService:
|
|
|
371
384
|
start_text=start_text,
|
|
372
385
|
chat_id=self._chat_id,
|
|
373
386
|
assistant_id=self._assistant_id,
|
|
387
|
+
assistant_message_id=self._assistant_message_id,
|
|
374
388
|
)
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/__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
|
|
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-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/event_bus.py
RENAMED
|
File without changes
|
{unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/exception.py
RENAMED
|
File without changes
|
{unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/execution.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
|
|
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-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/_common/validators.py
RENAMED
|
File without changes
|
{unique_toolkit-2026.36.0.dev0 → unique_toolkit-2026.36.0.dev2}/unique_toolkit/agentic/__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
|
|
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
|