unique_toolkit 0.7.7__py3-none-any.whl → 1.23.0__py3-none-any.whl

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.

Potentially problematic release.


This version of unique_toolkit might be problematic. Click here for more details.

Files changed (166) hide show
  1. unique_toolkit/__init__.py +28 -1
  2. unique_toolkit/_common/api_calling/human_verification_manager.py +343 -0
  3. unique_toolkit/_common/base_model_type_attribute.py +303 -0
  4. unique_toolkit/_common/chunk_relevancy_sorter/config.py +49 -0
  5. unique_toolkit/_common/chunk_relevancy_sorter/exception.py +5 -0
  6. unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +46 -0
  7. unique_toolkit/_common/chunk_relevancy_sorter/service.py +374 -0
  8. unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +275 -0
  9. unique_toolkit/_common/default_language_model.py +12 -0
  10. unique_toolkit/_common/docx_generator/__init__.py +7 -0
  11. unique_toolkit/_common/docx_generator/config.py +12 -0
  12. unique_toolkit/_common/docx_generator/schemas.py +80 -0
  13. unique_toolkit/_common/docx_generator/service.py +252 -0
  14. unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  15. unique_toolkit/_common/endpoint_builder.py +305 -0
  16. unique_toolkit/_common/endpoint_requestor.py +430 -0
  17. unique_toolkit/_common/exception.py +24 -0
  18. unique_toolkit/_common/feature_flags/schema.py +9 -0
  19. unique_toolkit/_common/pydantic/rjsf_tags.py +936 -0
  20. unique_toolkit/_common/pydantic_helpers.py +154 -0
  21. unique_toolkit/_common/referencing.py +53 -0
  22. unique_toolkit/_common/string_utilities.py +140 -0
  23. unique_toolkit/_common/tests/test_referencing.py +521 -0
  24. unique_toolkit/_common/tests/test_string_utilities.py +506 -0
  25. unique_toolkit/_common/token/image_token_counting.py +67 -0
  26. unique_toolkit/_common/token/token_counting.py +204 -0
  27. unique_toolkit/_common/utils/__init__.py +1 -0
  28. unique_toolkit/_common/utils/files.py +43 -0
  29. unique_toolkit/_common/utils/structured_output/__init__.py +1 -0
  30. unique_toolkit/_common/utils/structured_output/schema.py +5 -0
  31. unique_toolkit/_common/utils/write_configuration.py +51 -0
  32. unique_toolkit/_common/validators.py +101 -4
  33. unique_toolkit/agentic/__init__.py +1 -0
  34. unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +28 -0
  35. unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +278 -0
  36. unique_toolkit/agentic/evaluation/config.py +36 -0
  37. unique_toolkit/{evaluators → agentic/evaluation}/context_relevancy/prompts.py +25 -0
  38. unique_toolkit/agentic/evaluation/context_relevancy/schema.py +80 -0
  39. unique_toolkit/agentic/evaluation/context_relevancy/service.py +273 -0
  40. unique_toolkit/agentic/evaluation/evaluation_manager.py +218 -0
  41. unique_toolkit/agentic/evaluation/hallucination/constants.py +61 -0
  42. unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +111 -0
  43. unique_toolkit/{evaluators → agentic/evaluation}/hallucination/prompts.py +1 -1
  44. unique_toolkit/{evaluators → agentic/evaluation}/hallucination/service.py +16 -15
  45. unique_toolkit/{evaluators → agentic/evaluation}/hallucination/utils.py +30 -20
  46. unique_toolkit/{evaluators → agentic/evaluation}/output_parser.py +20 -2
  47. unique_toolkit/{evaluators → agentic/evaluation}/schemas.py +27 -7
  48. unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +253 -0
  49. unique_toolkit/agentic/evaluation/tests/test_output_parser.py +87 -0
  50. unique_toolkit/agentic/history_manager/history_construction_with_contents.py +297 -0
  51. unique_toolkit/agentic/history_manager/history_manager.py +242 -0
  52. unique_toolkit/agentic/history_manager/loop_token_reducer.py +484 -0
  53. unique_toolkit/agentic/history_manager/utils.py +96 -0
  54. unique_toolkit/agentic/postprocessor/postprocessor_manager.py +212 -0
  55. unique_toolkit/agentic/reference_manager/reference_manager.py +103 -0
  56. unique_toolkit/agentic/responses_api/__init__.py +19 -0
  57. unique_toolkit/agentic/responses_api/postprocessors/code_display.py +63 -0
  58. unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +145 -0
  59. unique_toolkit/agentic/responses_api/stream_handler.py +15 -0
  60. unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +141 -0
  61. unique_toolkit/agentic/thinking_manager/thinking_manager.py +103 -0
  62. unique_toolkit/agentic/tools/__init__.py +1 -0
  63. unique_toolkit/agentic/tools/a2a/__init__.py +36 -0
  64. unique_toolkit/agentic/tools/a2a/config.py +17 -0
  65. unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +15 -0
  66. unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +66 -0
  67. unique_toolkit/agentic/tools/a2a/evaluation/config.py +55 -0
  68. unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +260 -0
  69. unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +9 -0
  70. unique_toolkit/agentic/tools/a2a/manager.py +55 -0
  71. unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +21 -0
  72. unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +185 -0
  73. unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +73 -0
  74. unique_toolkit/agentic/tools/a2a/postprocessing/config.py +45 -0
  75. unique_toolkit/agentic/tools/a2a/postprocessing/display.py +180 -0
  76. unique_toolkit/agentic/tools/a2a/postprocessing/references.py +101 -0
  77. unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +1335 -0
  78. unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +603 -0
  79. unique_toolkit/agentic/tools/a2a/prompts.py +46 -0
  80. unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +6 -0
  81. unique_toolkit/agentic/tools/a2a/response_watcher/service.py +91 -0
  82. unique_toolkit/agentic/tools/a2a/tool/__init__.py +4 -0
  83. unique_toolkit/agentic/tools/a2a/tool/_memory.py +26 -0
  84. unique_toolkit/agentic/tools/a2a/tool/_schema.py +9 -0
  85. unique_toolkit/agentic/tools/a2a/tool/config.py +73 -0
  86. unique_toolkit/agentic/tools/a2a/tool/service.py +306 -0
  87. unique_toolkit/agentic/tools/agent_chunks_hanlder.py +65 -0
  88. unique_toolkit/agentic/tools/config.py +167 -0
  89. unique_toolkit/agentic/tools/factory.py +44 -0
  90. unique_toolkit/agentic/tools/mcp/__init__.py +4 -0
  91. unique_toolkit/agentic/tools/mcp/manager.py +71 -0
  92. unique_toolkit/agentic/tools/mcp/models.py +28 -0
  93. unique_toolkit/agentic/tools/mcp/tool_wrapper.py +234 -0
  94. unique_toolkit/agentic/tools/openai_builtin/__init__.py +11 -0
  95. unique_toolkit/agentic/tools/openai_builtin/base.py +30 -0
  96. unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +8 -0
  97. unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +57 -0
  98. unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +230 -0
  99. unique_toolkit/agentic/tools/openai_builtin/manager.py +62 -0
  100. unique_toolkit/agentic/tools/schemas.py +141 -0
  101. unique_toolkit/agentic/tools/test/test_mcp_manager.py +536 -0
  102. unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +445 -0
  103. unique_toolkit/agentic/tools/tool.py +183 -0
  104. unique_toolkit/agentic/tools/tool_manager.py +523 -0
  105. unique_toolkit/agentic/tools/tool_progress_reporter.py +285 -0
  106. unique_toolkit/agentic/tools/utils/__init__.py +19 -0
  107. unique_toolkit/agentic/tools/utils/execution/__init__.py +1 -0
  108. unique_toolkit/agentic/tools/utils/execution/execution.py +286 -0
  109. unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  110. unique_toolkit/agentic/tools/utils/source_handling/schema.py +21 -0
  111. unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +207 -0
  112. unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +216 -0
  113. unique_toolkit/app/__init__.py +6 -0
  114. unique_toolkit/app/dev_util.py +180 -0
  115. unique_toolkit/app/init_sdk.py +32 -1
  116. unique_toolkit/app/schemas.py +198 -31
  117. unique_toolkit/app/unique_settings.py +367 -0
  118. unique_toolkit/chat/__init__.py +8 -1
  119. unique_toolkit/chat/deprecated/service.py +232 -0
  120. unique_toolkit/chat/functions.py +642 -77
  121. unique_toolkit/chat/rendering.py +34 -0
  122. unique_toolkit/chat/responses_api.py +461 -0
  123. unique_toolkit/chat/schemas.py +133 -2
  124. unique_toolkit/chat/service.py +115 -767
  125. unique_toolkit/content/functions.py +153 -4
  126. unique_toolkit/content/schemas.py +122 -15
  127. unique_toolkit/content/service.py +278 -44
  128. unique_toolkit/content/smart_rules.py +301 -0
  129. unique_toolkit/content/utils.py +8 -3
  130. unique_toolkit/embedding/service.py +102 -11
  131. unique_toolkit/framework_utilities/__init__.py +1 -0
  132. unique_toolkit/framework_utilities/langchain/client.py +71 -0
  133. unique_toolkit/framework_utilities/langchain/history.py +19 -0
  134. unique_toolkit/framework_utilities/openai/__init__.py +6 -0
  135. unique_toolkit/framework_utilities/openai/client.py +83 -0
  136. unique_toolkit/framework_utilities/openai/message_builder.py +229 -0
  137. unique_toolkit/framework_utilities/utils.py +23 -0
  138. unique_toolkit/language_model/__init__.py +3 -0
  139. unique_toolkit/language_model/builder.py +27 -11
  140. unique_toolkit/language_model/default_language_model.py +3 -0
  141. unique_toolkit/language_model/functions.py +327 -43
  142. unique_toolkit/language_model/infos.py +992 -50
  143. unique_toolkit/language_model/reference.py +242 -0
  144. unique_toolkit/language_model/schemas.py +475 -48
  145. unique_toolkit/language_model/service.py +228 -27
  146. unique_toolkit/protocols/support.py +145 -0
  147. unique_toolkit/services/__init__.py +7 -0
  148. unique_toolkit/services/chat_service.py +1630 -0
  149. unique_toolkit/services/knowledge_base.py +861 -0
  150. unique_toolkit/short_term_memory/service.py +178 -41
  151. unique_toolkit/smart_rules/__init__.py +0 -0
  152. unique_toolkit/smart_rules/compile.py +56 -0
  153. unique_toolkit/test_utilities/events.py +197 -0
  154. {unique_toolkit-0.7.7.dist-info → unique_toolkit-1.23.0.dist-info}/METADATA +606 -7
  155. unique_toolkit-1.23.0.dist-info/RECORD +182 -0
  156. unique_toolkit/evaluators/__init__.py +0 -1
  157. unique_toolkit/evaluators/config.py +0 -35
  158. unique_toolkit/evaluators/constants.py +0 -1
  159. unique_toolkit/evaluators/context_relevancy/constants.py +0 -32
  160. unique_toolkit/evaluators/context_relevancy/service.py +0 -53
  161. unique_toolkit/evaluators/context_relevancy/utils.py +0 -142
  162. unique_toolkit/evaluators/hallucination/constants.py +0 -41
  163. unique_toolkit-0.7.7.dist-info/RECORD +0 -64
  164. /unique_toolkit/{evaluators → agentic/evaluation}/exception.py +0 -0
  165. {unique_toolkit-0.7.7.dist-info → unique_toolkit-1.23.0.dist-info}/LICENSE +0 -0
  166. {unique_toolkit-0.7.7.dist-info → unique_toolkit-1.23.0.dist-info}/WHEEL +0 -0
@@ -1,23 +1,32 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 0.7.7
3
+ Version: 1.23.0
4
4
  Summary:
5
5
  License: Proprietary
6
- Author: Martin Fadler
7
- Author-email: martin.fadler@unique.ch
8
- Requires-Python: >=3.11,<4.0
6
+ Author: Cedric Klinkert
7
+ Author-email: cedric.klinkert@unique.ch
8
+ Requires-Python: >=3.12,<4.0
9
9
  Classifier: License :: Other/Proprietary License
10
10
  Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.11
12
11
  Classifier: Programming Language :: Python :: 3.12
12
+ Requires-Dist: docxtpl (>=0.20.1,<0.21.0)
13
+ Requires-Dist: jambo (>=0.1.2,<0.2.0)
14
+ Requires-Dist: markdown-it-py (>=4.0.0,<5.0.0)
15
+ Requires-Dist: mkdocs-mermaid2-plugin (>=1.2.2,<2.0.0)
16
+ Requires-Dist: mkdocs-multirepo-plugin (>=0.8.3,<0.9.0)
13
17
  Requires-Dist: numpy (>=1.26.4,<2.0.0)
18
+ Requires-Dist: openai (>=1.99.9,<2.0.0)
19
+ Requires-Dist: pillow (>=10.4.0,<11.0.0)
20
+ Requires-Dist: platformdirs (>=4.0.0,<5.0.0)
14
21
  Requires-Dist: pydantic (>=2.8.2,<3.0.0)
22
+ Requires-Dist: pydantic-settings (>=2.10.1,<3.0.0)
15
23
  Requires-Dist: pyhumps (>=3.8.0,<4.0.0)
16
24
  Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
17
25
  Requires-Dist: regex (>=2024.5.15,<2025.0.0)
26
+ Requires-Dist: sseclient (>=0.0.27,<0.0.28)
18
27
  Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
19
28
  Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
20
- Requires-Dist: unique-sdk (>=0.9.17,<0.10.0)
29
+ Requires-Dist: unique-sdk (>=0.10.28,<0.11.0)
21
30
  Description-Content-Type: text/markdown
22
31
 
23
32
  # Unique Toolkit
@@ -81,7 +90,7 @@ The `unique_toolkit.embedding` module encompasses all embedding related function
81
90
  The `unique_toolkit.language_model` module encompasses all language model related functionality and information on the different language models deployed through the
82
91
  Unique platform.
83
92
 
84
- - `infos.py` comprises the information on all language models deployed through the Unique platform. We recommend to use the LanguageModel class, initialized with the LanguageModelName, e.g., LanguageModel(LanguageModelName.AZURE_GPT_35_TURBO_0125) to get the information on the specific language model like the name, version, token limits or retirement date.
93
+ - `infos.py` comprises the information on all language models deployed through the Unique platform. We recommend to use the LanguageModel class, initialized with the LanguageModelName, e.g., LanguageModel(LanguageModelName.AZURE_GPT_4o_2024_1120) to get the information on the specific language model like the name, version, token limits or retirement date.
85
94
  - `functions.py` comprises the functions to complete and stream complete to chat.
86
95
  - `service.py` comprises the LanguageModelService and provides an interface to interact with the language models, e.g., complete.
87
96
  - `schemas.py` comprises all relevant schemas, e.g., LanguageModelResponse, used in the LanguageModelService.
@@ -111,6 +120,595 @@ All notable changes to this project will be documented in this file.
111
120
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
112
121
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
113
122
 
123
+ ## [1.23.0] - 2025-11-04
124
+ - Refactor sub agent tools implementation for clarity and testability.
125
+
126
+ ## [1.22.2] - 2025-11-03
127
+ - Updated `unique_ai_how-it-works.md` and `plan_processing.md` to document how new assistant messages are generated when the orchestrator produces output text and triggers tool calls within the same loop iteration.
128
+
129
+ ## [1.22.1] - 2025-11-03
130
+ - Add missing package required markdown-it-py
131
+
132
+ ## [1.22.0] - 2025-10-31
133
+ - Add `DocxGeneratorService` for generating Word documents from markdown with template support
134
+ - Fix documentation for `update_message_execution`, `update_message_execution_async`, `update_assistant_message_execution`, and `update_assistant_message_execution_async` functions to correctly reflect that the `status` parameter is now optional
135
+
136
+ ## [1.21.2] - 2025-10-30
137
+ - Fixing that system format info is only appended to system prompt if tool is called
138
+
139
+ ## [1.21.1] - 2025-10-30
140
+ - Improve Spaces 2.0 display of tool progress reporter configuration.
141
+
142
+ ## [1.21.0] - 2025-10-30
143
+ - Add option to customize the display of tool progress statuses.
144
+
145
+ ## [1.20.1] - 2025-10-30
146
+ - Fix typing issues in `LanguageModelFunction`.
147
+
148
+ ## [1.20.0] - 2025-10-30
149
+ - Fix bug where async tasks executed with `SafeTaskExecutor` did not log exceptions.
150
+ - Add option to customize sub agent response display title.
151
+ - Add option to display sub agent responses after the main agent response.
152
+ - Add option to specify postprocessors to run before or after the others in the `PostprocessorManager`.
153
+
154
+ ## [1.19.3] - 2025-10-29
155
+ - More documentation on advanced rendering
156
+
157
+ ## [1.19.2] - 2025-10-29
158
+ - Removing unused tool specific `get_tool_call_result_for_loop_history` function
159
+ - Removing unused experimental config `full_sources_serialize_dump` in `history_manager`
160
+
161
+ ## [1.19.1] - 2025-10-29
162
+ - Make api operations more flexible
163
+ - Make verification button text adaptable
164
+
165
+ ## [1.19.0] - 2025-10-28
166
+ - Enable additional headers on openai and langchain client
167
+
168
+
169
+ ## [1.18.1] - 2025-10-28
170
+ - Fix bug where sub agent references were not properly displayed in the main agent response when the sub agent response was hidden.
171
+
172
+ ## [1.18.0] - 2025-10-27
173
+ - Temporary fix to rendering of sub agent responses.
174
+ - Add config option `stop_condition` to `SubAgentToolConfig`
175
+ - Add config option `tool_choices` to `SubAgentToolConfig`
176
+ - Make sub agent evaluation use the name of the sub agent name if only one assessment is valid
177
+
178
+ ## [1.17.3] - 2025-10-27
179
+ - Update Hallucination check citation regex parsing pattern
180
+
181
+ ## [1.17.2] - 2025-10-23
182
+ - Adding model `AZURE_GPT_5_PRO_2025_1006` and `litellm:openai-gpt-5-pro` to `language_model/info.py`
183
+
184
+ ## [1.17.1] - 2025-10-23
185
+ - Fix hallucination check input with all cited reference chunks.
186
+
187
+ ## [1.17.0] - 2025-10-22
188
+ - Add more options to display sub agent answers in the chat.
189
+
190
+ ## [1.16.5] - 2025-10-16
191
+ - Adding litellm models `litellm:anthropic-claude-haiku-4-5`
192
+
193
+ ## [1.16.4] - 2025-10-18
194
+ - Fix bug with MCP tool parameters schema
195
+
196
+ ## [1.16.3] - 2025-10-18
197
+ - Add logging of MCP tool schema and constructed parameters
198
+
199
+ ## [1.16.2] - 2025-10-16
200
+ - Reduce operation dependency on path instead of full url
201
+
202
+ ## [1.16.1] - 2025-10-16
203
+ - Update debug info for better tool call tracking
204
+
205
+ ## [1.16.0] - 2025-10-16
206
+ - Add responses api support.
207
+ - Add utilities for code execution.
208
+
209
+ ## [1.15.0] - 2025-10-15
210
+ - Enable to distinguish between environment and modifiable payload parameters in human verification
211
+
212
+ ## [1.14.11] - 2025-10-13
213
+ - Introduce testing guidelines for AI
214
+ - Add AI tests to `tool_config` and `tool_factory.py`
215
+
216
+ ## [1.14.10] - 2025-10-13
217
+ - Fix token counter if images in history
218
+
219
+ ## [1.14.9] - 2025-10-13
220
+ - Fix removal of metadata
221
+
222
+ ## [1.14.8] - 2025-10-13
223
+ - Use default tool icon on validation error
224
+
225
+ ## [1.14.7] - 2025-10-13
226
+ - Update of token_limit parameters for Claude models
227
+
228
+ ## [1.14.6] - 2025-10-10
229
+ - Fix circular import appearing in orchestrator
230
+
231
+ ## [1.14.5] - 2025-10-09
232
+ - Move `DEFAULT_GPT_4o` constant from `_common/default_language_model.py` to `language_model/constants.py` and deprecate old import path
233
+
234
+ ## [1.14.4] - 2025-10-09
235
+ - Small fixes when deleting content
236
+ - Fixes in documentation
237
+
238
+ ## [1.14.3] - 2025-10-08
239
+ - Reorganizes documentation
240
+ - All service interface towards a single folder
241
+ - Add main imports to __init__
242
+
243
+ ## [1.14.2] - 2025-10-08
244
+ - Add utilities for testing and fix external import issue
245
+
246
+ ## [1.14.1] - 2025-10-08
247
+ - Add utilities for testing
248
+
249
+ ## [1.14.0] - 2025-10-07
250
+ - Manipulate Metadata with knowledge base service
251
+
252
+ ## [1.13.0] - 2025-10-07
253
+ - Delete contents with knowledge base service
254
+
255
+ ## [1.12.1] - 2025-10-07
256
+ - Fix bug where failed evaluations did not show an error to the user.
257
+
258
+ ## [1.12.0] - 2026-10-07
259
+ - Add the `OpenAIUserMessageBuilder` for complex user messages with images
260
+ - More examples with documents/images on the chat
261
+
262
+ ## [1.11.4] - 2026-10-07
263
+ - Make newer `MessageExecution` and `MessageLog` method keyword only
264
+
265
+ ## [1.11.3] - 2026-10-07
266
+ - Move smart rules to content
267
+ - Add to documentation
268
+
269
+ ## [1.11.2] - 2025-10-07
270
+ - Fix for empty metadata filter at info retrieval
271
+
272
+ ## [1.11.1] - 2025-10-07
273
+ - Fix bug where hallucination check was taking all of the chunks as input instead of only the referenced ones.
274
+
275
+ ## [1.11.0] - 2025-10-07
276
+ - Add sub-agent response referencing.
277
+
278
+ ## [1.10.0] - 2025-10-07
279
+ - Introduce future proof knowledgebase service decoupled from chat
280
+ - Extend chat service to download contents in the chat
281
+ - Update documentation
282
+
283
+ ## [1.9.1] - 2025-10-06
284
+ - Switch default model used in evaluation service from `GPT-3.5-turbo (0125)` to `GPT-4o (1120)`
285
+
286
+
287
+ ## [1.9.0] - 2026-10-04
288
+ - Define the RequestContext and add aihttp/httpx requestors
289
+
290
+ ## [1.8.1] - 2026-10-03
291
+ - Fix bug where sub agent evaluation config variable `include_evaluation` did not include aliases for previous names.
292
+
293
+ ## [1.8.0] - 2026-10-03
294
+ - Sub Agents now block when executing the same sub-agent multiple times with `reuse_chat` set to `True`.
295
+ - Sub Agents tool, evaluation and post-processing refactored and tests added.
296
+
297
+ ## [1.7.0] - 2025-10-01
298
+ - Add functionality to remove text in `get_user_visible_chat_history`
299
+
300
+ ## [1.6.0] - 2025-10-01
301
+ - revert and simplify 1.5.0
302
+
303
+ ## [1.5.1] - 2025-10-01
304
+ - Fix filtering logic to raise a ConfigurationException if chat event filters are not specified
305
+
306
+ ## [1.5.0] - 2025-10-01
307
+ - Allow history manager to fetch only ui visible text
308
+
309
+ ## [1.4.4] - 2025-09-30
310
+ - Fix bugs with display of sub-agent answers and evaluations when multiple sub-agent from the same assistant run concurrently.
311
+
312
+ ## [1.4.3] - 2025-09-30
313
+ - Fix bug with sub-agent post-processing reference numbers.
314
+
315
+ ## [1.4.2] - 2025-09-30
316
+ - Adding litellm models `litellm:anthropic-claude-sonnet-4-5` and `litellm:anthropic-claude-opus-4-1`
317
+
318
+ ## [1.4.1] - 2025-09-30
319
+ - Handle sub agent failed assessments better in sub agent evaluator.
320
+
321
+ ## [1.4.0] - 2025-09-29
322
+ - Add ability to consolidate sub agent's assessments.
323
+
324
+ ## [1.3.3] - 2025-09-30
325
+ - fix bug in exclusive tools not making them selectable
326
+
327
+ ## [1.3.2] - 2025-09-29
328
+ - Auto-update unique settings on event arrival in SSE client
329
+
330
+ ## [1.3.1] - 2025-09-29
331
+ - More documentation on referencing
332
+
333
+ ## [1.3.0] - 2025-09-28
334
+ - Add utilitiy to enhance pydantic model with metadata
335
+ - Add capability to collect this metadata with same hierarchy as nested pydantic models
336
+
337
+ ## [1.2.1] - 2025-09-28
338
+ - Fix bug where camel case arguments were not properly validated.
339
+
340
+ ## [1.2.0] - 2025-09-24
341
+ - Add ability to display sub agent responses in the chat.
342
+
343
+ ## [1.1.9] - 2025-09-24
344
+ - Fix bug in `LanguageModelFunction` to extend support mistral tool calling.
345
+
346
+ ## [1.1.8] - 2025-09-23
347
+ - Revert last to version 1.1.6
348
+
349
+ ## [1.1.7] - 2025-09-23
350
+ - Introduce keyword only functions in services for better backward compatibility
351
+ - Deprecatea functions that are using positional arguments in services
352
+
353
+ ## [1.1.6] - 2025-09-23
354
+ - Fix model_dump for `ToolBuildConfig`
355
+
356
+ ## [1.1.5] - 2025-09-23
357
+ - Fix a circular import and add tests for `ToolBuildConfig`
358
+
359
+ ## [1.1.4] - 2025-09-23
360
+ - First version human verification on api calls
361
+
362
+ ## [1.1.3] - 2025-09-23
363
+ - Updated LMI JSON schema input type to include annotated string field with title
364
+
365
+ ## [1.1.2] - 2025-09-22
366
+ - Fixed bug tool selection for exclusive tools
367
+
368
+ ## [1.1.1] - 2025-09-18
369
+ - Fixed bug on tool config added icon name
370
+
371
+ ## [1.1.0] - 2025-09-18
372
+ - Enable chat event filtering in SSE event generator via env variables
373
+
374
+ ## [1.0.0] - 2025-09-18
375
+ - Bump toolkit version to allow for both patch and minor updates
376
+
377
+ ## [0.9.1] - 2025-09-17
378
+ - update to python 3.12 due to security
379
+
380
+ ## [0.9.0] - 2025-09-14
381
+ - Moved agentic code into the `agentic` folder. This breaks imports of
382
+ - `debug_info_amanager`
383
+ - `evals`
384
+ - `history_manager`
385
+ - `post_processor`
386
+ - `reference-manager`
387
+ - `short_term_memory_manager`
388
+ - `thinking_manager`
389
+ - `tools`
390
+
391
+ ## [0.8.57] - 2025-09-14
392
+ - Added more utils to commons
393
+
394
+ ## [0.8.56] - 2025-09-12
395
+ - Fixed token counter in utils
396
+
397
+ ## [0.8.55] - 2025-09-10
398
+ - Update documentation with agentic managers
399
+
400
+ ## [0.8.54] - 2025-09-10
401
+ - HistoryManager: compute source numbering offset from prior serialized tool messages using `load_sources_from_string`
402
+ - LoopTokenReducer: serialize reduced tool messages as JSON arrays to keep offsets parsable
403
+
404
+ ## [0.8.53] - 2025-09-09
405
+ - Add support for skip ingestion for only excel files.
406
+
407
+ ## [0.8.52] - 2025-09-06
408
+ - Fix import error in token counting
409
+
410
+ ## [0.8.51] - 2025-09-06
411
+ - Update token counter to latest version of monorepo.
412
+
413
+ ## [0.8.50] - 2025-09-08
414
+ - Minor fix in documentation
415
+ - Updated examples
416
+
417
+ ## [0.8.49] - 2025-09-05
418
+ - Fixed token reducer now has a safety margin of 10% less did not work.
419
+
420
+ ## [0.8.48] - 2025-09-05
421
+ - Add documentation on language models to markdown
422
+
423
+ ## [0.8.47] - 2025-09-05
424
+ - Removed old code
425
+ - Fixed small bugs in history manager & set the hallucination to use gpt4o as default.
426
+
427
+ ## [0.8.46] - 2025-09-04
428
+ - Bugfix for hostname identification inside Unique cluster in `unique_settings.py`
429
+
430
+ ## [0.8.45] - 2025-09-04
431
+ - Introduce handoff capability to tools. with the `takes_control()` function.
432
+
433
+ ## [0.8.44] - 2025-09-03
434
+ - Refine `EndpointClass` and create `EndpointRequestor`
435
+
436
+ ## [0.8.43] - 2025-09-03
437
+ - Add alias for `UniqueSettings` api base `API_BASE`
438
+
439
+ ## [0.8.42] - 2025-09-02
440
+ - updated schema of `chunk_relevancy_sorter`
441
+
442
+ ## [0.8.41] - 2025-09-02
443
+ - Make A2A tool auto register with tool factory
444
+
445
+ ## [0.8.40] - 2025-09-02
446
+ - Add frontend compatible type for pydantic BaseModel types in pydantic BaseModels
447
+
448
+ ## [0.8.39] - 2025-09-02
449
+ - include `get_async_openai_client`
450
+
451
+ ## [0.8.38] - 2025-09-01
452
+ - Sanitize documentation
453
+
454
+ ## [0.8.37] - 2025-09-01
455
+ - Adapt defaults and json-schema in `LanguageModelInfo`
456
+
457
+ ## [0.8.36] - 2025-09-01
458
+ - Added dependency `Pillow` and `Platformsdir`
459
+
460
+ ## [0.8.35] - 2025-09-01
461
+ - Initial toolkit documentation (WIP)
462
+
463
+ ## [0.8.34] - 2025-09-01
464
+ - Automatic initializations of services and event generator
465
+
466
+ ## [0.8.33] - 2025-08-31
467
+ - fixed tool for `web_search`
468
+
469
+ ## [0.8.32] - 2025-08-30
470
+ - moved over general packages for `web_search`
471
+
472
+ ## [0.8.31] - 2025-08-29
473
+ - Add various openai models to supported model list
474
+ - o1
475
+ - o3
476
+ - o3-deep-research
477
+ - o3-pro
478
+ - o4-mini
479
+ - o4-mini-deep-research
480
+ - gpt-4-1-mini
481
+ - gpt-4-1-nano
482
+
483
+ ## [0.8.30] - 2025-08-28
484
+ - Added A2A manager
485
+
486
+ ## [0.8.29] - 2025-08-27
487
+ - Include `MessageExecution` and `MessageLog` in toolkit
488
+
489
+ ## [0.8.28] - 2025-08-28
490
+ - Fix paths for `sdk_url` and `openai_proxy` for localhost
491
+
492
+ ## [0.8.27] - 2025-08-28
493
+ - Fixed function "create_async" in language_model.functions : "user_id" argument should be optional.
494
+
495
+ ## [0.8.26] - 2025-08-27
496
+ - Optimized MCP manager
497
+
498
+ ## [0.8.26] - 2025-08-27
499
+ - Optimized MCP manager
500
+
501
+ ## [0.8.25] - 2025-08-27
502
+ - Load environment variables automatically from plattform dirs or environment
503
+ - General Endpoint definition utility
504
+ - Expose `LanguageModelToolDescription` and `LanguageModelName` directly
505
+ - Get initial debug information from chat payload
506
+
507
+ ## [0.8.24] - 2025-08-25
508
+ - Optimized hallucination manager
509
+
510
+ ## [0.8.23] - 2025-08-27
511
+ - Add MCP manager that handles MCP related logic
512
+
513
+
514
+ ## [0.8.22] - 2025-08-25
515
+ - Add DeepSeek-R1, DeepSeek-V3.1, Qwen3-235B-A22B and Qwen3-235B-A22B-Thinking-2507 to supported model list
516
+
517
+ ## [0.8.21] - 2025-08-26
518
+ - Fixed old (not used) function "create_async" in language_model.functions : The function always returns "Unauthorized" --> Added "user_id" argument to fix this.
519
+
520
+ ## [0.8.20] - 2025-08-24
521
+ - Fixed forced-tool-calls
522
+
523
+ ## [0.8.20] - 2025-08-05
524
+ - Bump SDK version to support the latest features.
525
+
526
+ ## [0.8.19] - 2025-08-24
527
+ - Enforce usage of ruff using pipeline
528
+
529
+ ## [0.8.18] - 2025-08-22
530
+ - moved class variables into instance variables
531
+
532
+ ## [0.8.17] - 2025-08-22
533
+ - fixed circular dependencies in tools
534
+
535
+ ## [0.8.16] - 2025-08-19
536
+ - moved Hallucination evaluator into toolkit
537
+
538
+ ## [0.8.15] - 2025-08-19
539
+ - Added history loading from database for History Manager
540
+
541
+ ## [0.8.14] - 2025-08-19
542
+ - Including GPT-5 series deployed via LiteLLM into language model info
543
+
544
+ ## [0.8.13] - 2025-08-18
545
+ - Adding initial versions of
546
+ - Evaluation Manager
547
+ - History Manager
548
+ - Postprocessor Manager
549
+ - Thinking Manager
550
+ - Updated tool manager
551
+
552
+ ## [0.8.12] - 2025-08-18
553
+ - Fix no tool call respoonse in ChatMessage -> Open Ai messages translation
554
+ - Add simple append method to OpenAIMessageBuilder
555
+
556
+ ## [0.8.11] - 2025-08-15
557
+ - Fix no tool call respoonse in ChatMessage -> Open Ai messages translation
558
+ - Add simple append method to OpenAIMessageBuilder
559
+
560
+ ## [0.8.10] - 2025-08-15
561
+ - Add min and max temperature to `LanguageModelInfo`: temperature will be clamped to the min and max temperature
562
+ - Add default options to `LanguageModelInfo`: These are used by default
563
+
564
+ ## [0.8.9] - 2025-08-15
565
+ - Reduce input token limits for `ANTHROPIC_CLAUDE_3_7_SONNET_THINKING`, `ANTHROPIC_CLAUDE_3_7_SONNET`, `ANTHROPIC_CLAUDE_OPUS_4` and `ANTHROPIC_CLAUDE_SONNET_4` to 180_000 from 200_000
566
+
567
+ ## [0.8.8] - 2025-08-11
568
+ - Make chat service openai stream response openai compatible
569
+ - Make `ChatMessage` openai compatible
570
+
571
+ ## [0.8.7] - 2025-08-11
572
+ - Make chat service openai compatible
573
+ - Fix some bugs
574
+ - Make OpenAIMessageBuilder more congruent to MessageBuilder
575
+
576
+ ## [0.8.6] - 2025-08-11
577
+ - Add GPT-5, GPT-5_MINI, GPT-5_NANO, GPT-5_CHAT to supported models list
578
+
579
+ ## [0.8.5] - 2025-08-06
580
+ - Refactored tools to be in the tool-kit
581
+
582
+ ## [0.8.4] - 2025-08-06
583
+ - Make unique settings compatible with legacy environment variables
584
+
585
+ ## [0.8.3] - 2025-08-05
586
+ - Expose threshold field for search.
587
+
588
+ ## [0.8.2] - 2025-08-05
589
+ - Implement overloads for services for clearer dev experience
590
+ - Proper typing for SSE event handling
591
+ - Enhanced unique settings. Expose usage of default values in logs
592
+ - SDK Initialization from unique settings
593
+ - Add utilities for to run llm/agent flows for devs
594
+
595
+ ## [0.8.1] - 2025-08-05
596
+ - Bump SDK version to support the latest features.
597
+
598
+ ## [0.8.0] - 2025-08-04
599
+ - Add MCP support
600
+
601
+ ## [0.7.42] - 2025-08-01
602
+ - Added tool definitions
603
+
604
+ ## [0.7.41] - 2025-07-31
605
+ - Add new chat event attribute indicating tools disabled on a company level
606
+
607
+ ## [0.7.40] - 2025-07-30
608
+ - Remove `GEMINI_2_5_FLASH_PREVIEW_0417` model
609
+
610
+ ## [0.7.39] - 2025-07-28
611
+ - Implement utitilites to work with openai client
612
+ - Implement utitilites to work with langchain llm
613
+
614
+ ## [0.7.38] - 2025-07-25
615
+ - Fix issues with secret strings in settings
616
+
617
+ ## [0.7.36] - 2025-07-25
618
+ - Fix issues with settings
619
+ - Add testing to unique settings
620
+
621
+ ## [0.7.35] - 2025-07-23
622
+ - Bump version of SDK to have access to the latest features and fixes
623
+
624
+ ## [0.7.34] - 2025-05-30
625
+ - Fix incorrect mapping in `ContentService` for the `search_content` function when mapping into `ContentChunk` object
626
+
627
+ ## [0.7.33] - 2025-06-25
628
+ - Update reference post-processing
629
+
630
+ ## [0.7.32] - 2025-06-24
631
+ - Create `classmethod` for `LanguageModelMessages` to load raw messages to root
632
+
633
+ ## [0.7.31] - 2025-06-19
634
+ - Add typings to references in payload from `LanguageModelStreamResponseMessage`
635
+ - Add `original_index` to the base reference to reflect updated api
636
+
637
+ ## [0.7.30] - 2025-06-20
638
+ - Adding litellm models `litellm:gemini-2-5-flash`, `gemini-2-5-flash-lite-preview-06-17`, `litellm:gemini-2-5-pro`, `litellm:gemini-2-5-pro-preview-06-05`
639
+
640
+ ## [0.7.29] - 2025-06-19
641
+ - Fix typehintin in services
642
+ - Error on invalid initialization
643
+
644
+ ## [0.7.28] - 2025-06-17
645
+ - Revert default factory change on `ChatEventPayload` for attribute `metadata_filter` due to error in `backend-ingestion` on empty dict
646
+
647
+ ## [0.7.27] - 2025-06-16
648
+ - Introduce a protocol for `complete_with_references` to enable testable services
649
+ - Rename/Create functions `stream_complete` in chat service and llm service accordingly
650
+
651
+ ## [0.7.26] - 2025-06-05
652
+ - Add `scope_rules` to `ChatEventPayload`
653
+ - Added `UniqueQL` compiler and pydantic classes for `UniqueQL`. Note this is functionally equivalent but not identical to `UQLOperator` or `UQLCombinator` in `unique_sdk`.
654
+
655
+ ## [0.7.25] - 2025-06-05
656
+ - Adding models `AZURE_GPT_41_MINI_2025_0414`, `AZURE_GPT_41_NANO_2025_0414`
657
+
658
+ ## [0.7.24] - 2025-05-30
659
+ - Adding litellm model `gemini-2-5-flash-preview-05-20`, `anthropic-claude-sonnet-4` and `anthropic-claude-opus-4`
660
+
661
+ ## [0.7.23] - 2025-05-22
662
+ - add encoder for `AZURE_GPT_4o_2024_1120` to be part of the encoder function returns.
663
+
664
+ ## [0.7.22] - 2025-05-22
665
+ - `messages` are now always serialized by alias. This affects `LanguageModelService.complete` and `LanguageModelService.complete_async`.
666
+
667
+ ## [0.7.21] - 2025-05-21
668
+ - Extend the update the `ChatMessage` object to include the `Reference` object introduced in the public api
669
+
670
+ ## [0.7.20] - 2025-05-21
671
+ - Deprecate `LanguageModelTool` and associated models in favor of `LanguageModelToolDescription`
672
+
673
+ ## [0.7.19] - 2025-05-20
674
+ - Extend the `MessageBuilder` to allow for appending any `LanguageModelMessage`
675
+
676
+ ## [0.7.18] - 2025-05-20
677
+ - Add the possibility to specify metadata when creating or updating a Content.
678
+
679
+ ## [0.7.17] - 2025-05-16
680
+ - Change inheritance hierarchy of events for easier deprecation
681
+
682
+ ## [0.7.16] - 2025-05-16
683
+ - Add classmethods to create LanguageModelAssistatnMessage from functions and stream response
684
+ - Add completion like method to chat
685
+ - Add protocol for completion like method
686
+
687
+ ## [0.7.15] - 2025-05-13
688
+ - Add the possibility to specify ingestionConfig when creating or updating a Content.
689
+
690
+ ## [0.7.14] - 2025-05-08
691
+ - Fix bug not selecting the correct llm
692
+ - Add LMI type for flexible init of LanguageModelInfo
693
+ - Replace LanguageModel with LanguageModelInfo in hallucination check
694
+
695
+ ## [0.7.13] - 2025-05-07
696
+ - Adding litellm models `litellm:anthropic-claude-3-7-sonnet`, `litellm:anthropic-claude-3-7-sonnet-thinking`, `litellm:gemini-2-0-flash`, `gemini-2-5-flash-preview-04-17` , `litellm:gemini-2-5-pro-exp-03-25`
697
+
698
+ ## [0.7.12] - 2025-05-02
699
+ - add `AZURE_o3_2025_0416` and `AZURE_o4_MINI_2025_0416` as part of the models
700
+
701
+ ## [0.7.11] - 2025-04-28
702
+ - Removing `STRUCTURED_OUTPUT` capability from `AZURE_GPT_35_TURBO_0125`, `AZURE_GPT_4_TURBO_2024_0409` and `AZURE_GPT_4o_2024_0513`
703
+
704
+ ## [0.7.10] - 2025-04-22
705
+ - Deprecate internal variables of services
706
+
707
+ ## [0.7.9] - 2025-04-17
708
+ - add `AZURE_GPT_41_2025_0414` as part of the models
709
+
710
+ ## [0.7.8] - 2025-04-08
711
+ - add `AZURE_GPT_4o_2024_1120` as part of the models
114
712
 
115
713
  ## [0.7.7] - 2025-04-11
116
714
  - Add tool choice parameter to chat event payload
@@ -406,3 +1004,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
406
1004
 
407
1005
  ## [0.0.2] - 2024-07-10
408
1006
  - Initial release of `unique_toolkit`.
1007
+