unique_toolkit 1.43.9__py3-none-any.whl → 1.43.11__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.
@@ -12,6 +12,7 @@ from unique_toolkit.agentic.loop_runner.middleware import (
12
12
  from unique_toolkit.agentic.loop_runner.runners import (
13
13
  QWEN_FORCED_TOOL_CALL_INSTRUCTION,
14
14
  QWEN_LAST_ITERATION_INSTRUCTION,
15
+ QWEN_MAX_LOOP_ITERATIONS,
15
16
  BasicLoopIterationRunner,
16
17
  BasicLoopIterationRunnerConfig,
17
18
  QwenLoopIterationRunner,
@@ -32,4 +33,5 @@ __all__ = [
32
33
  "handle_normal_iteration",
33
34
  "QWEN_FORCED_TOOL_CALL_INSTRUCTION",
34
35
  "QWEN_LAST_ITERATION_INSTRUCTION",
36
+ "QWEN_MAX_LOOP_ITERATIONS",
35
37
  ]
@@ -5,6 +5,7 @@ from unique_toolkit.agentic.loop_runner.runners.basic import (
5
5
  from unique_toolkit.agentic.loop_runner.runners.qwen import (
6
6
  QWEN_FORCED_TOOL_CALL_INSTRUCTION,
7
7
  QWEN_LAST_ITERATION_INSTRUCTION,
8
+ QWEN_MAX_LOOP_ITERATIONS,
8
9
  QwenLoopIterationRunner,
9
10
  is_qwen_model,
10
11
  )
@@ -15,5 +16,6 @@ __all__ = [
15
16
  "QwenLoopIterationRunner",
16
17
  "QWEN_FORCED_TOOL_CALL_INSTRUCTION",
17
18
  "QWEN_LAST_ITERATION_INSTRUCTION",
19
+ "QWEN_MAX_LOOP_ITERATIONS",
18
20
  "is_qwen_model",
19
21
  ]
@@ -4,6 +4,7 @@ from unique_toolkit.agentic.loop_runner.runners.qwen.helpers import (
4
4
  from unique_toolkit.agentic.loop_runner.runners.qwen.qwen_runner import (
5
5
  QWEN_FORCED_TOOL_CALL_INSTRUCTION,
6
6
  QWEN_LAST_ITERATION_INSTRUCTION,
7
+ QWEN_MAX_LOOP_ITERATIONS,
7
8
  QwenLoopIterationRunner,
8
9
  )
9
10
 
@@ -12,4 +13,5 @@ __all__ = [
12
13
  "is_qwen_model",
13
14
  "QWEN_FORCED_TOOL_CALL_INSTRUCTION",
14
15
  "QWEN_LAST_ITERATION_INSTRUCTION",
16
+ "QWEN_MAX_LOOP_ITERATIONS",
15
17
  ]
@@ -18,13 +18,16 @@ from unique_toolkit.chat.service import ChatService, LanguageModelStreamResponse
18
18
 
19
19
  _LOGGER = logging.getLogger(__name__)
20
20
 
21
+ QWEN_MAX_LOOP_ITERATIONS = 3
22
+
21
23
  QWEN_FORCED_TOOL_CALL_INSTRUCTION = (
22
24
  "**Tool Call Instruction:** \nYou MUST call the tool {TOOL_NAME}. "
23
25
  "You must start the response with <tool_call>. "
24
26
  "Do NOT provide natural language explanations, summaries, or any text outside the <tool_call> block."
25
27
  )
26
28
 
27
- QWEN_LAST_ITERATION_INSTRUCTION = "The maximum number of loop iteration have been reached. Not further tool calls are allowed. Based on the found information, an answer should be generated"
29
+ QWEN_LAST_ITERATION_INSTRUCTION = """The maximum number of loop iteration have been reached. Not further tool calls are allowed.
30
+ Based on the found information, an answer should be generated"""
28
31
 
29
32
 
30
33
  class QwenLoopIterationRunner(LoopIterationRunner):
@@ -701,6 +701,7 @@ class LanguageModelInfo(BaseModel):
701
701
  ModelCapabilities.CHAT_COMPLETIONS_API,
702
702
  ModelCapabilities.FUNCTION_CALLING,
703
703
  ModelCapabilities.PARALLEL_FUNCTION_CALLING,
704
+ ModelCapabilities.RESPONSES_API,
704
705
  ModelCapabilities.STREAMING,
705
706
  ModelCapabilities.VISION,
706
707
  ],
@@ -718,10 +719,11 @@ class LanguageModelInfo(BaseModel):
718
719
  encoder_name=EncoderName.O200K_BASE,
719
720
  capabilities=[
720
721
  ModelCapabilities.CHAT_COMPLETIONS_API,
721
- ModelCapabilities.STRUCTURED_OUTPUT,
722
722
  ModelCapabilities.FUNCTION_CALLING,
723
723
  ModelCapabilities.PARALLEL_FUNCTION_CALLING,
724
+ ModelCapabilities.RESPONSES_API,
724
725
  ModelCapabilities.STREAMING,
726
+ ModelCapabilities.STRUCTURED_OUTPUT,
725
727
  ModelCapabilities.VISION,
726
728
  ],
727
729
  provider=LanguageModelProvider.AZURE,
@@ -738,10 +740,11 @@ class LanguageModelInfo(BaseModel):
738
740
  encoder_name=EncoderName.O200K_BASE,
739
741
  capabilities=[
740
742
  ModelCapabilities.CHAT_COMPLETIONS_API,
741
- ModelCapabilities.STRUCTURED_OUTPUT,
742
743
  ModelCapabilities.FUNCTION_CALLING,
743
744
  ModelCapabilities.PARALLEL_FUNCTION_CALLING,
745
+ ModelCapabilities.RESPONSES_API,
744
746
  ModelCapabilities.STREAMING,
747
+ ModelCapabilities.STRUCTURED_OUTPUT,
745
748
  ModelCapabilities.VISION,
746
749
  ],
747
750
  provider=LanguageModelProvider.AZURE,
@@ -759,6 +762,7 @@ class LanguageModelInfo(BaseModel):
759
762
  ModelCapabilities.CHAT_COMPLETIONS_API,
760
763
  ModelCapabilities.FUNCTION_CALLING,
761
764
  ModelCapabilities.PARALLEL_FUNCTION_CALLING,
765
+ ModelCapabilities.RESPONSES_API,
762
766
  ModelCapabilities.STREAMING,
763
767
  ModelCapabilities.VISION,
764
768
  ],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.43.9
3
+ Version: 1.43.11
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -125,8 +125,13 @@ All notable changes to this project will be documented in this file.
125
125
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
126
126
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
127
127
 
128
+ ## [1.43.11] - 2026-01-23
129
+ - Add `RESPONSES_API` Capablity to some models that were missing it
130
+
131
+ ## [1.43.10] - 2026-01-21
132
+ - Lowering the max iterations of the main agents and hard blocking Qwen3 from using too many agent rounds
133
+
128
134
  ## [1.43.9] - 2026-01-20
129
- ### Fixed
130
135
  - Fix system message role conversion in responses API mode (was incorrectly set to "user", now correctly set to "system")
131
136
 
132
137
  ## [1.43.8] - 2026-01-16
@@ -90,7 +90,7 @@ unique_toolkit/agentic/history_manager/history_construction_with_contents.py,sha
90
90
  unique_toolkit/agentic/history_manager/history_manager.py,sha256=7V7_173XkAjc8otBACF0G3dbqRs34FSlURbBPrE95Wk,9537
91
91
  unique_toolkit/agentic/history_manager/loop_token_reducer.py,sha256=3c-uonDovtanEJUpAO4zlA4-n9MS_Ws_V0Yb6G7hPM0,20172
92
92
  unique_toolkit/agentic/history_manager/utils.py,sha256=VIn_UmcR3jHtpux0qp5lQQzczgAm8XYSeQiPo87jC3A,3143
93
- unique_toolkit/agentic/loop_runner/__init__.py,sha256=3Ddm4WXa5KBTwScvmn6INmBBcuFVfJGriOE6VUfGVkM,1037
93
+ unique_toolkit/agentic/loop_runner/__init__.py,sha256=26SAJn737LLmc3RoT6PPoPIeI80nlNWobHK6-Vz8HeI,1099
94
94
  unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py,sha256=czwTbMMmikppRjAA2wpx-UZGub8KrpSoWfojklr-5sE,3261
95
95
  unique_toolkit/agentic/loop_runner/_stream_handler_utils.py,sha256=FTGc5y8wkDnwnRVSYEdandgKz-FiySOsrTFFMadwP6E,1706
96
96
  unique_toolkit/agentic/loop_runner/base.py,sha256=3g4PalzV00o8kcRwHds2c2rtxW4idD7_7vS2Z7GkMvQ,1370
@@ -98,11 +98,11 @@ unique_toolkit/agentic/loop_runner/middleware/__init__.py,sha256=5yhFZ14_C1qAt-M
98
98
  unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py,sha256=Y9MlihNA8suNREixW98RF45bj0EMtD_tQuDrO2MEML4,304
99
99
  unique_toolkit/agentic/loop_runner/middleware/planning/planning.py,sha256=s6SAP3BCCExgwnyRj_bZTaWgTOiNVju5qcJA0WFUUoE,3216
100
100
  unique_toolkit/agentic/loop_runner/middleware/planning/schema.py,sha256=76C36CWCLfDAYYqtaQlhXsmkWM1fCqf8j-l5afQREKA,2869
101
- unique_toolkit/agentic/loop_runner/runners/__init__.py,sha256=9aUSdHgwAfwEmvE_xL7luxmaL2HaU-fG_x-HLbHls9k,536
101
+ unique_toolkit/agentic/loop_runner/runners/__init__.py,sha256=JLBzWjOvTScIVHafeoqG1ZS3syLrYPBDzIfBuJFOw8s,598
102
102
  unique_toolkit/agentic/loop_runner/runners/basic.py,sha256=PKg7AXp5_2OJpJX8b7_5u0jBKffX5mg8X6DFk98sSwA,1535
103
- unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py,sha256=b2zAQIjtPy_BBQeDHsdfDLTKigI11w7tXHgUGNnFIiU,419
103
+ unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py,sha256=RRT2Q_eeEjtAMsPJC7sYHSlY8clGYXRtQPQhA3HkHF0,481
104
104
  unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py,sha256=JBnxeYKu8HiUq3VHjnb8XdHCe1c3cJ3OwagckF4UvnU,1763
105
- unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py,sha256=7tYfTkNKwxYVn6C1Htya5QEIK2BfWkxCPNkdMoaZGq0,4920
105
+ unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py,sha256=Qz_kwUUjLDUPBGM0hRVZSwVLYJ1fX5V646oU8AObIUw,4954
106
106
  unique_toolkit/agentic/message_log_manager/__init__.py,sha256=3-KY_sGkPbNoSnrzwPY0FQIJNnsz4NHXvocXgGRUeuE,169
107
107
  unique_toolkit/agentic/message_log_manager/service.py,sha256=DeixRsgmyDdWsL-4e12flB9d-Uy7s0X52upPIbTn6vA,5895
108
108
  unique_toolkit/agentic/postprocessor/postprocessor_manager.py,sha256=CoKzVFeLIr1eRP3ZLnmUJ8KNsFLyvK5iuvUilbcGAm0,7662
@@ -224,7 +224,7 @@ unique_toolkit/language_model/builder.py,sha256=4OKfwJfj3TrgO1ezc_ewIue6W7BCQ2ZY
224
224
  unique_toolkit/language_model/constants.py,sha256=B-topqW0r83dkC_25DeQfnPk3n53qzIHUCBS7YJ0-1U,119
225
225
  unique_toolkit/language_model/default_language_model.py,sha256=-_DBsJhLCsFdaU4ynAkyW0jYIl2lhrPybZm1K-GgVJs,125
226
226
  unique_toolkit/language_model/functions.py,sha256=PTBm2BBkuqISVHoyUqMIGHGXT-RMSAfz0F_Ylo2esQ8,18246
227
- unique_toolkit/language_model/infos.py,sha256=73guq14ggNplXJ5mx-s71rnyA66pNYnXaiVYSKSGMtw,89733
227
+ unique_toolkit/language_model/infos.py,sha256=x9VBgdyqHuZCe0qxCiJTBQx7xynvgWMTAFfBiqS-K4c,89961
228
228
  unique_toolkit/language_model/prompt.py,sha256=JSawaLjQg3VR-E2fK8engFyJnNdk21zaO8pPIodzN4Q,3991
229
229
  unique_toolkit/language_model/reference.py,sha256=nkX2VFz-IrUz8yqyc3G5jUMNwrNpxITBrMEKkbqqYoI,8583
230
230
  unique_toolkit/language_model/schemas.py,sha256=WCHB_9GGkJwB3OCSwUJznz6FPo3gEL2MXUOEtYKxAFg,23996
@@ -242,7 +242,7 @@ unique_toolkit/short_term_memory/service.py,sha256=5PeVBu1ZCAfyDb2HLVvlmqSbyzBBu
242
242
  unique_toolkit/smart_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
243
  unique_toolkit/smart_rules/compile.py,sha256=Ozhh70qCn2yOzRWr9d8WmJeTo7AQurwd3tStgBMPFLA,1246
244
244
  unique_toolkit/test_utilities/events.py,sha256=_mwV2bs5iLjxS1ynDCjaIq-gjjKhXYCK-iy3dRfvO3g,6410
245
- unique_toolkit-1.43.9.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
246
- unique_toolkit-1.43.9.dist-info/METADATA,sha256=LPHaOz0muC2DPOKCYDQxA8Xn5O7Sc39uyXJdOcz0j_w,48369
247
- unique_toolkit-1.43.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
248
- unique_toolkit-1.43.9.dist-info/RECORD,,
245
+ unique_toolkit-1.43.11.dist-info/LICENSE,sha256=GlN8wHNdh53xwOPg44URnwag6TEolCjoq3YD_KrWgss,193
246
+ unique_toolkit-1.43.11.dist-info/METADATA,sha256=PROyDnl3op-5xx5BR_dqNW-FOt0JRqE5Ddhdx1XTBGA,48588
247
+ unique_toolkit-1.43.11.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
248
+ unique_toolkit-1.43.11.dist-info/RECORD,,