unique_toolkit 1.55.1__tar.gz → 1.57__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 (288) hide show
  1. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/PKG-INFO +1 -1
  2. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/pyproject.toml +1 -1
  3. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +7 -13
  4. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +3 -3
  5. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/schemas.py +37 -53
  6. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/content/schemas.py +1 -1
  7. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/__init__.py +0 -2
  8. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/functions.py +3 -4
  9. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/schemas.py +30 -20
  10. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/README.md +0 -0
  11. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/__init__.py +0 -0
  12. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/__init__.py +0 -0
  13. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/_base_service.py +0 -0
  14. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/_time_utils.py +0 -0
  15. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  16. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  17. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  18. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  19. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  20. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  21. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  22. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/README.md +0 -0
  23. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  24. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  25. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/cli.py +0 -0
  26. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/differ.py +0 -0
  27. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  28. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/models.py +0 -0
  29. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/registry.py +0 -0
  30. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/config_checker/validator.py +0 -0
  31. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/default_language_model.py +0 -0
  32. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  33. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/docx_generator/config.py +0 -0
  34. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  35. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  36. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/docx_generator/service.py +0 -0
  37. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  38. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/endpoint_builder.py +0 -0
  39. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  40. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/event_bus.py +0 -0
  41. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/exception.py +0 -0
  42. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/execution.py +0 -0
  43. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  44. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  45. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  46. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  47. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  48. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  49. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  50. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  51. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  52. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  53. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  54. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  55. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  56. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  57. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  58. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  59. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  60. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  61. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  62. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  63. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  64. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  65. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  66. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  67. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  68. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  69. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  70. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  71. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  72. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  73. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/referencing.py +0 -0
  74. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/string_utilities.py +0 -0
  75. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  76. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  77. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/token/__init__.py +0 -0
  78. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  79. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/token/token_counting.py +0 -0
  80. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  81. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  82. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/__init__.py +0 -0
  83. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/files.py +0 -0
  84. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/image/encode.py +0 -0
  85. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  86. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  87. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  88. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  89. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  90. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  91. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  92. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/validate_required_values.py +0 -0
  93. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/_common/validators.py +0 -0
  94. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/__init__.py +0 -0
  95. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  96. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  97. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/config.py +0 -0
  98. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  99. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  100. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  101. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  102. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  103. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  104. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  105. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  106. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  107. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  108. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  109. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  110. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  111. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  112. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  113. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  114. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  115. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  116. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  117. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  118. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  119. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  120. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  121. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  122. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  123. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  124. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  125. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  126. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  127. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  128. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  129. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  130. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  131. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  132. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  133. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  134. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  135. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  136. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  137. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  138. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  139. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  140. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  141. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  142. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  143. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  144. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  145. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  146. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  147. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  148. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  149. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  150. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  151. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  152. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  153. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/__init__.py +0 -0
  154. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  155. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  156. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  157. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  158. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  159. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  160. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  161. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  162. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  163. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  164. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  165. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  166. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  167. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  168. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  169. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  170. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  171. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  172. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  173. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  174. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  175. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  176. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  177. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  178. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  179. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  180. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  181. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/config.py +0 -0
  182. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/factory.py +0 -0
  183. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  184. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  185. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  186. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  187. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  188. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  189. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  190. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  191. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  192. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  193. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  194. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  195. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  196. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  197. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/schemas.py +0 -0
  198. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  199. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  200. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/tool.py +0 -0
  201. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  202. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  203. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  204. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  205. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  206. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  207. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  208. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic_table/__init__.py +0 -0
  209. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic_table/schemas.py +0 -0
  210. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/agentic_table/service.py +0 -0
  211. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/__init__.py +0 -0
  212. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/dev_util.py +0 -0
  213. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/fast_api_factory.py +0 -0
  214. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/init_logging.py +0 -0
  215. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/init_sdk.py +0 -0
  216. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/performance/async_tasks.py +0 -0
  217. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  218. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/schemas.py +0 -0
  219. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/unique_settings.py +0 -0
  220. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/verification.py +0 -0
  221. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/app/webhook.py +0 -0
  222. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/__init__.py +0 -0
  223. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/cancellation.py +0 -0
  224. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/constants.py +0 -0
  225. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/deprecated/service.py +0 -0
  226. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/functions.py +0 -0
  227. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/rendering.py +0 -0
  228. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/responses_api.py +0 -0
  229. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/service.py +0 -0
  230. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/state.py +0 -0
  231. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/chat/utils.py +0 -0
  232. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/content/__init__.py +0 -0
  233. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/content/constants.py +0 -0
  234. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/content/functions.py +0 -0
  235. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/content/service.py +0 -0
  236. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/content/smart_rules.py +0 -0
  237. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/content/utils.py +0 -0
  238. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/README.md +0 -0
  239. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/__init__.py +0 -0
  240. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  241. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  242. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/base.py +0 -0
  243. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  244. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/basic/config.py +0 -0
  245. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  246. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/data_extraction/basic/service.py +0 -0
  247. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/elicitation/__init__.py +0 -0
  248. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/elicitation/constants.py +0 -0
  249. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/elicitation/exceptions.py +0 -0
  250. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/elicitation/functions.py +0 -0
  251. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/elicitation/schemas.py +0 -0
  252. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/elicitation/service.py +0 -0
  253. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/embedding/__init__.py +0 -0
  254. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/embedding/constants.py +0 -0
  255. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/embedding/functions.py +0 -0
  256. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/embedding/schemas.py +0 -0
  257. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/embedding/service.py +0 -0
  258. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/embedding/utils.py +0 -0
  259. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/__init__.py +0 -0
  260. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  261. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  262. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  263. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  264. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  265. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  266. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/framework_utilities/utils.py +0 -0
  267. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  268. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/builder.py +0 -0
  269. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/constants.py +0 -0
  270. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/default_language_model.py +0 -0
  271. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/infos.py +0 -0
  272. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/prompt.py +0 -0
  273. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/reference.py +0 -0
  274. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/service.py +0 -0
  275. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/stream_transform.py +0 -0
  276. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/language_model/utils.py +0 -0
  277. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/protocols/support.py +0 -0
  278. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/services/__init__.py +0 -0
  279. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/services/chat_service.py +0 -0
  280. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/services/knowledge_base.py +0 -0
  281. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/short_term_memory/__init__.py +0 -0
  282. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/short_term_memory/constants.py +0 -0
  283. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/short_term_memory/functions.py +0 -0
  284. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/short_term_memory/schemas.py +0 -0
  285. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/short_term_memory/service.py +0 -0
  286. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/smart_rules/__init__.py +0 -0
  287. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/smart_rules/compile.py +0 -0
  288. {unique_toolkit-1.55.1 → unique_toolkit-1.57}/unique_toolkit/test_utilities/events.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-toolkit
3
- Version: 1.55.1
3
+ Version: 1.57
4
4
  Summary:
5
5
  Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
6
6
  Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "1.55.1"
3
+ version = "1.57"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -17,13 +17,13 @@ from unique_toolkit.agentic.evaluation.hallucination.utils import (
17
17
  context_text_from_stream_response,
18
18
  )
19
19
  from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricInput
20
- from unique_toolkit.chat.schemas import ChatMessage
21
20
  from unique_toolkit.content import ContentReference
22
21
  from unique_toolkit.content.schemas import ContentChunk
23
22
  from unique_toolkit.language_model.schemas import (
24
23
  LanguageModelMessageRole,
25
24
  LanguageModelMessages,
26
25
  LanguageModelStreamResponse,
26
+ LanguageModelStreamResponseMessage,
27
27
  )
28
28
 
29
29
 
@@ -580,9 +580,8 @@ def test_context_text_from_stream_response__extracts_context__using_from_ids_mod
580
580
  """
581
581
  # Arrange
582
582
  response: LanguageModelStreamResponse = LanguageModelStreamResponse(
583
- message=ChatMessage(
583
+ message=LanguageModelStreamResponseMessage(
584
584
  id="msg_1",
585
- chat_id="",
586
585
  previous_message_id=None,
587
586
  role=LanguageModelMessageRole.ASSISTANT,
588
587
  text="Test",
@@ -613,9 +612,8 @@ def test_context_text_from_stream_response__extracts_context__using_from_order_m
613
612
  """
614
613
  # Arrange
615
614
  response: LanguageModelStreamResponse = LanguageModelStreamResponse(
616
- message=ChatMessage(
615
+ message=LanguageModelStreamResponseMessage(
617
616
  id="msg_1",
618
- chat_id="",
619
617
  previous_message_id=None,
620
618
  role=LanguageModelMessageRole.ASSISTANT,
621
619
  text="Test",
@@ -655,9 +653,8 @@ def test_context_text_from_stream_response__extracts_context__using_from_origina
655
653
  )
656
654
  ]
657
655
  response: LanguageModelStreamResponse = LanguageModelStreamResponse(
658
- message=ChatMessage(
656
+ message=LanguageModelStreamResponseMessage(
659
657
  id="msg_1",
660
- chat_id="",
661
658
  previous_message_id=None,
662
659
  role=LanguageModelMessageRole.ASSISTANT,
663
660
  text="Test",
@@ -693,9 +690,8 @@ def test_context_text_from_stream_response__falls_back_to_default__with_invalid_
693
690
  """
694
691
  # Arrange
695
692
  response: LanguageModelStreamResponse = LanguageModelStreamResponse(
696
- message=ChatMessage(
693
+ message=LanguageModelStreamResponseMessage(
697
694
  id="msg_1",
698
- chat_id="",
699
695
  previous_message_id=None,
700
696
  role=LanguageModelMessageRole.ASSISTANT,
701
697
  text="Test",
@@ -735,9 +731,8 @@ def test_context_text_from_stream_response__falls_back_to_default__on_extraction
735
731
  )
736
732
  ]
737
733
  response: LanguageModelStreamResponse = LanguageModelStreamResponse(
738
- message=ChatMessage(
734
+ message=LanguageModelStreamResponseMessage(
739
735
  id="msg_1",
740
- chat_id="",
741
736
  previous_message_id=None,
742
737
  role=LanguageModelMessageRole.ASSISTANT,
743
738
  text="Test",
@@ -768,9 +763,8 @@ def test_context_text_from_stream_response__returns_text_strings__not_chunk_obje
768
763
  """
769
764
  # Arrange
770
765
  response: LanguageModelStreamResponse = LanguageModelStreamResponse(
771
- message=ChatMessage(
766
+ message=LanguageModelStreamResponseMessage(
772
767
  id="msg_1",
773
- chat_id="",
774
768
  previous_message_id=None,
775
769
  role=LanguageModelMessageRole.ASSISTANT,
776
770
  text="Test",
@@ -173,12 +173,12 @@ def get_full_history_with_contents(
173
173
 
174
174
  builder = LanguageModelMessages([]).builder()
175
175
  for c in grouped_elements:
176
- # LanguageModelUserMessage has not field original_text
177
- text = c.original_text if c.original_text else c.content
176
+ # LanguageModelUserMessage has not field original content
177
+ text = c.original_content if c.original_content else c.content
178
178
  if text is None:
179
179
  if c.role == ChatRole.USER:
180
180
  raise ValueError(
181
- "Content or original_text of LanguageModelMessages should exist.",
181
+ "Content or original_content of LanguageModelMessages should exist.",
182
182
  )
183
183
  text = ""
184
184
 
@@ -66,67 +66,26 @@ class ToolCall(BaseModel):
66
66
  )
67
67
 
68
68
 
69
- class ChatMessageAssessmentStatus(StrEnum):
70
- PENDING = "PENDING"
71
- DONE = "DONE"
72
- ERROR = "ERROR"
73
-
74
-
75
- class ChatMessageAssessmentLabel(StrEnum):
76
- RED = "RED"
77
- YELLOW = "YELLOW"
78
- GREEN = "GREEN"
79
-
80
-
81
- class ChatMessageAssessmentType(StrEnum):
82
- HALLUCINATION = "HALLUCINATION"
83
- COMPLIANCE = "COMPLIANCE"
84
-
85
-
86
- class ChatMessageAssessment(BaseModel):
87
- model_config = model_config
88
-
89
- id: str
90
- object: str
91
- message_id: str
92
- status: ChatMessageAssessmentStatus
93
- type: ChatMessageAssessmentType
94
- title: str | None = None
95
- explanation: str | None = None
96
- label: ChatMessageAssessmentLabel | None = None
97
- is_visible: bool
98
- created_at: datetime | None = None
99
- updated_at: datetime | None = None
100
-
101
-
102
69
  class ChatMessage(BaseModel):
103
- # This model maps to PublicMessageDto from the backend public API:
104
- # next/services/node-chat/src/public-api/2023-12-06/dtos/message/public-message.dto.ts
105
- # Fields previous_message_id, tool_calls, tool_call_id are internal extensions not in the DTO.
70
+ # TODO: The below seems not to be True anymore @irina-unique. To be checked in separate PR
71
+ # This model should strictly meets https://github.com/Unique-AG/monorepo/blob/master/node/apps/node-chat/src/public-api/2023-12-06/dtos/message/public-message.dto.ts
106
72
  model_config = model_config
107
73
 
108
74
  id: str | None = None
109
75
  chat_id: str
110
76
  object: str | None = None
111
- # alias="text" applies only to construction (model_validate / __init__).
112
- # model_dump() uses the field name "content", not "text". Use model_dump(by_alias=True)
113
- # to get "text" as the key, or access via the .text property.
114
77
  content: str | None = Field(default=None, alias="text")
115
- original_text: str | None = None
78
+ original_content: str | None = Field(default=None, alias="originalText")
116
79
  role: ChatMessageRole
117
- previous_message_id: str | None = None
118
80
  gpt_request: list[dict] | None = None
119
81
  tool_calls: list[ToolCall] | None = None
120
82
  tool_call_id: str | None = None
121
83
  debug_info: dict | None = {}
122
84
  created_at: datetime | None = None
123
85
  completed_at: datetime | None = None
124
- started_streaming_at: datetime | None = None
125
- stopped_streaming_at: datetime | None = None
126
86
  user_aborted_at: datetime | None = None
127
87
  updated_at: datetime | None = None
128
- references: list[ContentReference] | None = []
129
- assessment: list[ChatMessageAssessment] | None = None
88
+ references: list[ContentReference] | None = None
130
89
 
131
90
  # TODO make sdk return role consistently in lowercase
132
91
  # Currently needed as sdk returns role in uppercase
@@ -134,14 +93,6 @@ class ChatMessage(BaseModel):
134
93
  def set_role(cls, value: str):
135
94
  return value.lower()
136
95
 
137
- @property
138
- def text(self) -> str | None:
139
- return self.content
140
-
141
- @text.setter
142
- def text(self, value: str | None) -> None:
143
- self.content = value
144
-
145
96
  # Ensure tool_call_ids is required if role is 'tool'
146
97
  @model_validator(mode="after")
147
98
  def check_tool_call_ids_for_tool_role(self):
@@ -182,6 +133,39 @@ class ChatMessage(BaseModel):
182
133
  raise NotImplementedError
183
134
 
184
135
 
136
+ class ChatMessageAssessmentStatus(StrEnum):
137
+ PENDING = "PENDING"
138
+ DONE = "DONE"
139
+ ERROR = "ERROR"
140
+
141
+
142
+ class ChatMessageAssessmentLabel(StrEnum):
143
+ RED = "RED"
144
+ YELLOW = "YELLOW"
145
+ GREEN = "GREEN"
146
+
147
+
148
+ class ChatMessageAssessmentType(StrEnum):
149
+ HALLUCINATION = "HALLUCINATION"
150
+ COMPLIANCE = "COMPLIANCE"
151
+
152
+
153
+ class ChatMessageAssessment(BaseModel):
154
+ model_config = model_config
155
+
156
+ id: str
157
+ object: str
158
+ message_id: str
159
+ status: ChatMessageAssessmentStatus
160
+ type: ChatMessageAssessmentType
161
+ title: str | None = None
162
+ explanation: str | None = None
163
+ label: ChatMessageAssessmentLabel | None = None
164
+ is_visible: bool
165
+ created_at: datetime | None = None
166
+ updated_at: datetime | None = None
167
+
168
+
185
169
  class MessageLogStatus(StrEnum):
186
170
  RUNNING = "RUNNING"
187
171
  COMPLETED = "COMPLETED"
@@ -117,7 +117,7 @@ class ContentReference(BaseModel):
117
117
  url: str
118
118
  original_index: list[int] = Field(
119
119
  default=[],
120
- description="List of indices in the ChatMessage original_text this reference refers to. This is usually the id in the functionCallResponse. List type due to implementation in node-chat",
120
+ description="List of indices in the ChatMessage original_content this reference refers to. This is usually the id in the functionCallResponse. List type due to implementation in node-chat",
121
121
  )
122
122
 
123
123
  @classmethod
@@ -20,7 +20,6 @@ from .schemas import (
20
20
  LanguageModelStreamResponseMessage,
21
21
  LanguageModelSystemMessage,
22
22
  LanguageModelTokenLimits,
23
- LanguageModelTokenUsage,
24
23
  LanguageModelTool,
25
24
  LanguageModelToolDescription,
26
25
  LanguageModelToolMessage,
@@ -58,7 +57,6 @@ __all__ = [
58
57
  "LanguageModelStreamResponseMessage",
59
58
  "LanguageModelSystemMessage",
60
59
  "LanguageModelTokenLimits",
61
- "LanguageModelTokenUsage",
62
60
  "LanguageModelTool",
63
61
  "LanguageModelToolDescription",
64
62
  "LanguageModelToolMessage",
@@ -30,6 +30,7 @@ from unique_toolkit.language_model.schemas import (
30
30
  LanguageModelMessages,
31
31
  LanguageModelResponse,
32
32
  LanguageModelStreamResponse,
33
+ LanguageModelStreamResponseMessage,
33
34
  LanguageModelTool,
34
35
  LanguageModelToolDescription,
35
36
  )
@@ -527,13 +528,12 @@ def _create_language_model_stream_response_with_references(
527
528
  search_context=content_chunks,
528
529
  )
529
530
 
530
- stream_response_message = ChatMessage(
531
+ stream_response_message = LanguageModelStreamResponseMessage(
531
532
  id="stream_unknown",
532
533
  previous_message_id=None,
533
534
  role=LanguageModelMessageRole.ASSISTANT,
534
535
  text=message.content or "",
535
536
  original_text=content,
536
- chat_id="stream_unknown",
537
537
  references=[
538
538
  ContentReference(**u.model_dump()) for u in message.references or []
539
539
  ],
@@ -657,9 +657,8 @@ async def stream_complete_with_references_openai(
657
657
  ]
658
658
 
659
659
  return LanguageModelStreamResponse(
660
- message=ChatMessage(
660
+ message=LanguageModelStreamResponseMessage(
661
661
  id=message_id or uuid4().hex,
662
- chat_id="",
663
662
  previous_message_id=None,
664
663
  role=LanguageModelMessageRole.ASSISTANT,
665
664
  text=text_,
@@ -1,5 +1,6 @@
1
1
  import json
2
2
  import math
3
+ from enum import StrEnum
3
4
  from typing import Any, Literal, Self, TypeVar
4
5
  from uuid import uuid4
5
6
 
@@ -39,8 +40,7 @@ from pydantic import (
39
40
  )
40
41
  from typing_extensions import deprecated, overload
41
42
 
42
- from unique_toolkit.chat.schemas import ChatMessage
43
- from unique_toolkit.chat.schemas import ChatMessageRole as LanguageModelMessageRole
43
+ from unique_toolkit.content.schemas import ContentReference
44
44
  from unique_toolkit.language_model._responses_api_utils import (
45
45
  convert_user_message_content_to_responses_api,
46
46
  )
@@ -54,14 +54,33 @@ model_config = ConfigDict(
54
54
  )
55
55
 
56
56
 
57
- # Backward compatibility alias — use ChatMessage directly.
58
- # LanguageModelStreamResponseMessage was a toolkit-only subclass with stricter types
59
- # (required id/content, non-null references). The backend DTOs (PublicMessageDto,
60
- # PublicStreamResultDto) use a single message type, so this distinction was unnecessary.
61
- # Note: id and content are now optional (str | None) instead of required (str). This is a
62
- # deliberate contract relaxation — the backend always returns non-null values in stream
63
- # responses, but callers that relied on the stricter types should add explicit null checks.
64
- LanguageModelStreamResponseMessage = ChatMessage
57
+ # Equivalent to
58
+ # from openai.types.chat.chat_completion_role import ChatCompletionRole
59
+ class LanguageModelMessageRole(StrEnum):
60
+ USER = "user"
61
+ SYSTEM = "system"
62
+ ASSISTANT = "assistant"
63
+ TOOL = "tool"
64
+
65
+
66
+ # This is tailored to the unique backend
67
+ class LanguageModelStreamResponseMessage(BaseModel):
68
+ model_config = model_config
69
+
70
+ id: str
71
+ previous_message_id: (
72
+ str | None
73
+ ) # Stream response can return a null previous_message_id if an assisstant message is manually added
74
+ role: LanguageModelMessageRole
75
+ text: str
76
+ original_text: str | None = None
77
+ references: list[ContentReference] = []
78
+
79
+ # TODO make sdk return role in lowercase
80
+ # Currently needed as sdk returns role in uppercase
81
+ @field_validator("role", mode="before")
82
+ def set_role(cls, value: str):
83
+ return value.lower()
65
84
 
66
85
 
67
86
  class LanguageModelFunction(BaseModel):
@@ -144,21 +163,12 @@ class LanguageModelFunction(BaseModel):
144
163
  )
145
164
 
146
165
 
147
- class LanguageModelTokenUsage(BaseModel):
148
- model_config = model_config
149
-
150
- completion_tokens: int | None = None
151
- prompt_tokens: int | None = None
152
- total_tokens: int | None = None
153
-
154
-
155
166
  class LanguageModelStreamResponse(BaseModel):
156
167
  model_config = model_config
157
168
 
158
- message: ChatMessage
169
+ message: LanguageModelStreamResponseMessage
159
170
  tool_calls: list[LanguageModelFunction] | None = None
160
171
  stopped_by_user: bool = False
161
- usage: LanguageModelTokenUsage | None = None
162
172
 
163
173
  def is_empty(self) -> bool:
164
174
  """
File without changes