unique_toolkit 1.43.4__tar.gz → 1.43.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/CHANGELOG.md +7 -11
  2. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/PKG-INFO +14 -17
  3. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/pyproject.toml +16 -9
  4. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/functions.py +24 -0
  5. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/schemas.py +4 -0
  6. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/services/chat_service.py +42 -0
  7. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/LICENSE +0 -0
  8. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/README.md +0 -0
  9. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/__init__.py +0 -0
  10. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  13. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  14. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  15. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  16. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  17. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  18. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  19. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/default_language_model.py +0 -0
  20. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  21. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/docx_generator/config.py +0 -0
  22. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  23. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/docx_generator/service.py +0 -0
  24. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  25. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/endpoint_builder.py +0 -0
  26. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  27. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/exception.py +0 -0
  28. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/execution.py +0 -0
  29. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  30. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  31. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  32. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  33. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  34. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  35. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  36. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  37. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  38. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  39. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  40. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  41. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  42. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  43. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  44. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  45. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  46. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  47. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  48. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  49. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  50. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  51. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  52. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  53. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  54. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  55. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  56. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  57. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  58. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  59. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/referencing.py +0 -0
  60. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/string_utilities.py +0 -0
  61. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  62. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  63. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  64. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/token/token_counting.py +0 -0
  65. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/__init__.py +0 -0
  66. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/files.py +0 -0
  67. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/image/encode.py +0 -0
  68. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  69. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  70. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  71. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  72. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  73. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  74. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  75. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/validate_required_values.py +0 -0
  76. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/_common/validators.py +0 -0
  77. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/__init__.py +0 -0
  78. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  79. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  80. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/config.py +0 -0
  81. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  82. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  83. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  84. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  85. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  86. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  87. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  88. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  89. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  90. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  91. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  92. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  93. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  94. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  95. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  96. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  97. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  98. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  99. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  100. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  101. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  102. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  103. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  104. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  105. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  106. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  107. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  108. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  109. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  110. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  111. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  112. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  113. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  114. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  115. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  116. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  117. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  118. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  119. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  120. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  121. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  122. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  123. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  124. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/__init__.py +0 -0
  125. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  126. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  127. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  128. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  129. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  130. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  131. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  132. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  133. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  134. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  135. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  136. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  137. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  138. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  139. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  140. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  141. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  142. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  143. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  144. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  145. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  146. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  147. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  148. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  149. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  150. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  151. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  152. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/config.py +0 -0
  153. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/factory.py +0 -0
  154. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  155. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  156. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  157. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  158. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  159. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  160. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  161. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  162. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  163. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  164. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/schemas.py +0 -0
  165. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  166. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  167. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/tool.py +0 -0
  168. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  169. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  170. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  171. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  172. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  173. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  174. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  175. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic_table/__init__.py +0 -0
  176. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic_table/schemas.py +0 -0
  177. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/agentic_table/service.py +0 -0
  178. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/__init__.py +0 -0
  179. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/dev_util.py +0 -0
  180. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/fast_api_factory.py +0 -0
  181. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/init_logging.py +0 -0
  182. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/init_sdk.py +0 -0
  183. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/performance/async_tasks.py +0 -0
  184. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  185. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/schemas.py +0 -0
  186. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/unique_settings.py +0 -0
  187. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/verification.py +0 -0
  188. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/app/webhook.py +0 -0
  189. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/__init__.py +0 -0
  190. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/constants.py +0 -0
  191. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/deprecated/service.py +0 -0
  192. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/rendering.py +0 -0
  193. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/responses_api.py +0 -0
  194. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/service.py +0 -0
  195. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/state.py +0 -0
  196. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/chat/utils.py +0 -0
  197. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/content/__init__.py +0 -0
  198. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/content/constants.py +0 -0
  199. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/content/functions.py +0 -0
  200. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/content/schemas.py +0 -0
  201. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/content/service.py +0 -0
  202. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/content/smart_rules.py +0 -0
  203. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/content/utils.py +0 -0
  204. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/README.md +0 -0
  205. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/__init__.py +0 -0
  206. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  207. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  208. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/base.py +0 -0
  209. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  210. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/basic/config.py +0 -0
  211. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  212. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/data_extraction/basic/service.py +0 -0
  213. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/embedding/__init__.py +0 -0
  214. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/embedding/constants.py +0 -0
  215. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/embedding/functions.py +0 -0
  216. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/embedding/schemas.py +0 -0
  217. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/embedding/service.py +0 -0
  218. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/embedding/utils.py +0 -0
  219. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/__init__.py +0 -0
  220. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  221. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  222. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  223. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  224. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  225. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  226. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/framework_utilities/utils.py +0 -0
  227. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/__init__.py +0 -0
  228. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  229. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/builder.py +0 -0
  230. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/constants.py +0 -0
  231. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/default_language_model.py +0 -0
  232. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/functions.py +0 -0
  233. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/infos.py +0 -0
  234. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/prompt.py +0 -0
  235. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/reference.py +0 -0
  236. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/schemas.py +0 -0
  237. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/service.py +0 -0
  238. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/language_model/utils.py +0 -0
  239. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/protocols/support.py +0 -0
  240. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/services/__init__.py +0 -0
  241. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/services/knowledge_base.py +0 -0
  242. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/short_term_memory/__init__.py +0 -0
  243. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/short_term_memory/constants.py +0 -0
  244. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/short_term_memory/functions.py +0 -0
  245. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/short_term_memory/schemas.py +0 -0
  246. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/short_term_memory/service.py +0 -0
  247. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/smart_rules/__init__.py +0 -0
  248. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/smart_rules/compile.py +0 -0
  249. {unique_toolkit-1.43.4 → unique_toolkit-1.43.6}/unique_toolkit/test_utilities/events.py +0 -0
@@ -5,6 +5,13 @@ 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.43.6] - 2026-01-13
9
+ - Update message execution pipeline functions and service
10
+
11
+ ## [1.43.5] - 2026-01-13
12
+ - Add deptry to dev dependencies for CI dependency checks
13
+ - Fix missing base_settings fixture parameter in FastAPI test
14
+
8
15
  ## [1.43.4] - 2026-01-14
9
16
  - chore(deps-dev): bump aiohttp from 3.13.2 to 3.13.3
10
17
 
@@ -57,8 +64,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
57
64
 
58
65
  ## [1.40.0] - 2025-12-22
59
66
  - Add option to use retrieve referenced chunks from their order
60
-
61
- ## [1.40.0] - 2025-12-22
62
67
  - Add `hide_in_chat` parameter to `upload_to_chat_from_bytes` and `upload_to_chat_from_bytes_async`
63
68
  - Hide code interpreter files in chat
64
69
  - Code Interpreter files are now uploaded to chat by default
@@ -188,8 +193,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
188
193
 
189
194
  ## [1.28.1] - 2025-11-19
190
195
  - Remove `chat_service` from DocXGeneratorService
191
-
192
- ## [1.28.1] - 2025-11-19
193
196
  - Set review standards in pyright for toolkit
194
197
  - Refactor type check pipeline
195
198
 
@@ -626,9 +629,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
626
629
  ## [0.8.26] - 2025-08-27
627
630
  - Optimized MCP manager
628
631
 
629
- ## [0.8.26] - 2025-08-27
630
- - Optimized MCP manager
631
-
632
632
  ## [0.8.25] - 2025-08-27
633
633
  - Load environment variables automatically from plattform dirs or environment
634
634
  - General Endpoint definition utility
@@ -650,8 +650,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
650
650
 
651
651
  ## [0.8.20] - 2025-08-24
652
652
  - Fixed forced-tool-calls
653
-
654
- ## [0.8.20] - 2025-08-05
655
653
  - Bump SDK version to support the latest features.
656
654
 
657
655
  ## [0.8.19] - 2025-08-24
@@ -886,8 +884,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
886
884
 
887
885
  ## [0.6.3] - 2025-02-27
888
886
  - Simplified imports for services. `from unique_toolkit.language_model import LanguageModelService` -> `from unique_toolkit import LanguageModelService` to reduce number of import lines.
889
-
890
- ## [0.6.3] - 2025-02-26
891
887
  - Add `builder` method to `LanguageModelMessages` class
892
888
 
893
889
  ## [0.6.2] - 2025-02-25
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.43.4
3
+ Version: 1.43.6
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -9,26 +9,27 @@ Requires-Python: >=3.12,<4.0
9
9
  Classifier: License :: Other/Proprietary License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.12
12
- Requires-Dist: docxcompose (>=1.4.0,<2.0.0)
12
+ Requires-Dist: aiohttp (>=3.12.0,<4.0.0)
13
13
  Requires-Dist: docxtpl (>=0.20.1,<0.21.0)
14
+ Requires-Dist: httpx (>=0.28.0,<0.29.0)
14
15
  Requires-Dist: jambo (>=0.1.2,<0.2.0)
15
16
  Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
16
17
  Requires-Dist: markdown-it-py (>=4.0.0,<5.0.0)
17
- Requires-Dist: mkdocs-mermaid2-plugin (>=1.2.2,<2.0.0)
18
- Requires-Dist: mkdocs-multirepo-plugin (>=0.8.3,<0.9.0)
19
18
  Requires-Dist: numpy (>=2.1.0,<3.0.0)
20
19
  Requires-Dist: openai (>=1.99.9,<2.0.0)
20
+ Requires-Dist: pandas (>=2.3.0,<3.0.0)
21
21
  Requires-Dist: pillow (>=10.4.0,<11.0.0)
22
22
  Requires-Dist: platformdirs (>=4.0.0,<5.0.0)
23
23
  Requires-Dist: pydantic (>=2.8.2,<3.0.0)
24
24
  Requires-Dist: pydantic-settings (>=2.10.1,<3.0.0)
25
25
  Requires-Dist: pyhumps (>=3.8.0,<4.0.0)
26
- Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
26
+ Requires-Dist: python-docx (>=1.1.0,<2.0.0)
27
27
  Requires-Dist: regex (>=2024.5.15,<2025.0.0)
28
+ Requires-Dist: requests (>=2.32.0,<3.0.0)
28
29
  Requires-Dist: sseclient (>=0.0.27,<0.0.28)
29
30
  Requires-Dist: tiktoken (>=0.12.0,<0.13.0)
30
31
  Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
31
- Requires-Dist: unique-sdk (>=0.10.65,<0.11.0)
32
+ Requires-Dist: unique-sdk (>=0.10.67,<0.11.0)
32
33
  Description-Content-Type: text/markdown
33
34
 
34
35
  # Unique Toolkit
@@ -124,6 +125,13 @@ All notable changes to this project will be documented in this file.
124
125
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
125
126
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
126
127
 
128
+ ## [1.43.6] - 2026-01-13
129
+ - Update message execution pipeline functions and service
130
+
131
+ ## [1.43.5] - 2026-01-13
132
+ - Add deptry to dev dependencies for CI dependency checks
133
+ - Fix missing base_settings fixture parameter in FastAPI test
134
+
127
135
  ## [1.43.4] - 2026-01-14
128
136
  - chore(deps-dev): bump aiohttp from 3.13.2 to 3.13.3
129
137
 
@@ -176,8 +184,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
176
184
 
177
185
  ## [1.40.0] - 2025-12-22
178
186
  - Add option to use retrieve referenced chunks from their order
179
-
180
- ## [1.40.0] - 2025-12-22
181
187
  - Add `hide_in_chat` parameter to `upload_to_chat_from_bytes` and `upload_to_chat_from_bytes_async`
182
188
  - Hide code interpreter files in chat
183
189
  - Code Interpreter files are now uploaded to chat by default
@@ -307,8 +313,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
307
313
 
308
314
  ## [1.28.1] - 2025-11-19
309
315
  - Remove `chat_service` from DocXGeneratorService
310
-
311
- ## [1.28.1] - 2025-11-19
312
316
  - Set review standards in pyright for toolkit
313
317
  - Refactor type check pipeline
314
318
 
@@ -745,9 +749,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
745
749
  ## [0.8.26] - 2025-08-27
746
750
  - Optimized MCP manager
747
751
 
748
- ## [0.8.26] - 2025-08-27
749
- - Optimized MCP manager
750
-
751
752
  ## [0.8.25] - 2025-08-27
752
753
  - Load environment variables automatically from plattform dirs or environment
753
754
  - General Endpoint definition utility
@@ -769,8 +770,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
769
770
 
770
771
  ## [0.8.20] - 2025-08-24
771
772
  - Fixed forced-tool-calls
772
-
773
- ## [0.8.20] - 2025-08-05
774
773
  - Bump SDK version to support the latest features.
775
774
 
776
775
  ## [0.8.19] - 2025-08-24
@@ -1005,8 +1004,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1005
1004
 
1006
1005
  ## [0.6.3] - 2025-02-27
1007
1006
  - Simplified imports for services. `from unique_toolkit.language_model import LanguageModelService` -> `from unique_toolkit import LanguageModelService` to reduce number of import lines.
1008
-
1009
- ## [0.6.3] - 2025-02-26
1010
1007
  - Add `builder` method to `LanguageModelMessages` class
1011
1008
 
1012
1009
  ## [0.6.2] - 2025-02-25
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.43.4"
3
+ version = "1.43.6"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -21,7 +21,6 @@ typing-extensions = "^4.9.0"
21
21
  pydantic = "^2.8.2"
22
22
  pyhumps = "^3.8.0"
23
23
  numpy = "^2.1.0"
24
- python-dotenv = "^1.0.1"
25
24
  regex = "^2024.5.15"
26
25
  tiktoken = "^0.12.0"
27
26
  pydantic-settings = "^2.10.1"
@@ -29,14 +28,16 @@ sseclient = "^0.0.27"
29
28
  openai = "^1.99.9"
30
29
  platformdirs = "^4.0.0"
31
30
  pillow = "^10.4.0"
32
- unique-sdk = "^0.10.65"
31
+ unique-sdk = "^0.10.67"
33
32
  jambo = "^0.1.2"
34
33
  jinja2 = "^3.1.6"
35
- mkdocs-multirepo-plugin = "^0.8.3"
36
- mkdocs-mermaid2-plugin = "^1.2.2"
37
34
  docxtpl = "^0.20.1"
38
35
  markdown-it-py = "^4.0.0"
39
- docxcompose = "^1.4.0"
36
+ python-docx = "^1.1.0"
37
+ requests = "^2.32.0"
38
+ httpx = "^0.28.0"
39
+ aiohttp = "^3.12.0"
40
+ pandas = "^2.3.0"
40
41
 
41
42
  [tool.poetry.group.langchain]
42
43
  optional = true
@@ -45,6 +46,7 @@ optional = true
45
46
  openai = "^1.97.0"
46
47
  langchain = "^0.3.27"
47
48
  langchain-openai = "^0.3.28"
49
+ langchain-core = "^0.3.0"
48
50
 
49
51
  [tool.poetry.group.fastapi]
50
52
  optional = true
@@ -63,10 +65,8 @@ pytest-cov = "^4.1.0"
63
65
  pre-commit = "^3.7.1"
64
66
  pytest-asyncio = "^0.23.8"
65
67
  pytest-mock = "^3.14.0"
66
- platformdirs = "^4.0.0"
67
- pillow = "^10.4.0"
68
68
  ipykernel = "^6.29.5"
69
- jinja2 = "^3.1.6"
69
+ deptry = "^0.24.0"
70
70
  # unique-sdk = { path = "../unique_sdk" }
71
71
  mkdocs = "^1.6.1"
72
72
  mkdocs-material = "^9.6.11"
@@ -84,6 +84,13 @@ pandas = "^2.3.3"
84
84
  requires = ["poetry-core"]
85
85
  build-backend = "poetry.core.masonry.api"
86
86
 
87
+ [tool.deptry]
88
+ known_first_party = ["unique_toolkit"]
89
+ extend_exclude = ["docs", "tests", "unique_toolkit/.*/test", "unique_toolkit/.*/tests"]
90
+
91
+ [tool.deptry.per_rule_ignores]
92
+ DEP004 = ["langchain_openai", "langchain_core"]
93
+
87
94
  [tool.ruff]
88
95
  target-version = "py311"
89
96
  exclude = [".venv", "docs"]
@@ -1153,6 +1153,9 @@ def create_message_execution(
1153
1153
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
1154
1154
  seconds_remaining: int | None = None,
1155
1155
  percentage_completed: int | None = None,
1156
+ is_queueable: bool = True,
1157
+ execution_options: dict | None = None,
1158
+ progress_title: str | None = None,
1156
1159
  ) -> MessageExecution:
1157
1160
  """Creates a message execution synchronously.
1158
1161
 
@@ -1164,6 +1167,9 @@ def create_message_execution(
1164
1167
  type (MessageExecutionType): The type of execution. Defaults to DEEP_RESEARCH.
1165
1168
  seconds_remaining (int | None): Estimated seconds remaining for completion.
1166
1169
  percentage_completed (int | None): Percentage of completion (0-100).
1170
+ is_queueable (bool): Whether the execution is queueable. Defaults to True. If true, then the progress will be updated in the background by the execution pipeline. Set to False if you want to update the progress manually.
1171
+ execution_options (dict | None): Additional execution options. Defaults to None.
1172
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1167
1173
 
1168
1174
  Returns:
1169
1175
  MessageExecution: The created message execution.
@@ -1181,6 +1187,9 @@ def create_message_execution(
1181
1187
  type=type.value,
1182
1188
  secondsRemaining=seconds_remaining,
1183
1189
  percentageCompleted=percentage_completed,
1190
+ isQueueable=is_queueable,
1191
+ executionOptions=execution_options,
1192
+ progressTitle=progress_title,
1184
1193
  )
1185
1194
  return MessageExecution(**message_execution)
1186
1195
  except Exception as e:
@@ -1196,6 +1205,9 @@ async def create_message_execution_async(
1196
1205
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
1197
1206
  seconds_remaining: int | None = None,
1198
1207
  percentage_completed: int | None = None,
1208
+ is_queueable: bool = True,
1209
+ execution_options: dict | None = None,
1210
+ progress_title: str | None = None,
1199
1211
  ) -> MessageExecution:
1200
1212
  """Creates a message execution asynchronously.
1201
1213
 
@@ -1207,6 +1219,9 @@ async def create_message_execution_async(
1207
1219
  type (MessageExecutionType): The type of execution. Defaults to DEEP_RESEARCH.
1208
1220
  seconds_remaining (int | None): Estimated seconds remaining for completion.
1209
1221
  percentage_completed (int | None): Percentage of completion (0-100).
1222
+ is_queueable (bool): Whether the execution is queueable. Defaults to True. If true, then the progress will be updated in the background by the execution pipeline. Set to False if you want to update the progress manually.
1223
+ execution_options (dict | None): Additional execution options. Defaults to None.
1224
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1210
1225
 
1211
1226
  Returns:
1212
1227
  MessageExecution: The created message execution.
@@ -1224,6 +1239,9 @@ async def create_message_execution_async(
1224
1239
  type=type.value,
1225
1240
  secondsRemaining=seconds_remaining,
1226
1241
  percentageCompleted=percentage_completed,
1242
+ isQueueable=is_queueable,
1243
+ executionOptions=execution_options,
1244
+ progressTitle=progress_title,
1227
1245
  )
1228
1246
  return MessageExecution(**message_execution)
1229
1247
  except Exception as e:
@@ -1300,6 +1318,7 @@ def update_message_execution(
1300
1318
  status: MessageExecutionUpdateStatus | None = None,
1301
1319
  seconds_remaining: int | None = None,
1302
1320
  percentage_completed: int | None = None,
1321
+ progress_title: str | None = None,
1303
1322
  ) -> MessageExecution:
1304
1323
  """Updates a message execution synchronously.
1305
1324
 
@@ -1310,6 +1329,7 @@ def update_message_execution(
1310
1329
  status (MessageExecutionUpdateStatus | None): The updated status (COMPLETED or FAILED). Defaults to None.
1311
1330
  seconds_remaining (int | None): Updated estimated seconds remaining.
1312
1331
  percentage_completed (int | None): Updated percentage of completion (0-100).
1332
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1313
1333
 
1314
1334
  Returns:
1315
1335
  MessageExecution: The updated message execution.
@@ -1327,6 +1347,7 @@ def update_message_execution(
1327
1347
  status=status_value,
1328
1348
  secondsRemaining=seconds_remaining,
1329
1349
  percentageCompleted=percentage_completed,
1350
+ progressTitle=progress_title,
1330
1351
  )
1331
1352
  return MessageExecution(**message_execution)
1332
1353
  except Exception as e:
@@ -1341,6 +1362,7 @@ async def update_message_execution_async(
1341
1362
  status: MessageExecutionUpdateStatus | None = None,
1342
1363
  seconds_remaining: int | None = None,
1343
1364
  percentage_completed: int | None = None,
1365
+ progress_title: str | None = None,
1344
1366
  ) -> MessageExecution:
1345
1367
  """Updates a message execution asynchronously.
1346
1368
 
@@ -1351,6 +1373,7 @@ async def update_message_execution_async(
1351
1373
  status (MessageExecutionUpdateStatus | None): The updated status (COMPLETED or FAILED). Defaults to None.
1352
1374
  seconds_remaining (int | None): Updated estimated seconds remaining.
1353
1375
  percentage_completed (int | None): Updated percentage of completion (0-100).
1376
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1354
1377
 
1355
1378
  Returns:
1356
1379
  MessageExecution: The updated message execution.
@@ -1368,6 +1391,7 @@ async def update_message_execution_async(
1368
1391
  status=status_value,
1369
1392
  secondsRemaining=seconds_remaining,
1370
1393
  percentageCompleted=percentage_completed,
1394
+ progressTitle=progress_title,
1371
1395
  )
1372
1396
  return MessageExecution(**message_execution)
1373
1397
  except Exception as e:
@@ -230,5 +230,9 @@ class MessageExecution(BaseModel):
230
230
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH
231
231
  seconds_remaining: int | None = None
232
232
  percentage_completed: int | None = None
233
+ is_queueable: bool | None = None
234
+ execution_options: dict | None = None
235
+ progress_title: str | None = None
236
+ position_in_queue: int | None = None
233
237
  created_at: datetime | None = None
234
238
  updated_at: datetime | None = None
@@ -987,6 +987,9 @@ class ChatService(ChatServiceDeprecated):
987
987
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
988
988
  seconds_remaining: int | None = None,
989
989
  percentage_completed: int | None = None,
990
+ is_queueable: bool = True,
991
+ execution_options: dict | None = None,
992
+ progress_title: str | None = None,
990
993
  ) -> MessageExecution:
991
994
  """Creates a message execution for tracking long-running operations synchronously.
992
995
 
@@ -995,6 +998,9 @@ class ChatService(ChatServiceDeprecated):
995
998
  type (MessageExecutionType): The type of execution. Defaults to DEEP_RESEARCH.
996
999
  seconds_remaining (int | None): Estimated seconds remaining for completion
997
1000
  percentage_completed (int | None): Percentage of completion (0-100)
1001
+ is_queueable (bool): Whether the execution is queueable. Defaults to True. If true, then the progress will be updated in the background by the execution pipeline. Set to False if you want to update the progress manually.
1002
+ execution_options (dict | None): Additional execution options. Defaults to None.
1003
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
998
1004
 
999
1005
  Returns:
1000
1006
  MessageExecution: The created message execution
@@ -1011,6 +1017,9 @@ class ChatService(ChatServiceDeprecated):
1011
1017
  type=type,
1012
1018
  seconds_remaining=seconds_remaining,
1013
1019
  percentage_completed=percentage_completed,
1020
+ is_queueable=is_queueable,
1021
+ execution_options=execution_options,
1022
+ progress_title=progress_title,
1014
1023
  )
1015
1024
 
1016
1025
  async def create_message_execution_async(
@@ -1020,6 +1029,9 @@ class ChatService(ChatServiceDeprecated):
1020
1029
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
1021
1030
  seconds_remaining: int | None = None,
1022
1031
  percentage_completed: int | None = None,
1032
+ is_queueable: bool = True,
1033
+ execution_options: dict | None = None,
1034
+ progress_title: str | None = None,
1023
1035
  ) -> MessageExecution:
1024
1036
  """Creates a message execution for tracking long-running operations asynchronously.
1025
1037
 
@@ -1028,6 +1040,9 @@ class ChatService(ChatServiceDeprecated):
1028
1040
  type (MessageExecutionType): The type of execution. Defaults to DEEP_RESEARCH.
1029
1041
  seconds_remaining (int | None): Estimated seconds remaining for completion
1030
1042
  percentage_completed (int | None): Percentage of completion (0-100)
1043
+ is_queueable (bool): Whether the execution is queueable. Defaults to True. If true, then the progress will be updated in the background by the execution pipeline. Set to False if you want to update the progress manually.
1044
+ execution_options (dict | None): Additional execution options. Defaults to None.
1045
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1031
1046
 
1032
1047
  Returns:
1033
1048
  MessageExecution: The created message execution
@@ -1044,6 +1059,9 @@ class ChatService(ChatServiceDeprecated):
1044
1059
  type=type,
1045
1060
  seconds_remaining=seconds_remaining,
1046
1061
  percentage_completed=percentage_completed,
1062
+ is_queueable=is_queueable,
1063
+ execution_options=execution_options,
1064
+ progress_title=progress_title,
1047
1065
  )
1048
1066
 
1049
1067
  def get_message_execution(
@@ -1099,6 +1117,7 @@ class ChatService(ChatServiceDeprecated):
1099
1117
  status: MessageExecutionUpdateStatus | None = None,
1100
1118
  seconds_remaining: int | None = None,
1101
1119
  percentage_completed: int | None = None,
1120
+ progress_title: str | None = None,
1102
1121
  ) -> MessageExecution:
1103
1122
  """Updates a message execution synchronously.
1104
1123
 
@@ -1107,6 +1126,7 @@ class ChatService(ChatServiceDeprecated):
1107
1126
  status (MessageExecutionUpdateStatus | None): The updated status (COMPLETED or FAILED). Defaults to None
1108
1127
  seconds_remaining (int | None): Updated estimated seconds remaining
1109
1128
  percentage_completed (int | None): Updated percentage of completion (0-100)
1129
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1110
1130
 
1111
1131
  Returns:
1112
1132
  MessageExecution: The updated message execution
@@ -1122,6 +1142,7 @@ class ChatService(ChatServiceDeprecated):
1122
1142
  status=status,
1123
1143
  seconds_remaining=seconds_remaining,
1124
1144
  percentage_completed=percentage_completed,
1145
+ progress_title=progress_title,
1125
1146
  )
1126
1147
 
1127
1148
  async def update_message_execution_async(
@@ -1131,6 +1152,7 @@ class ChatService(ChatServiceDeprecated):
1131
1152
  status: MessageExecutionUpdateStatus | None = None,
1132
1153
  seconds_remaining: int | None = None,
1133
1154
  percentage_completed: int | None = None,
1155
+ progress_title: str | None = None,
1134
1156
  ) -> MessageExecution:
1135
1157
  """Updates a message execution asynchronously.
1136
1158
 
@@ -1139,6 +1161,7 @@ class ChatService(ChatServiceDeprecated):
1139
1161
  status (MessageExecutionUpdateStatus | None): The updated status (COMPLETED or FAILED). Defaults to None
1140
1162
  seconds_remaining (int | None): Updated estimated seconds remaining
1141
1163
  percentage_completed (int | None): Updated percentage of completion (0-100)
1164
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1142
1165
 
1143
1166
  Returns:
1144
1167
  MessageExecution: The updated message execution
@@ -1154,6 +1177,7 @@ class ChatService(ChatServiceDeprecated):
1154
1177
  status=status,
1155
1178
  seconds_remaining=seconds_remaining,
1156
1179
  percentage_completed=percentage_completed,
1180
+ progress_title=progress_title,
1157
1181
  )
1158
1182
 
1159
1183
  def create_assistant_message_execution(
@@ -1162,6 +1186,9 @@ class ChatService(ChatServiceDeprecated):
1162
1186
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
1163
1187
  seconds_remaining: int | None = None,
1164
1188
  percentage_completed: int | None = None,
1189
+ is_queueable: bool = True,
1190
+ execution_options: dict | None = None,
1191
+ progress_title: str | None = None,
1165
1192
  ) -> MessageExecution:
1166
1193
  """Creates a message execution for the current assistant message synchronously.
1167
1194
 
@@ -1171,6 +1198,9 @@ class ChatService(ChatServiceDeprecated):
1171
1198
  type (MessageExecutionType): The type of execution. Defaults to DEEP_RESEARCH.
1172
1199
  seconds_remaining (int | None): Estimated seconds remaining for completion
1173
1200
  percentage_completed (int | None): Percentage of completion (0-100)
1201
+ is_queueable (bool): Whether the execution is queueable. Defaults to True. If true, then the progress will be updated in the background by the execution pipeline. Set to False if you want to update the progress manually.
1202
+ execution_options (dict | None): Additional execution options. Defaults to None.
1203
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1174
1204
 
1175
1205
  Returns:
1176
1206
  MessageExecution: The created message execution
@@ -1184,6 +1214,9 @@ class ChatService(ChatServiceDeprecated):
1184
1214
  type=type,
1185
1215
  seconds_remaining=seconds_remaining,
1186
1216
  percentage_completed=percentage_completed,
1217
+ is_queueable=is_queueable,
1218
+ execution_options=execution_options,
1219
+ progress_title=progress_title,
1187
1220
  )
1188
1221
 
1189
1222
  async def create_assistant_message_execution_async(
@@ -1192,6 +1225,9 @@ class ChatService(ChatServiceDeprecated):
1192
1225
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
1193
1226
  seconds_remaining: int | None = None,
1194
1227
  percentage_completed: int | None = None,
1228
+ is_queueable: bool = True,
1229
+ execution_options: dict | None = None,
1230
+ progress_title: str | None = None,
1195
1231
  ) -> MessageExecution:
1196
1232
  """Creates a message execution for the current assistant message asynchronously.
1197
1233
 
@@ -1201,6 +1237,9 @@ class ChatService(ChatServiceDeprecated):
1201
1237
  type (MessageExecutionType): The type of execution. Defaults to DEEP_RESEARCH.
1202
1238
  seconds_remaining (int | None): Estimated seconds remaining for completion
1203
1239
  percentage_completed (int | None): Percentage of completion (0-100)
1240
+ is_queueable (bool): Whether the execution is queueable. Defaults to True. If true, then the progress will be updated in the background by the execution pipeline. Set to False if you want to update the progress manually.
1241
+ execution_options (dict | None): Additional execution options. Defaults to None.
1242
+ progress_title (str | None): The title of the progress bar. If not provided, the title of the last message log is taken.
1204
1243
 
1205
1244
  Returns:
1206
1245
  MessageExecution: The created message execution
@@ -1214,6 +1253,9 @@ class ChatService(ChatServiceDeprecated):
1214
1253
  type=type,
1215
1254
  seconds_remaining=seconds_remaining,
1216
1255
  percentage_completed=percentage_completed,
1256
+ is_queueable=is_queueable,
1257
+ execution_options=execution_options,
1258
+ progress_title=progress_title,
1217
1259
  )
1218
1260
 
1219
1261
  def get_assistant_message_execution(self) -> MessageExecution:
File without changes