unique_toolkit 1.11.2__tar.gz → 1.11.4__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 (156) hide show
  1. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/CHANGELOG.md +9 -0
  2. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/PKG-INFO +10 -1
  3. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/pyproject.toml +1 -1
  4. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/service.py +16 -0
  5. unique_toolkit-1.11.2/unique_toolkit/smart_rules/compile.py → unique_toolkit-1.11.4/unique_toolkit/content/smart_rules.py +29 -29
  6. unique_toolkit-1.11.4/unique_toolkit/smart_rules/compile.py +56 -0
  7. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/LICENSE +0 -0
  8. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/README.md +0 -0
  9. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/__init__.py +0 -0
  10. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  13. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  14. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  15. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  16. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  17. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  18. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  19. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/default_language_model.py +0 -0
  20. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/endpoint_builder.py +0 -0
  21. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  22. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/exception.py +0 -0
  23. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  24. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  25. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  26. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/string_utilities.py +0 -0
  27. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  28. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/token/token_counting.py +0 -0
  29. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/utils/__init__.py +0 -0
  30. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/utils/files.py +0 -0
  31. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  32. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  33. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  34. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/validate_required_values.py +0 -0
  35. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/_common/validators.py +0 -0
  36. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/__init__.py +0 -0
  37. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  38. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/config.py +0 -0
  39. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  40. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  41. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  42. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  43. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  44. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  45. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  46. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  47. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  48. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  49. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  50. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  51. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  52. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  53. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  54. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  55. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  56. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  57. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  58. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  59. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  60. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  61. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/__init__.py +0 -0
  62. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  63. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  64. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  65. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  66. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  67. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  68. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  69. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  70. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  71. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/_display.py +0 -0
  72. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/_utils.py +0 -0
  73. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  74. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/postprocessor.py +0 -0
  75. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_consolidate_references.py +0 -0
  76. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  77. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_postprocessor_reference_functions.py +0 -0
  78. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  79. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  80. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  81. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  82. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  83. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  84. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  85. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/config.py +0 -0
  86. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/factory.py +0 -0
  87. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  88. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  89. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  90. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  91. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/schemas.py +0 -0
  92. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  93. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  94. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/tool.py +0 -0
  95. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  96. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  97. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  98. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
  99. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
  100. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  101. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  102. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  103. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  104. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/__init__.py +0 -0
  105. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/dev_util.py +0 -0
  106. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/init_logging.py +0 -0
  107. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/init_sdk.py +0 -0
  108. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/performance/async_tasks.py +0 -0
  109. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  110. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/schemas.py +0 -0
  111. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/unique_settings.py +0 -0
  112. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/app/verification.py +0 -0
  113. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/__init__.py +0 -0
  114. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/constants.py +0 -0
  115. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/deprecated/service.py +0 -0
  116. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/functions.py +0 -0
  117. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/schemas.py +0 -0
  118. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/state.py +0 -0
  119. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/chat/utils.py +0 -0
  120. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/content/__init__.py +0 -0
  121. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/content/constants.py +0 -0
  122. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/content/functions.py +0 -0
  123. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/content/schemas.py +0 -0
  124. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/content/service.py +0 -0
  125. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/content/utils.py +0 -0
  126. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/embedding/__init__.py +0 -0
  127. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/embedding/constants.py +0 -0
  128. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/embedding/functions.py +0 -0
  129. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/embedding/schemas.py +0 -0
  130. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/embedding/service.py +0 -0
  131. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/embedding/utils.py +0 -0
  132. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/framework_utilities/__init__.py +0 -0
  133. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  134. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  135. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  136. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  137. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  138. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/framework_utilities/utils.py +0 -0
  139. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/knowledge_base.py +0 -0
  140. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/__init__.py +0 -0
  141. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/builder.py +0 -0
  142. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/constants.py +0 -0
  143. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/functions.py +0 -0
  144. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/infos.py +0 -0
  145. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/prompt.py +0 -0
  146. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/reference.py +0 -0
  147. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/schemas.py +0 -0
  148. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/service.py +0 -0
  149. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/language_model/utils.py +0 -0
  150. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/protocols/support.py +0 -0
  151. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/short_term_memory/__init__.py +0 -0
  152. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/short_term_memory/constants.py +0 -0
  153. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/short_term_memory/functions.py +0 -0
  154. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/short_term_memory/schemas.py +0 -0
  155. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/short_term_memory/service.py +0 -0
  156. {unique_toolkit-1.11.2 → unique_toolkit-1.11.4}/unique_toolkit/smart_rules/__init__.py +0 -0
@@ -5,6 +5,14 @@ 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
+
9
+ ## [1.11.4] - 2026-10-06
10
+ - Make newer `MessageExecution` and `MessageLog` method keyword only
11
+
12
+ ## [1.11.3] - 2026-10-06
13
+ - Move smart rules to content
14
+ - Add to documentation
15
+
8
16
  ## [1.11.2] - 2025-10-07
9
17
  - Fix for empty metadata filter at info retrieval
10
18
 
@@ -22,6 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
22
30
  ## [1.9.1] - 2025-10-06
23
31
  - Switch default model used in evaluation service from `GPT-3.5-turbo (0125)` to `GPT-4o (1120)`
24
32
 
33
+
25
34
  ## [1.9.0] - 2026-10-04
26
35
  - Define the RequestContext and add aihttp/httpx requestors
27
36
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.11.2
3
+ Version: 1.11.4
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -118,6 +118,14 @@ 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
+
122
+ ## [1.11.4] - 2026-10-06
123
+ - Make newer `MessageExecution` and `MessageLog` method keyword only
124
+
125
+ ## [1.11.3] - 2026-10-06
126
+ - Move smart rules to content
127
+ - Add to documentation
128
+
121
129
  ## [1.11.2] - 2025-10-07
122
130
  - Fix for empty metadata filter at info retrieval
123
131
 
@@ -135,6 +143,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
135
143
  ## [1.9.1] - 2025-10-06
136
144
  - Switch default model used in evaluation service from `GPT-3.5-turbo (0125)` to `GPT-4o (1120)`
137
145
 
146
+
138
147
  ## [1.9.0] - 2026-10-04
139
148
  - Define the RequestContext and add aihttp/httpx requestors
140
149
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.11.2"
3
+ version = "1.11.4"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -714,6 +714,7 @@ class ChatService(ChatServiceDeprecated):
714
714
 
715
715
  def create_message_log(
716
716
  self,
717
+ *,
717
718
  message_id: str,
718
719
  text: str,
719
720
  status: MessageLogStatus,
@@ -754,6 +755,7 @@ class ChatService(ChatServiceDeprecated):
754
755
 
755
756
  async def create_message_log_async(
756
757
  self,
758
+ *,
757
759
  message_id: str,
758
760
  text: str,
759
761
  status: MessageLogStatus,
@@ -794,6 +796,7 @@ class ChatService(ChatServiceDeprecated):
794
796
 
795
797
  def update_message_log(
796
798
  self,
799
+ *,
797
800
  message_log_id: str,
798
801
  order: int,
799
802
  text: str | None = None,
@@ -834,6 +837,7 @@ class ChatService(ChatServiceDeprecated):
834
837
 
835
838
  async def update_message_log_async(
836
839
  self,
840
+ *,
837
841
  message_log_id: str,
838
842
  order: int,
839
843
  text: str | None = None,
@@ -874,6 +878,7 @@ class ChatService(ChatServiceDeprecated):
874
878
 
875
879
  def create_assistant_message_log(
876
880
  self,
881
+ *,
877
882
  text: str,
878
883
  status: MessageLogStatus,
879
884
  order: int,
@@ -912,6 +917,7 @@ class ChatService(ChatServiceDeprecated):
912
917
 
913
918
  async def create_assistant_message_log_async(
914
919
  self,
920
+ *,
915
921
  text: str,
916
922
  status: MessageLogStatus,
917
923
  order: int,
@@ -953,6 +959,7 @@ class ChatService(ChatServiceDeprecated):
953
959
 
954
960
  def create_message_execution(
955
961
  self,
962
+ *,
956
963
  message_id: str,
957
964
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
958
965
  seconds_remaining: int | None = None,
@@ -985,6 +992,7 @@ class ChatService(ChatServiceDeprecated):
985
992
 
986
993
  async def create_message_execution_async(
987
994
  self,
995
+ *,
988
996
  message_id: str,
989
997
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
990
998
  seconds_remaining: int | None = None,
@@ -1017,6 +1025,7 @@ class ChatService(ChatServiceDeprecated):
1017
1025
 
1018
1026
  def get_message_execution(
1019
1027
  self,
1028
+ *,
1020
1029
  message_id: str,
1021
1030
  ) -> MessageExecution:
1022
1031
  """Gets a message execution by message ID synchronously.
@@ -1039,6 +1048,7 @@ class ChatService(ChatServiceDeprecated):
1039
1048
 
1040
1049
  async def get_message_execution_async(
1041
1050
  self,
1051
+ *,
1042
1052
  message_id: str,
1043
1053
  ) -> MessageExecution:
1044
1054
  """Gets a message execution by message ID asynchronously.
@@ -1061,6 +1071,7 @@ class ChatService(ChatServiceDeprecated):
1061
1071
 
1062
1072
  def update_message_execution(
1063
1073
  self,
1074
+ *,
1064
1075
  message_id: str,
1065
1076
  status: MessageExecutionUpdateStatus,
1066
1077
  seconds_remaining: int | None = None,
@@ -1092,6 +1103,7 @@ class ChatService(ChatServiceDeprecated):
1092
1103
 
1093
1104
  async def update_message_execution_async(
1094
1105
  self,
1106
+ *,
1095
1107
  message_id: str,
1096
1108
  status: MessageExecutionUpdateStatus,
1097
1109
  seconds_remaining: int | None = None,
@@ -1123,6 +1135,7 @@ class ChatService(ChatServiceDeprecated):
1123
1135
 
1124
1136
  def create_assistant_message_execution(
1125
1137
  self,
1138
+ *,
1126
1139
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
1127
1140
  seconds_remaining: int | None = None,
1128
1141
  percentage_completed: int | None = None,
@@ -1152,6 +1165,7 @@ class ChatService(ChatServiceDeprecated):
1152
1165
 
1153
1166
  async def create_assistant_message_execution_async(
1154
1167
  self,
1168
+ *,
1155
1169
  type: MessageExecutionType = MessageExecutionType.DEEP_RESEARCH,
1156
1170
  seconds_remaining: int | None = None,
1157
1171
  percentage_completed: int | None = None,
@@ -1211,6 +1225,7 @@ class ChatService(ChatServiceDeprecated):
1211
1225
 
1212
1226
  def update_assistant_message_execution(
1213
1227
  self,
1228
+ *,
1214
1229
  status: MessageExecutionUpdateStatus,
1215
1230
  seconds_remaining: int | None = None,
1216
1231
  percentage_completed: int | None = None,
@@ -1240,6 +1255,7 @@ class ChatService(ChatServiceDeprecated):
1240
1255
 
1241
1256
  async def update_assistant_message_execution_async(
1242
1257
  self,
1258
+ *,
1243
1259
  status: MessageExecutionUpdateStatus,
1244
1260
  seconds_remaining: int | None = None,
1245
1261
  percentage_completed: int | None = None,
@@ -1,7 +1,7 @@
1
1
  import re
2
2
  from datetime import datetime, timedelta, timezone
3
3
  from enum import Enum
4
- from typing import Any, Dict, List, Self, Union
4
+ from typing import Any, Dict, List, Mapping, Self, Union
5
5
 
6
6
  from pydantic import AliasChoices, BaseModel, Field
7
7
  from pydantic.config import ConfigDict
@@ -30,8 +30,8 @@ class BaseStatement(BaseModel):
30
30
 
31
31
  def with_variables(
32
32
  self,
33
- user_metadata: Dict[str, Union[str, int, bool]],
34
- tool_parameters: Dict[str, Union[str, int, bool]],
33
+ user_metadata: Mapping[str, Union[str, int, bool]],
34
+ tool_parameters: Mapping[str, Union[str, int, bool]],
35
35
  ) -> Self:
36
36
  return self._fill_in_variables(user_metadata, tool_parameters)
37
37
 
@@ -49,8 +49,8 @@ class BaseStatement(BaseModel):
49
49
 
50
50
  def _fill_in_variables(
51
51
  self,
52
- user_metadata: Dict[str, Union[str, int, bool]],
53
- tool_parameters: Dict[str, Union[str, int, bool]],
52
+ user_metadata: Mapping[str, Union[str, int, bool]],
53
+ tool_parameters: Mapping[str, Union[str, int, bool]],
54
54
  ) -> Self:
55
55
  return self.model_copy()
56
56
 
@@ -62,8 +62,8 @@ class Statement(BaseStatement):
62
62
 
63
63
  def _fill_in_variables(
64
64
  self,
65
- user_metadata: Dict[str, Union[str, int, bool]],
66
- tool_parameters: Dict[str, Union[str, int, bool]],
65
+ user_metadata: Mapping[str, Union[str, int, bool]],
66
+ tool_parameters: Mapping[str, Union[str, int, bool]],
67
67
  ) -> Self:
68
68
  new_stmt = self.model_copy()
69
69
  new_stmt.value = eval_operator(self, user_metadata, tool_parameters)
@@ -72,13 +72,13 @@ class Statement(BaseStatement):
72
72
 
73
73
  class AndStatement(BaseStatement):
74
74
  and_list: List[Union["Statement", "AndStatement", "OrStatement"]] = Field(
75
- alias="and", validation_alias=AliasChoices("and", "and_list")
75
+ validation_alias=AliasChoices("and", "and_list"), serialization_alias="and"
76
76
  )
77
77
 
78
78
  def _fill_in_variables(
79
79
  self,
80
- user_metadata: Dict[str, Union[str, int, bool]],
81
- tool_parameters: Dict[str, Union[str, int, bool]],
80
+ user_metadata: Mapping[str, Union[str, int, bool]],
81
+ tool_parameters: Mapping[str, Union[str, int, bool]],
82
82
  ) -> Self:
83
83
  new_stmt = self.model_copy()
84
84
  new_stmt.and_list = [
@@ -90,13 +90,13 @@ class AndStatement(BaseStatement):
90
90
 
91
91
  class OrStatement(BaseStatement):
92
92
  or_list: List[Union["Statement", "AndStatement", "OrStatement"]] = Field(
93
- alias="or", validation_alias=AliasChoices("or", "or_list")
93
+ validation_alias=AliasChoices("or", "or_list"), serialization_alias="or"
94
94
  )
95
95
 
96
96
  def _fill_in_variables(
97
97
  self,
98
- user_metadata: Dict[str, Union[str, int, bool]],
99
- tool_parameters: Dict[str, Union[str, int, bool]],
98
+ user_metadata: Mapping[str, Union[str, int, bool]],
99
+ tool_parameters: Mapping[str, Union[str, int, bool]],
100
100
  ) -> Self:
101
101
  new_stmt = self.model_copy()
102
102
  new_stmt.or_list = [
@@ -121,8 +121,8 @@ def is_array_of_strings(value: Any) -> bool:
121
121
 
122
122
  def eval_operator(
123
123
  query: Statement,
124
- user_metadata: Dict[str, Union[str, int, bool]],
125
- tool_parameters: Dict[str, Union[str, int, bool]],
124
+ user_metadata: Mapping[str, Union[str, int, bool]],
125
+ tool_parameters: Mapping[str, Union[str, int, bool]],
126
126
  ) -> Any:
127
127
  if query.operator in [
128
128
  Operator.EQUALS,
@@ -149,8 +149,8 @@ def eval_operator(
149
149
 
150
150
  def eval_nested_operator(
151
151
  value: Any,
152
- user_metadata: Dict[str, Union[str, int, bool]],
153
- tool_parameters: Dict[str, Union[str, int, bool]],
152
+ user_metadata: Mapping[str, Union[str, int, bool]],
153
+ tool_parameters: Mapping[str, Union[str, int, bool]],
154
154
  ) -> Union[AndStatement, OrStatement]:
155
155
  if not isinstance(value, (AndStatement, OrStatement)):
156
156
  raise ValueError("Nested operator must be an AndStatement or OrStatement")
@@ -159,16 +159,16 @@ def eval_nested_operator(
159
159
 
160
160
  def binary_operator(
161
161
  value: Any,
162
- user_metadata: Dict[str, Union[str, int, bool]],
163
- tool_parameters: Dict[str, Union[str, int, bool]],
162
+ user_metadata: Mapping[str, Union[str, int, bool]],
163
+ tool_parameters: Mapping[str, Union[str, int, bool]],
164
164
  ) -> Any:
165
165
  return replace_variables(value, user_metadata, tool_parameters)
166
166
 
167
167
 
168
168
  def array_operator(
169
169
  value: Any,
170
- user_metadata: Dict[str, Union[str, int, bool]],
171
- tool_parameters: Dict[str, Union[str, int, bool]],
170
+ user_metadata: Mapping[str, Union[str, int, bool]],
171
+ tool_parameters: Mapping[str, Union[str, int, bool]],
172
172
  ) -> Any:
173
173
  if is_array_of_strings(value):
174
174
  return [
@@ -179,16 +179,16 @@ def array_operator(
179
179
 
180
180
  def null_operator(
181
181
  value: Any,
182
- user_metadata: Dict[str, Union[str, int, bool]],
183
- tool_parameters: Dict[str, Union[str, int, bool]],
182
+ user_metadata: Mapping[str, Union[str, int, bool]],
183
+ tool_parameters: Mapping[str, Union[str, int, bool]],
184
184
  ) -> Any:
185
185
  return value # do nothing for now. No variables to replace
186
186
 
187
187
 
188
188
  def empty_operator(
189
189
  operator: Operator,
190
- user_metadata: Dict[str, Union[str, int, bool]],
191
- tool_parameters: Dict[str, Union[str, int, bool]],
190
+ user_metadata: Mapping[str, Union[str, int, bool]],
191
+ tool_parameters: Mapping[str, Union[str, int, bool]],
192
192
  ) -> Any:
193
193
  """Handle IS_EMPTY and IS_NOT_EMPTY operators."""
194
194
  if operator == Operator.IS_EMPTY:
@@ -225,8 +225,8 @@ def calculate_later_date(input_str: str) -> str:
225
225
 
226
226
  def replace_variables(
227
227
  value: Any,
228
- user_metadata: Dict[str, Union[str, int, bool]],
229
- tool_parameters: Dict[str, Union[str, int, bool]],
228
+ user_metadata: Mapping[str, Union[str, int, bool]],
229
+ tool_parameters: Mapping[str, Union[str, int, bool]],
230
230
  ) -> Any:
231
231
  if isinstance(value, str):
232
232
  if "||" in value:
@@ -274,8 +274,8 @@ def replace_user_metadata_patterns(
274
274
 
275
275
  def get_fallback_values(
276
276
  value: str,
277
- user_metadata: Dict[str, Union[str, int, bool]],
278
- tool_parameters: Dict[str, Union[str, int, bool]],
277
+ user_metadata: Mapping[str, Union[str, int, bool]],
278
+ tool_parameters: Mapping[str, Union[str, int, bool]],
279
279
  ) -> Any:
280
280
  values = value.split("||")
281
281
  for val in values:
@@ -0,0 +1,56 @@
1
+ import warnings
2
+
3
+ from unique_toolkit.content.smart_rules import (
4
+ AndStatement,
5
+ BaseStatement,
6
+ Operator,
7
+ OrStatement,
8
+ Statement,
9
+ UniqueQL,
10
+ array_operator,
11
+ binary_operator,
12
+ calculate_current_date,
13
+ calculate_earlier_date,
14
+ calculate_later_date,
15
+ empty_operator,
16
+ eval_nested_operator,
17
+ eval_operator,
18
+ get_fallback_values,
19
+ is_array_of_strings,
20
+ null_operator,
21
+ parse_uniqueql,
22
+ replace_tool_parameters_patterns,
23
+ replace_user_metadata_patterns,
24
+ replace_variables,
25
+ )
26
+
27
+ warnings.warn(
28
+ "unique_toolkit.smart_rules.compile is deprecated. "
29
+ "Please use unique_toolkit.content.smart_rules instead.",
30
+ DeprecationWarning,
31
+ stacklevel=2,
32
+ )
33
+
34
+ __all__ = [
35
+ "AndStatement",
36
+ "BaseStatement",
37
+ "Operator",
38
+ "OrStatement",
39
+ "Statement",
40
+ "UniqueQL",
41
+ "array_operator",
42
+ "binary_operator",
43
+ "calculate_current_date",
44
+ "calculate_earlier_date",
45
+ "calculate_later_date",
46
+ "empty_operator",
47
+ "eval_nested_operator",
48
+ "eval_operator",
49
+ "get_fallback_values",
50
+ "is_array_of_strings",
51
+ "null_operator",
52
+ "parse_uniqueql",
53
+ "replace_tool_parameters_patterns",
54
+ "replace_user_metadata_patterns",
55
+ "replace_variables",
56
+ ]
File without changes