unique_toolkit 2026.34.0__tar.gz → 2026.34.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.34.0 → unique_toolkit-2026.34.0.dev0}/PKG-INFO +2 -7
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/pyproject.toml +3 -22
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -6
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -4
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -2
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +1 -8
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +1 -15
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -48
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/feature_flags/__init__.py +1 -2
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/feature_flags/feature_flags.py +1 -36
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/history_manager/history_manager.py +4 -8
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +3 -16
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/history_manager/utils.py +4 -6
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/service.py +6 -5
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +16 -11
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +7 -11
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +23 -28
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic_table/__init__.py +0 -2
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic_table/schemas.py +0 -21
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic_table/service.py +26 -174
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/unique_settings.py +2 -13
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/schemas.py +1 -2
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/feature_flags/__init__.py +3 -10
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/feature_flags/client.py +14 -14
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/functions.py +16 -90
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/infos.py +10 -63
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/service.py +1 -17
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/monitoring/__init__.py +1 -21
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/services/chat_service.py +3 -5
- unique_toolkit-2026.34.0/unique_toolkit/monitoring/tracing.py +0 -269
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/README.md +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/history_manager/settings.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/message_log_order.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/names.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_container.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_files.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_memory.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/builder.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/run_context.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/feature_flags.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/find_env_file.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/deprecated/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/README.md +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/_internal/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/_base.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/identity/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/group/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/group/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/user/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/resources/user/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/experimental/testing/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/invocation_stats.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/model_costs.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/settings.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/monitoring/gunicorn.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/monitoring/middleware.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/monitoring/registry.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/services/factory.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.0.dev0}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-2026.34.0 → unique_toolkit-2026.34.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.34.0
|
|
3
|
+
Version: 2026.34.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.34.0
|
|
19
|
+
Requires-Dist: unique-sdk>=2026.34.0.dev0,<2026.34.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
|
|
@@ -42,15 +42,10 @@ Requires-Dist: langchain>=1.0.0,<2 ; extra == 'langchain'
|
|
|
42
42
|
Requires-Dist: langchain-openai>=0.3.28 ; extra == 'langchain'
|
|
43
43
|
Requires-Dist: langchain-core>=1.0.0,<2 ; extra == 'langchain'
|
|
44
44
|
Requires-Dist: prometheus-client>=0.24.1,<1 ; extra == 'monitoring'
|
|
45
|
-
Requires-Dist: opentelemetry-sdk>=1.27,<2 ; extra == 'otel'
|
|
46
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.27,<2 ; extra == 'otel'
|
|
47
|
-
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.65b0,<1 ; extra == 'otel'
|
|
48
|
-
Requires-Dist: opentelemetry-instrumentation-requests>=0.65b0,<1 ; extra == 'otel'
|
|
49
45
|
Requires-Python: >=3.12
|
|
50
46
|
Provides-Extra: fastapi
|
|
51
47
|
Provides-Extra: langchain
|
|
52
48
|
Provides-Extra: monitoring
|
|
53
|
-
Provides-Extra: otel
|
|
54
49
|
Description-Content-Type: text/markdown
|
|
55
50
|
|
|
56
51
|
# Unique Toolkit
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "unique_toolkit"
|
|
3
|
-
version = "2026.34.0"
|
|
3
|
+
version = "2026.34.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.34.0",
|
|
31
|
+
"unique-sdk>=2026.34.0.dev0,<2026.34.0rc0",
|
|
32
32
|
"jambo>=0.1.2,<0.2",
|
|
33
33
|
"jinja2>=3.1.6,<4",
|
|
34
34
|
"docxtpl>=0.20.1,<0.21",
|
|
@@ -63,12 +63,6 @@ fastapi = [
|
|
|
63
63
|
monitoring = [
|
|
64
64
|
"prometheus_client>=0.24.1,<1",
|
|
65
65
|
]
|
|
66
|
-
otel = [
|
|
67
|
-
"opentelemetry-sdk>=1.27,<2",
|
|
68
|
-
"opentelemetry-exporter-otlp-proto-http>=1.27,<2",
|
|
69
|
-
"opentelemetry-instrumentation-fastapi>=0.65b0,<1",
|
|
70
|
-
"opentelemetry-instrumentation-requests>=0.65b0,<1",
|
|
71
|
-
]
|
|
72
66
|
[build-system]
|
|
73
67
|
requires = ["uv_build>=0.8.14,<0.9.0"]
|
|
74
68
|
build-backend = "uv_build"
|
|
@@ -79,10 +73,6 @@ module-root = ""
|
|
|
79
73
|
[dependency-groups]
|
|
80
74
|
dev = [
|
|
81
75
|
"types-cachetools>=5.0,<6",
|
|
82
|
-
"opentelemetry-sdk>=1.27,<2",
|
|
83
|
-
"opentelemetry-exporter-otlp-proto-http>=1.27,<2",
|
|
84
|
-
"opentelemetry-instrumentation-fastapi>=0.65b0,<1",
|
|
85
|
-
"opentelemetry-instrumentation-requests>=0.65b0,<1",
|
|
86
76
|
]
|
|
87
77
|
|
|
88
78
|
[tool.uv]
|
|
@@ -129,16 +119,7 @@ known_first_party = ["unique_toolkit"]
|
|
|
129
119
|
extend_exclude = ["docs", "tests", "unique_toolkit/.*/test", "unique_toolkit/.*/tests"]
|
|
130
120
|
|
|
131
121
|
[tool.deptry.per_rule_ignores]
|
|
132
|
-
DEP002 = [
|
|
133
|
-
"langchain",
|
|
134
|
-
"fastapi",
|
|
135
|
-
"starlette",
|
|
136
|
-
"uvicorn",
|
|
137
|
-
"opentelemetry-sdk",
|
|
138
|
-
"opentelemetry-exporter-otlp-proto-http",
|
|
139
|
-
"opentelemetry-instrumentation-fastapi",
|
|
140
|
-
"opentelemetry-instrumentation-requests",
|
|
141
|
-
]
|
|
122
|
+
DEP002 = ["langchain", "fastapi", "starlette", "uvicorn"]
|
|
142
123
|
DEP004 = ["langchain_openai", "langchain_core"]
|
|
143
124
|
|
|
144
125
|
# -----------------------------------------------------------------------------
|
|
@@ -24,8 +24,6 @@ class AnalyticsTool(TypedDict, total=False):
|
|
|
24
24
|
is_sub_agent: bool
|
|
25
25
|
is_mcp: bool
|
|
26
26
|
loop_iteration: int
|
|
27
|
-
elicitation_approval: bool
|
|
28
|
-
elicitation_prompt_change: bool
|
|
29
27
|
|
|
30
28
|
|
|
31
29
|
class AnalyticsSkill(TypedDict):
|
|
@@ -296,10 +294,6 @@ def _to_analytics_tool_entry(
|
|
|
296
294
|
analytics_tool["is_mcp"] = True
|
|
297
295
|
if "loop_iteration" in info:
|
|
298
296
|
analytics_tool["loop_iteration"] = info["loop_iteration"]
|
|
299
|
-
if "elicitation_approval" in info:
|
|
300
|
-
analytics_tool["elicitation_approval"] = info["elicitation_approval"]
|
|
301
|
-
if "elicitation_prompt_change" in info:
|
|
302
|
-
analytics_tool["elicitation_prompt_change"] = info["elicitation_prompt_change"]
|
|
303
297
|
return analytics_tool
|
|
304
298
|
|
|
305
299
|
|
|
@@ -36,8 +36,6 @@ class HallucinationEvaluation(Evaluation):
|
|
|
36
36
|
self.config = config
|
|
37
37
|
self._company_id = event.company_id
|
|
38
38
|
self._user_id = event.user_id
|
|
39
|
-
self._chat_id = event.payload.chat_id
|
|
40
|
-
self._assistant_id = event.payload.assistant_id
|
|
41
39
|
self._reference_manager = reference_manager
|
|
42
40
|
self._user_message = event.payload.user_message.text
|
|
43
41
|
super().__init__(EvaluationMetricName.HALLUCINATION)
|
|
@@ -77,8 +75,6 @@ class HallucinationEvaluation(Evaluation):
|
|
|
77
75
|
output_text=loop_response.message.text,
|
|
78
76
|
),
|
|
79
77
|
config=self.config,
|
|
80
|
-
chat_id=self._chat_id,
|
|
81
|
-
assistant_id=self._assistant_id,
|
|
82
78
|
)
|
|
83
79
|
|
|
84
80
|
score_to_label = self.config.score_to_label
|
|
@@ -37,8 +37,6 @@ async def check_hallucination(
|
|
|
37
37
|
user_id: str,
|
|
38
38
|
input: EvaluationMetricInput,
|
|
39
39
|
config: EvaluationMetricConfig,
|
|
40
|
-
chat_id: str | None = None,
|
|
41
|
-
assistant_id: str | None = None,
|
|
42
40
|
) -> EvaluationMetricResult:
|
|
43
41
|
"""
|
|
44
42
|
Analyzes the level of hallucination in the generated output by comparing it with the provided input
|
|
@@ -79,12 +77,7 @@ async def check_hallucination(
|
|
|
79
77
|
try:
|
|
80
78
|
msgs = _get_msgs(input, config)
|
|
81
79
|
result = await LanguageModelService.complete_async_util(
|
|
82
|
-
company_id=company_id,
|
|
83
|
-
user_id=user_id,
|
|
84
|
-
messages=msgs,
|
|
85
|
-
model_name=model_name,
|
|
86
|
-
chat_id=chat_id,
|
|
87
|
-
assistant_id=assistant_id,
|
|
80
|
+
company_id=company_id, user_id=user_id, messages=msgs, model_name=model_name
|
|
88
81
|
)
|
|
89
82
|
except Exception as e:
|
|
90
83
|
error_message = "Error occurred during hallucination metric analysis"
|
|
@@ -36,8 +36,6 @@ def _make_event() -> SimpleNamespace:
|
|
|
36
36
|
company_id="company_1",
|
|
37
37
|
user_id="user_1",
|
|
38
38
|
payload=SimpleNamespace(
|
|
39
|
-
chat_id="chat_1",
|
|
40
|
-
assistant_id="assistant_1",
|
|
41
39
|
user_message=SimpleNamespace(text="what is ACME revenue?"),
|
|
42
40
|
),
|
|
43
41
|
)
|
|
@@ -63,18 +61,8 @@ def captured_context(monkeypatch: pytest.MonkeyPatch) -> dict:
|
|
|
63
61
|
"""Patch check_hallucination to capture the context_texts it receives."""
|
|
64
62
|
captured: dict = {}
|
|
65
63
|
|
|
66
|
-
async def _fake_check_hallucination(
|
|
67
|
-
*,
|
|
68
|
-
company_id,
|
|
69
|
-
user_id,
|
|
70
|
-
input,
|
|
71
|
-
config,
|
|
72
|
-
chat_id,
|
|
73
|
-
assistant_id,
|
|
74
|
-
):
|
|
64
|
+
async def _fake_check_hallucination(*, company_id, user_id, input, config):
|
|
75
65
|
captured["context_texts"] = list(input.context_texts or [])
|
|
76
|
-
captured["chat_id"] = chat_id
|
|
77
|
-
captured["assistant_id"] = assistant_id
|
|
78
66
|
return EvaluationMetricResult(
|
|
79
67
|
name=EvaluationMetricName.HALLUCINATION,
|
|
80
68
|
value="LOW",
|
|
@@ -98,8 +86,6 @@ async def test_external_context_is_appended(captured_context: dict) -> None:
|
|
|
98
86
|
|
|
99
87
|
# No chunks → context comes solely from the external (MCP) source.
|
|
100
88
|
assert captured_context["context_texts"] == ["ACME revenue: 1M"]
|
|
101
|
-
assert captured_context["chat_id"] == "chat_1"
|
|
102
|
-
assert captured_context["assistant_id"] == "assistant_1"
|
|
103
89
|
assert result.value == "LOW"
|
|
104
90
|
assert result.is_positive is True
|
|
105
91
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"""Tests for hallucination evaluation utils."""
|
|
2
2
|
|
|
3
3
|
from typing import List, Optional
|
|
4
|
-
from unittest.mock import AsyncMock
|
|
5
4
|
|
|
6
5
|
import pytest
|
|
7
6
|
|
|
@@ -15,7 +14,6 @@ from unique_toolkit.agentic.evaluation.hallucination.utils import (
|
|
|
15
14
|
_from_order_source_selection_mode,
|
|
16
15
|
_from_original_response_source_selection_mode,
|
|
17
16
|
_get_msgs,
|
|
18
|
-
check_hallucination,
|
|
19
17
|
context_text_from_stream_response,
|
|
20
18
|
)
|
|
21
19
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricInput
|
|
@@ -27,11 +25,8 @@ from unique_toolkit.language_model.infos import (
|
|
|
27
25
|
ModelCapabilities,
|
|
28
26
|
)
|
|
29
27
|
from unique_toolkit.language_model.schemas import (
|
|
30
|
-
LanguageModelAssistantMessage,
|
|
31
|
-
LanguageModelCompletionChoice,
|
|
32
28
|
LanguageModelMessageRole,
|
|
33
29
|
LanguageModelMessages,
|
|
34
|
-
LanguageModelResponse,
|
|
35
30
|
LanguageModelStreamResponse,
|
|
36
31
|
)
|
|
37
32
|
|
|
@@ -106,49 +101,6 @@ def evaluation_input() -> EvaluationMetricInput:
|
|
|
106
101
|
)
|
|
107
102
|
|
|
108
103
|
|
|
109
|
-
@pytest.mark.ai
|
|
110
|
-
@pytest.mark.asyncio
|
|
111
|
-
async def test_check_hallucination__forwards_attribution_ids(
|
|
112
|
-
monkeypatch: pytest.MonkeyPatch,
|
|
113
|
-
hallucination_config: HallucinationConfig,
|
|
114
|
-
evaluation_input: EvaluationMetricInput,
|
|
115
|
-
) -> None:
|
|
116
|
-
"""Purpose: Verify hallucination completion receives chat attribution IDs.
|
|
117
|
-
Why this matters: Secondary evaluator usage must link to the originating chat.
|
|
118
|
-
Setup summary: Mock the completion utility, run the check, and inspect its call.
|
|
119
|
-
"""
|
|
120
|
-
complete_async_util = AsyncMock(
|
|
121
|
-
return_value=LanguageModelResponse(
|
|
122
|
-
choices=[
|
|
123
|
-
LanguageModelCompletionChoice(
|
|
124
|
-
index=0,
|
|
125
|
-
message=LanguageModelAssistantMessage(
|
|
126
|
-
content='{"value": "low", "reason": "grounded"}'
|
|
127
|
-
),
|
|
128
|
-
finish_reason="stop",
|
|
129
|
-
)
|
|
130
|
-
]
|
|
131
|
-
)
|
|
132
|
-
)
|
|
133
|
-
monkeypatch.setattr(
|
|
134
|
-
"unique_toolkit.agentic.evaluation.hallucination.utils."
|
|
135
|
-
"LanguageModelService.complete_async_util",
|
|
136
|
-
complete_async_util,
|
|
137
|
-
)
|
|
138
|
-
|
|
139
|
-
await check_hallucination(
|
|
140
|
-
company_id="company_1",
|
|
141
|
-
user_id="user_1",
|
|
142
|
-
input=evaluation_input.model_copy(update={"history_messages": []}),
|
|
143
|
-
config=hallucination_config,
|
|
144
|
-
chat_id="chat_1",
|
|
145
|
-
assistant_id="assistant_1",
|
|
146
|
-
)
|
|
147
|
-
|
|
148
|
-
assert complete_async_util.await_args.kwargs["chat_id"] == "chat_1"
|
|
149
|
-
assert complete_async_util.await_args.kwargs["assistant_id"] == "assistant_1"
|
|
150
|
-
|
|
151
|
-
|
|
152
104
|
@pytest.mark.ai
|
|
153
105
|
def test_default_source_selection_mode__selects_chunks__by_source_id_match(
|
|
154
106
|
sample_references: List[ContentReference],
|
|
@@ -1,41 +1,11 @@
|
|
|
1
|
-
from enum import StrEnum
|
|
2
1
|
from typing import Any
|
|
3
2
|
|
|
4
3
|
from pydantic import Field, field_validator
|
|
5
4
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
6
|
-
from typing_extensions import deprecated
|
|
7
5
|
|
|
8
6
|
from unique_toolkit._common.config_checker import register_config
|
|
9
7
|
|
|
10
8
|
|
|
11
|
-
class FeatureFlagNames(StrEnum):
|
|
12
|
-
"""Flag name constants used by unique_toolkit's own agentic features.
|
|
13
|
-
|
|
14
|
-
Values match both the env-var fallback names (``FeatureFlags`` below) and
|
|
15
|
-
the configuration-backend registry keys used by
|
|
16
|
-
``unique_toolkit.experimental.resources.feature_flags.FeatureFlagClient``.
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
enable_selected_uploaded_files_un_18215 = (
|
|
20
|
-
"FEATURE_FLAG_ENABLE_SELECTED_UPLOADED_FILES_UN_18215"
|
|
21
|
-
)
|
|
22
|
-
enable_mcp_metadata_fallback_un_19145 = (
|
|
23
|
-
"FEATURE_FLAG_ENABLE_MCP_METADATA_FALLBACK_UN_19145"
|
|
24
|
-
)
|
|
25
|
-
enable_html_rendering_un_15131 = "FEATURE_FLAG_ENABLE_HTML_RENDERING_UN_15131"
|
|
26
|
-
enable_code_execution_fence_un_17972 = (
|
|
27
|
-
"FEATURE_FLAG_ENABLE_CODE_EXECUTION_FENCE_UN_17972"
|
|
28
|
-
)
|
|
29
|
-
enable_html_with_fence_un_17927 = "FEATURE_FLAG_ENABLE_HTML_WITH_FENCE_UN_17927"
|
|
30
|
-
enable_web_search_argument_screening_un_18741 = (
|
|
31
|
-
"FEATURE_FLAG_ENABLE_WEB_SEARCH_ARGUMENT_SCREENING_UN_18741"
|
|
32
|
-
)
|
|
33
|
-
enable_new_answers_ui_un_14411 = "FEATURE_FLAG_ENABLE_NEW_ANSWERS_UI_UN_14411"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@deprecated(
|
|
37
|
-
"Use unique_toolkit.experimental.resources.feature_flags.is_flag_enabled instead"
|
|
38
|
-
)
|
|
39
9
|
class FeatureFlag:
|
|
40
10
|
"""A feature flag that can be enabled globally or for specific company IDs.
|
|
41
11
|
|
|
@@ -75,9 +45,6 @@ class FeatureFlag:
|
|
|
75
45
|
return f"FeatureFlag({self.value})"
|
|
76
46
|
|
|
77
47
|
|
|
78
|
-
@deprecated(
|
|
79
|
-
"Use unique_toolkit.experimental.resources.feature_flags.is_flag_enabled instead"
|
|
80
|
-
)
|
|
81
48
|
@register_config()
|
|
82
49
|
class FeatureFlags(BaseSettings):
|
|
83
50
|
"""Feature flags loaded from environment variables.
|
|
@@ -178,7 +145,5 @@ class FeatureFlags(BaseSettings):
|
|
|
178
145
|
return FeatureFlag(False)
|
|
179
146
|
|
|
180
147
|
|
|
181
|
-
#
|
|
182
|
-
# backward compatibility. Use unique_toolkit.experimental.resources.feature_flags
|
|
183
|
-
# .is_flag_enabled instead.
|
|
148
|
+
# Initialize once at module load - import this where needed
|
|
184
149
|
feature_flags = FeatureFlags()
|
|
@@ -348,6 +348,8 @@ class HistoryManager:
|
|
|
348
348
|
int(m)
|
|
349
349
|
for m in re.findall(r"\[source(\d+)\]", assistant_text, re.IGNORECASE)
|
|
350
350
|
}
|
|
351
|
+
if not cited:
|
|
352
|
+
return records
|
|
351
353
|
|
|
352
354
|
return [
|
|
353
355
|
record.model_copy(
|
|
@@ -372,9 +374,8 @@ def _strip_uncited_sources_from_content(content: str, cited: set[int]) -> str:
|
|
|
372
374
|
|
|
373
375
|
The content is expected to be a JSON array of dicts containing at least
|
|
374
376
|
a "source_number" key. Items whose "source_number" is not in *cited*
|
|
375
|
-
are removed.
|
|
376
|
-
|
|
377
|
-
is returned unchanged.
|
|
377
|
+
are removed. If the content is not valid JSON or not in the expected
|
|
378
|
+
format it is returned unchanged.
|
|
378
379
|
"""
|
|
379
380
|
try:
|
|
380
381
|
data = json.loads(content)
|
|
@@ -389,10 +390,5 @@ def _strip_uncited_sources_from_content(content: str, cited: set[int]) -> str:
|
|
|
389
390
|
):
|
|
390
391
|
return content
|
|
391
392
|
|
|
392
|
-
if not cited:
|
|
393
|
-
return (
|
|
394
|
-
"The search did not produce any relevant information that could be cited."
|
|
395
|
-
)
|
|
396
|
-
|
|
397
393
|
filtered = [item for item in data if item.get("source_number") in cited]
|
|
398
394
|
return serialize_tool_content_json(filtered)
|
|
@@ -109,19 +109,7 @@ class LoopTokenReducer:
|
|
|
109
109
|
self._max_db_source_number: int = -1
|
|
110
110
|
self._db_source_map: dict[int, ContentChunk] = {}
|
|
111
111
|
self._enable_tool_call_persistence = enable_tool_call_persistence
|
|
112
|
-
self.
|
|
113
|
-
# Lazily resolved on first async use since the flag check is async;
|
|
114
|
-
# `_resolved` distinguishes "not yet checked" from a resolved `None` (flag off).
|
|
115
|
-
self._selected_content_ids: set[str] | None = None
|
|
116
|
-
self._selected_content_ids_resolved = False
|
|
117
|
-
|
|
118
|
-
async def _get_selected_content_ids(self) -> set[str] | None:
|
|
119
|
-
if not self._selected_content_ids_resolved:
|
|
120
|
-
self._selected_content_ids = await get_selected_uploaded_content_ids(
|
|
121
|
-
self._event
|
|
122
|
-
)
|
|
123
|
-
self._selected_content_ids_resolved = True
|
|
124
|
-
return self._selected_content_ids
|
|
112
|
+
self._selected_content_ids = get_selected_uploaded_content_ids(event)
|
|
125
113
|
|
|
126
114
|
@property
|
|
127
115
|
def max_db_source_number(self) -> int:
|
|
@@ -366,7 +354,6 @@ class LoopTokenReducer:
|
|
|
366
354
|
Returns:
|
|
367
355
|
list[LanguageModelMessage]: The history
|
|
368
356
|
"""
|
|
369
|
-
selected_content_ids = await self._get_selected_content_ids()
|
|
370
357
|
if self._enable_tool_call_persistence:
|
|
371
358
|
(
|
|
372
359
|
full_history,
|
|
@@ -378,7 +365,7 @@ class LoopTokenReducer:
|
|
|
378
365
|
chat_service=self._chat_service,
|
|
379
366
|
content_service=self._content_service,
|
|
380
367
|
file_content_serializer=self._file_content_serializer,
|
|
381
|
-
selected_content_ids=
|
|
368
|
+
selected_content_ids=self._selected_content_ids,
|
|
382
369
|
)
|
|
383
370
|
self._max_db_source_number = max_src
|
|
384
371
|
self._db_source_map = src_map
|
|
@@ -389,7 +376,7 @@ class LoopTokenReducer:
|
|
|
389
376
|
chat_service=self._chat_service,
|
|
390
377
|
content_service=self._content_service,
|
|
391
378
|
file_content_serializer=self._file_content_serializer,
|
|
392
|
-
selected_content_ids=
|
|
379
|
+
selected_content_ids=self._selected_content_ids,
|
|
393
380
|
)
|
|
394
381
|
|
|
395
382
|
if remove_from_text is not None:
|
|
@@ -3,11 +3,10 @@ import logging
|
|
|
3
3
|
from copy import deepcopy
|
|
4
4
|
from typing import Any
|
|
5
5
|
|
|
6
|
-
from unique_toolkit.agentic.feature_flags import
|
|
6
|
+
from unique_toolkit.agentic.feature_flags import feature_flags
|
|
7
7
|
from unique_toolkit.agentic.tools.schemas import Source
|
|
8
8
|
from unique_toolkit.app.schemas import ChatEvent
|
|
9
9
|
from unique_toolkit.content.schemas import ContentChunk
|
|
10
|
-
from unique_toolkit.experimental.resources.feature_flags import is_flag_enabled
|
|
11
10
|
from unique_toolkit.language_model.schemas import (
|
|
12
11
|
LanguageModelAssistantMessage,
|
|
13
12
|
LanguageModelMessage,
|
|
@@ -17,16 +16,15 @@ from unique_toolkit.language_model.schemas import (
|
|
|
17
16
|
logger = logging.getLogger(__name__)
|
|
18
17
|
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
def get_selected_uploaded_content_ids(event: ChatEvent) -> set[str] | None:
|
|
21
20
|
"""Derive the set of content IDs the user explicitly selected.
|
|
22
21
|
|
|
23
22
|
Returns ``None`` when the feature flag is disabled (meaning *all*
|
|
24
23
|
uploaded images should be included), or a ``set[str]`` of IDs when
|
|
25
24
|
only a subset should be attached.
|
|
26
25
|
"""
|
|
27
|
-
if not
|
|
28
|
-
|
|
29
|
-
company_id=event.company_id,
|
|
26
|
+
if not feature_flags.enable_selected_uploaded_files_un_18215.is_enabled(
|
|
27
|
+
event.company_id
|
|
30
28
|
):
|
|
31
29
|
return None
|
|
32
30
|
|
|
@@ -22,7 +22,7 @@ from unique_toolkit._common.referencing import (
|
|
|
22
22
|
)
|
|
23
23
|
from unique_toolkit._common.utils.jinja.render import render_template
|
|
24
24
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
|
25
|
-
from unique_toolkit.agentic.feature_flags import
|
|
25
|
+
from unique_toolkit.agentic.feature_flags import feature_flags
|
|
26
26
|
from unique_toolkit.agentic.tools.a2a.response_watcher import SubAgentResponseWatcher
|
|
27
27
|
from unique_toolkit.agentic.tools.a2a.tool._memory import (
|
|
28
28
|
get_sub_agent_short_term_memory_manager,
|
|
@@ -53,7 +53,6 @@ from unique_toolkit.chat.schemas import (
|
|
|
53
53
|
)
|
|
54
54
|
from unique_toolkit.chat.service import ChatService
|
|
55
55
|
from unique_toolkit.content import ContentChunk, ContentReference
|
|
56
|
-
from unique_toolkit.experimental.resources.feature_flags import is_flag_enabled
|
|
57
56
|
from unique_toolkit.language_model import (
|
|
58
57
|
LanguageModelFunction,
|
|
59
58
|
LanguageModelService,
|
|
@@ -432,9 +431,11 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
|
|
|
432
431
|
message: str,
|
|
433
432
|
state: ProgressState,
|
|
434
433
|
) -> None:
|
|
435
|
-
if
|
|
436
|
-
|
|
437
|
-
|
|
434
|
+
if (
|
|
435
|
+
self._tool_progress_reporter is not None
|
|
436
|
+
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
437
|
+
self._company_id
|
|
438
|
+
)
|
|
438
439
|
):
|
|
439
440
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
440
441
|
tool_call=tool_call,
|
|
@@ -9,7 +9,7 @@ from typing import Any, Dict
|
|
|
9
9
|
import unique_sdk
|
|
10
10
|
|
|
11
11
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
|
12
|
-
from unique_toolkit.agentic.feature_flags import
|
|
12
|
+
from unique_toolkit.agentic.feature_flags import feature_flags
|
|
13
13
|
from unique_toolkit.agentic.tools.mcp.models import MCPToolConfig
|
|
14
14
|
from unique_toolkit.agentic.tools.schemas import ToolCallResponse
|
|
15
15
|
from unique_toolkit.agentic.tools.tool import Tool
|
|
@@ -21,7 +21,6 @@ from unique_toolkit.app.schemas import ChatEvent, McpServer, McpTool
|
|
|
21
21
|
from unique_toolkit.chat.schemas import MessageLog, MessageLogStatus
|
|
22
22
|
from unique_toolkit.chat.service import ChatService
|
|
23
23
|
from unique_toolkit.content.functions import upload_content_from_bytes
|
|
24
|
-
from unique_toolkit.experimental.resources.feature_flags import is_flag_enabled
|
|
25
24
|
from unique_toolkit.language_model import LanguageModelService
|
|
26
25
|
from unique_toolkit.language_model.schemas import (
|
|
27
26
|
LanguageModelFunction,
|
|
@@ -134,9 +133,11 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
134
133
|
)
|
|
135
134
|
|
|
136
135
|
# Notify progress if reporter is available
|
|
137
|
-
if
|
|
138
|
-
|
|
139
|
-
|
|
136
|
+
if (
|
|
137
|
+
self._tool_progress_reporter
|
|
138
|
+
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
139
|
+
self._event.company_id
|
|
140
|
+
)
|
|
140
141
|
):
|
|
141
142
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
142
143
|
tool_call=tool_call,
|
|
@@ -171,9 +172,11 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
171
172
|
)
|
|
172
173
|
|
|
173
174
|
# Notify completion
|
|
174
|
-
if
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
if (
|
|
176
|
+
self._tool_progress_reporter
|
|
177
|
+
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
178
|
+
self._event.company_id
|
|
179
|
+
)
|
|
177
180
|
):
|
|
178
181
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
179
182
|
tool_call=tool_call,
|
|
@@ -195,9 +198,11 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
195
198
|
self.logger.error(f"Error executing MCP tool {self.name}: {e}")
|
|
196
199
|
|
|
197
200
|
# Notify failure
|
|
198
|
-
if
|
|
199
|
-
|
|
200
|
-
|
|
201
|
+
if (
|
|
202
|
+
self._tool_progress_reporter
|
|
203
|
+
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
204
|
+
self._event.company_id
|
|
205
|
+
)
|
|
201
206
|
):
|
|
202
207
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
203
208
|
tool_call=tool_call,
|
|
@@ -6,15 +6,11 @@ from typing import override
|
|
|
6
6
|
from pydantic import BaseModel, Field
|
|
7
7
|
from pydantic.json_schema import SkipJsonSchema
|
|
8
8
|
|
|
9
|
-
from unique_toolkit.agentic.feature_flags import
|
|
9
|
+
from unique_toolkit.agentic.feature_flags.feature_flags import feature_flags
|
|
10
10
|
from unique_toolkit.agentic.postprocessor.postprocessor_manager import (
|
|
11
11
|
ResponsesApiPostprocessor,
|
|
12
12
|
)
|
|
13
13
|
from unique_toolkit.agentic.tools.config import get_configuration_dict
|
|
14
|
-
from unique_toolkit.experimental.resources.feature_flags import (
|
|
15
|
-
COMPANY_ID_PLACEHOLDER,
|
|
16
|
-
is_flag_enabled,
|
|
17
|
-
)
|
|
18
14
|
from unique_toolkit.language_model.schemas import ResponsesLanguageModelStreamResponse
|
|
19
15
|
|
|
20
16
|
_TEMPLATE = """
|
|
@@ -60,15 +56,15 @@ class ShowExecutedCodePostprocessor(ResponsesApiPostprocessor):
|
|
|
60
56
|
super().__init__(self.__class__.__name__)
|
|
61
57
|
self._config = config
|
|
62
58
|
self._company_id = company_id
|
|
63
|
-
|
|
64
|
-
|
|
59
|
+
self._is_enabled = (
|
|
60
|
+
self._config.enable
|
|
61
|
+
and not feature_flags.enable_code_execution_fence_un_17972.is_enabled(
|
|
62
|
+
company_id
|
|
63
|
+
)
|
|
64
|
+
)
|
|
65
65
|
|
|
66
66
|
@override
|
|
67
67
|
async def run(self, loop_response: ResponsesLanguageModelStreamResponse) -> None:
|
|
68
|
-
self._is_enabled = self._config.enable and not await is_flag_enabled(
|
|
69
|
-
FeatureFlagNames.enable_code_execution_fence_un_17972,
|
|
70
|
-
company_id=self._company_id or COMPANY_ID_PLACEHOLDER,
|
|
71
|
-
)
|
|
72
68
|
if self._is_enabled:
|
|
73
69
|
await asyncio.sleep(self._config.sleep_time_before_display)
|
|
74
70
|
|