unique_toolkit 1.44.0__tar.gz → 1.45.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/CHANGELOG.md +6 -0
  2. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/PKG-INFO +7 -1
  3. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/pyproject.toml +1 -1
  4. unique_toolkit-1.45.1/unique_toolkit/_common/utils/files.py +117 -0
  5. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +8 -44
  6. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +2 -19
  7. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +2 -2
  8. unique_toolkit-1.44.0/unique_toolkit/_common/utils/files.py +0 -43
  9. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/LICENSE +0 -0
  10. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/README.md +0 -0
  11. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/__init__.py +0 -0
  12. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/_base_service.py +0 -0
  13. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/_time_utils.py +0 -0
  14. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  15. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  16. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  17. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  18. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  19. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  20. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  21. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/default_language_model.py +0 -0
  22. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  23. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/docx_generator/config.py +0 -0
  24. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  25. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/docx_generator/service.py +0 -0
  26. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  27. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/endpoint_builder.py +0 -0
  28. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  29. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/exception.py +0 -0
  30. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/execution.py +0 -0
  31. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  32. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  33. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  34. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  35. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  36. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  37. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  38. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  39. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  40. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  41. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  42. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  43. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  44. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  45. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  46. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  47. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  48. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  49. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  50. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  51. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  52. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  53. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  54. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  55. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  56. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  57. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  58. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  59. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  60. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  61. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/referencing.py +0 -0
  62. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/string_utilities.py +0 -0
  63. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  64. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  65. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  66. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/token/token_counting.py +0 -0
  67. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/__init__.py +0 -0
  68. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/image/encode.py +0 -0
  69. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  70. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  71. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  72. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  73. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  74. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  75. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  76. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/validate_required_values.py +0 -0
  77. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/_common/validators.py +0 -0
  78. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/__init__.py +0 -0
  79. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  80. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  81. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/config.py +0 -0
  82. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  83. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  84. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  85. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  86. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  87. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  88. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  89. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  90. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  91. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  92. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  93. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  94. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  95. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  96. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  97. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  98. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  99. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  100. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  101. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  102. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  103. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  104. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  105. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  106. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  107. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  108. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  109. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  110. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  111. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  112. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  113. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  114. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  115. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  116. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  117. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  118. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  119. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  120. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  121. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  122. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  123. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  124. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  125. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  126. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/__init__.py +0 -0
  127. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  128. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  129. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  130. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  131. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  132. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  133. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  134. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  135. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  136. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  137. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  138. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  139. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  140. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  141. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  142. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  143. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  144. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  145. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  146. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  147. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  148. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  149. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  150. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  151. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  152. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  153. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  154. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/config.py +0 -0
  155. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/factory.py +0 -0
  156. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  157. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  158. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  159. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  160. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  161. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  162. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  163. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  164. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/schemas.py +0 -0
  165. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  166. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  167. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/tool.py +0 -0
  168. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  169. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  170. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  171. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  172. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  173. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  174. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  175. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic_table/__init__.py +0 -0
  176. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic_table/schemas.py +0 -0
  177. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/agentic_table/service.py +0 -0
  178. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/__init__.py +0 -0
  179. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/dev_util.py +0 -0
  180. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/fast_api_factory.py +0 -0
  181. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/init_logging.py +0 -0
  182. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/init_sdk.py +0 -0
  183. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/performance/async_tasks.py +0 -0
  184. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  185. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/schemas.py +0 -0
  186. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/unique_settings.py +0 -0
  187. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/verification.py +0 -0
  188. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/app/webhook.py +0 -0
  189. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/__init__.py +0 -0
  190. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/constants.py +0 -0
  191. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/deprecated/service.py +0 -0
  192. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/functions.py +0 -0
  193. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/rendering.py +0 -0
  194. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/responses_api.py +0 -0
  195. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/schemas.py +0 -0
  196. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/service.py +0 -0
  197. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/state.py +0 -0
  198. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/chat/utils.py +0 -0
  199. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/content/__init__.py +0 -0
  200. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/content/constants.py +0 -0
  201. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/content/functions.py +0 -0
  202. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/content/schemas.py +0 -0
  203. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/content/service.py +0 -0
  204. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/content/smart_rules.py +0 -0
  205. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/content/utils.py +0 -0
  206. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/README.md +0 -0
  207. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/__init__.py +0 -0
  208. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  209. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  210. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/base.py +0 -0
  211. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  212. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/basic/config.py +0 -0
  213. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  214. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/data_extraction/basic/service.py +0 -0
  215. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/embedding/__init__.py +0 -0
  216. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/embedding/constants.py +0 -0
  217. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/embedding/functions.py +0 -0
  218. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/embedding/schemas.py +0 -0
  219. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/embedding/service.py +0 -0
  220. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/embedding/utils.py +0 -0
  221. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/__init__.py +0 -0
  222. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  223. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  224. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  225. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  226. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  227. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  228. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/framework_utilities/utils.py +0 -0
  229. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/__init__.py +0 -0
  230. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  231. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/builder.py +0 -0
  232. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/constants.py +0 -0
  233. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/default_language_model.py +0 -0
  234. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/functions.py +0 -0
  235. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/infos.py +0 -0
  236. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/prompt.py +0 -0
  237. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/reference.py +0 -0
  238. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/schemas.py +0 -0
  239. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/service.py +0 -0
  240. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/language_model/utils.py +0 -0
  241. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/protocols/support.py +0 -0
  242. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/services/__init__.py +0 -0
  243. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/services/chat_service.py +0 -0
  244. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/services/knowledge_base.py +0 -0
  245. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/short_term_memory/__init__.py +0 -0
  246. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/short_term_memory/constants.py +0 -0
  247. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/short_term_memory/functions.py +0 -0
  248. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/short_term_memory/schemas.py +0 -0
  249. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/short_term_memory/service.py +0 -0
  250. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/smart_rules/__init__.py +0 -0
  251. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/smart_rules/compile.py +0 -0
  252. {unique_toolkit-1.44.0 → unique_toolkit-1.45.1}/unique_toolkit/test_utilities/events.py +0 -0
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.45.1] - 2026-01-26
9
+ - Add FileMimeType utility helpers
10
+
11
+ ## [1.45.0] - 2026-01-23
12
+ - Remove unused code execution options from config
13
+
8
14
  ## [1.44.0] - 2026-01-23
9
15
  - Add LoopIterationRunner abstraction for the responses api
10
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.44.0
3
+ Version: 1.45.1
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -125,6 +125,12 @@ All notable changes to this project will be documented in this file.
125
125
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
126
126
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
127
127
 
128
+ ## [1.45.1] - 2026-01-26
129
+ - Add FileMimeType utility helpers
130
+
131
+ ## [1.45.0] - 2026-01-23
132
+ - Remove unused code execution options from config
133
+
128
134
  ## [1.44.0] - 2026-01-23
129
135
  - Add LoopIterationRunner abstraction for the responses api
130
136
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.44.0"
3
+ version = "1.45.1"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -0,0 +1,117 @@
1
+ from __future__ import annotations
2
+
3
+ import mimetypes
4
+ from enum import StrEnum
5
+ from pathlib import Path
6
+
7
+
8
+ class FileMimeType(StrEnum):
9
+ PDF = "application/pdf"
10
+ DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
11
+ DOC = "application/msword"
12
+ XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
13
+ XLS = "application/vnd.ms-excel"
14
+ PPT = "application/vnd.ms-powerpoint"
15
+ PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
16
+ CSV = "text/csv"
17
+ HTML = "text/html"
18
+ MD = "text/markdown"
19
+ TXT = "text/plain"
20
+ JSON = "application/json"
21
+
22
+ @classmethod
23
+ def get_mime_from_file_path(cls, filepath: Path) -> "FileMimeType | None":
24
+ mime_type, _ = mimetypes.guess_type(filepath)
25
+ if mime_type is None:
26
+ return None
27
+ try:
28
+ return cls(mime_type)
29
+ except ValueError:
30
+ return None
31
+
32
+ @classmethod
33
+ def is_docx_mime(cls, filepath: Path) -> bool:
34
+ mime_type = cls.get_mime_from_file_path(filepath)
35
+ return mime_type in {cls.DOCX, cls.DOC}
36
+
37
+ @classmethod
38
+ def is_pdf_mime(cls, filepath: Path) -> bool:
39
+ mime_type = cls.get_mime_from_file_path(filepath)
40
+ return mime_type == cls.PDF
41
+
42
+ @classmethod
43
+ def is_xlsx_mime(cls, filepath: Path) -> bool:
44
+ mime_type = cls.get_mime_from_file_path(filepath)
45
+ return mime_type in {cls.XLSX, cls.XLS}
46
+
47
+ @classmethod
48
+ def is_pptx_mime(cls, filepath: Path) -> bool:
49
+ mime_type = cls.get_mime_from_file_path(filepath)
50
+ return mime_type in {cls.PPTX, cls.PPT}
51
+
52
+ @classmethod
53
+ def is_json_mime(cls, filepath: Path) -> bool:
54
+ mime_type = cls.get_mime_from_file_path(filepath)
55
+ return mime_type == cls.JSON
56
+
57
+ @classmethod
58
+ def is_valid_mime(cls, filepath: Path, valid_mimes: list[FileMimeType]) -> bool:
59
+ mime_type = cls.get_mime_from_file_path(filepath)
60
+ return mime_type in valid_mimes
61
+
62
+
63
+ def get_common_name(extension: FileMimeType) -> str:
64
+ match extension:
65
+ case FileMimeType.DOCX | FileMimeType.DOC:
66
+ return "docx"
67
+ case FileMimeType.XLSX | FileMimeType.XLS:
68
+ return "excel"
69
+ case FileMimeType.PPT | FileMimeType.PPTX:
70
+ return "powerpoint"
71
+ case FileMimeType.PDF:
72
+ return "pdf"
73
+ case FileMimeType.JSON:
74
+ return "json"
75
+ case FileMimeType.CSV:
76
+ return "csv"
77
+ case FileMimeType.TXT:
78
+ return "text"
79
+ case FileMimeType.MD:
80
+ return "markdown"
81
+ case FileMimeType.HTML:
82
+ return "html"
83
+ case _:
84
+ return "unknown"
85
+
86
+
87
+ def get_file_extensions(mimes: list[FileMimeType]) -> list[str]:
88
+ types = [mimetypes.guess_extension(mime) for mime in mimes]
89
+ return [t for t in types if t]
90
+
91
+
92
+ class ImageMimeType(StrEnum):
93
+ JPEG = "image/jpeg"
94
+ PNG = "image/png"
95
+ GIF = "image/gif"
96
+ BMP = "image/bmp"
97
+ WEBP = "image/webp"
98
+ TIFF = "image/tiff"
99
+ SVG = "image/svg+xml"
100
+
101
+
102
+ def is_file_content(filename: str) -> bool:
103
+ mimetype, _ = mimetypes.guess_type(filename)
104
+
105
+ if not mimetype:
106
+ return False
107
+
108
+ return mimetype in FileMimeType.__members__.values()
109
+
110
+
111
+ def is_image_content(filename: str) -> bool:
112
+ mimetype, _ = mimetypes.guess_type(filename)
113
+
114
+ if not mimetype:
115
+ return False
116
+
117
+ return mimetype in ImageMimeType.__members__.values()
@@ -10,6 +10,7 @@ from pydantic import RootModel
10
10
  from unique_toolkit._common.token.token_counting import (
11
11
  num_tokens_per_language_model_message,
12
12
  )
13
+ from unique_toolkit._common.utils import files as FileUtils
13
14
  from unique_toolkit.app import ChatEventUserMessage
14
15
  from unique_toolkit.chat.schemas import ChatMessage
15
16
  from unique_toolkit.chat.schemas import ChatMessageRole as ChatRole
@@ -29,29 +30,6 @@ map_chat_llm_message_role = {
29
30
  }
30
31
 
31
32
 
32
- class ImageMimeType(StrEnum):
33
- JPEG = "image/jpeg"
34
- PNG = "image/png"
35
- GIF = "image/gif"
36
- BMP = "image/bmp"
37
- WEBP = "image/webp"
38
- TIFF = "image/tiff"
39
- SVG = "image/svg+xml"
40
-
41
-
42
- class FileMimeType(StrEnum):
43
- PDF = "application/pdf"
44
- DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
45
- DOC = "application/msword"
46
- XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
47
- XLS = "application/vnd.ms-excel"
48
- PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
49
- CSV = "text/csv"
50
- HTML = "text/html"
51
- MD = "text/markdown"
52
- TXT = "text/plain"
53
-
54
-
55
33
  class ChatMessageWithContents(ChatMessage):
56
34
  contents: list[Content] = []
57
35
 
@@ -93,24 +71,6 @@ class ChatHistoryWithContent(RootModel):
93
71
  return self.root[item]
94
72
 
95
73
 
96
- def is_image_content(filename: str) -> bool:
97
- mimetype, _ = mimetypes.guess_type(filename)
98
-
99
- if not mimetype:
100
- return False
101
-
102
- return mimetype in ImageMimeType.__members__.values()
103
-
104
-
105
- def is_file_content(filename: str) -> bool:
106
- mimetype, _ = mimetypes.guess_type(filename)
107
-
108
- if not mimetype:
109
- return False
110
-
111
- return mimetype in FileMimeType.__members__.values()
112
-
113
-
114
74
  def get_chat_history_with_contents(
115
75
  user_message: ChatEventUserMessage,
116
76
  chat_id: str,
@@ -152,7 +112,7 @@ def download_encoded_images(
152
112
  ) -> list[str]:
153
113
  base64_encoded_images = []
154
114
  for im in contents:
155
- if is_image_content(im.key):
115
+ if FileUtils.is_image_content(im.key):
156
116
  try:
157
117
  file_bytes = content_service.download_content_to_bytes(
158
118
  content_id=im.id,
@@ -224,8 +184,12 @@ def get_full_history_with_contents(
224
184
  text = ""
225
185
 
226
186
  if len(c.contents) > 0:
227
- file_contents = [co for co in c.contents if is_file_content(co.key)]
228
- image_contents = [co for co in c.contents if is_image_content(co.key)]
187
+ file_contents = [
188
+ co for co in c.contents if FileUtils.is_file_content(co.key)
189
+ ]
190
+ image_contents = [
191
+ co for co in c.contents if FileUtils.is_image_content(co.key)
192
+ ]
229
193
 
230
194
  content = (
231
195
  text
@@ -7,8 +7,6 @@ from unique_toolkit.agentic.tools.openai_builtin.base import (
7
7
  )
8
8
  from unique_toolkit.agentic.tools.schemas import BaseToolConfig
9
9
 
10
- DEFAULT_TOOL_DESCRIPTION = "Use this tool to run python code, e.g to generate plots, process excel files, perform calculations, etc."
11
-
12
10
  DEFAULT_TOOL_DESCRIPTION_FOR_SYSTEM_PROMPT = """
13
11
  Use this tool to run python code, e.g to generate plots, process excel files, perform calculations, etc.
14
12
 
@@ -48,11 +46,9 @@ Handling User Queries:
48
46
  - After exhausting all possible solutions without success, inform the user of what was tried and request clarification/help.
49
47
  """.strip()
50
48
 
51
- DEFAULT_TOOL_FORMAT_INFORMATION_FOR_SYSTEM_PROMPT = ""
52
-
53
- DEFAULT_TOOL_FORMAT_INFORMATION_FOR_USER_PROMPT = ""
54
49
 
55
50
  DEFAULT_TOOL_DESCRIPTION_FOR_USER_PROMPT = ""
51
+ DEFAULT_TOOL_DESCRIPTION = "Use this tool to run python code, e.g to generate plots, process excel files, perform calculations, etc."
56
52
 
57
53
 
58
54
  class OpenAICodeInterpreterConfig(BaseToolConfig):
@@ -60,33 +56,20 @@ class OpenAICodeInterpreterConfig(BaseToolConfig):
60
56
  default=True,
61
57
  description="If set, the files uploaded to the chat will be uploaded to the container where code is executed.",
62
58
  )
63
-
64
59
  tool_description: str = Field(
65
60
  default=DEFAULT_TOOL_DESCRIPTION,
66
- description="The description of the tool that will be sent to the model.",
61
+ description="The description of the tool that will be included in the system prompt.",
67
62
  )
68
63
  tool_description_for_system_prompt: str = Field(
69
64
  default=DEFAULT_TOOL_DESCRIPTION_FOR_SYSTEM_PROMPT,
70
65
  description="The description of the tool that will be included in the system prompt.",
71
66
  )
72
- tool_format_information_for_system_prompt: SkipJsonSchema[str] = Field(
73
- # Since the tool is executed in Azure, it's not always possible to have dynamic format information
74
- default=DEFAULT_TOOL_FORMAT_INFORMATION_FOR_SYSTEM_PROMPT,
75
- description="The format information of the tool that will be included in the system prompt.",
76
- )
77
67
  tool_description_for_user_prompt: SkipJsonSchema[str] = (
78
68
  Field( # At the moment, this is not appended to the user prompt
79
69
  default=DEFAULT_TOOL_DESCRIPTION_FOR_USER_PROMPT,
80
70
  description="The description of the tool that will be included in the user prompt.",
81
71
  )
82
72
  )
83
- tool_format_information_for_user_prompt: SkipJsonSchema[str] = (
84
- Field( # At the moment, this is not appended to the user prompt
85
- default=DEFAULT_TOOL_FORMAT_INFORMATION_FOR_USER_PROMPT,
86
- description="The format information of the tool that will be included in the user prompt.",
87
- )
88
- )
89
-
90
73
  expires_after_minutes: int = Field(
91
74
  default=20,
92
75
  description="The number of minutes after which the container will be deleted.",
@@ -239,9 +239,9 @@ class OpenAICodeInterpreterTool(OpenAIBuiltInTool[CodeInterpreter]):
239
239
  display_name=self.DISPLAY_NAME,
240
240
  tool_description=self._config.tool_description,
241
241
  tool_system_prompt=self._config.tool_description_for_system_prompt,
242
- tool_format_information_for_system_prompt=self._config.tool_format_information_for_system_prompt,
242
+ tool_format_information_for_system_prompt="",
243
243
  tool_user_prompt=self._config.tool_description_for_user_prompt,
244
- tool_format_information_for_user_prompt=self._config.tool_format_information_for_user_prompt,
244
+ tool_format_information_for_user_prompt="",
245
245
  input_model={},
246
246
  )
247
247
 
@@ -1,43 +0,0 @@
1
- import mimetypes
2
- from enum import StrEnum
3
-
4
-
5
- class FileMimeType(StrEnum):
6
- PDF = "application/pdf"
7
- DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
8
- DOC = "application/msword"
9
- XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
10
- XLS = "application/vnd.ms-excel"
11
- PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
12
- CSV = "text/csv"
13
- HTML = "text/html"
14
- MD = "text/markdown"
15
- TXT = "text/plain"
16
-
17
-
18
- class ImageMimeType(StrEnum):
19
- JPEG = "image/jpeg"
20
- PNG = "image/png"
21
- GIF = "image/gif"
22
- BMP = "image/bmp"
23
- WEBP = "image/webp"
24
- TIFF = "image/tiff"
25
- SVG = "image/svg+xml"
26
-
27
-
28
- def is_file_content(filename: str) -> bool:
29
- mimetype, _ = mimetypes.guess_type(filename)
30
-
31
- if not mimetype:
32
- return False
33
-
34
- return mimetype in FileMimeType.__members__.values()
35
-
36
-
37
- def is_image_content(filename: str) -> bool:
38
- mimetype, _ = mimetypes.guess_type(filename)
39
-
40
- if not mimetype:
41
- return False
42
-
43
- return mimetype in ImageMimeType.__members__.values()
File without changes