unique_toolkit 2026.40.0rc2__tar.gz → 2026.42.0.dev0__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.40.0rc2 → unique_toolkit-2026.42.0.dev0}/PKG-INFO +2 -2
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/pyproject.toml +2 -2
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/__init__.py +2 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +6 -0
- unique_toolkit-2026.42.0.dev0/unique_toolkit/agentic/loop_runner/runners/prompt_forced_tool/__init__.py +9 -0
- unique_toolkit-2026.42.0.dev0/unique_toolkit/agentic/loop_runner/runners/prompt_forced_tool/helpers.py +32 -0
- unique_toolkit-2026.42.0.dev0/unique_toolkit/agentic/loop_runner/runners/prompt_forced_tool/runner.py +53 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic_table/service.py +22 -17
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/infos.py +209 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/README.md +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/history_manager/settings.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/message_log_order.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/names.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_container.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_files.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_memory.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/builder.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/office_preview.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/run_context.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/feature_flags.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/find_env_file.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/deprecated/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/README.md +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/_internal/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/_base.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/identity/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_model_params.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/feature_flags/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/feature_flags/client.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/group/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/group/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/user/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/resources/user/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/experimental/testing/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/invocation_stats.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/model_costs.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/settings.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/monitoring/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/monitoring/gunicorn.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/monitoring/memory.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/monitoring/middleware.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/monitoring/registry.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/monitoring/tracing.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/services/factory.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/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.
|
|
3
|
+
Version: 2026.42.0.dev0
|
|
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>
|
|
@@ -16,7 +16,7 @@ Requires-Dist: sseclient>=0.0.27,<0.0.28
|
|
|
16
16
|
Requires-Dist: openai>=1.105.0,<3
|
|
17
17
|
Requires-Dist: platformdirs>=4.0.0,<5
|
|
18
18
|
Requires-Dist: pillow>=12.1.1
|
|
19
|
-
Requires-Dist: unique-sdk>=2026.
|
|
19
|
+
Requires-Dist: unique-sdk>=2026.42.0.dev0,<2026.42.0rc0
|
|
20
20
|
Requires-Dist: jambo>=0.1.2,<0.2
|
|
21
21
|
Requires-Dist: jinja2>=3.1.6,<4
|
|
22
22
|
Requires-Dist: docxtpl>=0.20.1,<0.21
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "unique_toolkit"
|
|
3
|
-
version = "2026.
|
|
3
|
+
version = "2026.42.0.dev0"
|
|
4
4
|
description = ""
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -28,7 +28,7 @@ dependencies = [
|
|
|
28
28
|
"openai>=1.105.0,<3",
|
|
29
29
|
"platformdirs>=4.0.0,<5",
|
|
30
30
|
"pillow>=12.1.1",
|
|
31
|
-
"unique-sdk>=2026.
|
|
31
|
+
"unique-sdk>=2026.42.0.dev0,<2026.42.0rc0",
|
|
32
32
|
"jambo>=0.1.2,<0.2",
|
|
33
33
|
"jinja2>=3.1.6,<4",
|
|
34
34
|
"docxtpl>=0.20.1,<0.21",
|
|
@@ -21,6 +21,7 @@ from unique_toolkit.agentic.loop_runner.runners import (
|
|
|
21
21
|
BasicLoopIterationRunner,
|
|
22
22
|
BasicLoopIterationRunnerConfig,
|
|
23
23
|
MistralLoopIterationRunner,
|
|
24
|
+
PromptForcedToolLoopIterationRunner,
|
|
24
25
|
QwenLoopIterationRunner,
|
|
25
26
|
ResponsesBasicLoopIterationRunner,
|
|
26
27
|
)
|
|
@@ -34,6 +35,7 @@ __all__ = [
|
|
|
34
35
|
"BasicLoopIterationRunnerConfig",
|
|
35
36
|
"BasicLoopIterationRunner",
|
|
36
37
|
"MistralLoopIterationRunner",
|
|
38
|
+
"PromptForcedToolLoopIterationRunner",
|
|
37
39
|
"QwenLoopIterationRunner",
|
|
38
40
|
"handle_forced_tools_iteration",
|
|
39
41
|
"handle_last_iteration",
|
|
@@ -6,6 +6,10 @@ from unique_toolkit.agentic.loop_runner.runners.basic import (
|
|
|
6
6
|
from unique_toolkit.agentic.loop_runner.runners.mistral import (
|
|
7
7
|
MistralLoopIterationRunner,
|
|
8
8
|
)
|
|
9
|
+
from unique_toolkit.agentic.loop_runner.runners.prompt_forced_tool import (
|
|
10
|
+
PROMPT_FORCED_TOOL_CALL_INSTRUCTION,
|
|
11
|
+
PromptForcedToolLoopIterationRunner,
|
|
12
|
+
)
|
|
9
13
|
from unique_toolkit.agentic.loop_runner.runners.qwen import (
|
|
10
14
|
QWEN_FORCED_TOOL_CALL_INSTRUCTION,
|
|
11
15
|
QWEN_LAST_ITERATION_INSTRUCTION,
|
|
@@ -18,6 +22,8 @@ __all__ = [
|
|
|
18
22
|
"BasicLoopIterationRunner",
|
|
19
23
|
"ResponsesBasicLoopIterationRunner",
|
|
20
24
|
"MistralLoopIterationRunner",
|
|
25
|
+
"PROMPT_FORCED_TOOL_CALL_INSTRUCTION",
|
|
26
|
+
"PromptForcedToolLoopIterationRunner",
|
|
21
27
|
"QwenLoopIterationRunner",
|
|
22
28
|
"QWEN_FORCED_TOOL_CALL_INSTRUCTION",
|
|
23
29
|
"QWEN_LAST_ITERATION_INSTRUCTION",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from unique_toolkit.agentic.loop_runner.runners.prompt_forced_tool.runner import (
|
|
2
|
+
PROMPT_FORCED_TOOL_CALL_INSTRUCTION,
|
|
3
|
+
PromptForcedToolLoopIterationRunner,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
__all__ = [
|
|
7
|
+
"PROMPT_FORCED_TOOL_CALL_INSTRUCTION",
|
|
8
|
+
"PromptForcedToolLoopIterationRunner",
|
|
9
|
+
]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""Message helpers for models that reject a forced tool_choice."""
|
|
2
|
+
|
|
3
|
+
from unique_toolkit.language_model.schemas import (
|
|
4
|
+
LanguageModelMessageRole,
|
|
5
|
+
LanguageModelMessages,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def append_prompt_forced_tool_instruction(
|
|
10
|
+
*,
|
|
11
|
+
messages: LanguageModelMessages,
|
|
12
|
+
instruction: str,
|
|
13
|
+
) -> LanguageModelMessages:
|
|
14
|
+
"""Append a must-call instruction to the last user message.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
messages (LanguageModelMessages): Conversation copied for this tool.
|
|
18
|
+
instruction (str): Instruction that names the tool to call.
|
|
19
|
+
|
|
20
|
+
Returns:
|
|
21
|
+
LanguageModelMessages: A new message list with the instruction appended
|
|
22
|
+
when the last user message has string content.
|
|
23
|
+
"""
|
|
24
|
+
messages_list = list(messages)
|
|
25
|
+
for i in range(len(messages_list) - 1, -1, -1):
|
|
26
|
+
msg = messages_list[i]
|
|
27
|
+
if msg.role == LanguageModelMessageRole.USER and isinstance(msg.content, str):
|
|
28
|
+
messages_list[i] = msg.model_copy(
|
|
29
|
+
update={"content": msg.content + "\n" + instruction}
|
|
30
|
+
)
|
|
31
|
+
break
|
|
32
|
+
return LanguageModelMessages(root=messages_list)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Loop runner for models that reject forced tool_choice values."""
|
|
2
|
+
|
|
3
|
+
from typing import Unpack
|
|
4
|
+
|
|
5
|
+
from unique_toolkit.agentic.loop_runner._iteration_handler_utils import (
|
|
6
|
+
run_forced_tools_iteration,
|
|
7
|
+
)
|
|
8
|
+
from unique_toolkit.agentic.loop_runner.base import _LoopIterationRunnerKwargs
|
|
9
|
+
from unique_toolkit.agentic.loop_runner.runners.basic import (
|
|
10
|
+
BasicLoopIterationRunner,
|
|
11
|
+
)
|
|
12
|
+
from unique_toolkit.agentic.loop_runner.runners.prompt_forced_tool.helpers import (
|
|
13
|
+
append_prompt_forced_tool_instruction,
|
|
14
|
+
)
|
|
15
|
+
from unique_toolkit.chat.functions import LanguageModelStreamResponse
|
|
16
|
+
|
|
17
|
+
PROMPT_FORCED_TOOL_CALL_INSTRUCTION = (
|
|
18
|
+
"You must call the tool {TOOL_NAME}. Call it instead of replying with text."
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PromptForcedToolLoopIterationRunner(BasicLoopIterationRunner):
|
|
23
|
+
"""Runner for models that reject named and ``any`` tool choices.
|
|
24
|
+
|
|
25
|
+
Claude Opus 5.5 and Fable 5.1 return HTTP 400 for those ``tool_choice``
|
|
26
|
+
types. This runner keeps one request per forced tool, limits ``tools`` to
|
|
27
|
+
that tool, sends ``tool_choice="auto"``, and asks for the call in the prompt.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
async def _handle_forced_tools(
|
|
31
|
+
self,
|
|
32
|
+
**kwargs: Unpack[_LoopIterationRunnerKwargs],
|
|
33
|
+
) -> LanguageModelStreamResponse:
|
|
34
|
+
original_messages = kwargs["messages"].model_copy(deep=True)
|
|
35
|
+
|
|
36
|
+
def _prepare(
|
|
37
|
+
func_name: str | None,
|
|
38
|
+
per_choice_kwargs: _LoopIterationRunnerKwargs,
|
|
39
|
+
) -> _LoopIterationRunnerKwargs:
|
|
40
|
+
instruction = PROMPT_FORCED_TOOL_CALL_INSTRUCTION.format(
|
|
41
|
+
TOOL_NAME=func_name or ""
|
|
42
|
+
)
|
|
43
|
+
per_choice_kwargs["messages"] = append_prompt_forced_tool_instruction(
|
|
44
|
+
messages=original_messages,
|
|
45
|
+
instruction=instruction,
|
|
46
|
+
)
|
|
47
|
+
return per_choice_kwargs
|
|
48
|
+
|
|
49
|
+
return await run_forced_tools_iteration(
|
|
50
|
+
loop_runner_kwargs=kwargs,
|
|
51
|
+
prepare_loop_runner_kwargs=_prepare,
|
|
52
|
+
tool_choice_override="auto",
|
|
53
|
+
)
|
|
@@ -653,6 +653,8 @@ class AgenticTableService:
|
|
|
653
653
|
row_orders: list[int],
|
|
654
654
|
status: RowVerificationStatus,
|
|
655
655
|
locked: bool | None = None,
|
|
656
|
+
*,
|
|
657
|
+
emit_library_sheet_verified_event: bool | None = None,
|
|
656
658
|
):
|
|
657
659
|
"""Update the verification status of multiple rows at once.
|
|
658
660
|
|
|
@@ -660,24 +662,27 @@ class AgenticTableService:
|
|
|
660
662
|
row_orders: The row indexes to update.
|
|
661
663
|
status: The verification status to set (``NEEDS_REVIEW``, etc.; matches public API).
|
|
662
664
|
locked: When set, forwarded as ``locked`` on ``POST .../rows/bulk-update-status``.
|
|
665
|
+
emit_library_sheet_verified_event: When set, forwarded as
|
|
666
|
+
``emitLibrarySheetVerifiedEvent``. ``False`` marks the rows without
|
|
667
|
+
starting a ``LIBRARY_SHEET_ROW_VERIFIED`` run on library sheets; use it
|
|
668
|
+
when the caller has already ingested the rows. ``None`` omits the field
|
|
669
|
+
and keeps the server default (``True``). Servers that predate the field
|
|
670
|
+
reject it with a 400, so only set it against a backend that supports it.
|
|
663
671
|
"""
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
status=status,
|
|
679
|
-
locked=locked,
|
|
680
|
-
)
|
|
672
|
+
params: AgenticTable.BulkUpdateStatus = {
|
|
673
|
+
"tableId": self.table_id,
|
|
674
|
+
"rowOrders": row_orders,
|
|
675
|
+
"status": status,
|
|
676
|
+
}
|
|
677
|
+
if locked is not None:
|
|
678
|
+
params["locked"] = locked
|
|
679
|
+
if emit_library_sheet_verified_event is not None:
|
|
680
|
+
params["emitLibrarySheetVerifiedEvent"] = emit_library_sheet_verified_event
|
|
681
|
+
await AgenticTable.bulk_update_status(
|
|
682
|
+
user_id=self._user_id,
|
|
683
|
+
company_id=self._company_id,
|
|
684
|
+
**params,
|
|
685
|
+
)
|
|
681
686
|
|
|
682
687
|
async def import_questions_and_sources(
|
|
683
688
|
self,
|
{unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/language_model/infos.py
RENAMED
|
@@ -66,6 +66,8 @@ class LanguageModelName(StrEnum):
|
|
|
66
66
|
AZURE_GPT_56_TERRA_2026_0709 = "AZURE_GPT_56_TERRA_2026_0709"
|
|
67
67
|
AZURE_GPT_56_LUNA_2026_0709 = "AZURE_GPT_56_LUNA_2026_0709"
|
|
68
68
|
AZURE_GPT_6_ASTRA_2026_0903 = "AZURE_GPT_6_ASTRA_2026_0903"
|
|
69
|
+
AZURE_GPT_6_LUNA_2026_0922 = "AZURE_GPT_6_LUNA_2026_0922"
|
|
70
|
+
AZURE_GPT_6_SOL_2026_0922 = "AZURE_GPT_6_SOL_2026_0922"
|
|
69
71
|
AZURE_GPT_4o_2024_0513 = "AZURE_GPT_4o_2024_0513"
|
|
70
72
|
AZURE_GPT_4o_2024_0806 = "AZURE_GPT_4o_2024_0806"
|
|
71
73
|
AZURE_GPT_4o_2024_1120 = "AZURE_GPT_4o_2024_1120"
|
|
@@ -96,6 +98,7 @@ class LanguageModelName(StrEnum):
|
|
|
96
98
|
ANTHROPIC_CLAUDE_OPUS_4_7 = "litellm:anthropic-claude-opus-4-7"
|
|
97
99
|
ANTHROPIC_CLAUDE_OPUS_4_8 = "litellm:anthropic-claude-opus-4-8"
|
|
98
100
|
ANTHROPIC_CLAUDE_OPUS_5 = "litellm:anthropic-claude-opus-5"
|
|
101
|
+
ANTHROPIC_CLAUDE_OPUS_5_5 = "litellm:anthropic-claude-opus-5-5"
|
|
99
102
|
ANTHROPIC_CLAUDE_FABLE_5 = "litellm:anthropic-claude-fable-5"
|
|
100
103
|
GEMINI_2_0_FLASH = "litellm:gemini-2-0-flash"
|
|
101
104
|
GEMINI_2_5_FLASH = "litellm:gemini-2-5-flash"
|
|
@@ -107,12 +110,14 @@ class LanguageModelName(StrEnum):
|
|
|
107
110
|
GEMINI_2_5_PRO_PREVIEW_0605 = "litellm:gemini-2-5-pro-preview-06-05"
|
|
108
111
|
GEMINI_3_1_PRO_PREVIEW = "litellm:gemini-3-1-pro-preview"
|
|
109
112
|
GEMINI_3_6_FLASH = "litellm:gemini-3-6-flash"
|
|
113
|
+
GEMINI_3_8_FLASH = "litellm:gemini-3-8-flash"
|
|
110
114
|
GEMINI_3_FLASH_PREVIEW = "litellm:gemini-3-flash-preview"
|
|
111
115
|
GEMINI_3_PRO_PREVIEW = "litellm:gemini-3-pro-preview"
|
|
112
116
|
GROK_4_1_FAST_NON_REASONING = "litellm:grok-4-1-fast-non-reasoning"
|
|
113
117
|
GROK_4_1_FAST_REASONING = "litellm:grok-4-1-fast-reasoning"
|
|
114
118
|
GROK_4_5 = "litellm:grok-4-5"
|
|
115
119
|
GROK_4_6 = "litellm:grok-4-6"
|
|
120
|
+
GROK_4_7 = "litellm:grok-4-7"
|
|
116
121
|
LITELLM_OPENAI_GPT_5 = "litellm:openai-gpt-5"
|
|
117
122
|
LITELLM_OPENAI_GPT_5_MINI = "litellm:openai-gpt-5-mini"
|
|
118
123
|
LITELLM_OPENAI_GPT_5_NANO = "litellm:openai-gpt-5-nano"
|
|
@@ -130,6 +135,8 @@ class LanguageModelName(StrEnum):
|
|
|
130
135
|
LITELLM_OPENAI_GPT_56_TERRA = "litellm:openai-gpt-5-6-terra"
|
|
131
136
|
LITELLM_OPENAI_GPT_56_LUNA = "litellm:openai-gpt-5-6-luna"
|
|
132
137
|
LITELLM_OPENAI_GPT_6_ASTRA = "litellm:openai-gpt-6-astra"
|
|
138
|
+
LITELLM_OPENAI_GPT_6_LUNA = "litellm:openai-gpt-6-luna"
|
|
139
|
+
LITELLM_OPENAI_GPT_6_SOL = "litellm:openai-gpt-6-sol"
|
|
133
140
|
LITELLM_OPENAI_O1 = "litellm:openai-o1"
|
|
134
141
|
LITELLM_OPENAI_O3 = "litellm:openai-o3"
|
|
135
142
|
LITELLM_OPENAI_O3_DEEP_RESEARCH = "litellm:openai-o3-deep-research"
|
|
@@ -141,6 +148,7 @@ class LanguageModelName(StrEnum):
|
|
|
141
148
|
LITELLM_DEEPSEEK_R1 = "litellm:deepseek-r1"
|
|
142
149
|
LITELLM_DEEPSEEK_V3 = "litellm:deepseek-v3-1"
|
|
143
150
|
LITELLM_DEEPSEEK_V4_PRO = "litellm:deepseek-v4-pro"
|
|
151
|
+
LITELLM_DEEPSEEK_V4_1_FLASH = "litellm:deepseek-v4-1-flash"
|
|
144
152
|
LITELLM_GLM_5_1 = "litellm:glm-5.1"
|
|
145
153
|
LITELLM_GLM_5_2 = "litellm:glm-5.2"
|
|
146
154
|
LITELLM_PHOENIQS_DEEPSEEK_V4_FLASH = "litellm:phoeniqs-deepseek-v4-flash"
|
|
@@ -156,6 +164,7 @@ class LanguageModelName(StrEnum):
|
|
|
156
164
|
VERTEX_CLAUDE_OPUS_4_7 = "litellm:vertex-claude-opus-4-7"
|
|
157
165
|
VERTEX_CLAUDE_OPUS_4_8 = "litellm:vertex-claude-opus-4-8"
|
|
158
166
|
VERTEX_CLAUDE_OPUS_5 = "litellm:vertex-claude-opus-5"
|
|
167
|
+
VERTEX_CLAUDE_OPUS_5_5 = "litellm:vertex-claude-opus-5-5"
|
|
159
168
|
VERTEX_CLAUDE_FABLE_5 = "litellm:vertex-claude-fable-5"
|
|
160
169
|
|
|
161
170
|
|
|
@@ -224,6 +233,8 @@ def get_encoder_name(model_name: LanguageModelName) -> EncoderName:
|
|
|
224
233
|
| LMN.AZURE_GPT_56_TERRA_2026_0709
|
|
225
234
|
| LMN.AZURE_GPT_56_LUNA_2026_0709
|
|
226
235
|
| LMN.AZURE_GPT_6_ASTRA_2026_0903
|
|
236
|
+
| LMN.AZURE_GPT_6_LUNA_2026_0922
|
|
237
|
+
| LMN.AZURE_GPT_6_SOL_2026_0922
|
|
227
238
|
| LMN.AZURE_MODEL_ROUTER_2025_1118
|
|
228
239
|
| LMN.LITELLM_OPENAI_GPT_5
|
|
229
240
|
| LMN.LITELLM_OPENAI_GPT_5_MINI
|
|
@@ -242,6 +253,8 @@ def get_encoder_name(model_name: LanguageModelName) -> EncoderName:
|
|
|
242
253
|
| LMN.LITELLM_OPENAI_GPT_56_TERRA
|
|
243
254
|
| LMN.LITELLM_OPENAI_GPT_56_LUNA
|
|
244
255
|
| LMN.LITELLM_OPENAI_GPT_6_ASTRA
|
|
256
|
+
| LMN.LITELLM_OPENAI_GPT_6_LUNA
|
|
257
|
+
| LMN.LITELLM_OPENAI_GPT_6_SOL
|
|
245
258
|
| LMN.LITELLM_OPENAI_O1
|
|
246
259
|
| LMN.LITELLM_OPENAI_O3
|
|
247
260
|
| LMN.LITELLM_OPENAI_O3_DEEP_RESEARCH
|
|
@@ -360,6 +373,10 @@ class LanguageModelInfo(BaseModel):
|
|
|
360
373
|
|
|
361
374
|
supported_reasoning_efforts: list[ReasoningEffort] | None = None
|
|
362
375
|
|
|
376
|
+
# False for models that return HTTP 400 when tool_choice is a named tool or
|
|
377
|
+
# "any". Only "auto" and "none" are accepted there.
|
|
378
|
+
supports_forced_tool_choice: bool = True
|
|
379
|
+
|
|
363
380
|
_ENV_VAR: ClassVar[str] = "LANGUAGE_MODEL_INFOS"
|
|
364
381
|
|
|
365
382
|
def get_encoder(self) -> TypeEncoder:
|
|
@@ -1282,6 +1299,49 @@ class LanguageModelInfo(BaseModel):
|
|
|
1282
1299
|
"xhigh",
|
|
1283
1300
|
],
|
|
1284
1301
|
)
|
|
1302
|
+
case (
|
|
1303
|
+
LanguageModelName.AZURE_GPT_6_LUNA_2026_0922
|
|
1304
|
+
| LanguageModelName.AZURE_GPT_6_SOL_2026_0922
|
|
1305
|
+
):
|
|
1306
|
+
info_cutoff_at = {
|
|
1307
|
+
LanguageModelName.AZURE_GPT_6_LUNA_2026_0922: date(2026, 5, 18),
|
|
1308
|
+
LanguageModelName.AZURE_GPT_6_SOL_2026_0922: date(2026, 4, 20),
|
|
1309
|
+
}[model_name]
|
|
1310
|
+
return cls(
|
|
1311
|
+
name=model_name,
|
|
1312
|
+
provider=LanguageModelProvider.AZURE,
|
|
1313
|
+
family=ModelFamily.OPENAI,
|
|
1314
|
+
version="2026-09-22",
|
|
1315
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
1316
|
+
capabilities=[
|
|
1317
|
+
ModelCapabilities.CHAT_COMPLETIONS_API,
|
|
1318
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
1319
|
+
ModelCapabilities.PARALLEL_FUNCTION_CALLING,
|
|
1320
|
+
ModelCapabilities.REASONING,
|
|
1321
|
+
ModelCapabilities.RESPONSES_API,
|
|
1322
|
+
ModelCapabilities.STREAMING,
|
|
1323
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
1324
|
+
ModelCapabilities.VISION,
|
|
1325
|
+
],
|
|
1326
|
+
token_limits=LanguageModelTokenLimits(
|
|
1327
|
+
token_limit_input=922_000, token_limit_output=128_000
|
|
1328
|
+
),
|
|
1329
|
+
info_cutoff_at=info_cutoff_at,
|
|
1330
|
+
published_at=date(2026, 9, 22),
|
|
1331
|
+
temperature_bounds=TemperatureBounds(
|
|
1332
|
+
min_temperature=0.0, max_temperature=1.0
|
|
1333
|
+
),
|
|
1334
|
+
default_options={
|
|
1335
|
+
"reasoning_effort": "medium",
|
|
1336
|
+
},
|
|
1337
|
+
supported_reasoning_efforts=[
|
|
1338
|
+
"none",
|
|
1339
|
+
"low",
|
|
1340
|
+
"medium",
|
|
1341
|
+
"high",
|
|
1342
|
+
"xhigh",
|
|
1343
|
+
],
|
|
1344
|
+
)
|
|
1285
1345
|
case LanguageModelName.AZURE_GPT_4_TURBO_2024_0409:
|
|
1286
1346
|
return cls(
|
|
1287
1347
|
name=model_name,
|
|
@@ -1948,6 +2008,33 @@ class LanguageModelInfo(BaseModel):
|
|
|
1948
2008
|
published_at=date(2026, 7, 24),
|
|
1949
2009
|
supported_reasoning_efforts=[],
|
|
1950
2010
|
)
|
|
2011
|
+
case (
|
|
2012
|
+
LanguageModelName.ANTHROPIC_CLAUDE_OPUS_5_5
|
|
2013
|
+
| LanguageModelName.VERTEX_CLAUDE_OPUS_5_5
|
|
2014
|
+
):
|
|
2015
|
+
return cls(
|
|
2016
|
+
name=model_name,
|
|
2017
|
+
capabilities=[
|
|
2018
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
2019
|
+
ModelCapabilities.STREAMING,
|
|
2020
|
+
ModelCapabilities.VISION,
|
|
2021
|
+
ModelCapabilities.REASONING,
|
|
2022
|
+
],
|
|
2023
|
+
provider=LanguageModelProvider.LITELLM,
|
|
2024
|
+
family=ModelFamily.ANTHROPIC,
|
|
2025
|
+
version="claude-opus-5-5",
|
|
2026
|
+
encoder_name=EncoderName.O200K_BASE, # TODO: Update encoder with litellm
|
|
2027
|
+
token_limits=LanguageModelTokenLimits(
|
|
2028
|
+
# TODO: Remove the 1.3 adjustment once a proper Claude tokenizer is implemented. UN-24123
|
|
2029
|
+
# 1M context / 128K max output. https://platform.claude.com/docs/en/about-claude/models/overview
|
|
2030
|
+
token_limit_input=int(1_000_000 / 1.3),
|
|
2031
|
+
token_limit_output=int(128_000 / 1.3),
|
|
2032
|
+
),
|
|
2033
|
+
info_cutoff_at=date(2026, 6, 1),
|
|
2034
|
+
published_at=date(2026, 9, 22),
|
|
2035
|
+
supported_reasoning_efforts=[],
|
|
2036
|
+
supports_forced_tool_choice=False,
|
|
2037
|
+
)
|
|
1951
2038
|
case (
|
|
1952
2039
|
LanguageModelName.ANTHROPIC_CLAUDE_FABLE_5
|
|
1953
2040
|
| LanguageModelName.VERTEX_CLAUDE_FABLE_5
|
|
@@ -2184,6 +2271,33 @@ class LanguageModelInfo(BaseModel):
|
|
|
2184
2271
|
published_at=date(2026, 7, 21),
|
|
2185
2272
|
supported_reasoning_efforts=["minimal", "low", "medium", "high"],
|
|
2186
2273
|
)
|
|
2274
|
+
case LanguageModelName.GEMINI_3_8_FLASH:
|
|
2275
|
+
return cls(
|
|
2276
|
+
name=model_name,
|
|
2277
|
+
capabilities=[
|
|
2278
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
2279
|
+
ModelCapabilities.STREAMING,
|
|
2280
|
+
ModelCapabilities.VISION,
|
|
2281
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
2282
|
+
ModelCapabilities.REASONING,
|
|
2283
|
+
],
|
|
2284
|
+
provider=LanguageModelProvider.LITELLM,
|
|
2285
|
+
family=ModelFamily.GOOGLE,
|
|
2286
|
+
version="gemini-3-8-flash",
|
|
2287
|
+
encoder_name=EncoderName.O200K_BASE, # TODO: Update encoder with litellm
|
|
2288
|
+
token_limits=LanguageModelTokenLimits(
|
|
2289
|
+
# https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash
|
|
2290
|
+
token_limit_input=1_048_576,
|
|
2291
|
+
token_limit_output=65_536,
|
|
2292
|
+
),
|
|
2293
|
+
# https://deepmind.google/models/model-cards/gemini-3-8-flash/
|
|
2294
|
+
info_cutoff_at=date(2026, 3, 1),
|
|
2295
|
+
# https://ai.google.dev/gemini-api/docs/changelog
|
|
2296
|
+
published_at=date(2026, 9, 2),
|
|
2297
|
+
# minimal is rejected; default thinking level is medium when unset.
|
|
2298
|
+
# https://ai.google.dev/gemini-api/docs/models/gemini-3.8-flash
|
|
2299
|
+
supported_reasoning_efforts=["low", "medium", "high"],
|
|
2300
|
+
)
|
|
2187
2301
|
case LanguageModelName.GEMINI_3_FLASH_PREVIEW:
|
|
2188
2302
|
return cls(
|
|
2189
2303
|
name=model_name,
|
|
@@ -2322,6 +2436,34 @@ class LanguageModelInfo(BaseModel):
|
|
|
2322
2436
|
supported_reasoning_efforts=["low", "medium", "high", "xhigh"],
|
|
2323
2437
|
default_options={"reasoning_effort": "high"},
|
|
2324
2438
|
)
|
|
2439
|
+
case LanguageModelName.GROK_4_7:
|
|
2440
|
+
# Specs from https://docs.x.ai/developers/models/grok-4.7
|
|
2441
|
+
# Knowledge cutoff from https://docs.x.ai/developers/models
|
|
2442
|
+
# Published 2026-09-21: https://vercel.com/changelog/grok-4-7-now-available-and-40-off-on-ai-gateway-fx-eve
|
|
2443
|
+
return cls(
|
|
2444
|
+
name=model_name,
|
|
2445
|
+
capabilities=[
|
|
2446
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
2447
|
+
ModelCapabilities.REASONING,
|
|
2448
|
+
ModelCapabilities.STREAMING,
|
|
2449
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
2450
|
+
ModelCapabilities.VISION,
|
|
2451
|
+
],
|
|
2452
|
+
provider=LanguageModelProvider.LITELLM,
|
|
2453
|
+
family=ModelFamily.XAI,
|
|
2454
|
+
version="grok-4.7",
|
|
2455
|
+
encoder_name=EncoderName.O200K_BASE, # TODO: Update encoder with grok tokenizer
|
|
2456
|
+
token_limits=LanguageModelTokenLimits(
|
|
2457
|
+
# Context window is 500_000, we leave 20_000 tokens as buffer due to tokenizer mismatch
|
|
2458
|
+
# Assign 90% for input and 10% for output
|
|
2459
|
+
token_limit_input=int(480_000 * 0.9),
|
|
2460
|
+
token_limit_output=int(480_000 * 0.1),
|
|
2461
|
+
),
|
|
2462
|
+
info_cutoff_at=date(2026, 5, day=1),
|
|
2463
|
+
published_at=date(2026, 9, day=21),
|
|
2464
|
+
supported_reasoning_efforts=["low", "medium", "high", "xhigh"],
|
|
2465
|
+
default_options={"reasoning_effort": "high"},
|
|
2466
|
+
)
|
|
2325
2467
|
case LanguageModelName.LITELLM_OPENAI_GPT_5:
|
|
2326
2468
|
return cls(
|
|
2327
2469
|
name=model_name,
|
|
@@ -2799,6 +2941,49 @@ class LanguageModelInfo(BaseModel):
|
|
|
2799
2941
|
"xhigh",
|
|
2800
2942
|
],
|
|
2801
2943
|
)
|
|
2944
|
+
case (
|
|
2945
|
+
LanguageModelName.LITELLM_OPENAI_GPT_6_LUNA
|
|
2946
|
+
| LanguageModelName.LITELLM_OPENAI_GPT_6_SOL
|
|
2947
|
+
):
|
|
2948
|
+
info_cutoff_at = {
|
|
2949
|
+
LanguageModelName.LITELLM_OPENAI_GPT_6_LUNA: date(2026, 5, 18),
|
|
2950
|
+
LanguageModelName.LITELLM_OPENAI_GPT_6_SOL: date(2026, 4, 20),
|
|
2951
|
+
}[model_name]
|
|
2952
|
+
return cls(
|
|
2953
|
+
name=model_name,
|
|
2954
|
+
provider=LanguageModelProvider.LITELLM,
|
|
2955
|
+
family=ModelFamily.OPENAI,
|
|
2956
|
+
version="2026-09-22",
|
|
2957
|
+
encoder_name=EncoderName.O200K_BASE,
|
|
2958
|
+
capabilities=[
|
|
2959
|
+
ModelCapabilities.CHAT_COMPLETIONS_API,
|
|
2960
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
2961
|
+
ModelCapabilities.PARALLEL_FUNCTION_CALLING,
|
|
2962
|
+
ModelCapabilities.REASONING,
|
|
2963
|
+
ModelCapabilities.RESPONSES_API,
|
|
2964
|
+
ModelCapabilities.STREAMING,
|
|
2965
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
2966
|
+
ModelCapabilities.VISION,
|
|
2967
|
+
],
|
|
2968
|
+
token_limits=LanguageModelTokenLimits(
|
|
2969
|
+
token_limit_input=922_000, token_limit_output=128_000
|
|
2970
|
+
),
|
|
2971
|
+
info_cutoff_at=info_cutoff_at,
|
|
2972
|
+
published_at=date(2026, 9, 22),
|
|
2973
|
+
temperature_bounds=TemperatureBounds(
|
|
2974
|
+
min_temperature=0.0, max_temperature=1.0
|
|
2975
|
+
),
|
|
2976
|
+
default_options={
|
|
2977
|
+
"reasoning_effort": "medium",
|
|
2978
|
+
},
|
|
2979
|
+
supported_reasoning_efforts=[
|
|
2980
|
+
"none",
|
|
2981
|
+
"low",
|
|
2982
|
+
"medium",
|
|
2983
|
+
"high",
|
|
2984
|
+
"xhigh",
|
|
2985
|
+
],
|
|
2986
|
+
)
|
|
2802
2987
|
case LanguageModelName.LITELLM_OPENAI_O1:
|
|
2803
2988
|
return cls(
|
|
2804
2989
|
name=model_name,
|
|
@@ -3042,6 +3227,30 @@ class LanguageModelInfo(BaseModel):
|
|
|
3042
3227
|
published_at=date(2026, 1, 1),
|
|
3043
3228
|
supported_reasoning_efforts=[],
|
|
3044
3229
|
)
|
|
3230
|
+
case LanguageModelName.LITELLM_DEEPSEEK_V4_1_FLASH:
|
|
3231
|
+
return cls(
|
|
3232
|
+
name=model_name,
|
|
3233
|
+
provider=LanguageModelProvider.LITELLM,
|
|
3234
|
+
family=ModelFamily.DEEPSEEK,
|
|
3235
|
+
version="deepseek-v4-1-flash",
|
|
3236
|
+
encoder_name=EncoderName.DEEPSEEK,
|
|
3237
|
+
capabilities=[
|
|
3238
|
+
ModelCapabilities.FUNCTION_CALLING,
|
|
3239
|
+
ModelCapabilities.STRUCTURED_OUTPUT,
|
|
3240
|
+
ModelCapabilities.REASONING,
|
|
3241
|
+
ModelCapabilities.STREAMING,
|
|
3242
|
+
ModelCapabilities.VISION,
|
|
3243
|
+
],
|
|
3244
|
+
# 1M context and 384K max output. Alibaba Model Studio lists
|
|
3245
|
+
# max input 1_000_000 and max output 393_216; Together serves
|
|
3246
|
+
# maxTokens 384_000.
|
|
3247
|
+
# https://www.alibabacloud.com/help/en/model-studio/deepseek-v4-1-flash
|
|
3248
|
+
# https://pi.dev/models/together/deepseek-ai-deepseek-v4-1-flash
|
|
3249
|
+
token_limits=LanguageModelTokenLimits(
|
|
3250
|
+
token_limit_input=1_000_000, token_limit_output=384_000
|
|
3251
|
+
),
|
|
3252
|
+
supported_reasoning_efforts=[],
|
|
3253
|
+
)
|
|
3045
3254
|
case LanguageModelName.LITELLM_GLM_5_1:
|
|
3046
3255
|
return cls(
|
|
3047
3256
|
name=model_name,
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/_time_utils.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-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/event_bus.py
RENAMED
|
File without changes
|
{unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/unique_toolkit/_common/exception.py
RENAMED
|
File without changes
|
{unique_toolkit-2026.40.0rc2 → unique_toolkit-2026.42.0.dev0}/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
|