unique_toolkit 1.80.0__tar.gz → 1.80.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/PKG-INFO +2 -2
  2. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/pyproject.toml +2 -2
  3. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/files.py +38 -6
  4. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +13 -2
  5. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/content/schemas.py +18 -4
  6. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/content/utils.py +1 -0
  7. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/README.md +0 -0
  8. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/__init__.py +0 -0
  9. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/__init__.py +0 -0
  10. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  13. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  14. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  15. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  16. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  17. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  18. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  19. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/README.md +0 -0
  20. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  21. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  22. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/cli.py +0 -0
  23. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/differ.py +0 -0
  24. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  25. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/models.py +0 -0
  26. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/registry.py +0 -0
  27. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/config_checker/validator.py +0 -0
  28. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/default_language_model.py +0 -0
  29. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  30. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/docx_generator/config.py +0 -0
  31. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  32. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  33. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/docx_generator/service.py +0 -0
  34. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  35. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/endpoint_builder.py +0 -0
  36. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  37. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/event_bus.py +0 -0
  38. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/exception.py +0 -0
  39. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/execution.py +0 -0
  40. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  41. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  42. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  43. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  44. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  45. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  46. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  47. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  48. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  49. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  50. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  51. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  52. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  53. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  54. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  55. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  56. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  57. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  58. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  59. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  60. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  61. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  62. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  63. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  64. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  65. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  66. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  67. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  68. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  69. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  70. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/referencing.py +0 -0
  71. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/string_utilities.py +0 -0
  72. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  73. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  74. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/token/__init__.py +0 -0
  75. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  76. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/token/token_counting.py +0 -0
  77. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  78. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  79. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/__init__.py +0 -0
  80. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/image/encode.py +0 -0
  81. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  82. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  83. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  84. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  85. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  86. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  87. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  88. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/validate_required_values.py +0 -0
  89. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/_common/validators.py +0 -0
  90. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/__init__.py +0 -0
  91. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  92. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  93. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/config.py +0 -0
  94. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  95. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  96. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  97. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  98. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  99. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  100. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  101. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  102. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  103. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  104. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  105. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  106. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  107. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  108. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  109. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  110. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  111. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  112. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  113. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  114. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  115. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  116. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  117. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  118. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  119. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  120. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  121. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  122. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  123. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  124. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  125. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  126. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  127. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  128. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  129. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  130. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  131. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  132. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  133. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  134. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  135. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  136. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  137. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  138. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  139. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  140. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  141. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  142. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  143. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  144. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  145. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  146. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  147. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  148. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  149. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  150. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  151. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/__init__.py +0 -0
  152. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  153. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  154. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  155. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  156. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  157. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  158. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  159. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  160. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  161. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  162. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  163. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  164. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  165. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  166. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  167. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  168. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  169. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  170. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  171. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  172. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  173. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  174. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  175. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  176. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  177. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  178. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  179. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/config.py +0 -0
  180. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  181. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  182. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  183. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  184. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  185. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  186. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  187. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  188. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  189. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  190. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  191. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  192. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  193. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  194. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/factory.py +0 -0
  195. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  196. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  197. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  198. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  199. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  200. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  201. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  202. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  203. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  204. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  205. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  206. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  207. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  208. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/schemas.py +0 -0
  209. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  210. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  211. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/tool.py +0 -0
  212. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  213. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  214. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  215. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  216. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  217. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  218. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  219. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic_table/__init__.py +0 -0
  220. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic_table/schemas.py +0 -0
  221. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/agentic_table/service.py +0 -0
  222. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/__init__.py +0 -0
  223. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  224. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/dev_util.py +0 -0
  225. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/fast_api_factory.py +0 -0
  226. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/feature_flags.py +0 -0
  227. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/find_env_file.py +0 -0
  228. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/init_logging.py +0 -0
  229. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/init_sdk.py +0 -0
  230. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/performance/async_tasks.py +0 -0
  231. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  232. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/schemas.py +0 -0
  233. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/unique_settings.py +0 -0
  234. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/verification.py +0 -0
  235. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/app/webhook.py +0 -0
  236. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/__init__.py +0 -0
  237. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/cancellation.py +0 -0
  238. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/constants.py +0 -0
  239. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/deprecated/service.py +0 -0
  240. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/functions.py +0 -0
  241. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/rendering.py +0 -0
  242. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/responses_api.py +0 -0
  243. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/schemas.py +0 -0
  244. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/service.py +0 -0
  245. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/state.py +0 -0
  246. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/chat/utils.py +0 -0
  247. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/content/__init__.py +0 -0
  248. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/content/constants.py +0 -0
  249. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/content/functions.py +0 -0
  250. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/content/service.py +0 -0
  251. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/content/smart_rules.py +0 -0
  252. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/README.md +0 -0
  253. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/__init__.py +0 -0
  254. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  255. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  256. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/base.py +0 -0
  257. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  258. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/basic/config.py +0 -0
  259. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  260. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/data_extraction/basic/service.py +0 -0
  261. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/elicitation/__init__.py +0 -0
  262. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/elicitation/constants.py +0 -0
  263. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/elicitation/exceptions.py +0 -0
  264. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/elicitation/functions.py +0 -0
  265. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/elicitation/schemas.py +0 -0
  266. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/elicitation/service.py +0 -0
  267. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/embedding/__init__.py +0 -0
  268. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/embedding/constants.py +0 -0
  269. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/embedding/functions.py +0 -0
  270. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/embedding/schemas.py +0 -0
  271. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/embedding/service.py +0 -0
  272. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/embedding/utils.py +0 -0
  273. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/__init__.py +0 -0
  274. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_folder/__init__.py +0 -0
  275. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_folder/functions.py +0 -0
  276. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_folder/schemas.py +0 -0
  277. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_folder/service.py +0 -0
  278. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  279. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_tree/functions.py +0 -0
  280. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_tree/schemas.py +0 -0
  281. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/content_tree/service.py +0 -0
  282. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/identity/__init__.py +0 -0
  283. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/identity/functions.py +0 -0
  284. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/identity/schemas.py +0 -0
  285. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/identity/service.py +0 -0
  286. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/scheduled_task/__init__.py +0 -0
  287. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/scheduled_task/cron.py +0 -0
  288. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/scheduled_task/functions.py +0 -0
  289. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/scheduled_task/schemas.py +0 -0
  290. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/experimental/scheduled_task/service.py +0 -0
  291. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/__init__.py +0 -0
  292. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  293. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  294. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  295. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  296. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  297. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  298. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/framework_utilities/utils.py +0 -0
  299. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/__init__.py +0 -0
  300. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  301. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/builder.py +0 -0
  302. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/constants.py +0 -0
  303. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/default_language_model.py +0 -0
  304. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/functions.py +0 -0
  305. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/infos.py +0 -0
  306. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/prompt.py +0 -0
  307. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/reference.py +0 -0
  308. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/schemas.py +0 -0
  309. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/service.py +0 -0
  310. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/stream_transform.py +0 -0
  311. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/language_model/utils.py +0 -0
  312. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/monitoring/__init__.py +0 -0
  313. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/monitoring/middleware.py +0 -0
  314. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/monitoring/registry.py +0 -0
  315. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/protocols/support.py +0 -0
  316. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/services/__init__.py +0 -0
  317. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/services/chat_service.py +0 -0
  318. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/services/factory.py +0 -0
  319. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/services/knowledge_base.py +0 -0
  320. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/short_term_memory/__init__.py +0 -0
  321. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/short_term_memory/constants.py +0 -0
  322. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/short_term_memory/functions.py +0 -0
  323. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/short_term_memory/schemas.py +0 -0
  324. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/short_term_memory/service.py +0 -0
  325. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/smart_rules/__init__.py +0 -0
  326. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/smart_rules/compile.py +0 -0
  327. {unique_toolkit-1.80.0 → unique_toolkit-1.80.2}/unique_toolkit/test_utilities/events.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-toolkit
3
- Version: 1.80.0
3
+ Version: 1.80.2
4
4
  Summary:
5
5
  Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
6
6
  Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
@@ -16,7 +16,7 @@ Requires-Dist: sseclient>=0.0.27,<0.0.28
16
16
  Requires-Dist: openai>=1.105.0,<3
17
17
  Requires-Dist: platformdirs>=4.0.0,<5
18
18
  Requires-Dist: pillow>=12.1.1
19
- Requires-Dist: unique-sdk>=0.10.85,<0.12
19
+ Requires-Dist: unique-sdk>=0.11.6,<0.12
20
20
  Requires-Dist: jambo>=0.1.2,<0.2
21
21
  Requires-Dist: jinja2>=3.1.6,<4
22
22
  Requires-Dist: docxtpl>=0.20.1,<0.21
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "1.80.0"
3
+ version = "1.80.2"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -28,7 +28,7 @@ dependencies = [
28
28
  "openai>=1.105.0,<3",
29
29
  "platformdirs>=4.0.0,<5",
30
30
  "pillow>=12.1.1",
31
- "unique-sdk>=0.10.85,<0.12",
31
+ "unique-sdk>=0.11.6,<0.12",
32
32
  "jambo>=0.1.2,<0.2",
33
33
  "jinja2>=3.1.6,<4",
34
34
  "docxtpl>=0.20.1,<0.21",
@@ -28,35 +28,67 @@ class FileMimeType(StrEnum):
28
28
  mime_type, _ = mimetypes.guess_type(filepath)
29
29
  if mime_type is None:
30
30
  return None
31
+
32
+ return cls.from_mime_string(mime_type)
33
+
34
+ @classmethod
35
+ def from_mime_string(cls, mime: str) -> "FileMimeType | None":
31
36
  try:
32
- return cls(mime_type)
37
+ return cls(mime)
33
38
  except ValueError:
34
39
  return None
35
40
 
41
+ @property
42
+ def is_docx(self) -> bool:
43
+ cls = self.__class__
44
+ return self in {cls.DOCX, cls.DOC}
45
+
46
+ @property
47
+ def is_pdf(self) -> bool:
48
+ return self == self.__class__.PDF
49
+
50
+ @property
51
+ def is_xlsx(self) -> bool:
52
+ cls = self.__class__
53
+ return self in {cls.XLSX, cls.XLS, cls.MSEXCEL, cls.EXCEL}
54
+
55
+ @property
56
+ def is_pptx(self) -> bool:
57
+ cls = self.__class__
58
+ return self in {cls.PPTX, cls.PPT, cls.MSPPT}
59
+
60
+ @property
61
+ def is_json(self) -> bool:
62
+ return self == self.__class__.JSON
63
+
64
+ @property
65
+ def is_csv(self) -> bool:
66
+ return self == self.__class__.CSV
67
+
36
68
  @classmethod
37
69
  def is_docx_mime(cls, filepath: Path) -> bool:
38
70
  mime_type = cls.get_mime_from_file_path(filepath)
39
- return mime_type in {cls.DOCX, cls.DOC}
71
+ return mime_type is not None and mime_type.is_docx
40
72
 
41
73
  @classmethod
42
74
  def is_pdf_mime(cls, filepath: Path) -> bool:
43
75
  mime_type = cls.get_mime_from_file_path(filepath)
44
- return mime_type == cls.PDF
76
+ return mime_type is not None and mime_type.is_pdf
45
77
 
46
78
  @classmethod
47
79
  def is_xlsx_mime(cls, filepath: Path) -> bool:
48
80
  mime_type = cls.get_mime_from_file_path(filepath)
49
- return mime_type in {cls.XLSX, cls.XLS, cls.MSEXCEL, cls.EXCEL}
81
+ return mime_type is not None and mime_type.is_xlsx
50
82
 
51
83
  @classmethod
52
84
  def is_pptx_mime(cls, filepath: Path) -> bool:
53
85
  mime_type = cls.get_mime_from_file_path(filepath)
54
- return mime_type in {cls.PPTX, cls.PPT, cls.MSPPT}
86
+ return mime_type is not None and mime_type.is_pptx
55
87
 
56
88
  @classmethod
57
89
  def is_json_mime(cls, filepath: Path) -> bool:
58
90
  mime_type = cls.get_mime_from_file_path(filepath)
59
- return mime_type == cls.JSON
91
+ return mime_type is not None and mime_type.is_json
60
92
 
61
93
  @classmethod
62
94
  def is_valid_mime(cls, filepath: Path, valid_mimes: list[FileMimeType]) -> bool:
@@ -61,6 +61,11 @@ Handling User Queries:
61
61
  # Used when the code-execution fence feature flag (UN-17972) is enabled.
62
62
  # The frontend derives the artifact title from the filename itself, so the
63
63
  # LLM no longer needs to produce a markdown heading before the sandbox link.
64
+ #
65
+ # UN-19711 / Horizon follow-up: The HTML rules in the fence prompt reduce iframe height
66
+ # collapse when chat auto-measures the embedded document. Remaining gaps belong in the
67
+ # Next.js monorepo `HtmlRendering` component (e.g. respect declared dimensions, harden
68
+ # postMessage sizing, iframe sandbox/CSP and WebGL when product wants full fidelity).
64
69
  DEFAULT_TOOL_DESCRIPTION_FOR_SYSTEM_PROMPT_FENCE = """
65
70
  Use this tool to run python code, e.g to generate plots, process excel files, perform calculations, etc.
66
71
 
@@ -92,8 +97,14 @@ HTML files — CRITICAL rules:
92
97
  - Whenever you create HTML (dashboards, charts, tables, reports, interactive widgets), you MUST save it as a `.html` file and reference it using the sandbox link format above.
93
98
  - HTML files MUST follow these best practices so they render correctly in the UI:
94
99
  - Use a valid HTML5 document structure: `<!DOCTYPE html>`, `<html>`, `<head>` (with `<meta charset="UTF-8">` and `<meta name="viewport" content="width=device-width, initial-scale=1.0">`), and `<body>`.
95
- - Make the layout self-contained: inline all CSS in a `<style>` block and all JavaScript in a `<script>` block. Do NOT rely on external CDN links that may be blocked.
96
- - Use relative or fluid sizing (%, vw/vh, flexbox, CSS grid) rather than fixed pixel widths so the content fits any iframe size.
100
+ - Make the layout self-contained: inline all CSS in a `<style>` block and all JavaScript in a `<script>` block. Do NOT rely on external CDN links that may be blocked — **except** for Plotly (see Plotly bullet below): `include_plotlyjs="cdn"` is required there so the HTML stays small enough to upload; a full inlined Plotly bundle is multi-megabyte and often fails.
101
+ - Width: use fluid width (`width: 100%`, flexbox, CSS grid) so the content fits the iframe. Fixed pixel widths are discouraged.
102
+ - Height — CRITICAL for correct rendering in our chat iframe:
103
+ - NEVER set `height: 100%`, `min-height: 100%`, `height: 100vh` or any viewport-relative height on `<html>` or `<body>`. Let the document height be determined by its content. The chat iframe auto-sizes to the content; percentage/viewport heights on `html`/`body` collapse or cause measurement loops.
104
+ - The main content container MUST have a bounded, measurable height. For charts/dashboards either (a) give the chart container an explicit pixel height (e.g. `height: 500px`) or (b) use `aspect-ratio` together with a `width` so height is derived. Do NOT leave the top-level container with no intrinsic height.
105
+ - Do NOT use `position: fixed` or `position: absolute` on top-level layout elements — they remove the element from the flow and the iframe cannot measure it.
106
+ - Plotly users — CRITICAL: Plotly's `fig.write_html(...)` / `fig.to_html(...)` defaults emit a `<div class="plotly-graph-div" style="height:100%; width:100%;">` with no wrapper height (iframe collapse) **and** inline the entire Plotly JS bundle (~3MB), which often fails KB upload. You MUST pass `include_plotlyjs="cdn"`, `full_html=True`, and `default_height` (and `default_width` when relevant). Example: `fig.write_html(path, full_html=True, include_plotlyjs="cdn", default_height="600px")`. If you hand-write the wrapper HTML around a Plotly div, wrap the `plotly-graph-div` in a container with an explicit pixel height and never leave the graph div at `height:100%`.
107
+ - Single-chart HTML files — always add an outer wrapper with an explicit `height` (e.g. `<div style="height:600px">…chart…</div>`) so the document has a non-zero intrinsic height, even if the chart library defaults to percentage sizing.
97
108
  - Apply clean, readable typography: prefer system fonts (`-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif`) and sufficient contrast (WCAG AA minimum).
98
109
  - Use semantic HTML elements (`<table>` for tabular data, `<button>` for actions, `<h1>`–`<h6>` for headings, `alt` attributes on `<img>` tags). Avoid using `<div>` for everything.
99
110
  - Do NOT use `window.parent`, `window.top`, or any attempt to access the parent frame.
@@ -10,6 +10,7 @@ from humps import camelize
10
10
  from pydantic import BaseModel, ConfigDict, Field
11
11
 
12
12
  from unique_toolkit._common.config_checker import register_config
13
+ from unique_toolkit._common.utils.files import FileMimeType
13
14
 
14
15
  # set config to convert camelCase to snake_case
15
16
  model_config = ConfigDict(
@@ -142,6 +143,7 @@ class Content(BaseModel):
142
143
  description="The title of the content. For documents this is the title of the document.",
143
144
  )
144
145
  url: str | None = None
146
+ mime_type: str | None = None
145
147
  chunks: list[ContentChunk] = []
146
148
  write_url: str | None = None
147
149
  read_url: str | None = None
@@ -160,10 +162,22 @@ class Content(BaseModel):
160
162
  ):
161
163
  return default_if_unknown
162
164
 
163
- return self.applied_ingestion_config["uniqueIngestionMode"] not in (
164
- "SKIP_INGESTION",
165
- "SKIP_EXCEL_INGESTION",
166
- )
165
+ if self.applied_ingestion_config["uniqueIngestionMode"] == "SKIP_INGESTION":
166
+ return False
167
+
168
+ elif (
169
+ self.applied_ingestion_config["uniqueIngestionMode"]
170
+ == "SKIP_EXCEL_INGESTION"
171
+ ):
172
+ if (
173
+ self.mime_type is None
174
+ or (mime_type := FileMimeType.from_mime_string(self.mime_type)) is None
175
+ ):
176
+ return default_if_unknown
177
+
178
+ return not (mime_type.is_xlsx or mime_type.is_csv)
179
+
180
+ return True
167
181
 
168
182
 
169
183
  class ContentReference(BaseModel):
@@ -261,6 +261,7 @@ def map_content(content: dict[str, Any]):
261
261
  applied_ingestion_config=content.get("appliedIngestionConfig"),
262
262
  expired_at=content.get("expiredAt"),
263
263
  metadata=content.get("metadata"),
264
+ mime_type=content.get("mimeType"),
264
265
  )
265
266
 
266
267