unique_toolkit 1.70.5__tar.gz → 1.70.6__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.70.5 → unique_toolkit-1.70.6}/PKG-INFO +1 -1
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/pyproject.toml +1 -1
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +38 -60
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/README.md +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic_table/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/monitoring/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/monitoring/middleware.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/monitoring/registry.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/services/factory.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/test_utilities/events.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: unique-toolkit
|
|
3
|
-
Version: 1.70.
|
|
3
|
+
Version: 1.70.6
|
|
4
4
|
Summary:
|
|
5
5
|
Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
|
|
6
6
|
Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
|
|
@@ -9,7 +9,6 @@ from typing import NamedTuple, override
|
|
|
9
9
|
|
|
10
10
|
import httpx
|
|
11
11
|
from openai import AsyncOpenAI
|
|
12
|
-
from openai.types.responses import ResponseCodeInterpreterToolCall
|
|
13
12
|
from openai.types.responses.response_output_text import AnnotationContainerFileCitation
|
|
14
13
|
from pydantic import BaseModel, Field, RootModel
|
|
15
14
|
from pydantic.json_schema import SkipJsonSchema
|
|
@@ -639,19 +638,27 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
639
638
|
self._log.info("Fence injection modified the message text")
|
|
640
639
|
|
|
641
640
|
if self._orphan_code_blocks:
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
641
|
+
for block in self._orphan_code_blocks:
|
|
642
|
+
for file in block.files:
|
|
643
|
+
loop_response.message.references.append(
|
|
644
|
+
ContentReference(
|
|
645
|
+
sequence_number=ref_number,
|
|
646
|
+
source_id=file.content_id,
|
|
647
|
+
source="node-ingestion-chunks",
|
|
648
|
+
url=f"unique://content/{file.content_id}",
|
|
649
|
+
name=file.filename,
|
|
650
|
+
)
|
|
651
|
+
)
|
|
652
|
+
ref_number += 1
|
|
647
653
|
changed = True
|
|
648
654
|
self._log.info(
|
|
649
|
-
"
|
|
655
|
+
"Added %d orphan code block(s) to message references",
|
|
656
|
+
len(self._orphan_code_blocks),
|
|
650
657
|
)
|
|
651
658
|
|
|
652
659
|
_warn_missing_content_ids(loop_response.message.text, self._content_map)
|
|
653
660
|
loop_response.message.text, dangling_replaced = _replace_dangling_sandbox_links(
|
|
654
|
-
loop_response.message.text
|
|
661
|
+
loop_response.message.text
|
|
655
662
|
)
|
|
656
663
|
changed |= dangling_replaced
|
|
657
664
|
if dangling_replaced:
|
|
@@ -963,13 +970,12 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
963
970
|
async def _upload_orphan_code_as_txt(
|
|
964
971
|
self, loop_response: ResponsesLanguageModelStreamResponse
|
|
965
972
|
) -> list[CodeInterpreterBlock]:
|
|
966
|
-
"""Upload
|
|
973
|
+
"""Upload source **code** from calls that produced no container files as .txt artifacts.
|
|
967
974
|
|
|
968
975
|
When code interpreter runs but generates no files or images, the response
|
|
969
976
|
text has no sandbox links for fence injection to hook onto. This method
|
|
970
|
-
converts those "orphan" calls into downloadable .txt files
|
|
971
|
-
postprocessor can attach a
|
|
972
|
-
Execution UI is shown instead of the legacy <details> block.
|
|
977
|
+
converts those "orphan" calls into downloadable .txt files (the executed
|
|
978
|
+
code, not stdout) so the postprocessor can attach a reference for download.
|
|
973
979
|
|
|
974
980
|
Called only when the fence feature flag is enabled. Skipped entirely if
|
|
975
981
|
any container files were produced (normal fencing handles those).
|
|
@@ -990,13 +996,9 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
990
996
|
if not call.code:
|
|
991
997
|
continue
|
|
992
998
|
|
|
993
|
-
#
|
|
994
|
-
# the
|
|
995
|
-
|
|
996
|
-
# docs/manual_examples_for_docs/code_execution_openai_client.py). If
|
|
997
|
-
# `outputs` is omitted, call.outputs is null and we fall back to the
|
|
998
|
-
# source code as the downloadable txt.
|
|
999
|
-
txt_content = _collect_stdout(call) or call.code
|
|
999
|
+
# Always persist the executed source as the downloadable .txt (not stdout),
|
|
1000
|
+
# so the attachment matches what ran in the sandbox.
|
|
1001
|
+
txt_content = call.code
|
|
1000
1002
|
filename = f"code_{i + 1}.txt" if use_numeric_suffix else "code.txt"
|
|
1001
1003
|
|
|
1002
1004
|
try:
|
|
@@ -1034,38 +1036,6 @@ class DisplayCodeInterpreterFilesPostProcessor(
|
|
|
1034
1036
|
return orphan_blocks
|
|
1035
1037
|
|
|
1036
1038
|
|
|
1037
|
-
def _collect_stdout(call: ResponseCodeInterpreterToolCall) -> str:
|
|
1038
|
-
"""Collect all stdout logs from a code interpreter call's outputs."""
|
|
1039
|
-
if not call.outputs:
|
|
1040
|
-
return ""
|
|
1041
|
-
return "\n".join(output.logs for output in call.outputs if output.type == "logs")
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
def _get_next_fence_id(text: str) -> int:
|
|
1045
|
-
"""Return the next available fence id by scanning existing fences in the text."""
|
|
1046
|
-
existing = re.findall(r"````(?:imgWithSource|fileWithSource)\(id='(\d+)'", text)
|
|
1047
|
-
if not existing:
|
|
1048
|
-
return 1
|
|
1049
|
-
return max(int(fid) for fid in existing) + 1
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
def _build_orphan_fences(
|
|
1053
|
-
blocks: list[CodeInterpreterBlock], start_fence_id: int
|
|
1054
|
-
) -> str:
|
|
1055
|
-
"""Build concatenated fence text for orphan code blocks.
|
|
1056
|
-
|
|
1057
|
-
Orphan blocks have no inline ref in the message text, so their fences are
|
|
1058
|
-
appended directly rather than injected via pattern replacement.
|
|
1059
|
-
"""
|
|
1060
|
-
fence_id = start_fence_id
|
|
1061
|
-
parts: list[str] = []
|
|
1062
|
-
for block in blocks:
|
|
1063
|
-
for file in block.files:
|
|
1064
|
-
parts.append(_build_file_fence(file, block.code, fence_id))
|
|
1065
|
-
fence_id += 1
|
|
1066
|
-
return "\n".join(parts)
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
1039
|
def _get_file_type(filename: str) -> CodeInterpreterFileType:
|
|
1070
1040
|
mime = guess_type(filename)[0] or ""
|
|
1071
1041
|
if mime.startswith("image/"):
|
|
@@ -1397,27 +1367,35 @@ def _warn_missing_content_ids(text: str, content_map: dict[str, str | None]) ->
|
|
|
1397
1367
|
# so the entire `[label](sandbox://...)` token can be replaced rather than just the URL.
|
|
1398
1368
|
_SANDBOX_MARKDOWN_LINK_RE = re.compile(r"!?\[.*?\]\(sandbox:/mnt/data/\S+?\)")
|
|
1399
1369
|
|
|
1370
|
+
# Extracts the bare filename from a sandbox URL like `sandbox:/mnt/data/foo.csv`.
|
|
1371
|
+
_SANDBOX_FILENAME_RE = re.compile(r"sandbox:/mnt/data/([^)\s]+)")
|
|
1372
|
+
|
|
1400
1373
|
|
|
1401
|
-
def _replace_dangling_sandbox_links(text: str
|
|
1402
|
-
"""Replace any remaining sandbox:/mnt/data/ markdown links with
|
|
1374
|
+
def _replace_dangling_sandbox_links(text: str) -> tuple[str, bool]:
|
|
1375
|
+
"""Replace any remaining sandbox:/mnt/data/ markdown links with a per-file notice.
|
|
1403
1376
|
|
|
1404
1377
|
A dangling link means either the LLM hallucinated a file reference (the sandbox
|
|
1405
1378
|
link appears in the text but no matching container file annotation was emitted by
|
|
1406
1379
|
OpenAI), or the link format did not match the expected regex in stage-1. In both
|
|
1407
1380
|
cases the user would see a broken link; this function replaces each such link with
|
|
1408
|
-
the
|
|
1381
|
+
an actionable message that names the specific file, and logs a warning so the
|
|
1382
|
+
incident is visible in production logs.
|
|
1409
1383
|
"""
|
|
1410
|
-
|
|
1411
|
-
if not matches:
|
|
1384
|
+
if not _SANDBOX_MARKDOWN_LINK_RE.search(text):
|
|
1412
1385
|
return text, False
|
|
1413
|
-
|
|
1386
|
+
|
|
1387
|
+
def _replacement(m: re.Match[str]) -> str:
|
|
1388
|
+
filename_match = _SANDBOX_FILENAME_RE.search(m.group())
|
|
1389
|
+
filename = filename_match.group(1) if filename_match else "the file"
|
|
1414
1390
|
logger.warning(
|
|
1415
1391
|
"Dangling sandbox link found in final text: '%s'. "
|
|
1416
1392
|
"The file was either never uploaded or the link format did not match "
|
|
1417
|
-
"the expected pattern — replacing with
|
|
1418
|
-
|
|
1393
|
+
"the expected pattern — replacing with per-file notice.",
|
|
1394
|
+
m.group(),
|
|
1419
1395
|
)
|
|
1420
|
-
|
|
1396
|
+
return f"⚠️ The file *{filename}* could not be retrieved. You can ask me to regenerate it."
|
|
1397
|
+
|
|
1398
|
+
return _SANDBOX_MARKDOWN_LINK_RE.sub(_replacement, text), True
|
|
1421
1399
|
|
|
1422
1400
|
|
|
1423
1401
|
def _warn_unmatched_code_blocks(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/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.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/README.md
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/__main__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/cli.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/differ.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/exporter.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/models.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/registry.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/config_checker/validator.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/docx_generator/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/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.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/tests/test_referencing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/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.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/image/encode.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/jinja/helpers.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/jinja/render.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/jinja/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/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.70.5 → unique_toolkit-1.70.6}/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.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/evaluation/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/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
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/feature_flags/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/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.70.5 → unique_toolkit-1.70.6}/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
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.70.5 → unique_toolkit-1.70.6}/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.70.5 → unique_toolkit-1.70.6}/unique_toolkit/agentic/tools/a2a/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|