unique-toolkit 2026.34.0.dev6__tar.gz → 2026.34.0.dev7__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.dev6 → unique_toolkit-2026.34.0.dev7}/PKG-INFO +1 -1
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/pyproject.toml +1 -1
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/feature_flags/__init__.py +2 -1
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/feature_flags/feature_flags.py +36 -1
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +16 -3
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/history_manager/utils.py +6 -4
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/service.py +5 -6
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +11 -16
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +11 -7
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +28 -23
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/feature_flags/__init__.py +10 -3
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/feature_flags/client.py +14 -14
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/services/chat_service.py +5 -3
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/README.md +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/history_manager/settings.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/message_log_order.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/names.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_container.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_files.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_memory.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/builder.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/run_context.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic_table/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/feature_flags.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/find_env_file.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/deprecated/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/README.md +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/_internal/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/_base.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/identity/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/group/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/group/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/user/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/resources/user/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/experimental/testing/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/invocation_stats.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/model_costs.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/settings.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/monitoring/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/monitoring/gunicorn.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/monitoring/middleware.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/monitoring/registry.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/monitoring/tracing.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/services/factory.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/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.dev7
|
|
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>
|
|
@@ -1,11 +1,41 @@
|
|
|
1
|
+
from enum import StrEnum
|
|
1
2
|
from typing import Any
|
|
2
3
|
|
|
3
4
|
from pydantic import Field, field_validator
|
|
4
5
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
6
|
+
from typing_extensions import deprecated
|
|
5
7
|
|
|
6
8
|
from unique_toolkit._common.config_checker import register_config
|
|
7
9
|
|
|
8
10
|
|
|
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
|
+
)
|
|
9
39
|
class FeatureFlag:
|
|
10
40
|
"""A feature flag that can be enabled globally or for specific company IDs.
|
|
11
41
|
|
|
@@ -45,6 +75,9 @@ class FeatureFlag:
|
|
|
45
75
|
return f"FeatureFlag({self.value})"
|
|
46
76
|
|
|
47
77
|
|
|
78
|
+
@deprecated(
|
|
79
|
+
"Use unique_toolkit.experimental.resources.feature_flags.is_flag_enabled instead"
|
|
80
|
+
)
|
|
48
81
|
@register_config()
|
|
49
82
|
class FeatureFlags(BaseSettings):
|
|
50
83
|
"""Feature flags loaded from environment variables.
|
|
@@ -145,5 +178,7 @@ class FeatureFlags(BaseSettings):
|
|
|
145
178
|
return FeatureFlag(False)
|
|
146
179
|
|
|
147
180
|
|
|
148
|
-
#
|
|
181
|
+
# Deprecated, unused elsewhere in this toolkit — kept only for external
|
|
182
|
+
# backward compatibility. Use unique_toolkit.experimental.resources.feature_flags
|
|
183
|
+
# .is_flag_enabled instead.
|
|
149
184
|
feature_flags = FeatureFlags()
|
|
@@ -109,7 +109,19 @@ 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.
|
|
112
|
+
self._event = event
|
|
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
|
|
113
125
|
|
|
114
126
|
@property
|
|
115
127
|
def max_db_source_number(self) -> int:
|
|
@@ -354,6 +366,7 @@ class LoopTokenReducer:
|
|
|
354
366
|
Returns:
|
|
355
367
|
list[LanguageModelMessage]: The history
|
|
356
368
|
"""
|
|
369
|
+
selected_content_ids = await self._get_selected_content_ids()
|
|
357
370
|
if self._enable_tool_call_persistence:
|
|
358
371
|
(
|
|
359
372
|
full_history,
|
|
@@ -365,7 +378,7 @@ class LoopTokenReducer:
|
|
|
365
378
|
chat_service=self._chat_service,
|
|
366
379
|
content_service=self._content_service,
|
|
367
380
|
file_content_serializer=self._file_content_serializer,
|
|
368
|
-
selected_content_ids=
|
|
381
|
+
selected_content_ids=selected_content_ids,
|
|
369
382
|
)
|
|
370
383
|
self._max_db_source_number = max_src
|
|
371
384
|
self._db_source_map = src_map
|
|
@@ -376,7 +389,7 @@ class LoopTokenReducer:
|
|
|
376
389
|
chat_service=self._chat_service,
|
|
377
390
|
content_service=self._content_service,
|
|
378
391
|
file_content_serializer=self._file_content_serializer,
|
|
379
|
-
selected_content_ids=
|
|
392
|
+
selected_content_ids=selected_content_ids,
|
|
380
393
|
)
|
|
381
394
|
|
|
382
395
|
if remove_from_text is not None:
|
|
@@ -3,10 +3,11 @@ 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 FeatureFlagNames
|
|
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
|
|
10
11
|
from unique_toolkit.language_model.schemas import (
|
|
11
12
|
LanguageModelAssistantMessage,
|
|
12
13
|
LanguageModelMessage,
|
|
@@ -16,15 +17,16 @@ from unique_toolkit.language_model.schemas import (
|
|
|
16
17
|
logger = logging.getLogger(__name__)
|
|
17
18
|
|
|
18
19
|
|
|
19
|
-
def get_selected_uploaded_content_ids(event: ChatEvent) -> set[str] | None:
|
|
20
|
+
async def get_selected_uploaded_content_ids(event: ChatEvent) -> set[str] | None:
|
|
20
21
|
"""Derive the set of content IDs the user explicitly selected.
|
|
21
22
|
|
|
22
23
|
Returns ``None`` when the feature flag is disabled (meaning *all*
|
|
23
24
|
uploaded images should be included), or a ``set[str]`` of IDs when
|
|
24
25
|
only a subset should be attached.
|
|
25
26
|
"""
|
|
26
|
-
if not
|
|
27
|
-
|
|
27
|
+
if not await is_flag_enabled(
|
|
28
|
+
FeatureFlagNames.enable_selected_uploaded_files_un_18215,
|
|
29
|
+
company_id=event.company_id,
|
|
28
30
|
):
|
|
29
31
|
return None
|
|
30
32
|
|
|
@@ -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 FeatureFlagNames
|
|
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,6 +53,7 @@ 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
|
|
56
57
|
from unique_toolkit.language_model import (
|
|
57
58
|
LanguageModelFunction,
|
|
58
59
|
LanguageModelService,
|
|
@@ -431,11 +432,9 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
|
|
|
431
432
|
message: str,
|
|
432
433
|
state: ProgressState,
|
|
433
434
|
) -> None:
|
|
434
|
-
if (
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
self._company_id
|
|
438
|
-
)
|
|
435
|
+
if self._tool_progress_reporter is not None and not await is_flag_enabled(
|
|
436
|
+
FeatureFlagNames.enable_new_answers_ui_un_14411,
|
|
437
|
+
company_id=self._company_id or "",
|
|
439
438
|
):
|
|
440
439
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
441
440
|
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 FeatureFlagNames
|
|
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,6 +21,7 @@ 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
|
|
24
25
|
from unique_toolkit.language_model import LanguageModelService
|
|
25
26
|
from unique_toolkit.language_model.schemas import (
|
|
26
27
|
LanguageModelFunction,
|
|
@@ -133,11 +134,9 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
133
134
|
)
|
|
134
135
|
|
|
135
136
|
# Notify progress if reporter is available
|
|
136
|
-
if (
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
self._event.company_id
|
|
140
|
-
)
|
|
137
|
+
if self._tool_progress_reporter and not await is_flag_enabled(
|
|
138
|
+
FeatureFlagNames.enable_new_answers_ui_un_14411,
|
|
139
|
+
company_id=self._event.company_id,
|
|
141
140
|
):
|
|
142
141
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
143
142
|
tool_call=tool_call,
|
|
@@ -172,11 +171,9 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
172
171
|
)
|
|
173
172
|
|
|
174
173
|
# Notify completion
|
|
175
|
-
if (
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
self._event.company_id
|
|
179
|
-
)
|
|
174
|
+
if self._tool_progress_reporter and not await is_flag_enabled(
|
|
175
|
+
FeatureFlagNames.enable_new_answers_ui_un_14411,
|
|
176
|
+
company_id=self._event.company_id,
|
|
180
177
|
):
|
|
181
178
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
182
179
|
tool_call=tool_call,
|
|
@@ -198,11 +195,9 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
198
195
|
self.logger.error(f"Error executing MCP tool {self.name}: {e}")
|
|
199
196
|
|
|
200
197
|
# Notify failure
|
|
201
|
-
if (
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
self._event.company_id
|
|
205
|
-
)
|
|
198
|
+
if self._tool_progress_reporter and not await is_flag_enabled(
|
|
199
|
+
FeatureFlagNames.enable_new_answers_ui_un_14411,
|
|
200
|
+
company_id=self._event.company_id,
|
|
206
201
|
):
|
|
207
202
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
208
203
|
tool_call=tool_call,
|
|
@@ -6,11 +6,15 @@ 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
|
|
9
|
+
from unique_toolkit.agentic.feature_flags import FeatureFlagNames
|
|
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
|
+
)
|
|
14
18
|
from unique_toolkit.language_model.schemas import ResponsesLanguageModelStreamResponse
|
|
15
19
|
|
|
16
20
|
_TEMPLATE = """
|
|
@@ -56,15 +60,15 @@ class ShowExecutedCodePostprocessor(ResponsesApiPostprocessor):
|
|
|
56
60
|
super().__init__(self.__class__.__name__)
|
|
57
61
|
self._config = config
|
|
58
62
|
self._company_id = company_id
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
and not feature_flags.enable_code_execution_fence_un_17972.is_enabled(
|
|
62
|
-
company_id
|
|
63
|
-
)
|
|
64
|
-
)
|
|
63
|
+
# Resolved in run() (before apply_postprocessing_to_response) since flag evaluation is async.
|
|
64
|
+
self._is_enabled = False
|
|
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
|
+
)
|
|
68
72
|
if self._is_enabled:
|
|
69
73
|
await asyncio.sleep(self._config.sleep_time_before_display)
|
|
70
74
|
|
|
@@ -21,7 +21,7 @@ from tenacity import (
|
|
|
21
21
|
|
|
22
22
|
from unique_toolkit import ChatService
|
|
23
23
|
from unique_toolkit._common.execution import failsafe_async
|
|
24
|
-
from unique_toolkit.agentic.feature_flags
|
|
24
|
+
from unique_toolkit.agentic.feature_flags import FeatureFlagNames
|
|
25
25
|
from unique_toolkit.agentic.postprocessor.postprocessor_manager import (
|
|
26
26
|
ResponsesApiPostprocessor,
|
|
27
27
|
)
|
|
@@ -39,6 +39,10 @@ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.schemas import
|
|
|
39
39
|
)
|
|
40
40
|
from unique_toolkit.content.schemas import ContentReference
|
|
41
41
|
from unique_toolkit.content.service import ContentService
|
|
42
|
+
from unique_toolkit.experimental.resources.feature_flags import (
|
|
43
|
+
COMPANY_ID_PLACEHOLDER,
|
|
44
|
+
is_flag_enabled,
|
|
45
|
+
)
|
|
42
46
|
from unique_toolkit.language_model.schemas import ResponsesLanguageModelStreamResponse
|
|
43
47
|
from unique_toolkit.services.knowledge_base import KnowledgeBaseService
|
|
44
48
|
from unique_toolkit.short_term_memory.service import ShortTermMemoryService
|
|
@@ -389,6 +393,10 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
389
393
|
# Cleared at the start of each run(); holds this-turn download sizes.
|
|
390
394
|
self._file_size_map: dict[str, int] = {}
|
|
391
395
|
|
|
396
|
+
# Resolved in run() (before apply_postprocessing_to_response) since flag evaluation is async.
|
|
397
|
+
self._fence_ff_on = False
|
|
398
|
+
self._html_fence_ff_on = False
|
|
399
|
+
|
|
392
400
|
def _build_retry(self) -> AsyncRetrying:
|
|
393
401
|
"""Build a tenacity retry policy from the current config.
|
|
394
402
|
|
|
@@ -409,6 +417,17 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
409
417
|
run_t0 = time.monotonic()
|
|
410
418
|
self._log.info("run() started — fetching and uploading code interpreter files")
|
|
411
419
|
|
|
420
|
+
self._fence_ff_on = await is_flag_enabled(
|
|
421
|
+
FeatureFlagNames.enable_code_execution_fence_un_17972,
|
|
422
|
+
company_id=self._company_id or COMPANY_ID_PLACEHOLDER,
|
|
423
|
+
)
|
|
424
|
+
# htmlWithSource requires BOTH the fence FF and the HTML-fence FF on; default
|
|
425
|
+
# (FF off) keeps HtmlRendering, so existing deployments are unaffected.
|
|
426
|
+
self._html_fence_ff_on = await is_flag_enabled(
|
|
427
|
+
FeatureFlagNames.enable_html_with_fence_un_17927,
|
|
428
|
+
company_id=self._company_id or COMPANY_ID_PLACEHOLDER,
|
|
429
|
+
)
|
|
430
|
+
|
|
412
431
|
container_files = loop_response.container_files
|
|
413
432
|
self._log.info(
|
|
414
433
|
"run() found %d container file annotation(s): %s",
|
|
@@ -554,9 +573,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
554
573
|
self._log.info(
|
|
555
574
|
"apply_postprocessing started — %d file(s) in content_map, fence_ff=%s",
|
|
556
575
|
len(self._content_map),
|
|
557
|
-
|
|
558
|
-
self._company_id
|
|
559
|
-
),
|
|
576
|
+
self._fence_ff_on,
|
|
560
577
|
)
|
|
561
578
|
|
|
562
579
|
if loop_response.message.references is None:
|
|
@@ -566,18 +583,6 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
566
583
|
|
|
567
584
|
ref_number = _get_next_ref_number(loop_response.message.references)
|
|
568
585
|
changed = False
|
|
569
|
-
fence_ff_on = feature_flags.enable_code_execution_fence_un_17972.is_enabled(
|
|
570
|
-
self._company_id
|
|
571
|
-
)
|
|
572
|
-
# HTML uses htmlWithSource only when BOTH the code-execution fence FF AND the
|
|
573
|
-
# dedicated HTML-fence FF are on. Default (FF off) keeps HtmlRendering so
|
|
574
|
-
# existing deployments are unaffected.
|
|
575
|
-
html_fence_ff_on = (
|
|
576
|
-
fence_ff_on
|
|
577
|
-
and feature_flags.enable_html_with_fence_un_17927.is_enabled(
|
|
578
|
-
self._company_id
|
|
579
|
-
)
|
|
580
|
-
)
|
|
581
586
|
|
|
582
587
|
replaced_files: list[str] = []
|
|
583
588
|
missed_files: list[str] = []
|
|
@@ -611,7 +616,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
611
616
|
|
|
612
617
|
# HTML rendered as HtmlRendering block unless the dedicated html-fence FF
|
|
613
618
|
# is on (enable_html_with_fence_un_17927). Default keeps HtmlRendering.
|
|
614
|
-
elif is_html and not
|
|
619
|
+
elif is_html and not self._html_fence_ff_on:
|
|
615
620
|
loop_response.message.text, replaced = _replace_container_html_citation(
|
|
616
621
|
text=loop_response.message.text or "",
|
|
617
622
|
filename=filename,
|
|
@@ -619,7 +624,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
619
624
|
)
|
|
620
625
|
changed |= replaced
|
|
621
626
|
|
|
622
|
-
# Non-HTML files, or HTML when
|
|
627
|
+
# Non-HTML files, or HTML when self._html_fence_ff_on → inline content link for
|
|
623
628
|
# subsequent fence injection (htmlWithSource / imgWithSource / fileWithSource)
|
|
624
629
|
else:
|
|
625
630
|
loop_response.message.text, replaced = _replace_container_file_citation(
|
|
@@ -627,7 +632,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
627
632
|
filename=filename,
|
|
628
633
|
content_id=content_id,
|
|
629
634
|
ref_number=ref_number,
|
|
630
|
-
use_content_link=
|
|
635
|
+
use_content_link=self._fence_ff_on,
|
|
631
636
|
)
|
|
632
637
|
changed |= replaced
|
|
633
638
|
|
|
@@ -644,7 +649,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
644
649
|
|
|
645
650
|
# HtmlRendering and htmlWithSource both embed contentId directly — no ContentReference needed
|
|
646
651
|
is_html_rendered = is_html
|
|
647
|
-
if replaced and not (is_image or is_html_rendered or
|
|
652
|
+
if replaced and not (is_image or is_html_rendered or self._fence_ff_on):
|
|
648
653
|
loop_response.message.references.append(
|
|
649
654
|
ContentReference(
|
|
650
655
|
sequence_number=ref_number,
|
|
@@ -663,9 +668,9 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
663
668
|
error_files,
|
|
664
669
|
)
|
|
665
670
|
|
|
666
|
-
if
|
|
671
|
+
if self._fence_ff_on:
|
|
667
672
|
code_blocks = _build_code_blocks(
|
|
668
|
-
loop_response, self._content_map, include_html=
|
|
673
|
+
loop_response, self._content_map, include_html=self._html_fence_ff_on
|
|
669
674
|
)
|
|
670
675
|
self._log.info(
|
|
671
676
|
"Fence injection — %d code block(s), files: %s",
|
|
@@ -673,7 +678,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
673
678
|
[f.filename for b in code_blocks for f in b.files],
|
|
674
679
|
)
|
|
675
680
|
_warn_unmatched_code_blocks(
|
|
676
|
-
self._content_map, code_blocks, include_html=
|
|
681
|
+
self._content_map, code_blocks, include_html=self._html_fence_ff_on
|
|
677
682
|
)
|
|
678
683
|
text_before = loop_response.message.text
|
|
679
684
|
loop_response.message.text = _inject_code_execution_fences(
|
|
@@ -12,10 +12,15 @@ Required env vars::
|
|
|
12
12
|
|
|
13
13
|
Quick start — explicit IDs::
|
|
14
14
|
|
|
15
|
-
from unique_toolkit.experimental.resources.feature_flags import FeatureFlagClient
|
|
15
|
+
from unique_toolkit.experimental.resources.feature_flags import FeatureFlagClient, is_flag_enabled
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
# Requires CONFIGURATION_BACKEND_URL / FEATURE_FLAG_SERVICE_ID to be set;
|
|
18
|
+
# falls back to the env-var value (or stale cache) on transport errors.
|
|
19
|
+
enabled = await is_flag_enabled("FEATURE_FLAG_ENABLE_X", company_id=company_id)
|
|
20
|
+
|
|
21
|
+
# Or manage the singleton directly:
|
|
22
|
+
client = FeatureFlagClient.from_settings() # raises if URL/service_id absent
|
|
23
|
+
client = get_feature_flag_client() # same — thin passthrough to from_settings()
|
|
19
24
|
|
|
20
25
|
Per-request binding (when you have UniqueSettings / AuthContext)::
|
|
21
26
|
|
|
@@ -32,6 +37,7 @@ See README.md for the full evaluation-order diagram and adoption steps.
|
|
|
32
37
|
"""
|
|
33
38
|
|
|
34
39
|
from .client import (
|
|
40
|
+
COMPANY_ID_PLACEHOLDER,
|
|
35
41
|
BoundFeatureFlagClient,
|
|
36
42
|
FeatureFlagClient,
|
|
37
43
|
get_feature_flag_client,
|
|
@@ -41,6 +47,7 @@ from .schemas import FlagEvaluation
|
|
|
41
47
|
from .settings import FeatureFlagSettings
|
|
42
48
|
|
|
43
49
|
__all__ = [
|
|
50
|
+
"COMPANY_ID_PLACEHOLDER",
|
|
44
51
|
"BoundFeatureFlagClient",
|
|
45
52
|
"FeatureFlagClient",
|
|
46
53
|
"FlagEvaluation",
|
|
@@ -177,21 +177,15 @@ class FeatureFlagClient:
|
|
|
177
177
|
|
|
178
178
|
@staticmethod
|
|
179
179
|
def _env_fallback(flag: str, company_id: str | None = None) -> bool:
|
|
180
|
-
"""Read *flag* from env vars
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
comma-separated company-ID allowlists (``"company1,company2"``),
|
|
184
|
-
consistent with ``unique_toolkit.agentic.feature_flags.FeatureFlags``.
|
|
185
|
-
"""
|
|
186
|
-
raw = os.getenv(flag, "false").strip()
|
|
187
|
-
raw_lower = raw.lower()
|
|
180
|
+
"""Read *flag* from env vars: plain booleans or comma-separated company-ID allowlists."""
|
|
181
|
+
raw = os.getenv(flag, "false")
|
|
182
|
+
raw_lower = raw.strip().lower()
|
|
188
183
|
if raw_lower in ("true", "1", "yes"):
|
|
189
184
|
return True
|
|
190
185
|
if raw_lower in ("false", "0", "no", ""):
|
|
191
186
|
return False
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
return company_id in allowed if company_id else False
|
|
187
|
+
allowlist = [c.strip() for c in raw.split(",") if c.strip()]
|
|
188
|
+
return company_id in allowlist if company_id else False
|
|
195
189
|
|
|
196
190
|
|
|
197
191
|
class BoundFeatureFlagClient:
|
|
@@ -215,12 +209,18 @@ class BoundFeatureFlagClient:
|
|
|
215
209
|
return (await self.evaluate(flag)).value
|
|
216
210
|
|
|
217
211
|
|
|
212
|
+
# For is_flag_enabled() callers with no real company_id. Not a real company:
|
|
213
|
+
# bool-configured flags still resolve correctly; allowlist-configured ones safely read as off.
|
|
214
|
+
COMPANY_ID_PLACEHOLDER = "company_id_placeholder"
|
|
215
|
+
|
|
216
|
+
|
|
218
217
|
def get_feature_flag_client() -> FeatureFlagClient:
|
|
219
218
|
"""Return the process-level :class:`FeatureFlagClient` singleton.
|
|
220
219
|
|
|
221
|
-
Built lazily via :meth:`FeatureFlagClient.from_settings
|
|
222
|
-
``CONFIGURATION_BACKEND_URL`` and ``FEATURE_FLAG_SERVICE_ID`` from env
|
|
223
|
-
|
|
220
|
+
Built lazily via :meth:`FeatureFlagClient.from_settings`, which reads
|
|
221
|
+
``CONFIGURATION_BACKEND_URL`` and ``FEATURE_FLAG_SERVICE_ID`` from env and
|
|
222
|
+
raises :class:`ValueError` if either is missing. Evaluations fall back to
|
|
223
|
+
env-var defaults (or a stale cached value) only on *transport* errors.
|
|
224
224
|
"""
|
|
225
225
|
return FeatureFlagClient.from_settings()
|
|
226
226
|
|
|
@@ -22,7 +22,7 @@ from unique_toolkit._common.metadata_filter_scope import (
|
|
|
22
22
|
merge_scope_clause_into_metadata_filter,
|
|
23
23
|
)
|
|
24
24
|
from unique_toolkit._common.utils.files import is_file_content, is_image_content
|
|
25
|
-
from unique_toolkit.agentic.feature_flags import
|
|
25
|
+
from unique_toolkit.agentic.feature_flags import FeatureFlagNames
|
|
26
26
|
from unique_toolkit.agentic.message_log_order import next_message_log_order
|
|
27
27
|
from unique_toolkit.app.unique_settings import UniqueContext, UniqueSettings
|
|
28
28
|
from unique_toolkit.chat.cancellation import CancellationWatcher
|
|
@@ -100,6 +100,7 @@ from unique_toolkit.content.schemas import (
|
|
|
100
100
|
ContentSearchType,
|
|
101
101
|
)
|
|
102
102
|
from unique_toolkit.elicitation.service import ElicitationService
|
|
103
|
+
from unique_toolkit.experimental.resources.feature_flags import is_flag_enabled
|
|
103
104
|
from unique_toolkit.language_model.constants import (
|
|
104
105
|
DEFAULT_COMPLETE_TEMPERATURE,
|
|
105
106
|
DEFAULT_COMPLETE_TIMEOUT,
|
|
@@ -1805,8 +1806,9 @@ class ChatService(ChatServiceDeprecated):
|
|
|
1805
1806
|
|
|
1806
1807
|
if not rate_limit_retry_config.log_message_on_retry:
|
|
1807
1808
|
return
|
|
1808
|
-
if not
|
|
1809
|
-
|
|
1809
|
+
if not await is_flag_enabled(
|
|
1810
|
+
FeatureFlagNames.enable_new_answers_ui_un_14411,
|
|
1811
|
+
company_id=self._company_id,
|
|
1810
1812
|
):
|
|
1811
1813
|
return
|
|
1812
1814
|
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/event_bus.py
RENAMED
|
File without changes
|
{unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/exception.py
RENAMED
|
File without changes
|
{unique_toolkit-2026.34.0.dev6 → unique_toolkit-2026.34.0.dev7}/unique_toolkit/_common/execution.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|