unique_toolkit 1.1.1__tar.gz → 1.1.3__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 (131) hide show
  1. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/CHANGELOG.md +6 -0
  2. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/PKG-INFO +7 -1
  3. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/pyproject.toml +1 -1
  4. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/validators.py +8 -1
  5. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +2 -2
  6. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/tool_manager.py +12 -3
  7. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/LICENSE +0 -0
  8. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/README.md +0 -0
  9. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/__init__.py +0 -0
  10. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  13. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  14. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  15. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  16. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  17. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  18. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/default_language_model.py +0 -0
  19. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/endpoint_builder.py +0 -0
  20. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  21. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/exception.py +0 -0
  22. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  23. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  24. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  25. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/token/token_counting.py +0 -0
  26. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  27. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  28. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/_common/validate_required_values.py +0 -0
  29. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/__init__.py +0 -0
  30. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  31. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/config.py +0 -0
  32. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  33. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  34. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  35. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  36. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  37. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  38. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  39. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  40. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  41. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  42. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  43. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  44. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  45. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  46. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  47. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  48. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  49. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  50. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  51. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  52. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  53. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  54. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/__init__.py +0 -0
  55. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  56. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  57. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  58. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/a2a/memory.py +0 -0
  59. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/a2a/schema.py +0 -0
  60. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/a2a/service.py +0 -0
  61. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  62. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/config.py +0 -0
  63. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/factory.py +0 -0
  64. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  65. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  66. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  67. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  68. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/schemas.py +0 -0
  69. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  70. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/tool.py +0 -0
  71. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  72. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  73. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
  74. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
  75. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  76. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  77. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  78. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  79. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/__init__.py +0 -0
  80. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/dev_util.py +0 -0
  81. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/init_logging.py +0 -0
  82. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/init_sdk.py +0 -0
  83. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/performance/async_tasks.py +0 -0
  84. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  85. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/schemas.py +0 -0
  86. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/unique_settings.py +0 -0
  87. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/app/verification.py +0 -0
  88. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/chat/__init__.py +0 -0
  89. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/chat/constants.py +0 -0
  90. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/chat/functions.py +0 -0
  91. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/chat/schemas.py +0 -0
  92. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/chat/service.py +0 -0
  93. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/chat/state.py +0 -0
  94. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/chat/utils.py +0 -0
  95. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/content/__init__.py +0 -0
  96. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/content/constants.py +0 -0
  97. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/content/functions.py +0 -0
  98. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/content/schemas.py +0 -0
  99. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/content/service.py +0 -0
  100. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/content/utils.py +0 -0
  101. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/embedding/__init__.py +0 -0
  102. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/embedding/constants.py +0 -0
  103. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/embedding/functions.py +0 -0
  104. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/embedding/schemas.py +0 -0
  105. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/embedding/service.py +0 -0
  106. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/embedding/utils.py +0 -0
  107. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/framework_utilities/__init__.py +0 -0
  108. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  109. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  110. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  111. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  112. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  113. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/framework_utilities/utils.py +0 -0
  114. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/__init__.py +0 -0
  115. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/builder.py +0 -0
  116. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/constants.py +0 -0
  117. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/functions.py +0 -0
  118. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/infos.py +0 -0
  119. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/prompt.py +0 -0
  120. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/reference.py +0 -0
  121. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/schemas.py +0 -0
  122. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/service.py +0 -0
  123. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/language_model/utils.py +0 -0
  124. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/protocols/support.py +0 -0
  125. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/short_term_memory/__init__.py +0 -0
  126. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/short_term_memory/constants.py +0 -0
  127. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/short_term_memory/functions.py +0 -0
  128. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/short_term_memory/schemas.py +0 -0
  129. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/short_term_memory/service.py +0 -0
  130. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/smart_rules/__init__.py +0 -0
  131. {unique_toolkit-1.1.1 → unique_toolkit-1.1.3}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -5,6 +5,12 @@ 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.1.3] - 2025-09-23
9
+ - Updated LMI JSON schema input type to include annotated string field with title
10
+
11
+ ## [1.1.2] - 2025-09-22
12
+ - Fixed bug tool selection for exclusive tools
13
+
8
14
  ## [1.1.1] - 2025-09-18
9
15
  - Fixed bug on tool config added icon name
10
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.1.1
3
+ Version: 1.1.3
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -118,6 +118,12 @@ 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.1.3] - 2025-09-23
122
+ - Updated LMI JSON schema input type to include annotated string field with title
123
+
124
+ ## [1.1.2] - 2025-09-22
125
+ - Fixed bug tool selection for exclusive tools
126
+
121
127
  ## [1.1.1] - 2025-09-18
122
128
  - Fixed bug on tool config added icon name
123
129
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.1.1"
3
+ version = "1.1.3"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -17,7 +17,14 @@ LMI = Annotated[
17
17
  LanguageModelInfo,
18
18
  BeforeValidator(
19
19
  lambda v: validate_and_init_language_model_info(v),
20
- json_schema_input_type=str | LanguageModelName | LanguageModelInfo,
20
+ json_schema_input_type=LanguageModelName
21
+ | Annotated[
22
+ str,
23
+ Field(
24
+ title="Language Model String",
25
+ ),
26
+ ]
27
+ | LanguageModelInfo,
21
28
  ),
22
29
  PlainSerializer(
23
30
  lambda v: serialize_lmi(v),
@@ -402,8 +402,8 @@ class TestMCPManager:
402
402
  # Should only have the exclusive tool, MCP tools should be ignored
403
403
  tools = tool_manager.get_tools()
404
404
  tool_names = [tool.name for tool in tools]
405
- assert "internal_search" in tool_names
406
- assert "mcp_test_tool" not in tool_names
405
+ assert "internal_search" not in tool_names
406
+ assert "mcp_test_tool" in tool_names
407
407
  assert len(tools) == 1
408
408
 
409
409
  def test_init_tools_with_disabled_tool_config(
@@ -118,15 +118,24 @@ class ToolManager:
118
118
  self.available_tools = internal_tools + mcp_tools + sub_agents
119
119
 
120
120
  for t in self.available_tools:
121
- if t.is_exclusive():
122
- self._tools = [t]
123
- return
124
121
  if not t.is_enabled():
125
122
  continue
126
123
  if t.name in self._disabled_tools:
127
124
  continue
125
+ # if tool choices are given, only include those tools
128
126
  if len(self._tool_choices) > 0 and t.name not in self._tool_choices:
129
127
  continue
128
+ # is the tool exclusive and has been choosen by the user?
129
+ if (
130
+ t.is_exclusive()
131
+ and len(tool_choices) > 0
132
+ and t.name not in tool_choices
133
+ ):
134
+ self._tools = [t] # override all other tools
135
+ break
136
+ # if the tool is exclusive but no tool choices are given, skip it
137
+ if t.is_exclusive():
138
+ continue
130
139
 
131
140
  self._tools.append(t)
132
141
 
File without changes
File without changes