unique_toolkit 1.49.0__tar.gz → 1.50.0__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.49.0 → unique_toolkit-1.50.0}/CHANGELOG.md +9 -5
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/PKG-INFO +10 -6
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/pyproject.toml +1 -1
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +2 -2
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/content/functions.py +67 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/content/service.py +27 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/services/chat_service.py +20 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/services/knowledge_base.py +26 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/LICENSE +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/README.md +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic_table/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/test_utilities/events.py +0 -0
|
@@ -5,8 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.50.0] - 2026-03-02
|
|
9
|
+
- Add async download-to-bytes functions: `download_content_to_bytes_async` on `KnowledgeBaseService`, `ContentService`, and `download_chat_content_to_bytes_async` on `ChatService`
|
|
10
|
+
|
|
8
11
|
## [1.49.0] - 2026-03-02
|
|
9
12
|
- Make the code execution tool always available to the agent
|
|
13
|
+
|
|
10
14
|
## [1.48.1] - 2026-03-02
|
|
11
15
|
- Revert `DocxGeneratorConfig` and `DocxGeneratorService` additions from 1.47.11 (broke SWOT tool, pending further testing)
|
|
12
16
|
|
|
@@ -207,7 +211,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
207
211
|
## [1.43.1] - 2026-01-12
|
|
208
212
|
- Remove accidental example report.md from repo
|
|
209
213
|
|
|
210
|
-
##[1.43.0] - 2026-01-11
|
|
214
|
+
## [1.43.0] - 2026-01-11
|
|
211
215
|
- Add `WriteUpAgent` as an experimental service
|
|
212
216
|
|
|
213
217
|
## [1.42.9] - 2026-01-11
|
|
@@ -304,7 +308,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
304
308
|
## [1.34.0] - 2025-12-02
|
|
305
309
|
- Add option to upload code interpreter generated files to the chat.
|
|
306
310
|
|
|
307
|
-
##[1.33.3] - 2025-12-02
|
|
311
|
+
## [1.33.3] - 2025-12-02
|
|
308
312
|
- Fix serialization of ToolBuildConfig `configuration` field.
|
|
309
313
|
|
|
310
314
|
## [1.33.2] - 2025-12-01
|
|
@@ -350,17 +354,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
350
354
|
- Add early return in `create_message_log_entry` if chat_service doesn't have assistant_message_id (relevant for agentic
|
|
351
355
|
table)
|
|
352
356
|
|
|
353
|
-
##[1.29.0] - 2025-11-21
|
|
357
|
+
## [1.29.0] - 2025-11-21
|
|
354
358
|
- Add option to force include references in sub agent responses even if unused by main agent response.
|
|
355
359
|
|
|
356
360
|
## [1.28.9] - 2025-11-21
|
|
357
361
|
- Remove `knolwedge_base_service` from DocXGeneratorService
|
|
358
362
|
|
|
359
|
-
##[1.28.8] - 2025-11-20
|
|
363
|
+
## [1.28.8] - 2025-11-20
|
|
360
364
|
- Add query params to api operation
|
|
361
365
|
- Add query params to endpoint builder
|
|
362
366
|
|
|
363
|
-
##[1.28.7] - 2025-11-20
|
|
367
|
+
## [1.28.7] - 2025-11-20
|
|
364
368
|
- Adding Message Step Logger Class to the agentic tools.
|
|
365
369
|
|
|
366
370
|
## [1.28.6] - 2025-11-20
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: unique_toolkit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.50.0
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Cedric Klinkert
|
|
@@ -129,8 +129,12 @@ All notable changes to this project will be documented in this file.
|
|
|
129
129
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
130
130
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
131
131
|
|
|
132
|
+
## [1.50.0] - 2026-03-02
|
|
133
|
+
- Add async download-to-bytes functions: `download_content_to_bytes_async` on `KnowledgeBaseService`, `ContentService`, and `download_chat_content_to_bytes_async` on `ChatService`
|
|
134
|
+
|
|
132
135
|
## [1.49.0] - 2026-03-02
|
|
133
136
|
- Make the code execution tool always available to the agent
|
|
137
|
+
|
|
134
138
|
## [1.48.1] - 2026-03-02
|
|
135
139
|
- Revert `DocxGeneratorConfig` and `DocxGeneratorService` additions from 1.47.11 (broke SWOT tool, pending further testing)
|
|
136
140
|
|
|
@@ -331,7 +335,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
331
335
|
## [1.43.1] - 2026-01-12
|
|
332
336
|
- Remove accidental example report.md from repo
|
|
333
337
|
|
|
334
|
-
##[1.43.0] - 2026-01-11
|
|
338
|
+
## [1.43.0] - 2026-01-11
|
|
335
339
|
- Add `WriteUpAgent` as an experimental service
|
|
336
340
|
|
|
337
341
|
## [1.42.9] - 2026-01-11
|
|
@@ -428,7 +432,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
428
432
|
## [1.34.0] - 2025-12-02
|
|
429
433
|
- Add option to upload code interpreter generated files to the chat.
|
|
430
434
|
|
|
431
|
-
##[1.33.3] - 2025-12-02
|
|
435
|
+
## [1.33.3] - 2025-12-02
|
|
432
436
|
- Fix serialization of ToolBuildConfig `configuration` field.
|
|
433
437
|
|
|
434
438
|
## [1.33.2] - 2025-12-01
|
|
@@ -474,17 +478,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
474
478
|
- Add early return in `create_message_log_entry` if chat_service doesn't have assistant_message_id (relevant for agentic
|
|
475
479
|
table)
|
|
476
480
|
|
|
477
|
-
##[1.29.0] - 2025-11-21
|
|
481
|
+
## [1.29.0] - 2025-11-21
|
|
478
482
|
- Add option to force include references in sub agent responses even if unused by main agent response.
|
|
479
483
|
|
|
480
484
|
## [1.28.9] - 2025-11-21
|
|
481
485
|
- Remove `knolwedge_base_service` from DocXGeneratorService
|
|
482
486
|
|
|
483
|
-
##[1.28.8] - 2025-11-20
|
|
487
|
+
## [1.28.8] - 2025-11-20
|
|
484
488
|
- Add query params to api operation
|
|
485
489
|
- Add query params to endpoint builder
|
|
486
490
|
|
|
487
|
-
##[1.28.7] - 2025-11-20
|
|
491
|
+
## [1.28.7] - 2025-11-20
|
|
488
492
|
- Adding Message Step Logger Class to the agentic tools.
|
|
489
493
|
|
|
490
494
|
## [1.28.6] - 2025-11-20
|
|
@@ -125,9 +125,9 @@ async def _upload_files_to_container(
|
|
|
125
125
|
logger.info(
|
|
126
126
|
"Uploding file %s to container %s", file.id, memory.container_id
|
|
127
127
|
)
|
|
128
|
-
file_content = content_service.
|
|
128
|
+
file_content = await content_service.download_content_to_bytes_async(
|
|
129
129
|
content_id=file.id, chat_id=chat_id
|
|
130
|
-
)
|
|
130
|
+
)
|
|
131
131
|
|
|
132
132
|
openai_file = await client.containers.files.create(
|
|
133
133
|
container_id=container_id,
|
|
@@ -677,6 +677,39 @@ def request_content_by_id(
|
|
|
677
677
|
return requests.get(url, headers=headers)
|
|
678
678
|
|
|
679
679
|
|
|
680
|
+
async def request_content_by_id_async(
|
|
681
|
+
user_id: str, company_id: str, content_id: str, chat_id: str | None
|
|
682
|
+
) -> httpx.Response:
|
|
683
|
+
"""
|
|
684
|
+
Sends an async request to download content.
|
|
685
|
+
|
|
686
|
+
Args:
|
|
687
|
+
user_id (str): The user ID.
|
|
688
|
+
company_id (str): The company ID.
|
|
689
|
+
content_id (str): The ID of the content to download.
|
|
690
|
+
chat_id (str): The ID of the chat from which to download the content. Defaults to None to download from knowledge base.
|
|
691
|
+
|
|
692
|
+
Returns:
|
|
693
|
+
httpx.Response: The response object containing the downloaded content.
|
|
694
|
+
|
|
695
|
+
"""
|
|
696
|
+
logger.info(f"Requesting content with content_id: {content_id}")
|
|
697
|
+
url = f"{unique_sdk.api_base}/content/{content_id}/file"
|
|
698
|
+
if chat_id:
|
|
699
|
+
url = f"{url}?chatId={chat_id}"
|
|
700
|
+
|
|
701
|
+
headers = {
|
|
702
|
+
"x-api-version": unique_sdk.api_version,
|
|
703
|
+
"x-app-id": unique_sdk.app_id,
|
|
704
|
+
"x-user-id": user_id,
|
|
705
|
+
"x-company-id": company_id,
|
|
706
|
+
"Authorization": "Bearer %s" % (unique_sdk.api_key,),
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
async with httpx.AsyncClient() as client:
|
|
710
|
+
return await client.get(url, headers=headers)
|
|
711
|
+
|
|
712
|
+
|
|
680
713
|
def download_content_to_file_by_id(
|
|
681
714
|
user_id: str,
|
|
682
715
|
company_id: str,
|
|
@@ -747,6 +780,40 @@ def download_content_to_bytes(
|
|
|
747
780
|
return response.content
|
|
748
781
|
|
|
749
782
|
|
|
783
|
+
async def download_content_to_bytes_async(
|
|
784
|
+
user_id: str,
|
|
785
|
+
company_id: str,
|
|
786
|
+
content_id: str,
|
|
787
|
+
chat_id: str | None,
|
|
788
|
+
) -> bytes:
|
|
789
|
+
"""
|
|
790
|
+
Asynchronously downloads content to memory.
|
|
791
|
+
|
|
792
|
+
Args:
|
|
793
|
+
user_id (str): The user ID.
|
|
794
|
+
company_id (str): The company ID.
|
|
795
|
+
content_id (str): The ID of the content to download.
|
|
796
|
+
chat_id (str | None): The chat ID, or None to download from the knowledge base.
|
|
797
|
+
|
|
798
|
+
raises:
|
|
799
|
+
httpx.HTTPStatusError: If the download fails.
|
|
800
|
+
"""
|
|
801
|
+
logger.info(f"Downloading content with content_id: {content_id}")
|
|
802
|
+
response = await request_content_by_id_async(
|
|
803
|
+
user_id, company_id, content_id, chat_id
|
|
804
|
+
)
|
|
805
|
+
|
|
806
|
+
if not response.is_success:
|
|
807
|
+
logger.error(
|
|
808
|
+
"Error downloading file %s: Status code %s",
|
|
809
|
+
content_id,
|
|
810
|
+
response.status_code,
|
|
811
|
+
)
|
|
812
|
+
response.raise_for_status()
|
|
813
|
+
|
|
814
|
+
return response.content
|
|
815
|
+
|
|
816
|
+
|
|
750
817
|
# TODO: Discuss if we should deprecate this method due to unclear use by content_name
|
|
751
818
|
def download_content(
|
|
752
819
|
user_id: str,
|
|
@@ -15,6 +15,7 @@ from unique_toolkit.content.constants import DEFAULT_SEARCH_LANGUAGE
|
|
|
15
15
|
from unique_toolkit.content.functions import (
|
|
16
16
|
download_content,
|
|
17
17
|
download_content_to_bytes,
|
|
18
|
+
download_content_to_bytes_async,
|
|
18
19
|
download_content_to_file_by_id,
|
|
19
20
|
request_content_by_id,
|
|
20
21
|
search_content_chunks,
|
|
@@ -736,6 +737,32 @@ class ContentService:
|
|
|
736
737
|
chat_id=chat_id,
|
|
737
738
|
)
|
|
738
739
|
|
|
740
|
+
async def download_content_to_bytes_async(
|
|
741
|
+
self,
|
|
742
|
+
content_id: str,
|
|
743
|
+
chat_id: str | None = None,
|
|
744
|
+
) -> bytes:
|
|
745
|
+
"""
|
|
746
|
+
Asynchronously downloads content to memory.
|
|
747
|
+
|
|
748
|
+
Args:
|
|
749
|
+
content_id (str): The id of the uploaded content.
|
|
750
|
+
chat_id (Optional[str]): The chat_id, defaults to None.
|
|
751
|
+
|
|
752
|
+
Returns:
|
|
753
|
+
bytes: The downloaded content.
|
|
754
|
+
|
|
755
|
+
Raises:
|
|
756
|
+
Exception: If the download fails.
|
|
757
|
+
"""
|
|
758
|
+
chat_id = chat_id or self._chat_id # type: ignore
|
|
759
|
+
return await download_content_to_bytes_async(
|
|
760
|
+
user_id=self._user_id,
|
|
761
|
+
company_id=self._company_id,
|
|
762
|
+
content_id=content_id,
|
|
763
|
+
chat_id=chat_id,
|
|
764
|
+
)
|
|
765
|
+
|
|
739
766
|
def get_documents_uploaded_to_chat(self) -> list[Content]:
|
|
740
767
|
chat_contents = self.search_contents(
|
|
741
768
|
where={
|
|
@@ -70,6 +70,7 @@ from unique_toolkit.chat.schemas import (
|
|
|
70
70
|
)
|
|
71
71
|
from unique_toolkit.content.functions import (
|
|
72
72
|
download_content_to_bytes,
|
|
73
|
+
download_content_to_bytes_async,
|
|
73
74
|
search_contents,
|
|
74
75
|
upload_content_from_bytes,
|
|
75
76
|
upload_content_from_bytes_async,
|
|
@@ -1736,6 +1737,25 @@ class ChatService(ChatServiceDeprecated):
|
|
|
1736
1737
|
chat_id=self._content_scope_chat_id,
|
|
1737
1738
|
)
|
|
1738
1739
|
|
|
1740
|
+
async def download_chat_content_to_bytes_async(self, *, content_id: str) -> bytes:
|
|
1741
|
+
"""Async download content by id from the content-scope chat (e.g. parent chat when subagent).
|
|
1742
|
+
|
|
1743
|
+
Uses the service's content-scope chat id, so when running as a subagent
|
|
1744
|
+
with correlation, this accesses files from the primary chat session.
|
|
1745
|
+
|
|
1746
|
+
Args:
|
|
1747
|
+
content_id: The content id to download.
|
|
1748
|
+
|
|
1749
|
+
Returns:
|
|
1750
|
+
bytes: The raw content bytes.
|
|
1751
|
+
"""
|
|
1752
|
+
return await download_content_to_bytes_async(
|
|
1753
|
+
user_id=self._user_id,
|
|
1754
|
+
company_id=self._company_id,
|
|
1755
|
+
content_id=content_id,
|
|
1756
|
+
chat_id=self._content_scope_chat_id,
|
|
1757
|
+
)
|
|
1758
|
+
|
|
1739
1759
|
def download_chat_images_and_documents(self) -> tuple[list[Content], list[Content]]:
|
|
1740
1760
|
"""Return images and documents from the content-scope chat (e.g. parent chat when subagent).
|
|
1741
1761
|
|
|
@@ -17,6 +17,7 @@ from unique_toolkit.content.functions import (
|
|
|
17
17
|
delete_content,
|
|
18
18
|
delete_content_async,
|
|
19
19
|
download_content_to_bytes,
|
|
20
|
+
download_content_to_bytes_async,
|
|
20
21
|
download_content_to_file_by_id,
|
|
21
22
|
get_content_info,
|
|
22
23
|
get_folder_info,
|
|
@@ -536,6 +537,31 @@ class KnowledgeBaseService:
|
|
|
536
537
|
chat_id=None,
|
|
537
538
|
)
|
|
538
539
|
|
|
540
|
+
async def download_content_to_bytes_async(
|
|
541
|
+
self,
|
|
542
|
+
*,
|
|
543
|
+
content_id: str,
|
|
544
|
+
) -> bytes:
|
|
545
|
+
"""
|
|
546
|
+
Asynchronously downloads content to memory.
|
|
547
|
+
|
|
548
|
+
Args:
|
|
549
|
+
content_id (str): The id of the uploaded content.
|
|
550
|
+
|
|
551
|
+
Returns:
|
|
552
|
+
bytes: The downloaded content.
|
|
553
|
+
|
|
554
|
+
Raises:
|
|
555
|
+
Exception: If the download fails.
|
|
556
|
+
"""
|
|
557
|
+
|
|
558
|
+
return await download_content_to_bytes_async(
|
|
559
|
+
user_id=self._user_id,
|
|
560
|
+
company_id=self._company_id,
|
|
561
|
+
content_id=content_id,
|
|
562
|
+
chat_id=None,
|
|
563
|
+
)
|
|
564
|
+
|
|
539
565
|
def batch_file_upload(
|
|
540
566
|
self,
|
|
541
567
|
*,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/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.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/README.md
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/__main__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/cli.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/differ.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/exporter.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/models.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/registry.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/config_checker/validator.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/docx_generator/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/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.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/tests/test_referencing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/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.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/image/encode.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/jinja/helpers.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/jinja/render.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/jinja/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/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.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/exception.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
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.49.0 → unique_toolkit-1.50.0}/unique_toolkit/agentic/evaluation/tests/fixtures.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
|