unique_toolkit 1.45.0__tar.gz → 1.45.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.45.0 → unique_toolkit-1.45.2}/CHANGELOG.md +6 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/PKG-INFO +7 -1
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/pyproject.toml +1 -1
- unique_toolkit-1.45.2/unique_toolkit/_common/utils/files.py +126 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +8 -44
- unique_toolkit-1.45.0/unique_toolkit/_common/utils/files.py +0 -43
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/LICENSE +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/README.md +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic_table/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/test_utilities/events.py +0 -0
|
@@ -5,6 +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.45.2] - 2026-01-26
|
|
9
|
+
- Make FileMimeType backwards compatible with legacy extensions
|
|
10
|
+
|
|
11
|
+
## [1.45.1] - 2026-01-26
|
|
12
|
+
- Add FileMimeType utility helpers
|
|
13
|
+
|
|
8
14
|
## [1.45.0] - 2026-01-23
|
|
9
15
|
- Remove unused code execution options from config
|
|
10
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_toolkit
|
|
3
|
-
Version: 1.45.
|
|
3
|
+
Version: 1.45.2
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Cedric Klinkert
|
|
@@ -125,6 +125,12 @@ All notable changes to this project will be documented in this file.
|
|
|
125
125
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
126
126
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
127
127
|
|
|
128
|
+
## [1.45.2] - 2026-01-26
|
|
129
|
+
- Make FileMimeType backwards compatible with legacy extensions
|
|
130
|
+
|
|
131
|
+
## [1.45.1] - 2026-01-26
|
|
132
|
+
- Add FileMimeType utility helpers
|
|
133
|
+
|
|
128
134
|
## [1.45.0] - 2026-01-23
|
|
129
135
|
- Remove unused code execution options from config
|
|
130
136
|
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import mimetypes
|
|
4
|
+
from enum import StrEnum
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class FileMimeType(StrEnum):
|
|
9
|
+
PDF = "application/pdf"
|
|
10
|
+
DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
11
|
+
DOC = "application/msword"
|
|
12
|
+
# TODO: clean up duplicates and make the monolith compatible with this.
|
|
13
|
+
XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
14
|
+
MSEXCEL = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
15
|
+
XLS = "application/vnd.ms-excel"
|
|
16
|
+
EXCEL = "application/vnd.ms-excel"
|
|
17
|
+
PPT = "application/vnd.ms-powerpoint"
|
|
18
|
+
PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
|
19
|
+
MSPPT = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
|
20
|
+
CSV = "text/csv"
|
|
21
|
+
HTML = "text/html"
|
|
22
|
+
MD = "text/markdown"
|
|
23
|
+
TXT = "text/plain"
|
|
24
|
+
JSON = "application/json"
|
|
25
|
+
|
|
26
|
+
@classmethod
|
|
27
|
+
def get_mime_from_file_path(cls, filepath: Path) -> "FileMimeType | None":
|
|
28
|
+
mime_type, _ = mimetypes.guess_type(filepath)
|
|
29
|
+
if mime_type is None:
|
|
30
|
+
return None
|
|
31
|
+
try:
|
|
32
|
+
return cls(mime_type)
|
|
33
|
+
except ValueError:
|
|
34
|
+
return None
|
|
35
|
+
|
|
36
|
+
@classmethod
|
|
37
|
+
def is_docx_mime(cls, filepath: Path) -> bool:
|
|
38
|
+
mime_type = cls.get_mime_from_file_path(filepath)
|
|
39
|
+
return mime_type in {cls.DOCX, cls.DOC}
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def is_pdf_mime(cls, filepath: Path) -> bool:
|
|
43
|
+
mime_type = cls.get_mime_from_file_path(filepath)
|
|
44
|
+
return mime_type == cls.PDF
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def is_xlsx_mime(cls, filepath: Path) -> bool:
|
|
48
|
+
mime_type = cls.get_mime_from_file_path(filepath)
|
|
49
|
+
return mime_type in {cls.XLSX, cls.XLS, cls.MSEXCEL, cls.EXCEL}
|
|
50
|
+
|
|
51
|
+
@classmethod
|
|
52
|
+
def is_pptx_mime(cls, filepath: Path) -> bool:
|
|
53
|
+
mime_type = cls.get_mime_from_file_path(filepath)
|
|
54
|
+
return mime_type in {cls.PPTX, cls.PPT, cls.MSPPT}
|
|
55
|
+
|
|
56
|
+
@classmethod
|
|
57
|
+
def is_json_mime(cls, filepath: Path) -> bool:
|
|
58
|
+
mime_type = cls.get_mime_from_file_path(filepath)
|
|
59
|
+
return mime_type == cls.JSON
|
|
60
|
+
|
|
61
|
+
@classmethod
|
|
62
|
+
def is_valid_mime(cls, filepath: Path, valid_mimes: list[FileMimeType]) -> bool:
|
|
63
|
+
mime_type = cls.get_mime_from_file_path(filepath)
|
|
64
|
+
return mime_type in valid_mimes
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def get_common_name(extension: FileMimeType) -> str:
|
|
68
|
+
match extension:
|
|
69
|
+
case FileMimeType.DOCX | FileMimeType.DOC:
|
|
70
|
+
return "docx"
|
|
71
|
+
case (
|
|
72
|
+
FileMimeType.XLSX
|
|
73
|
+
| FileMimeType.XLS
|
|
74
|
+
| FileMimeType.MSEXCEL
|
|
75
|
+
| FileMimeType.EXCEL
|
|
76
|
+
):
|
|
77
|
+
return "excel"
|
|
78
|
+
case FileMimeType.PPT | FileMimeType.PPTX | FileMimeType.MSPPT:
|
|
79
|
+
return "powerpoint"
|
|
80
|
+
case FileMimeType.PDF:
|
|
81
|
+
return "pdf"
|
|
82
|
+
case FileMimeType.JSON:
|
|
83
|
+
return "json"
|
|
84
|
+
case FileMimeType.CSV:
|
|
85
|
+
return "csv"
|
|
86
|
+
case FileMimeType.TXT:
|
|
87
|
+
return "text"
|
|
88
|
+
case FileMimeType.MD:
|
|
89
|
+
return "markdown"
|
|
90
|
+
case FileMimeType.HTML:
|
|
91
|
+
return "html"
|
|
92
|
+
case _:
|
|
93
|
+
return "unknown"
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def get_file_extensions(mimes: list[FileMimeType]) -> list[str]:
|
|
97
|
+
types = [mimetypes.guess_extension(mime) for mime in mimes]
|
|
98
|
+
return [t for t in types if t]
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class ImageMimeType(StrEnum):
|
|
102
|
+
JPEG = "image/jpeg"
|
|
103
|
+
PNG = "image/png"
|
|
104
|
+
GIF = "image/gif"
|
|
105
|
+
BMP = "image/bmp"
|
|
106
|
+
WEBP = "image/webp"
|
|
107
|
+
TIFF = "image/tiff"
|
|
108
|
+
SVG = "image/svg+xml"
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def is_file_content(filename: str) -> bool:
|
|
112
|
+
mimetype, _ = mimetypes.guess_type(filename)
|
|
113
|
+
|
|
114
|
+
if not mimetype:
|
|
115
|
+
return False
|
|
116
|
+
|
|
117
|
+
return mimetype in FileMimeType.__members__.values()
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def is_image_content(filename: str) -> bool:
|
|
121
|
+
mimetype, _ = mimetypes.guess_type(filename)
|
|
122
|
+
|
|
123
|
+
if not mimetype:
|
|
124
|
+
return False
|
|
125
|
+
|
|
126
|
+
return mimetype in ImageMimeType.__members__.values()
|
|
@@ -10,6 +10,7 @@ from pydantic import RootModel
|
|
|
10
10
|
from unique_toolkit._common.token.token_counting import (
|
|
11
11
|
num_tokens_per_language_model_message,
|
|
12
12
|
)
|
|
13
|
+
from unique_toolkit._common.utils import files as FileUtils
|
|
13
14
|
from unique_toolkit.app import ChatEventUserMessage
|
|
14
15
|
from unique_toolkit.chat.schemas import ChatMessage
|
|
15
16
|
from unique_toolkit.chat.schemas import ChatMessageRole as ChatRole
|
|
@@ -29,29 +30,6 @@ map_chat_llm_message_role = {
|
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
|
|
32
|
-
class ImageMimeType(StrEnum):
|
|
33
|
-
JPEG = "image/jpeg"
|
|
34
|
-
PNG = "image/png"
|
|
35
|
-
GIF = "image/gif"
|
|
36
|
-
BMP = "image/bmp"
|
|
37
|
-
WEBP = "image/webp"
|
|
38
|
-
TIFF = "image/tiff"
|
|
39
|
-
SVG = "image/svg+xml"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class FileMimeType(StrEnum):
|
|
43
|
-
PDF = "application/pdf"
|
|
44
|
-
DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
45
|
-
DOC = "application/msword"
|
|
46
|
-
XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
47
|
-
XLS = "application/vnd.ms-excel"
|
|
48
|
-
PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
|
49
|
-
CSV = "text/csv"
|
|
50
|
-
HTML = "text/html"
|
|
51
|
-
MD = "text/markdown"
|
|
52
|
-
TXT = "text/plain"
|
|
53
|
-
|
|
54
|
-
|
|
55
33
|
class ChatMessageWithContents(ChatMessage):
|
|
56
34
|
contents: list[Content] = []
|
|
57
35
|
|
|
@@ -93,24 +71,6 @@ class ChatHistoryWithContent(RootModel):
|
|
|
93
71
|
return self.root[item]
|
|
94
72
|
|
|
95
73
|
|
|
96
|
-
def is_image_content(filename: str) -> bool:
|
|
97
|
-
mimetype, _ = mimetypes.guess_type(filename)
|
|
98
|
-
|
|
99
|
-
if not mimetype:
|
|
100
|
-
return False
|
|
101
|
-
|
|
102
|
-
return mimetype in ImageMimeType.__members__.values()
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
def is_file_content(filename: str) -> bool:
|
|
106
|
-
mimetype, _ = mimetypes.guess_type(filename)
|
|
107
|
-
|
|
108
|
-
if not mimetype:
|
|
109
|
-
return False
|
|
110
|
-
|
|
111
|
-
return mimetype in FileMimeType.__members__.values()
|
|
112
|
-
|
|
113
|
-
|
|
114
74
|
def get_chat_history_with_contents(
|
|
115
75
|
user_message: ChatEventUserMessage,
|
|
116
76
|
chat_id: str,
|
|
@@ -152,7 +112,7 @@ def download_encoded_images(
|
|
|
152
112
|
) -> list[str]:
|
|
153
113
|
base64_encoded_images = []
|
|
154
114
|
for im in contents:
|
|
155
|
-
if is_image_content(im.key):
|
|
115
|
+
if FileUtils.is_image_content(im.key):
|
|
156
116
|
try:
|
|
157
117
|
file_bytes = content_service.download_content_to_bytes(
|
|
158
118
|
content_id=im.id,
|
|
@@ -224,8 +184,12 @@ def get_full_history_with_contents(
|
|
|
224
184
|
text = ""
|
|
225
185
|
|
|
226
186
|
if len(c.contents) > 0:
|
|
227
|
-
file_contents = [
|
|
228
|
-
|
|
187
|
+
file_contents = [
|
|
188
|
+
co for co in c.contents if FileUtils.is_file_content(co.key)
|
|
189
|
+
]
|
|
190
|
+
image_contents = [
|
|
191
|
+
co for co in c.contents if FileUtils.is_image_content(co.key)
|
|
192
|
+
]
|
|
229
193
|
|
|
230
194
|
content = (
|
|
231
195
|
text
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import mimetypes
|
|
2
|
-
from enum import StrEnum
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class FileMimeType(StrEnum):
|
|
6
|
-
PDF = "application/pdf"
|
|
7
|
-
DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
8
|
-
DOC = "application/msword"
|
|
9
|
-
XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
10
|
-
XLS = "application/vnd.ms-excel"
|
|
11
|
-
PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
|
12
|
-
CSV = "text/csv"
|
|
13
|
-
HTML = "text/html"
|
|
14
|
-
MD = "text/markdown"
|
|
15
|
-
TXT = "text/plain"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class ImageMimeType(StrEnum):
|
|
19
|
-
JPEG = "image/jpeg"
|
|
20
|
-
PNG = "image/png"
|
|
21
|
-
GIF = "image/gif"
|
|
22
|
-
BMP = "image/bmp"
|
|
23
|
-
WEBP = "image/webp"
|
|
24
|
-
TIFF = "image/tiff"
|
|
25
|
-
SVG = "image/svg+xml"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def is_file_content(filename: str) -> bool:
|
|
29
|
-
mimetype, _ = mimetypes.guess_type(filename)
|
|
30
|
-
|
|
31
|
-
if not mimetype:
|
|
32
|
-
return False
|
|
33
|
-
|
|
34
|
-
return mimetype in FileMimeType.__members__.values()
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def is_image_content(filename: str) -> bool:
|
|
38
|
-
mimetype, _ = mimetypes.guess_type(filename)
|
|
39
|
-
|
|
40
|
-
if not mimetype:
|
|
41
|
-
return False
|
|
42
|
-
|
|
43
|
-
return mimetype in ImageMimeType.__members__.values()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.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.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/config.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/docx_generator/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.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
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/tests/test_referencing.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/token/token_counting.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/image/encode.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/jinja/helpers.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/jinja/render.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/jinja/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.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
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/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
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/evaluation/schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/feature_flags/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/loop_runner/runners/basic.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.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/responses_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.45.0 → unique_toolkit-1.45.2}/unique_toolkit/agentic/tools/a2a/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|