unique_toolkit 1.74.2__tar.gz → 1.75.1__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.74.2 → unique_toolkit-1.75.1}/PKG-INFO +1 -1
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/pyproject.toml +1 -1
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +28 -6
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/content/schemas.py +53 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/content/utils.py +20 -27
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/README.md +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/README.md +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/__main__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/cli.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/differ.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/exporter.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/models.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/registry.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/validator.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/event_bus.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/execution.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/token/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/jinja/render.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/base.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic_table/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic_table/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic_table/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/fast_api_factory.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/feature_flags.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/find_env_file.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/app/webhook.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/cancellation.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/README.md +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/augmented/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/base.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/basic/config.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/data_extraction/basic/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/elicitation/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/elicitation/constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/elicitation/exceptions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/elicitation/functions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/elicitation/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/elicitation/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/stream_transform.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/monitoring/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/monitoring/middleware.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/monitoring/registry.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/services/factory.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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.
|
|
3
|
+
Version: 1.75.1
|
|
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>
|
|
@@ -7,6 +7,7 @@ from openai.types.responses import (
|
|
|
7
7
|
Response,
|
|
8
8
|
ResponseFormatTextJSONSchemaConfigParam,
|
|
9
9
|
ResponseInputItemParam,
|
|
10
|
+
ResponseOutputMessage,
|
|
10
11
|
ResponseTextConfigParam,
|
|
11
12
|
)
|
|
12
13
|
from pydantic import BaseModel, Field
|
|
@@ -39,6 +40,26 @@ from unique_toolkit.language_model.schemas import (
|
|
|
39
40
|
_LOGGER = logging.getLogger(__name__)
|
|
40
41
|
|
|
41
42
|
|
|
43
|
+
def _get_first_output_text(response: Response) -> str | None:
|
|
44
|
+
"""
|
|
45
|
+
The Responses API can return multiple output items when doing structured output
|
|
46
|
+
(https://community.openai.com/t/multiple-outputs-from-responses-api/1291026),
|
|
47
|
+
We should tell the model not to do this in the schema, as well as extract only the first one
|
|
48
|
+
"""
|
|
49
|
+
if len(response.output) > 1:
|
|
50
|
+
_LOGGER.warning(
|
|
51
|
+
"Model returned %i outputs, keeping only the first one",
|
|
52
|
+
len(response.output),
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
for item in response.output:
|
|
56
|
+
if isinstance(item, ResponseOutputMessage):
|
|
57
|
+
for content in item.content:
|
|
58
|
+
if content.type == "output_text" and content.text:
|
|
59
|
+
return content.text
|
|
60
|
+
return None
|
|
61
|
+
|
|
62
|
+
|
|
42
63
|
class PlanningConfig(BaseModel):
|
|
43
64
|
model_config = get_configuration_dict()
|
|
44
65
|
|
|
@@ -128,7 +149,7 @@ class ResponsesPlanningMiddleware(ResponsesLoopIterationRunner):
|
|
|
128
149
|
self,
|
|
129
150
|
openai_messages: str | list[ResponseInputItemParam],
|
|
130
151
|
model_name: str,
|
|
131
|
-
) ->
|
|
152
|
+
) -> str | None:
|
|
132
153
|
planning_schema = get_planning_schema(self._config.planning_schema_config)
|
|
133
154
|
|
|
134
155
|
response = await self._openai_client.responses.create(
|
|
@@ -148,29 +169,30 @@ class ResponsesPlanningMiddleware(ResponsesLoopIterationRunner):
|
|
|
148
169
|
),
|
|
149
170
|
)
|
|
150
171
|
|
|
151
|
-
|
|
172
|
+
output_text = _get_first_output_text(response)
|
|
173
|
+
if not output_text:
|
|
152
174
|
_LOGGER.info("Empty planning response")
|
|
153
175
|
return None
|
|
154
176
|
|
|
155
|
-
return
|
|
177
|
+
return output_text
|
|
156
178
|
|
|
157
179
|
async def __call__(
|
|
158
180
|
self, **kwargs: Unpack[_ResponsesLoopIterationRunnerKwargs]
|
|
159
181
|
) -> ResponsesLanguageModelStreamResponse:
|
|
160
182
|
openai_messages = convert_messages_to_openai(kwargs["messages"])
|
|
161
183
|
|
|
162
|
-
|
|
184
|
+
output_text = await self._run_plan_step(
|
|
163
185
|
openai_messages=openai_messages,
|
|
164
186
|
model_name=kwargs["model"].name,
|
|
165
187
|
)
|
|
166
188
|
|
|
167
|
-
if
|
|
189
|
+
if output_text is None:
|
|
168
190
|
_LOGGER.info(
|
|
169
191
|
"Error executing planning step, proceeding without planning step"
|
|
170
192
|
)
|
|
171
193
|
return await self._loop_runner(**kwargs)
|
|
172
194
|
|
|
173
|
-
assistant_message = LanguageModelAssistantMessage(content=
|
|
195
|
+
assistant_message = LanguageModelAssistantMessage(content=output_text)
|
|
174
196
|
|
|
175
197
|
if self._history_manager is not None:
|
|
176
198
|
self._history_manager.add_assistant_message(assistant_message)
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import re
|
|
1
4
|
from datetime import datetime
|
|
2
5
|
from enum import StrEnum
|
|
3
6
|
from typing import Any, Optional
|
|
@@ -72,6 +75,56 @@ class ContentChunk(BaseModel):
|
|
|
72
75
|
created_at: datetime | None = None
|
|
73
76
|
updated_at: datetime | None = None
|
|
74
77
|
|
|
78
|
+
def to_reference(
|
|
79
|
+
self,
|
|
80
|
+
sequence_number: int,
|
|
81
|
+
original_index: list[int] | None = None,
|
|
82
|
+
*,
|
|
83
|
+
message_id: str = "",
|
|
84
|
+
) -> ContentReference:
|
|
85
|
+
"""Convert this chunk into a ``ContentReference`` with page-number info.
|
|
86
|
+
|
|
87
|
+
When using ``modify_assistant_message`` (the message-update path) instead of
|
|
88
|
+
streaming via ``complete_with_references``, the backend does **not**
|
|
89
|
+
automatically create references from ``searchContext``. This method replicates
|
|
90
|
+
the reference format the backend streaming path produces so page numbers
|
|
91
|
+
appear in the frontend reference chips.
|
|
92
|
+
|
|
93
|
+
Args:
|
|
94
|
+
sequence_number: The 1-based sequence number shown in the ``<sup>``
|
|
95
|
+
tag in the message text.
|
|
96
|
+
original_index: Optional list of bracket indices (``[N]``) in the
|
|
97
|
+
message text that this reference corresponds to.
|
|
98
|
+
message_id: The chat message id this reference belongs to, if any.
|
|
99
|
+
|
|
100
|
+
Returns:
|
|
101
|
+
A ``ContentReference`` ready to pass to ``modify_assistant_message``.
|
|
102
|
+
"""
|
|
103
|
+
from unique_toolkit.content.utils import _generate_pages_postfix
|
|
104
|
+
|
|
105
|
+
name = self.title or self.key or f"Content {self.id}"
|
|
106
|
+
pages_postfix = _generate_pages_postfix([self])
|
|
107
|
+
if pages_postfix and not re.search(r" : [\d,]+$", name):
|
|
108
|
+
name = f"{name}{pages_postfix}"
|
|
109
|
+
|
|
110
|
+
source_id = f"{self.id}_{self.chunk_id}" if self.chunk_id else self.id
|
|
111
|
+
url = (
|
|
112
|
+
self.url
|
|
113
|
+
if self.url and not self.internally_stored_at
|
|
114
|
+
else f"unique://content/{self.id}"
|
|
115
|
+
)
|
|
116
|
+
|
|
117
|
+
return ContentReference(
|
|
118
|
+
id=self.id,
|
|
119
|
+
message_id=message_id,
|
|
120
|
+
name=name,
|
|
121
|
+
sequence_number=sequence_number,
|
|
122
|
+
source_id=source_id,
|
|
123
|
+
source="node-ingestion-chunks",
|
|
124
|
+
url=url,
|
|
125
|
+
original_index=original_index or [],
|
|
126
|
+
)
|
|
127
|
+
|
|
75
128
|
|
|
76
129
|
class Content(BaseModel):
|
|
77
130
|
model_config = model_config
|
|
@@ -121,40 +121,33 @@ def merge_content_chunks(content_chunks: list[ContentChunk]):
|
|
|
121
121
|
|
|
122
122
|
|
|
123
123
|
def _generate_pages_postfix(chunks: list[ContentChunk]) -> str:
|
|
124
|
-
"""
|
|
125
|
-
Generates a postfix string of page numbers from a list of source objects.
|
|
126
|
-
Each source object contains startPage and endPage numbers. The function
|
|
127
|
-
compiles a list of all unique page numbers greater than 0 from all chunks,
|
|
128
|
-
and then returns them as a string prefixed with " : " if there are any.
|
|
124
|
+
"""Build a human-readable page suffix for one or more chunks (e.g. ``" : 1,2,3"``).
|
|
129
125
|
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
Collects all page numbers greater than zero from each chunk's ``start_page`` and
|
|
127
|
+
``end_page``, deduplicates and sorts them, then formats them as ``" : n,n,..."`` or
|
|
128
|
+
returns the empty string when there are no valid pages.
|
|
129
|
+
|
|
130
|
+
**Usage:** Called from ``sort_content_chunks``, ``merge_content_chunks``, and
|
|
131
|
+
``ContentChunk.to_reference`` so list presentation and reference names stay
|
|
132
|
+
consistent with the backend's page postfix convention.
|
|
133
|
+
|
|
134
|
+
**Why pages may be missing:** ``ContentChunk.start_page`` and ``end_page`` are
|
|
135
|
+
optional (``None`` from the API). This path must not call ``range`` with ``None``,
|
|
136
|
+
or callers would raise ``TypeError`` when building references from real chunks.
|
|
137
|
+
|
|
138
|
+
Args:
|
|
139
|
+
chunks: Chunks whose ``start_page`` / ``end_page`` may be ``None`` or ``-1``
|
|
140
|
+
(sentinel for unknown).
|
|
132
141
|
|
|
133
142
|
Returns:
|
|
134
|
-
|
|
143
|
+
Postfix string such as ``" : 3,4,5"``, or ``""`` when no positive pages apply.
|
|
135
144
|
"""
|
|
136
145
|
|
|
137
|
-
def gen_all_numbers_in_between(start, end) -> list[int]:
|
|
138
|
-
|
|
139
|
-
Generates a list of all numbers between start and end, inclusive.
|
|
140
|
-
If start or end is -1, it behaves as follows:
|
|
141
|
-
- If both start and end are -1, it returns an empty list.
|
|
142
|
-
- If only end is -1, it returns a list containing only the start.
|
|
143
|
-
- If start is -1, it returns an empty list.
|
|
144
|
-
|
|
145
|
-
Parameters:
|
|
146
|
-
- start (int): The starting page number.
|
|
147
|
-
- end (int): The ending page number.
|
|
148
|
-
|
|
149
|
-
Returns:
|
|
150
|
-
- list: A list of numbers from start to end, inclusive.
|
|
151
|
-
"""
|
|
152
|
-
if start == -1 and end == -1:
|
|
146
|
+
def gen_all_numbers_in_between(start: int | None, end: int | None) -> list[int]:
|
|
147
|
+
if start is None or start == -1:
|
|
153
148
|
return []
|
|
154
|
-
if end == -1:
|
|
149
|
+
if end is None or end == -1:
|
|
155
150
|
return [start]
|
|
156
|
-
if start == -1:
|
|
157
|
-
return []
|
|
158
151
|
return list(range(start, end + 1))
|
|
159
152
|
|
|
160
153
|
page_numbers_array = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/README.md
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/__main__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/cli.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/differ.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/exporter.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/models.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/registry.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/config_checker/validator.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/docx_generator/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/tests/test_referencing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/image/encode.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/jinja/helpers.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/jinja/render.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/jinja/schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/evaluation/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
|
File without changes
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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
|
{unique_toolkit-1.74.2 → unique_toolkit-1.75.1}/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.74.2 → unique_toolkit-1.75.1}/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
|