unique_toolkit 1.4.4__tar.gz → 1.5.0__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 (145) hide show
  1. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/CHANGELOG.md +3 -0
  2. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/PKG-INFO +4 -1
  3. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/pyproject.toml +1 -1
  4. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/history_manager/history_manager.py +19 -0
  5. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +20 -5
  6. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/LICENSE +0 -0
  7. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/README.md +0 -0
  8. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/__init__.py +0 -0
  9. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/_base_service.py +0 -0
  10. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/_time_utils.py +0 -0
  11. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  12. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  13. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  14. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  15. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  16. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  17. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  18. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/default_language_model.py +0 -0
  19. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/endpoint_builder.py +0 -0
  20. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  21. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/exception.py +0 -0
  22. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  23. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  24. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  25. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/string_utilities.py +0 -0
  26. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  27. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/token/token_counting.py +0 -0
  28. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/utils/__init__.py +0 -0
  29. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  30. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  31. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  32. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/validate_required_values.py +0 -0
  33. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/_common/validators.py +0 -0
  34. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/__init__.py +0 -0
  35. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  36. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
  37. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  38. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  39. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  40. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  41. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  42. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  43. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  44. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  45. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  46. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  47. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  48. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  49. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  50. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  51. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  52. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  53. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  54. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  55. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  56. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  57. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
  58. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  59. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  60. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  61. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  62. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  63. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  64. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  65. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/memory.py +0 -0
  66. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  67. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  68. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
  69. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  70. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_postprocessor_reference_functions.py +0 -0
  71. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/schema.py +0 -0
  72. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/a2a/service.py +0 -0
  73. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  74. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/config.py +0 -0
  75. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/factory.py +0 -0
  76. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  77. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  78. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  79. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  80. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/schemas.py +0 -0
  81. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  82. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  83. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/tool.py +0 -0
  84. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  85. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  86. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  87. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
  88. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
  89. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  90. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  91. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  92. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  93. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/__init__.py +0 -0
  94. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/dev_util.py +0 -0
  95. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/init_logging.py +0 -0
  96. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/init_sdk.py +0 -0
  97. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/performance/async_tasks.py +0 -0
  98. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  99. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/schemas.py +0 -0
  100. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/unique_settings.py +0 -0
  101. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/app/verification.py +0 -0
  102. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/chat/__init__.py +0 -0
  103. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/chat/constants.py +0 -0
  104. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/chat/functions.py +0 -0
  105. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/chat/schemas.py +0 -0
  106. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/chat/service.py +0 -0
  107. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/chat/state.py +0 -0
  108. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/chat/utils.py +0 -0
  109. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/content/__init__.py +0 -0
  110. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/content/constants.py +0 -0
  111. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/content/functions.py +0 -0
  112. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/content/schemas.py +0 -0
  113. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/content/service.py +0 -0
  114. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/content/utils.py +0 -0
  115. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/embedding/__init__.py +0 -0
  116. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/embedding/constants.py +0 -0
  117. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/embedding/functions.py +0 -0
  118. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/embedding/schemas.py +0 -0
  119. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/embedding/service.py +0 -0
  120. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/embedding/utils.py +0 -0
  121. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
  122. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  123. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  124. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  125. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  126. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  127. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/framework_utilities/utils.py +0 -0
  128. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/__init__.py +0 -0
  129. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/builder.py +0 -0
  130. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/constants.py +0 -0
  131. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/functions.py +0 -0
  132. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/infos.py +0 -0
  133. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/prompt.py +0 -0
  134. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/reference.py +0 -0
  135. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/schemas.py +0 -0
  136. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/service.py +0 -0
  137. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/language_model/utils.py +0 -0
  138. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/protocols/support.py +0 -0
  139. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
  140. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/short_term_memory/constants.py +0 -0
  141. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/short_term_memory/functions.py +0 -0
  142. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/short_term_memory/schemas.py +0 -0
  143. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/short_term_memory/service.py +0 -0
  144. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/smart_rules/__init__.py +0 -0
  145. {unique_toolkit-1.4.4 → unique_toolkit-1.5.0}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -5,6 +5,9 @@ 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.5.0] - 2025-10-01
9
+ - Allow history manager to fetch only ui visible text
10
+
8
11
  ## [1.4.4] - 2025-09-30
9
12
  - Fix bugs with display of sub-agent answers and evaluations when multiple sub-agent from the same assistant run concurrently.
10
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.4.4
3
+ Version: 1.5.0
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -118,6 +118,9 @@ All notable changes to this project will be documented in this file.
118
118
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
119
119
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
120
120
 
121
+ ## [1.5.0] - 2025-10-01
122
+ - Allow history manager to fetch only ui visible text
123
+
121
124
  ## [1.4.4] - 2025-09-30
122
125
  - Fix bugs with display of sub-agent answers and evaluations when multiple sub-agent from the same assistant run concurrently.
123
126
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.4.4"
3
+ version = "1.5.0"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -215,3 +215,22 @@ class HistoryManager:
215
215
  remove_from_text=remove_from_text,
216
216
  )
217
217
  return messages
218
+
219
+ async def get_user_visible_chat_history(
220
+ self, assistant_message_text: str | None = None
221
+ ) -> LanguageModelMessages:
222
+ """Get the user visible chat history.
223
+
224
+ Args:
225
+ assistant_message_text (str | None): The latest assistant message to append to the history, as this is not extracted from the history.
226
+ If None, the history will be returned without the latest assistant message.
227
+
228
+ Returns:
229
+ LanguageModelMessages: The user visible chat history.
230
+ """
231
+ history = await self._token_reducer._get_history_from_db()
232
+ if assistant_message_text:
233
+ history.append(
234
+ LanguageModelAssistantMessage(content=assistant_message_text)
235
+ )
236
+ return LanguageModelMessages(history)
@@ -113,6 +113,21 @@ class LoopTokenReducer:
113
113
 
114
114
  return messages
115
115
 
116
+ async def get_user_visible_chat_history(
117
+ self, message: LanguageModelAssistantMessage
118
+ ) -> LanguageModelMessages:
119
+ """Get the user visible chat history.
120
+
121
+ Args:
122
+ message (LanguageModelAssistantMessage): The latest assistant message to append to the history, as this is not extracted from the history.
123
+
124
+ Returns:
125
+ LanguageModelMessages: The user visible chat history.
126
+ """
127
+ history = await self._get_history_from_db()
128
+ history.append(message)
129
+ return LanguageModelMessages(history)
130
+
116
131
  def _exceeds_token_limit(self, token_count: int) -> bool:
117
132
  """Check if token count exceeds the maximum allowed limit and if at least one tool call has more than one source."""
118
133
  # At least one tool call should have more than one chunk as answer
@@ -223,7 +238,7 @@ class LoopTokenReducer:
223
238
  return history
224
239
 
225
240
  async def _get_history_from_db(
226
- self, remove_from_text: Callable[[str], Awaitable[str]]
241
+ self, remove_from_text: Callable[[str], Awaitable[str]] | None = None
227
242
  ) -> list[LanguageModelMessage]:
228
243
  """
229
244
  Get the history of the conversation. The function will retrieve a subset of the full history based on the configuration.
@@ -242,10 +257,10 @@ class LoopTokenReducer:
242
257
  else FileContentSerialization.FILE_NAME
243
258
  ),
244
259
  )
245
-
246
- full_history.root = await self._clean_messages(
247
- full_history.root, remove_from_text
248
- )
260
+ if remove_from_text is not None:
261
+ full_history.root = await self._clean_messages(
262
+ full_history.root, remove_from_text
263
+ )
249
264
 
250
265
  limited_history_messages = self._limit_to_token_window(
251
266
  full_history.root, self._max_history_tokens
File without changes
File without changes