unique_toolkit 0.8.55__tar.gz → 0.8.56__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 (129) hide show
  1. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/CHANGELOG.md +3 -0
  2. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/PKG-INFO +4 -1
  3. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/pyproject.toml +1 -1
  4. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/history_manager/history_manager.py +2 -2
  5. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/history_manager/utils.py +3 -3
  6. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/LICENSE +0 -0
  7. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/README.md +0 -0
  8. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/__init__.py +0 -0
  9. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/_base_service.py +0 -0
  10. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/_time_utils.py +0 -0
  11. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  12. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  13. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  14. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  15. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  16. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  17. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/default_language_model.py +0 -0
  18. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/endpoint_builder.py +0 -0
  19. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  20. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/exception.py +0 -0
  21. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  22. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  23. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  24. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/token/token_counting.py +0 -0
  25. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  26. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/validate_required_values.py +0 -0
  27. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/_common/validators.py +0 -0
  28. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/__init__.py +0 -0
  29. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/dev_util.py +0 -0
  30. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/init_logging.py +0 -0
  31. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/init_sdk.py +0 -0
  32. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/performance/async_tasks.py +0 -0
  33. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  34. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/schemas.py +0 -0
  35. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/unique_settings.py +0 -0
  36. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/app/verification.py +0 -0
  37. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/chat/__init__.py +0 -0
  38. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/chat/constants.py +0 -0
  39. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/chat/functions.py +0 -0
  40. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/chat/schemas.py +0 -0
  41. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/chat/service.py +0 -0
  42. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/chat/state.py +0 -0
  43. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/chat/utils.py +0 -0
  44. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/content/__init__.py +0 -0
  45. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/content/constants.py +0 -0
  46. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/content/functions.py +0 -0
  47. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/content/schemas.py +0 -0
  48. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/content/service.py +0 -0
  49. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/content/utils.py +0 -0
  50. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/debug_info_manager/debug_info_manager.py +0 -0
  51. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/embedding/__init__.py +0 -0
  52. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/embedding/constants.py +0 -0
  53. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/embedding/functions.py +0 -0
  54. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/embedding/schemas.py +0 -0
  55. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/embedding/service.py +0 -0
  56. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/embedding/utils.py +0 -0
  57. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/config.py +0 -0
  58. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/context_relevancy/prompts.py +0 -0
  59. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/context_relevancy/schema.py +0 -0
  60. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/context_relevancy/service.py +0 -0
  61. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/evaluation_manager.py +0 -0
  62. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/exception.py +0 -0
  63. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/hallucination/constants.py +0 -0
  64. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/hallucination/hallucination_evaluation.py +0 -0
  65. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/hallucination/prompts.py +0 -0
  66. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/hallucination/service.py +0 -0
  67. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/hallucination/utils.py +0 -0
  68. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/output_parser.py +0 -0
  69. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/schemas.py +0 -0
  70. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/tests/test_context_relevancy_service.py +0 -0
  71. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/evals/tests/test_output_parser.py +0 -0
  72. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/framework_utilities/__init__.py +0 -0
  73. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  74. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  75. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  76. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  77. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  78. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/framework_utilities/utils.py +0 -0
  79. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/history_manager/history_construction_with_contents.py +0 -0
  80. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/history_manager/loop_token_reducer.py +0 -0
  81. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/__init__.py +0 -0
  82. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/builder.py +0 -0
  83. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/constants.py +0 -0
  84. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/functions.py +0 -0
  85. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/infos.py +0 -0
  86. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/prompt.py +0 -0
  87. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/reference.py +0 -0
  88. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/schemas.py +0 -0
  89. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/service.py +0 -0
  90. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/language_model/utils.py +0 -0
  91. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/postprocessor/postprocessor_manager.py +0 -0
  92. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/protocols/support.py +0 -0
  93. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/reference_manager/reference_manager.py +0 -0
  94. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/short_term_memory/__init__.py +0 -0
  95. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/short_term_memory/constants.py +0 -0
  96. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/short_term_memory/functions.py +0 -0
  97. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/short_term_memory/persistent_short_term_memory_manager.py +0 -0
  98. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/short_term_memory/schemas.py +0 -0
  99. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/short_term_memory/service.py +0 -0
  100. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/smart_rules/__init__.py +0 -0
  101. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/smart_rules/compile.py +0 -0
  102. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/thinking_manager/thinking_manager.py +0 -0
  103. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/__init__.py +0 -0
  104. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/a2a/__init__.py +0 -0
  105. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/a2a/config.py +0 -0
  106. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/a2a/manager.py +0 -0
  107. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/a2a/memory.py +0 -0
  108. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/a2a/schema.py +0 -0
  109. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/a2a/service.py +0 -0
  110. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/agent_chunks_hanlder.py +0 -0
  111. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/config.py +0 -0
  112. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/factory.py +0 -0
  113. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/mcp/__init__.py +0 -0
  114. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/mcp/manager.py +0 -0
  115. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/mcp/models.py +0 -0
  116. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/mcp/tool_wrapper.py +0 -0
  117. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/schemas.py +0 -0
  118. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/test/test_mcp_manager.py +0 -0
  119. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/test/test_tool_progress_reporter.py +0 -0
  120. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/tool.py +0 -0
  121. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/tool_manager.py +0 -0
  122. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/tool_progress_reporter.py +0 -0
  123. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/utils/__init__.py +0 -0
  124. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/utils/execution/__init__.py +0 -0
  125. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/utils/execution/execution.py +0 -0
  126. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/utils/source_handling/__init__.py +0 -0
  127. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/utils/source_handling/schema.py +0 -0
  128. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/utils/source_handling/source_formatting.py +0 -0
  129. {unique_toolkit-0.8.55 → unique_toolkit-0.8.56}/unique_toolkit/tools/utils/source_handling/tests/test_source_formatting.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
+ ## [0.8.56] - 2025-09-12
9
+ - Fixed token counter in utils
10
+
8
11
  ## [0.8.55] - 2025-09-10
9
12
  - Update documentation with agentic managers
10
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 0.8.55
3
+ Version: 0.8.56
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -119,6 +119,9 @@ All notable changes to this project will be documented in this file.
119
119
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
120
120
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
121
121
 
122
+ ## [0.8.56] - 2025-09-12
123
+ - Fixed token counter in utils
124
+
122
125
  ## [0.8.55] - 2025-09-10
123
126
  - Update documentation with agentic managers
124
127
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "0.8.55"
3
+ version = "0.8.56"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -170,7 +170,7 @@ class HistoryManager:
170
170
  ) # it can be that the tool response does not have content chunks
171
171
 
172
172
  # Transform content chunks into sources to be appended to tool result
173
- sources = transform_chunks_to_string(
173
+ stringified_sources, sources = transform_chunks_to_string(
174
174
  content_chunks,
175
175
  self._source_enumerator,
176
176
  None, # Use None for SourceFormatConfig
@@ -183,7 +183,7 @@ class HistoryManager:
183
183
 
184
184
  # Append the result to the history
185
185
  return LanguageModelToolMessage(
186
- content=sources,
186
+ content=stringified_sources,
187
187
  tool_call_id=tool_response.id, # type: ignore
188
188
  name=tool_response.name,
189
189
  )
@@ -64,7 +64,7 @@ def transform_chunks_to_string(
64
64
  max_source_number: int,
65
65
  cfg: SourceFormatConfig | None,
66
66
  full_sources_serialize_dump: bool = False,
67
- ) -> str:
67
+ ) -> tuple[str, list[Source]]:
68
68
  """Transform content chunks into a string of sources.
69
69
 
70
70
  Args:
@@ -76,7 +76,7 @@ def transform_chunks_to_string(
76
76
  str: String for the tool call response
77
77
  """
78
78
  if not content_chunks:
79
- return "No relevant sources found."
79
+ return "No relevant sources found.", []
80
80
  if full_sources_serialize_dump:
81
81
  sources = [
82
82
  Source(
@@ -114,7 +114,7 @@ def transform_chunks_to_string(
114
114
  }
115
115
  for i, chunk in enumerate(content_chunks)
116
116
  ]
117
- return json.dumps(sources)
117
+ return json.dumps(sources), sources
118
118
 
119
119
 
120
120
  def load_sources_from_string(
File without changes