unique_toolkit 1.62.0__tar.gz → 1.62.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/PKG-INFO +1 -1
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/pyproject.toml +1 -1
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/tool/service.py +10 -4
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +18 -12
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +6 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +2 -2
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/tool.py +79 -41
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/README.md +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic_table/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/services/factory.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/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: 1.62.
|
|
3
|
+
Version: 1.62.2
|
|
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>
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/a2a/tool/service.py
RENAMED
|
@@ -19,6 +19,7 @@ from unique_toolkit._common.referencing import (
|
|
|
19
19
|
from unique_toolkit._common.utils.jinja.render import render_template
|
|
20
20
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
|
21
21
|
from unique_toolkit.agentic.feature_flags import feature_flags
|
|
22
|
+
from unique_toolkit.agentic.message_log_manager.service import MessageStepLogger
|
|
22
23
|
from unique_toolkit.agentic.tools.a2a.response_watcher import SubAgentResponseWatcher
|
|
23
24
|
from unique_toolkit.agentic.tools.a2a.tool._memory import (
|
|
24
25
|
get_sub_agent_short_term_memory_manager,
|
|
@@ -42,6 +43,7 @@ from unique_toolkit.agentic.tools.tool_progress_reporter import (
|
|
|
42
43
|
)
|
|
43
44
|
from unique_toolkit.app import ChatEvent
|
|
44
45
|
from unique_toolkit.chat.schemas import MessageLog, MessageLogStatus
|
|
46
|
+
from unique_toolkit.chat.service import ChatService
|
|
45
47
|
from unique_toolkit.content import ContentChunk
|
|
46
48
|
from unique_toolkit.language_model import (
|
|
47
49
|
LanguageModelFunction,
|
|
@@ -64,8 +66,12 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
|
|
|
64
66
|
name: str = "SubAgentTool",
|
|
65
67
|
display_name: str = "SubAgentTool",
|
|
66
68
|
response_watcher: SubAgentResponseWatcher | None = None,
|
|
67
|
-
):
|
|
68
|
-
super().__init__(configuration
|
|
69
|
+
) -> None:
|
|
70
|
+
super().__init__(configuration)
|
|
71
|
+
self._event = event
|
|
72
|
+
self._tool_progress_reporter = tool_progress_reporter
|
|
73
|
+
self._chat_service = ChatService(event)
|
|
74
|
+
self._message_step_logger = MessageStepLogger(chat_service=self._chat_service)
|
|
69
75
|
self._user_id = event.user_id
|
|
70
76
|
self._company_id = event.company_id
|
|
71
77
|
|
|
@@ -323,12 +329,12 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
|
|
|
323
329
|
state: ProgressState,
|
|
324
330
|
) -> None:
|
|
325
331
|
if (
|
|
326
|
-
self.
|
|
332
|
+
self._tool_progress_reporter is not None
|
|
327
333
|
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
328
334
|
self._company_id
|
|
329
335
|
)
|
|
330
336
|
):
|
|
331
|
-
await self.
|
|
337
|
+
await self._tool_progress_reporter.notify_from_tool_call(
|
|
332
338
|
tool_call=tool_call,
|
|
333
339
|
name=self._display_name,
|
|
334
340
|
message=message,
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
|
@@ -10,6 +10,7 @@ import unique_sdk
|
|
|
10
10
|
|
|
11
11
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
|
12
12
|
from unique_toolkit.agentic.feature_flags import feature_flags
|
|
13
|
+
from unique_toolkit.agentic.message_log_manager.service import MessageStepLogger
|
|
13
14
|
from unique_toolkit.agentic.tools.mcp.models import MCPToolConfig
|
|
14
15
|
from unique_toolkit.agentic.tools.schemas import ToolCallResponse
|
|
15
16
|
from unique_toolkit.agentic.tools.tool import Tool
|
|
@@ -19,6 +20,7 @@ from unique_toolkit.agentic.tools.tool_progress_reporter import (
|
|
|
19
20
|
)
|
|
20
21
|
from unique_toolkit.app.schemas import ChatEvent, McpServer, McpTool
|
|
21
22
|
from unique_toolkit.chat.schemas import MessageLog, MessageLogStatus
|
|
23
|
+
from unique_toolkit.chat.service import ChatService
|
|
22
24
|
from unique_toolkit.content.functions import upload_content_from_bytes
|
|
23
25
|
from unique_toolkit.language_model.schemas import (
|
|
24
26
|
LanguageModelFunction,
|
|
@@ -38,9 +40,13 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
38
40
|
config: MCPToolConfig,
|
|
39
41
|
event: ChatEvent,
|
|
40
42
|
tool_progress_reporter: ToolProgressReporter | None = None,
|
|
41
|
-
):
|
|
43
|
+
) -> None:
|
|
42
44
|
self.name = mcp_tool.name
|
|
43
|
-
super().__init__(config
|
|
45
|
+
super().__init__(config)
|
|
46
|
+
self._event = event
|
|
47
|
+
self._tool_progress_reporter = tool_progress_reporter
|
|
48
|
+
self._chat_service = ChatService(event)
|
|
49
|
+
self._message_step_logger = MessageStepLogger(chat_service=self._chat_service)
|
|
44
50
|
self._mcp_tool = mcp_tool
|
|
45
51
|
self._mcp_server = mcp_server
|
|
46
52
|
|
|
@@ -121,7 +127,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
121
127
|
if (
|
|
122
128
|
self._tool_progress_reporter
|
|
123
129
|
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
124
|
-
self.
|
|
130
|
+
self._event.company_id
|
|
125
131
|
)
|
|
126
132
|
):
|
|
127
133
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
@@ -160,7 +166,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
160
166
|
if (
|
|
161
167
|
self._tool_progress_reporter
|
|
162
168
|
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
163
|
-
self.
|
|
169
|
+
self._event.company_id
|
|
164
170
|
)
|
|
165
171
|
):
|
|
166
172
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
@@ -186,7 +192,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
186
192
|
if (
|
|
187
193
|
self._tool_progress_reporter
|
|
188
194
|
and not feature_flags.enable_new_answers_ui_un_14411.is_enabled(
|
|
189
|
-
self.
|
|
195
|
+
self._event.company_id
|
|
190
196
|
)
|
|
191
197
|
):
|
|
192
198
|
await self._tool_progress_reporter.notify_from_tool_call(
|
|
@@ -348,12 +354,12 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
348
354
|
|
|
349
355
|
try:
|
|
350
356
|
content = upload_content_from_bytes(
|
|
351
|
-
user_id=self.
|
|
352
|
-
company_id=self.
|
|
357
|
+
user_id=self._event.user_id,
|
|
358
|
+
company_id=self._event.company_id,
|
|
353
359
|
content=img_bytes,
|
|
354
360
|
content_name=f"mcp_tool_{self.name}_image_{uuid.uuid4().hex[:12]}_{index}{ext}",
|
|
355
361
|
mime_type=mime_type,
|
|
356
|
-
chat_id=self.
|
|
362
|
+
chat_id=self._event.payload.chat_id,
|
|
357
363
|
skip_ingestion=True,
|
|
358
364
|
hide_in_chat=True,
|
|
359
365
|
)
|
|
@@ -372,11 +378,11 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
|
|
|
372
378
|
"""Call MCP tool via SDK to public API"""
|
|
373
379
|
try:
|
|
374
380
|
result = unique_sdk.MCP.call_tool(
|
|
375
|
-
user_id=self.
|
|
376
|
-
company_id=self.
|
|
381
|
+
user_id=self._event.user_id,
|
|
382
|
+
company_id=self._event.company_id,
|
|
377
383
|
name=self.name,
|
|
378
|
-
messageId=self.
|
|
379
|
-
chatId=self.
|
|
384
|
+
messageId=self._event.payload.assistant_message.id,
|
|
385
|
+
chatId=self._event.payload.chat_id,
|
|
380
386
|
arguments=arguments,
|
|
381
387
|
)
|
|
382
388
|
|
|
@@ -25,6 +25,7 @@ Instructions:
|
|
|
25
25
|
Uploaded and generated files:
|
|
26
26
|
- All files uploaded to the chat are available at the path `/mnt/data/<filename>`.
|
|
27
27
|
- All files generated through code MUST be saved in the `/mnt/data` folder.
|
|
28
|
+
- CRITICAL: When generating any plot or visualization, the code MUST call `plt.savefig('/mnt/data/<filename>.png', bbox_inches='tight')` and `plt.close()` to save the file. Never rely on `plt.show()` alone — a file that is not saved to `/mnt/data/` cannot be displayed.
|
|
28
29
|
|
|
29
30
|
CRUCIAL Instructions for displaying images and files in the chat:
|
|
30
31
|
- Once files are generated in the `/mnt/data` folder you MUST reference them in the chat using markdown syntax in order to display them in the chat.
|
|
@@ -46,6 +47,8 @@ Always use a line break between the title and the markdown!
|
|
|
46
47
|
|
|
47
48
|
Handling User Queries:
|
|
48
49
|
- Whenever the user query requires using the python tool, you must always think first about the steps required.
|
|
50
|
+
- CRITICAL: If any step generates a plot or visualization, that code block MUST include `plt.savefig('/mnt/data/<filename>.png', bbox_inches='tight')` and `plt.close()` as the final lines. Code that only calls `plt.show()` without saving will NOT display the image to the user.
|
|
51
|
+
- CRITICAL: NEVER reference a `sandbox:/mnt/data/<filename>` link unless you have already executed code in this response that saved that exact file. Referencing a file that was not created by executed code will result in a broken link.
|
|
49
52
|
- Use the tool multiple times:
|
|
50
53
|
- You MUST NOT guess anything about the structure of the data / files uploaded. Rather, you MUST perform some data exploration first.
|
|
51
54
|
- Example: User uploads an excel files and asks a question about it. First Read the data, explore the columns, columns types, etc. Then use the tool to answer the user's query.
|
|
@@ -66,6 +69,7 @@ Instructions:
|
|
|
66
69
|
Uploaded and generated files:
|
|
67
70
|
- All files uploaded to the chat are available at the path `/mnt/data/<filename>`.
|
|
68
71
|
- All files generated through code MUST be saved in the `/mnt/data` folder.
|
|
72
|
+
- CRITICAL: When generating any plot or visualization, the code MUST call `plt.savefig('/mnt/data/<filename>.png', bbox_inches='tight')` and `plt.close()` to save the file. Never rely on `plt.show()` alone — a file that is not saved to `/mnt/data/` cannot be displayed.
|
|
69
73
|
|
|
70
74
|
CRUCIAL Instructions for displaying images and files in the chat:
|
|
71
75
|
- Once files are generated in the `/mnt/data` folder you MUST reference them in the chat using markdown syntax in order to display them in the chat.
|
|
@@ -89,6 +93,8 @@ IMPORTANT: ALWAYS place a blank line before AND after each file reference link s
|
|
|
89
93
|
|
|
90
94
|
Handling User Queries:
|
|
91
95
|
- Whenever the user query requires using the python tool, you must always think first about the steps required.
|
|
96
|
+
- CRITICAL: If any step generates a plot or visualization, that code block MUST include `plt.savefig('/mnt/data/<filename>.png', bbox_inches='tight')` and `plt.close()` as the final lines. Code that only calls `plt.show()` without saving will NOT display the image to the user.
|
|
97
|
+
- CRITICAL: NEVER reference a `sandbox:/mnt/data/<filename>` link unless you have already executed code in this response that saved that exact file. Referencing a file that was not created by executed code will result in a broken link.
|
|
92
98
|
- Use the tool multiple times:
|
|
93
99
|
- You MUST NOT guess anything about the structure of the data / files uploaded. Rather, you MUST perform some data exploration first.
|
|
94
100
|
- Example: User uploads an excel files and asks a question about it. First Read the data, explore the columns, columns types, etc. Then use the tool to answer the user's query.
|
|
@@ -33,8 +33,8 @@ class MockInternalSearchTool(Tool[BaseToolConfig]):
|
|
|
33
33
|
|
|
34
34
|
name = "internal_search"
|
|
35
35
|
|
|
36
|
-
def __init__(self, config, event, tool_progress_reporter=None):
|
|
37
|
-
super().__init__(config
|
|
36
|
+
def __init__(self, config, event=None, tool_progress_reporter=None):
|
|
37
|
+
super().__init__(config)
|
|
38
38
|
|
|
39
39
|
def tool_description(self):
|
|
40
40
|
from unique_toolkit.language_model.schemas import LanguageModelToolDescription
|
|
@@ -2,12 +2,11 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from abc import ABC, abstractmethod
|
|
4
4
|
from logging import getLogger
|
|
5
|
-
from typing import TYPE_CHECKING, Any, Generic, TypeVar, cast
|
|
5
|
+
from typing import TYPE_CHECKING, Any, Generic, TypeVar, cast, overload
|
|
6
6
|
|
|
7
7
|
from typing_extensions import deprecated
|
|
8
8
|
|
|
9
9
|
from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
|
|
10
|
-
from unique_toolkit.agentic.message_log_manager.service import MessageStepLogger
|
|
11
10
|
from unique_toolkit.agentic.tools.config import ToolBuildConfig, ToolSelectionPolicy
|
|
12
11
|
from unique_toolkit.agentic.tools.schemas import (
|
|
13
12
|
BaseToolConfig,
|
|
@@ -16,16 +15,17 @@ from unique_toolkit.agentic.tools.schemas import (
|
|
|
16
15
|
)
|
|
17
16
|
from unique_toolkit.agentic.tools.tool_progress_reporter import ToolProgressReporter
|
|
18
17
|
from unique_toolkit.app.schemas import ChatEvent
|
|
19
|
-
from unique_toolkit.app.unique_settings import UniqueSettings
|
|
20
18
|
from unique_toolkit.language_model import LanguageModelToolDescription
|
|
21
|
-
from unique_toolkit.services.factory import UniqueServiceFactory
|
|
22
19
|
|
|
23
20
|
if TYPE_CHECKING:
|
|
24
|
-
|
|
21
|
+
pass
|
|
25
22
|
from unique_toolkit.language_model.schemas import (
|
|
26
23
|
LanguageModelFunction,
|
|
27
24
|
)
|
|
28
|
-
|
|
25
|
+
|
|
26
|
+
if TYPE_CHECKING:
|
|
27
|
+
from unique_toolkit.agentic.tools.tool_progress_reporter import ToolProgressReporter
|
|
28
|
+
from unique_toolkit.app.schemas import ChatEvent
|
|
29
29
|
|
|
30
30
|
ConfigType = TypeVar("ConfigType", bound=BaseToolConfig)
|
|
31
31
|
|
|
@@ -78,7 +78,7 @@ class Tool(ABC, Generic[ConfigType]):
|
|
|
78
78
|
if not isinstance(parameters, dict):
|
|
79
79
|
return parameters.model_json_schema()
|
|
80
80
|
else:
|
|
81
|
-
return cast(
|
|
81
|
+
return cast(dict[str, Any], parameters)
|
|
82
82
|
|
|
83
83
|
# TODO: This method should be a property
|
|
84
84
|
def tool_description_for_system_prompt(self) -> str:
|
|
@@ -140,34 +140,31 @@ class Tool(ABC, Generic[ConfigType]):
|
|
|
140
140
|
tool_format_information_for_user_prompt=self.tool_format_information_for_user_prompt(),
|
|
141
141
|
)
|
|
142
142
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
@property
|
|
146
|
-
@deprecated("Never reuse event. Dangerous")
|
|
147
|
-
def event(self) -> ChatEvent:
|
|
148
|
-
return self._event
|
|
149
|
-
|
|
150
|
-
@property
|
|
151
|
-
@deprecated("Do not use this property as directly tied to chat frontend")
|
|
152
|
-
def chat_service(self) -> ChatService:
|
|
153
|
-
return self._chat_service
|
|
154
|
-
|
|
155
|
-
@property
|
|
156
|
-
@deprecated("Do not use this property as directly tied to chat frontend")
|
|
157
|
-
def language_model_service(self) -> LanguageModelService:
|
|
158
|
-
return self._language_model_service
|
|
159
|
-
|
|
160
|
-
@property
|
|
161
|
-
@deprecated("Do not use this as directly tied to chat frontend")
|
|
162
|
-
def tool_progress_reporter(self) -> ToolProgressReporter | None:
|
|
163
|
-
return self._tool_progress_reporter
|
|
143
|
+
@overload
|
|
144
|
+
def __init__(self, config: ConfigType) -> None: ...
|
|
164
145
|
|
|
146
|
+
@overload
|
|
165
147
|
def __init__(
|
|
166
148
|
self,
|
|
167
149
|
config: ConfigType,
|
|
168
150
|
event: ChatEvent,
|
|
151
|
+
tool_progress_reporter: ToolProgressReporter | None = ...,
|
|
152
|
+
) -> None: ...
|
|
153
|
+
|
|
154
|
+
def __init__(
|
|
155
|
+
self,
|
|
156
|
+
config: ConfigType,
|
|
157
|
+
event: ChatEvent | None = None,
|
|
169
158
|
tool_progress_reporter: ToolProgressReporter | None = None,
|
|
170
|
-
):
|
|
159
|
+
) -> None:
|
|
160
|
+
"""Initialize the tool.
|
|
161
|
+
|
|
162
|
+
Preferred (decoupled): `Tool(config)` — configuration only.
|
|
163
|
+
|
|
164
|
+
Backward compatible: `Tool(config, event, tool_progress_reporter)` — creates
|
|
165
|
+
deprecated chat_service, language_model_service, message_step_logger for
|
|
166
|
+
legacy subclasses.
|
|
167
|
+
"""
|
|
171
168
|
self.settings = ToolBuildConfig(
|
|
172
169
|
name=self.name,
|
|
173
170
|
configuration=config,
|
|
@@ -178,16 +175,57 @@ class Tool(ABC, Generic[ConfigType]):
|
|
|
178
175
|
self.logger = getLogger(f"{module_name}.{__name__}")
|
|
179
176
|
self.debug_info: dict = {}
|
|
180
177
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
178
|
+
if event is not None:
|
|
179
|
+
from unique_toolkit.agentic.message_log_manager.service import (
|
|
180
|
+
MessageStepLogger,
|
|
181
|
+
)
|
|
182
|
+
from unique_toolkit.chat.service import ChatService
|
|
183
|
+
from unique_toolkit.language_model.service import LanguageModelService
|
|
184
|
+
|
|
185
|
+
self._event = event
|
|
186
|
+
self._tool_progress_reporter = tool_progress_reporter
|
|
187
|
+
self._chat_service = ChatService(event)
|
|
188
|
+
self._language_model_service = LanguageModelService.from_event(event)
|
|
189
|
+
self._message_step_logger = MessageStepLogger(
|
|
190
|
+
chat_service=self._chat_service,
|
|
191
|
+
)
|
|
186
192
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
193
|
+
@property
|
|
194
|
+
@deprecated(
|
|
195
|
+
"Never reuse event. Dangerous. Prefer Tool(config) and inject context in run()."
|
|
196
|
+
)
|
|
197
|
+
def event(self) -> ChatEvent:
|
|
198
|
+
if not hasattr(self, "_event"):
|
|
199
|
+
raise AttributeError(
|
|
200
|
+
"event not available (tool was initialized with config only). "
|
|
201
|
+
)
|
|
202
|
+
return self._event
|
|
203
|
+
|
|
204
|
+
@property
|
|
205
|
+
@deprecated(
|
|
206
|
+
"Do not use; tied to chat frontend. Prefer Tool(config) and inject in run()."
|
|
207
|
+
)
|
|
208
|
+
def chat_service(self):
|
|
209
|
+
if not hasattr(self, "_chat_service"):
|
|
210
|
+
raise AttributeError(
|
|
211
|
+
"chat_service not available (tool was initialized with config only). "
|
|
212
|
+
)
|
|
213
|
+
return self._chat_service
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
@deprecated(
|
|
217
|
+
"Do not use; tied to chat frontend. Prefer Tool(config) and inject in run()."
|
|
218
|
+
)
|
|
219
|
+
def language_model_service(self):
|
|
220
|
+
if not hasattr(self, "_language_model_service"):
|
|
221
|
+
raise AttributeError(
|
|
222
|
+
"language_model_service not available (tool was initialized with config only). "
|
|
223
|
+
)
|
|
224
|
+
return self._language_model_service
|
|
225
|
+
|
|
226
|
+
@property
|
|
227
|
+
@deprecated(
|
|
228
|
+
"Do not use; tied to chat frontend. Prefer Tool(config) and inject in run()."
|
|
229
|
+
)
|
|
230
|
+
def tool_progress_reporter(self) -> ToolProgressReporter | None:
|
|
231
|
+
return getattr(self, "_tool_progress_reporter", None)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/base_model_type_attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/README.md
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/__main__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/cli.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/differ.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/exporter.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/models.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/registry.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/config_checker/validator.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/docx_generator/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/endpoint_requestor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/tests/test_referencing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/token/token_counting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/image/encode.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/jinja/helpers.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/jinja/render.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/jinja/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/_common/validate_required_values.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.62.0 → unique_toolkit-1.62.2}/unique_toolkit/agentic/evaluation/exception.py
RENAMED
|
File without changes
|
|
File without changes
|