unique_toolkit 1.68.6__tar.gz → 1.68.9__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 (294) hide show
  1. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/PKG-INFO +4 -4
  2. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/pyproject.toml +8 -20
  3. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +61 -41
  4. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/README.md +0 -0
  5. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/__init__.py +0 -0
  6. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/__init__.py +0 -0
  7. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/_base_service.py +0 -0
  8. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/_time_utils.py +0 -0
  9. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  10. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  11. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  12. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  13. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  14. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  15. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  16. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/README.md +0 -0
  17. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  18. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  19. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/cli.py +0 -0
  20. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/differ.py +0 -0
  21. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  22. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/models.py +0 -0
  23. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/registry.py +0 -0
  24. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/config_checker/validator.py +0 -0
  25. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/default_language_model.py +0 -0
  26. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  27. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/docx_generator/config.py +0 -0
  28. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  29. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  30. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/docx_generator/service.py +0 -0
  31. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  32. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/endpoint_builder.py +0 -0
  33. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  34. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/event_bus.py +0 -0
  35. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/exception.py +0 -0
  36. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/execution.py +0 -0
  37. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  38. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  39. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  40. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  41. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  42. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  43. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  44. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  45. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  46. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  47. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  48. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  49. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  50. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  51. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  52. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  53. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  54. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  55. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  56. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  57. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  58. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  59. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  60. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  61. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  62. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  63. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  64. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  65. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  66. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  67. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/referencing.py +0 -0
  68. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/string_utilities.py +0 -0
  69. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  70. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  71. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/token/__init__.py +0 -0
  72. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  73. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/token/token_counting.py +0 -0
  74. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  75. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  76. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/__init__.py +0 -0
  77. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/files.py +0 -0
  78. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/image/encode.py +0 -0
  79. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  80. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  81. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  82. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  83. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  84. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  85. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  86. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/validate_required_values.py +0 -0
  87. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/_common/validators.py +0 -0
  88. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/__init__.py +0 -0
  89. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  90. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  91. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/config.py +0 -0
  92. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  93. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  94. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  95. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  96. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  97. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  98. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  99. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  100. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  101. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  102. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  103. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  104. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  105. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  106. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  107. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  108. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  109. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  110. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  111. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  112. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  113. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  114. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  115. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  116. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  117. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  118. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  119. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  120. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  121. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  122. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  123. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  124. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  125. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  126. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  127. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  128. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  129. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  130. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  131. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  132. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  133. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  134. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  135. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  136. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  137. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  138. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  139. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  140. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  141. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  142. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  143. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  144. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  145. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  146. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  147. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  148. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  149. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/__init__.py +0 -0
  150. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  151. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  152. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  153. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  154. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  155. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  156. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  157. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  158. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  159. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  160. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  161. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  162. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  163. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  164. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  165. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  166. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  167. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  168. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  169. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  170. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  171. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  172. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  173. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  174. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  175. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  176. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  177. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/config.py +0 -0
  178. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  179. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  180. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  181. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  182. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  183. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/factory.py +0 -0
  184. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  185. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  186. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  187. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  188. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  189. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  190. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  191. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  192. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  193. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  194. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  195. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  196. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  197. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/schemas.py +0 -0
  198. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  199. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  200. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/tool.py +0 -0
  201. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  202. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  203. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  204. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  205. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  206. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  207. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  208. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic_table/__init__.py +0 -0
  209. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic_table/schemas.py +0 -0
  210. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/agentic_table/service.py +0 -0
  211. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/__init__.py +0 -0
  212. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/dev_util.py +0 -0
  213. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/fast_api_factory.py +0 -0
  214. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/init_logging.py +0 -0
  215. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/init_sdk.py +0 -0
  216. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/performance/async_tasks.py +0 -0
  217. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  218. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/schemas.py +0 -0
  219. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/unique_settings.py +0 -0
  220. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/verification.py +0 -0
  221. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/app/webhook.py +0 -0
  222. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/__init__.py +0 -0
  223. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/cancellation.py +0 -0
  224. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/constants.py +0 -0
  225. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/deprecated/service.py +0 -0
  226. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/functions.py +0 -0
  227. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/rendering.py +0 -0
  228. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/responses_api.py +0 -0
  229. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/schemas.py +0 -0
  230. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/service.py +0 -0
  231. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/state.py +0 -0
  232. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/chat/utils.py +0 -0
  233. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/content/__init__.py +0 -0
  234. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/content/constants.py +0 -0
  235. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/content/functions.py +0 -0
  236. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/content/schemas.py +0 -0
  237. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/content/service.py +0 -0
  238. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/content/smart_rules.py +0 -0
  239. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/content/utils.py +0 -0
  240. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/README.md +0 -0
  241. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/__init__.py +0 -0
  242. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  243. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  244. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/base.py +0 -0
  245. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  246. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/basic/config.py +0 -0
  247. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  248. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/data_extraction/basic/service.py +0 -0
  249. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/elicitation/__init__.py +0 -0
  250. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/elicitation/constants.py +0 -0
  251. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/elicitation/exceptions.py +0 -0
  252. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/elicitation/functions.py +0 -0
  253. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/elicitation/schemas.py +0 -0
  254. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/elicitation/service.py +0 -0
  255. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/embedding/__init__.py +0 -0
  256. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/embedding/constants.py +0 -0
  257. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/embedding/functions.py +0 -0
  258. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/embedding/schemas.py +0 -0
  259. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/embedding/service.py +0 -0
  260. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/embedding/utils.py +0 -0
  261. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/__init__.py +0 -0
  262. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  263. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  264. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  265. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  266. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  267. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  268. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/framework_utilities/utils.py +0 -0
  269. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/__init__.py +0 -0
  270. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  271. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/builder.py +0 -0
  272. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/constants.py +0 -0
  273. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/default_language_model.py +0 -0
  274. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/functions.py +0 -0
  275. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/infos.py +0 -0
  276. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/prompt.py +0 -0
  277. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/reference.py +0 -0
  278. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/schemas.py +0 -0
  279. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/service.py +0 -0
  280. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/stream_transform.py +0 -0
  281. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/language_model/utils.py +0 -0
  282. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/protocols/support.py +0 -0
  283. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/services/__init__.py +0 -0
  284. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/services/chat_service.py +0 -0
  285. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/services/factory.py +0 -0
  286. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/services/knowledge_base.py +0 -0
  287. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/short_term_memory/__init__.py +0 -0
  288. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/short_term_memory/constants.py +0 -0
  289. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/short_term_memory/functions.py +0 -0
  290. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/short_term_memory/schemas.py +0 -0
  291. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/short_term_memory/service.py +0 -0
  292. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/smart_rules/__init__.py +0 -0
  293. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/unique_toolkit/smart_rules/compile.py +0 -0
  294. {unique_toolkit-1.68.6 → unique_toolkit-1.68.9}/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.68.6
3
+ Version: 1.68.9
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>
@@ -35,9 +35,9 @@ Requires-Dist: fastapi>=0.121.0,<0.122 ; extra == 'fastapi'
35
35
  Requires-Dist: starlette>=0.49.1 ; extra == 'fastapi'
36
36
  Requires-Dist: uvicorn>=0.37.0,<0.38 ; extra == 'fastapi'
37
37
  Requires-Dist: openai>=1.105.0,<2 ; extra == 'langchain'
38
- Requires-Dist: langchain>=0.3.27,<0.4 ; extra == 'langchain'
39
- Requires-Dist: langchain-openai>=0.3.28,<0.4 ; extra == 'langchain'
40
- Requires-Dist: langchain-core>=0.3.0,<0.4 ; extra == 'langchain'
38
+ Requires-Dist: langchain>=1.0.0,<2 ; extra == 'langchain'
39
+ Requires-Dist: langchain-openai>=0.3.28 ; extra == 'langchain'
40
+ Requires-Dist: langchain-core>=1.0.0,<2 ; extra == 'langchain'
41
41
  Requires-Python: >=3.12
42
42
  Provides-Extra: fastapi
43
43
  Provides-Extra: langchain
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "1.68.6"
3
+ version = "1.68.9"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -48,9 +48,9 @@ dependencies = [
48
48
  [project.optional-dependencies]
49
49
  langchain = [
50
50
  "openai>=1.105.0,<2",
51
- "langchain>=0.3.27,<0.4",
52
- "langchain-openai>=0.3.28,<0.4",
53
- "langchain-core>=0.3.0,<0.4",
51
+ "langchain>=1.0.0,<2",
52
+ "langchain-openai>=0.3.28",
53
+ "langchain-core>=1.0.0,<2",
54
54
  ]
55
55
  fastapi = [
56
56
  "fastapi>=0.121.0,<0.122",
@@ -66,22 +66,7 @@ build-backend = "uv_build"
66
66
  module-root = ""
67
67
 
68
68
  [dependency-groups]
69
- dev = [
70
- "ruff==0.12.10",
71
- "pytest>=7.4.3,<8",
72
- "tox>=4.11.4,<5",
73
- "pyright>=1.1.341,<2",
74
- "basedpyright>=1.33.0,<2",
75
- "pytest-cov>=4.1.0,<5",
76
- "pre-commit>=3.7.1,<4",
77
- "pytest-asyncio>=0.23.8,<0.24",
78
- "pytest-mock>=3.14.0,<4",
79
- "ipykernel>=6.29.5,<7",
80
- "deptry>=0.24.0,<0.25",
81
- "poethepoet>=0.32.0,<0.33",
82
- "isort>=6.0.1,<7",
83
- "entangled-cli>=2.4.0,<3",
84
- ]
69
+ dev = []
85
70
 
86
71
  [tool.uv]
87
72
  exclude-newer = "2 weeks"
@@ -93,6 +78,9 @@ constraint-dependencies = [
93
78
  [tool.uv.exclude-newer-package]
94
79
  "unique-sdk" = false
95
80
 
81
+ [tool.uv.sources]
82
+ unique-sdk = { workspace = true }
83
+
96
84
  [tool.poe.tasks]
97
85
  lint = "ruff check ."
98
86
  lint-fix = "ruff check . --fix"
@@ -131,6 +131,19 @@ class DisplayCodeInterpreterFilesPostProcessor(
131
131
  chat_id=chat_id,
132
132
  )
133
133
 
134
+ def _build_retry(self) -> AsyncRetrying:
135
+ """Build a tenacity retry policy from the current config.
136
+
137
+ Reused for both container-file downloads and knowledge-base uploads so
138
+ that every I/O call gets the same exponential-backoff behaviour.
139
+ """
140
+ return AsyncRetrying(
141
+ stop=stop_after_attempt(1 + self._config.max_download_retries),
142
+ wait=wait_exponential(multiplier=self._config.download_retry_base_delay),
143
+ before_sleep=before_sleep_log(logger, logging.WARNING),
144
+ reraise=True,
145
+ )
146
+
134
147
  @override
135
148
  async def run(self, loop_response: ResponsesLanguageModelStreamResponse) -> None:
136
149
  logger.info("Fetching and adding code interpreter files to the response")
@@ -138,7 +151,14 @@ class DisplayCodeInterpreterFilesPostProcessor(
138
151
  container_files = loop_response.container_files
139
152
  logger.info("Found %s container files", len(container_files))
140
153
 
141
- self._content_map: dict[str, str | None] = await self._load_previous_files() # type: ignore
154
+ try:
155
+ self._content_map: dict[str, str | None] = await self._load_previous_files() # type: ignore
156
+ except Exception:
157
+ logger.exception(
158
+ "Failed to load previous code interpreter files from short-term "
159
+ "memory; proceeding without previous file context."
160
+ )
161
+ self._content_map = {}
142
162
 
143
163
  semaphore = asyncio.Semaphore(self._config.max_concurrent_file_downloads)
144
164
  tasks = [
@@ -155,21 +175,34 @@ class DisplayCodeInterpreterFilesPostProcessor(
155
175
  result.content_id if result is not None else None
156
176
  )
157
177
 
158
- await self._save_generated_files(
159
- [
160
- _ContentInfo(filename=filename, content_id=content_id)
161
- for filename, content_id in self._content_map.items()
162
- if content_id is not None
163
- ]
164
- )
178
+ try:
179
+ await self._save_generated_files(
180
+ [
181
+ _ContentInfo(filename=filename, content_id=content_id)
182
+ for filename, content_id in self._content_map.items()
183
+ if content_id is not None
184
+ ]
185
+ )
186
+ except Exception:
187
+ logger.exception(
188
+ "Failed to save generated code interpreter files to short-term "
189
+ "memory; file replacement will still proceed."
190
+ )
165
191
 
166
- if feature_flags.enable_code_execution_fence_un_17972.is_enabled(
167
- self._company_id
168
- ):
169
- self._orphan_code_blocks = await self._upload_orphan_code_as_txt(
170
- loop_response
192
+ try:
193
+ if feature_flags.enable_code_execution_fence_un_17972.is_enabled(
194
+ self._company_id
195
+ ):
196
+ self._orphan_code_blocks = await self._upload_orphan_code_as_txt(
197
+ loop_response
198
+ )
199
+ else:
200
+ self._orphan_code_blocks = []
201
+ except Exception:
202
+ logger.exception(
203
+ "Failed to process orphan code blocks; "
204
+ "file replacement will still proceed."
171
205
  )
172
- else:
173
206
  self._orphan_code_blocks = []
174
207
 
175
208
  @override
@@ -211,14 +244,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
211
244
  )
212
245
  changed |= replaced
213
246
 
214
- # HTML rendered as legacy HtmlRendering block — only when fence FF is off
215
- elif (
216
- is_html
217
- and not fence_ff_on
218
- and feature_flags.enable_html_rendering_un_15131.is_enabled(
219
- self._company_id
220
- )
221
- ):
247
+ elif is_html:
222
248
  loop_response.message.text, replaced = _replace_container_html_citation(
223
249
  text=loop_response.message.text,
224
250
  filename=filename,
@@ -226,7 +252,6 @@ class DisplayCodeInterpreterFilesPostProcessor(
226
252
  )
227
253
  changed |= replaced
228
254
 
229
- # Files and HTML (fence FF on: HTML → htmlWithSource; others → fileWithSource)
230
255
  else:
231
256
  loop_response.message.text, replaced = _replace_container_file_citation(
232
257
  text=loop_response.message.text,
@@ -237,13 +262,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
237
262
  )
238
263
  changed |= replaced
239
264
 
240
- # htmlWithSource / HtmlRendering blocks carry contentId directly — no separate reference needed
241
- is_html_rendered = is_html and (
242
- fence_ff_on
243
- or feature_flags.enable_html_rendering_un_15131.is_enabled(
244
- self._company_id
245
- )
246
- )
265
+ is_html_rendered = is_html
247
266
  if replaced and not (is_image or is_html_rendered or fence_ff_on):
248
267
  loop_response.message.references.append(
249
268
  ContentReference(
@@ -293,14 +312,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
293
312
  semaphore: asyncio.Semaphore,
294
313
  ) -> _ContentInfo | None:
295
314
  async with semaphore:
296
- retry = AsyncRetrying(
297
- stop=stop_after_attempt(1 + self._config.max_download_retries),
298
- wait=wait_exponential(
299
- multiplier=self._config.download_retry_base_delay
300
- ),
301
- before_sleep=before_sleep_log(logger, logging.WARNING),
302
- reraise=True,
303
- )
315
+ retry = self._build_retry()
304
316
  file_content = await retry(
305
317
  self._client.containers.files.content.retrieve,
306
318
  container_id=container_file.container_id,
@@ -313,7 +325,8 @@ class DisplayCodeInterpreterFilesPostProcessor(
313
325
  )
314
326
 
315
327
  assert self._chat_service is not None # Checked in __init__
316
- content = await self._chat_service.upload_to_chat_from_bytes_async(
328
+ content = await self._build_retry()(
329
+ self._chat_service.upload_to_chat_from_bytes_async,
317
330
  content=file_content.content,
318
331
  content_name=container_file.filename,
319
332
  mime_type=guess_type(container_file.filename)[0] or "text/plain",
@@ -392,7 +405,8 @@ class DisplayCodeInterpreterFilesPostProcessor(
392
405
  filename = f"code_{i + 1}.txt" if use_numeric_suffix else "code.txt"
393
406
 
394
407
  try:
395
- content = await self._chat_service.upload_to_chat_from_bytes_async(
408
+ content = await self._build_retry()(
409
+ self._chat_service.upload_to_chat_from_bytes_async,
396
410
  content=txt_content.encode("utf-8"),
397
411
  content_name=filename,
398
412
  mime_type="text/plain",
@@ -732,8 +746,12 @@ def _build_code_blocks(
732
746
  # overwritten across executions. Using a dict keyed by filename ensures each
733
747
  # file appears exactly once per block (last annotation wins, consistent with
734
748
  # the last-writer-wins rule applied in step 1).
749
+ # HTML files are excluded: they are always rendered via HtmlRendering blocks
750
+ # and never participate in fence injection.
735
751
  block_file_map: dict[int, dict[str, CodeInterpreterFile]] = {}
736
752
  for annotation in loop_response.container_files:
753
+ if _get_file_type(annotation.filename) == "html":
754
+ continue
737
755
  content_id = content_map.get(annotation.filename)
738
756
  if content_id is None:
739
757
  continue
@@ -821,6 +839,8 @@ def _warn_unmatched_code_blocks(
821
839
  for filename, content_id in content_map.items():
822
840
  if content_id is None:
823
841
  continue
842
+ if _get_file_type(filename) == "html":
843
+ continue
824
844
  if filename not in fenced_filenames:
825
845
  logger.warning(
826
846
  "File '%s' (content_id=%s) could not be matched to any code block "
@@ -946,7 +966,7 @@ def _replace_container_file_citation(
946
966
  original pre-fence behaviour is restored: the link is replaced with <sup>N</sup>
947
967
  and the file remains accessible via the references panel.
948
968
  """
949
- file_markdown = rf"\[.*?\]\(sandbox:/mnt/data/{re.escape(filename)}\)"
969
+ file_markdown = rf"!?\[.*?\]\(sandbox:/mnt/data/{re.escape(filename)}\)"
950
970
 
951
971
  if not re.search(file_markdown, text):
952
972
  logger.warning(