unique_toolkit 2026.28.0.dev17__tar.gz → 2026.28.1__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 (411) hide show
  1. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/PKG-INFO +2 -2
  2. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/pyproject.toml +2 -2
  3. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/manager.py +33 -9
  4. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/tool/service.py +14 -6
  5. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +19 -3
  6. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/service.py +18 -2
  7. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/mcp/manager.py +29 -8
  8. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +15 -7
  9. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/tool.py +13 -0
  10. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/tool_manager.py +53 -8
  11. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/infos.py +21 -1
  12. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/settings.py +1 -0
  13. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/README.md +0 -0
  14. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/__init__.py +0 -0
  15. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/__init__.py +0 -0
  16. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/_base_service.py +0 -0
  17. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/_time_utils.py +0 -0
  18. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  19. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  20. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  21. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  22. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  23. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  24. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  25. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/README.md +0 -0
  26. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  27. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  28. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/cli.py +0 -0
  29. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/differ.py +0 -0
  30. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  31. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/models.py +0 -0
  32. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/registry.py +0 -0
  33. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/config_checker/validator.py +0 -0
  34. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/default_language_model.py +0 -0
  35. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  36. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/docx_generator/config.py +0 -0
  37. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  38. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  39. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/docx_generator/service.py +0 -0
  40. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  41. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/endpoint_builder.py +0 -0
  42. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  43. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/event_bus.py +0 -0
  44. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/exception.py +0 -0
  45. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/execution.py +0 -0
  46. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  47. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  48. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  49. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  50. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  51. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  52. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  53. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  54. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  55. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  56. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  57. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  58. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  59. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  60. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  61. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  62. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  63. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  64. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  65. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  66. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  67. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  68. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  69. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  70. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  71. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  72. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  73. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  74. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
  75. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  76. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  77. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/referencing.py +0 -0
  78. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/string_utilities.py +0 -0
  79. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  80. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  81. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/token/__init__.py +0 -0
  82. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  83. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/token/token_counting.py +0 -0
  84. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  85. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  86. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/__init__.py +0 -0
  87. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/files.py +0 -0
  88. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/image/encode.py +0 -0
  89. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  90. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  91. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  92. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  93. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  94. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  95. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  96. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/validate_required_values.py +0 -0
  97. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/_common/validators.py +0 -0
  98. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/__init__.py +0 -0
  99. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  100. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  101. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/config.py +0 -0
  102. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  103. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  104. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  105. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  106. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  107. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  108. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  109. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  110. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  111. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  112. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  113. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  114. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  115. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  116. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  117. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  118. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  119. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  120. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  121. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  122. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +0 -0
  123. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  124. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  125. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  126. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  127. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  128. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  129. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  130. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  131. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  132. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/history_manager/settings.py +0 -0
  133. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  134. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  135. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  136. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  137. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  138. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  139. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  140. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  141. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  142. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  143. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  144. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  145. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  146. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  147. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  148. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  149. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  150. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  151. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  152. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  153. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/message_log_order.py +0 -0
  154. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  155. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  156. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
  157. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  158. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  159. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  160. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  161. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  162. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  163. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/__init__.py +0 -0
  164. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  165. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  166. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  167. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  168. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  169. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  170. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  171. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  172. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  173. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  174. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  175. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  176. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  177. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  178. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  179. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  180. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
  181. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  182. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  183. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  184. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  185. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  186. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  187. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  188. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  189. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  190. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/config.py +0 -0
  191. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  192. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
  193. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
  194. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  195. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  196. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  197. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  198. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
  199. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
  200. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
  201. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  202. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  203. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  204. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  205. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  206. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  207. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  208. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  209. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/factory.py +0 -0
  210. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  211. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  212. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/names.py +0 -0
  213. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  214. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  215. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  216. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  217. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  218. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
  219. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  220. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  221. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  222. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  223. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  224. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/run_context.py +0 -0
  225. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/schemas.py +0 -0
  226. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  227. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  228. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  229. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  230. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  231. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  232. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  233. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  234. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic_table/__init__.py +0 -0
  235. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic_table/schemas.py +0 -0
  236. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic_table/service.py +0 -0
  237. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
  238. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/__init__.py +0 -0
  239. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  240. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/dev_util.py +0 -0
  241. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/fast_api_factory.py +0 -0
  242. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/feature_flags.py +0 -0
  243. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/find_env_file.py +0 -0
  244. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/init_logging.py +0 -0
  245. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/init_sdk.py +0 -0
  246. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/performance/async_tasks.py +0 -0
  247. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  248. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/schemas.py +0 -0
  249. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/unique_settings.py +0 -0
  250. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/verification.py +0 -0
  251. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/app/webhook.py +0 -0
  252. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/__init__.py +0 -0
  253. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/cancellation.py +0 -0
  254. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/constants.py +0 -0
  255. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/deprecated/service.py +0 -0
  256. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/functions.py +0 -0
  257. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/rendering.py +0 -0
  258. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/responses_api.py +0 -0
  259. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/schemas.py +0 -0
  260. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/service.py +0 -0
  261. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/state.py +0 -0
  262. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/chat/utils.py +0 -0
  263. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/content/__init__.py +0 -0
  264. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/content/constants.py +0 -0
  265. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/content/functions.py +0 -0
  266. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/content/schemas.py +0 -0
  267. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/content/service.py +0 -0
  268. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/content/smart_rules.py +0 -0
  269. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/content/utils.py +0 -0
  270. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/README.md +0 -0
  271. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/__init__.py +0 -0
  272. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  273. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  274. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/base.py +0 -0
  275. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  276. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/basic/config.py +0 -0
  277. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  278. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/data_extraction/basic/service.py +0 -0
  279. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/elicitation/__init__.py +0 -0
  280. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/elicitation/constants.py +0 -0
  281. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/elicitation/exceptions.py +0 -0
  282. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/elicitation/functions.py +0 -0
  283. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/elicitation/schemas.py +0 -0
  284. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/elicitation/service.py +0 -0
  285. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/embedding/__init__.py +0 -0
  286. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/embedding/constants.py +0 -0
  287. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/embedding/functions.py +0 -0
  288. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/embedding/schemas.py +0 -0
  289. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/embedding/service.py +0 -0
  290. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/embedding/utils.py +0 -0
  291. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/README.md +0 -0
  292. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/__init__.py +0 -0
  293. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/_internal/__init__.py +0 -0
  294. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
  295. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
  296. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
  297. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/__init__.py +0 -0
  298. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/_base.py +0 -0
  299. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
  300. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
  301. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
  302. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
  303. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
  304. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
  305. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
  306. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
  307. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
  308. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
  309. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
  310. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
  311. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
  312. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
  313. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
  314. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
  315. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
  316. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
  317. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
  318. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
  319. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
  320. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  321. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/identity/__init__.py +0 -0
  322. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/__init__.py +0 -0
  323. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
  324. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
  325. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
  326. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
  327. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
  328. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
  329. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
  330. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
  331. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
  332. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
  333. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
  334. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
  335. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
  336. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
  337. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
  338. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
  339. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
  340. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
  341. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
  342. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
  343. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
  344. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
  345. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
  346. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/__init__.py +0 -0
  347. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
  348. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
  349. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
  350. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
  351. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
  352. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
  353. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
  354. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
  355. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/feature_flags/__init__.py +0 -0
  356. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
  357. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
  358. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/feature_flags/client.py +0 -0
  359. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
  360. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
  361. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
  362. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/group/functions.py +0 -0
  363. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
  364. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/group/service.py +0 -0
  365. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
  366. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
  367. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
  368. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
  369. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
  370. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
  371. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/user/functions.py +0 -0
  372. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
  373. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/resources/user/service.py +0 -0
  374. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/experimental/testing/__init__.py +0 -0
  375. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/__init__.py +0 -0
  376. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  377. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  378. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  379. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  380. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  381. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  382. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/framework_utilities/utils.py +0 -0
  383. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/__init__.py +0 -0
  384. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  385. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/builder.py +0 -0
  386. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/constants.py +0 -0
  387. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/default_language_model.py +0 -0
  388. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/functions.py +0 -0
  389. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/prompt.py +0 -0
  390. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/reference.py +0 -0
  391. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/schemas.py +0 -0
  392. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/service.py +0 -0
  393. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/stream_transform.py +0 -0
  394. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/language_model/utils.py +0 -0
  395. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/monitoring/__init__.py +0 -0
  396. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/monitoring/gunicorn.py +0 -0
  397. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/monitoring/middleware.py +0 -0
  398. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/monitoring/registry.py +0 -0
  399. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/protocols/support.py +0 -0
  400. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/services/__init__.py +0 -0
  401. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/services/chat_service.py +0 -0
  402. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/services/factory.py +0 -0
  403. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/services/knowledge_base.py +0 -0
  404. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/short_term_memory/__init__.py +0 -0
  405. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/short_term_memory/constants.py +0 -0
  406. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/short_term_memory/functions.py +0 -0
  407. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/short_term_memory/schemas.py +0 -0
  408. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/short_term_memory/service.py +0 -0
  409. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/smart_rules/__init__.py +0 -0
  410. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/smart_rules/compile.py +0 -0
  411. {unique_toolkit-2026.28.0.dev17 → unique_toolkit-2026.28.1}/unique_toolkit/test_utilities/events.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-toolkit
3
- Version: 2026.28.0.dev17
3
+ Version: 2026.28.1
4
4
  Summary:
5
5
  Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
6
6
  Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
@@ -16,7 +16,7 @@ Requires-Dist: sseclient>=0.0.27,<0.0.28
16
16
  Requires-Dist: openai>=1.105.0,<3
17
17
  Requires-Dist: platformdirs>=4.0.0,<5
18
18
  Requires-Dist: pillow>=12.1.1
19
- Requires-Dist: unique-sdk>=2026.28.0.dev19,<2026.28.0rc0
19
+ Requires-Dist: unique-sdk>=2026.28.1
20
20
  Requires-Dist: jambo>=0.1.2,<0.2
21
21
  Requires-Dist: jinja2>=3.1.6,<4
22
22
  Requires-Dist: docxtpl>=0.20.1,<0.21
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "2026.28.0.dev17"
3
+ version = "2026.28.1"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -28,7 +28,7 @@ dependencies = [
28
28
  "openai>=1.105.0,<3",
29
29
  "platformdirs>=4.0.0,<5",
30
30
  "pillow>=12.1.1",
31
- "unique-sdk>=2026.28.0.dev19,<2026.28.0rc0",
31
+ "unique-sdk>=2026.28.1",
32
32
  "jambo>=0.1.2,<0.2",
33
33
  "jinja2>=3.1.6,<4",
34
34
  "docxtpl>=0.20.1,<0.21",
@@ -5,6 +5,8 @@ from unique_toolkit.agentic.tools.a2a.tool import SubAgentTool, SubAgentToolConf
5
5
  from unique_toolkit.agentic.tools.config import ToolBuildConfig
6
6
  from unique_toolkit.agentic.tools.tool_progress_reporter import ToolProgressReporter
7
7
  from unique_toolkit.app.schemas import ChatEvent
8
+ from unique_toolkit.chat.service import ChatService
9
+ from unique_toolkit.language_model import LanguageModelService
8
10
 
9
11
 
10
12
  class A2AManager:
@@ -13,10 +15,15 @@ class A2AManager:
13
15
  logger: Logger,
14
16
  tool_progress_reporter: ToolProgressReporter,
15
17
  response_watcher: SubAgentResponseWatcher,
18
+ *,
19
+ chat_service: ChatService | None = None,
20
+ language_model_service: LanguageModelService | None = None,
16
21
  ):
17
22
  self._logger = logger
18
23
  self._tool_progress_reporter = tool_progress_reporter
19
24
  self._response_watcher = response_watcher
25
+ self._chat_service = chat_service
26
+ self._language_model_service = language_model_service
20
27
 
21
28
  def get_all_sub_agents(
22
29
  self,
@@ -45,16 +52,33 @@ class A2AManager:
45
52
  sub_agent_tool_config = tool_config.configuration
46
53
 
47
54
  try:
48
- sub_agents.append(
49
- SubAgentTool(
50
- configuration=sub_agent_tool_config,
51
- event=event,
52
- tool_progress_reporter=self._tool_progress_reporter,
53
- name=tool_config.name,
54
- display_name=tool_config.display_name,
55
- response_watcher=self._response_watcher,
55
+ if (
56
+ self._chat_service is not None
57
+ and self._language_model_service is not None
58
+ ):
59
+ sub_agents.append(
60
+ SubAgentTool(
61
+ configuration=sub_agent_tool_config,
62
+ event=event,
63
+ tool_progress_reporter=self._tool_progress_reporter,
64
+ name=tool_config.name,
65
+ display_name=tool_config.display_name,
66
+ response_watcher=self._response_watcher,
67
+ chat_service=self._chat_service,
68
+ language_model_service=self._language_model_service,
69
+ )
70
+ )
71
+ else:
72
+ sub_agents.append(
73
+ SubAgentTool(
74
+ configuration=sub_agent_tool_config,
75
+ event=event,
76
+ tool_progress_reporter=self._tool_progress_reporter,
77
+ name=tool_config.name,
78
+ display_name=tool_config.display_name,
79
+ response_watcher=self._response_watcher,
80
+ )
56
81
  )
57
- )
58
82
  except Exception:
59
83
  self._logger.warning(
60
84
  "Skipping sub-agent '%s' due to initialization failure.",
@@ -20,7 +20,6 @@ from unique_toolkit._common.referencing import (
20
20
  from unique_toolkit._common.utils.jinja.render import render_template
21
21
  from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
22
22
  from unique_toolkit.agentic.feature_flags import feature_flags
23
- from unique_toolkit.agentic.message_log_manager.service import MessageStepLogger
24
23
  from unique_toolkit.agentic.tools.a2a.response_watcher import SubAgentResponseWatcher
25
24
  from unique_toolkit.agentic.tools.a2a.tool._memory import (
26
25
  get_sub_agent_short_term_memory_manager,
@@ -53,6 +52,7 @@ from unique_toolkit.chat.service import ChatService
53
52
  from unique_toolkit.content import ContentChunk, ContentReference
54
53
  from unique_toolkit.language_model import (
55
54
  LanguageModelFunction,
55
+ LanguageModelService,
56
56
  LanguageModelToolDescription,
57
57
  )
58
58
 
@@ -72,12 +72,20 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
72
72
  name: str = "SubAgentTool",
73
73
  display_name: str = "SubAgentTool",
74
74
  response_watcher: SubAgentResponseWatcher | None = None,
75
+ *,
76
+ chat_service: ChatService | None = None,
77
+ language_model_service: LanguageModelService | None = None,
75
78
  ) -> None:
76
- super().__init__(configuration)
77
- self._event = event
78
- self._tool_progress_reporter = tool_progress_reporter
79
- self._chat_service = ChatService(event)
80
- self._message_step_logger = MessageStepLogger(chat_service=self._chat_service)
79
+ if chat_service is not None and language_model_service is not None:
80
+ super().__init__(
81
+ configuration,
82
+ event,
83
+ tool_progress_reporter=tool_progress_reporter,
84
+ chat_service=chat_service,
85
+ language_model_service=language_model_service,
86
+ )
87
+ else:
88
+ super().__init__(configuration, event, tool_progress_reporter)
81
89
  self._user_id = event.user_id
82
90
  self._company_id = event.company_id
83
91
 
@@ -13,12 +13,14 @@ from unique_toolkit.agentic.tools.schemas import ToolCallResponse
13
13
  from unique_toolkit.agentic.tools.tool import Tool
14
14
  from unique_toolkit.agentic.tools.tool_progress_reporter import ToolProgressReporter
15
15
  from unique_toolkit.app.schemas import ChatEvent
16
+ from unique_toolkit.chat.service import ChatService
16
17
  from unique_toolkit.elicitation import (
17
18
  ElicitationCancelledException,
18
19
  ElicitationDeclinedException,
19
20
  ElicitationExpiredException,
20
21
  ElicitationMode,
21
22
  )
23
+ from unique_toolkit.language_model import LanguageModelService
22
24
  from unique_toolkit.language_model.schemas import (
23
25
  LanguageModelFunction,
24
26
  LanguageModelToolDescription,
@@ -44,10 +46,24 @@ class AskUserTool(Tool[AskUserToolConfig]):
44
46
  config: AskUserToolConfig,
45
47
  event: ChatEvent,
46
48
  tool_progress_reporter: ToolProgressReporter | None = None,
49
+ *,
50
+ chat_service: ChatService | None = None,
51
+ language_model_service: LanguageModelService | None = None,
47
52
  ) -> None:
48
- super().__init__(
49
- config=config, event=event, tool_progress_reporter=tool_progress_reporter
50
- )
53
+ if chat_service is not None and language_model_service is not None:
54
+ super().__init__(
55
+ config=config,
56
+ event=event,
57
+ tool_progress_reporter=tool_progress_reporter,
58
+ chat_service=chat_service,
59
+ language_model_service=language_model_service,
60
+ )
61
+ else:
62
+ super().__init__(
63
+ config=config,
64
+ event=event,
65
+ tool_progress_reporter=tool_progress_reporter,
66
+ )
51
67
  self._lock = asyncio.Lock()
52
68
 
53
69
  @override
@@ -20,7 +20,11 @@ from unique_toolkit.agentic.tools.tool import Tool
20
20
  from unique_toolkit.agentic.tools.tool_progress_reporter import ToolProgressReporter
21
21
  from unique_toolkit.app.schemas import ChatEvent
22
22
  from unique_toolkit.chat.schemas import MessageLog, MessageLogStatus
23
- from unique_toolkit.language_model import LanguageModelToolDescription
23
+ from unique_toolkit.chat.service import ChatService
24
+ from unique_toolkit.language_model import (
25
+ LanguageModelService,
26
+ LanguageModelToolDescription,
27
+ )
24
28
  from unique_toolkit.language_model.schemas import LanguageModelFunction
25
29
  from unique_toolkit.short_term_memory.service import ShortTermMemoryService
26
30
 
@@ -45,8 +49,20 @@ class TodoWriteTool(Tool[TodoConfig]):
45
49
  config: TodoConfig,
46
50
  event: ChatEvent,
47
51
  tool_progress_reporter: ToolProgressReporter | None = None,
52
+ *,
53
+ chat_service: ChatService | None = None,
54
+ language_model_service: LanguageModelService | None = None,
48
55
  ) -> None:
49
- super().__init__(config, event, tool_progress_reporter)
56
+ if chat_service is not None and language_model_service is not None:
57
+ super().__init__(
58
+ config,
59
+ event,
60
+ tool_progress_reporter,
61
+ chat_service=chat_service,
62
+ language_model_service=language_model_service,
63
+ )
64
+ else:
65
+ super().__init__(config, event, tool_progress_reporter)
50
66
  stm_service = ShortTermMemoryService(
51
67
  company_id=event.company_id,
52
68
  user_id=event.user_id,
@@ -11,6 +11,8 @@ from unique_toolkit.agentic.tools.schemas import BaseToolConfig
11
11
  from unique_toolkit.agentic.tools.tool import Tool
12
12
  from unique_toolkit.agentic.tools.tool_progress_reporter import ToolProgressReporter
13
13
  from unique_toolkit.app.schemas import ChatEvent, McpServer
14
+ from unique_toolkit.chat.service import ChatService
15
+ from unique_toolkit.language_model import LanguageModelService
14
16
 
15
17
 
16
18
  class MCPManager:
@@ -19,10 +21,15 @@ class MCPManager:
19
21
  mcp_servers: list[McpServer],
20
22
  event: ChatEvent,
21
23
  tool_progress_reporter: ToolProgressReporter,
22
- ):
24
+ *,
25
+ chat_service: ChatService | None = None,
26
+ language_model_service: LanguageModelService | None = None,
27
+ ) -> None:
23
28
  self._mcp_servers = mcp_servers
24
29
  self._event = event
25
30
  self._tool_progress_reporter = tool_progress_reporter
31
+ self._chat_service = chat_service
32
+ self._language_model_service = language_model_service
26
33
 
27
34
  def get_mcp_servers(self):
28
35
  return self._mcp_servers
@@ -47,13 +54,27 @@ class MCPManager:
47
54
  server_user_prompt=server.user_prompt,
48
55
  mcp_source_id=server.id,
49
56
  )
50
- wrapper = MCPToolWrapper(
51
- mcp_server=server,
52
- mcp_tool=tool,
53
- config=config,
54
- event=self._event,
55
- tool_progress_reporter=self._tool_progress_reporter,
56
- )
57
+ if (
58
+ self._chat_service is not None
59
+ and self._language_model_service is not None
60
+ ):
61
+ wrapper = MCPToolWrapper(
62
+ mcp_server=server,
63
+ mcp_tool=tool,
64
+ config=config,
65
+ event=self._event,
66
+ tool_progress_reporter=self._tool_progress_reporter,
67
+ chat_service=self._chat_service,
68
+ language_model_service=self._language_model_service,
69
+ )
70
+ else:
71
+ wrapper = MCPToolWrapper(
72
+ mcp_server=server,
73
+ mcp_tool=tool,
74
+ config=config,
75
+ event=self._event,
76
+ tool_progress_reporter=self._tool_progress_reporter,
77
+ )
57
78
  wrapper.settings = ToolBuildConfig( # TODO: this must be refactored to behave like the other tools.
58
79
  name=tool.name,
59
80
  configuration=config,
@@ -10,7 +10,6 @@ import unique_sdk
10
10
 
11
11
  from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
12
12
  from unique_toolkit.agentic.feature_flags import feature_flags
13
- from unique_toolkit.agentic.message_log_manager.service import MessageStepLogger
14
13
  from unique_toolkit.agentic.tools.mcp.models import MCPToolConfig
15
14
  from unique_toolkit.agentic.tools.schemas import ToolCallResponse
16
15
  from unique_toolkit.agentic.tools.tool import Tool
@@ -22,6 +21,7 @@ from unique_toolkit.app.schemas import ChatEvent, McpServer, McpTool
22
21
  from unique_toolkit.chat.schemas import MessageLog, MessageLogStatus
23
22
  from unique_toolkit.chat.service import ChatService
24
23
  from unique_toolkit.content.functions import upload_content_from_bytes
24
+ from unique_toolkit.language_model import LanguageModelService
25
25
  from unique_toolkit.language_model.schemas import (
26
26
  LanguageModelFunction,
27
27
  LanguageModelToolDescription,
@@ -40,13 +40,21 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
40
40
  config: MCPToolConfig,
41
41
  event: ChatEvent,
42
42
  tool_progress_reporter: ToolProgressReporter | None = None,
43
+ *,
44
+ chat_service: ChatService | None = None,
45
+ language_model_service: LanguageModelService | None = None,
43
46
  ) -> None:
44
47
  self.name = mcp_tool.name
45
- super().__init__(config)
46
- self._event = event
47
- self._tool_progress_reporter = tool_progress_reporter
48
- self._chat_service = ChatService(event)
49
- self._message_step_logger = MessageStepLogger(chat_service=self._chat_service)
48
+ if chat_service is not None and language_model_service is not None:
49
+ super().__init__(
50
+ config,
51
+ event,
52
+ tool_progress_reporter=tool_progress_reporter,
53
+ chat_service=chat_service,
54
+ language_model_service=language_model_service,
55
+ )
56
+ else:
57
+ super().__init__(config, event, tool_progress_reporter)
50
58
  self._mcp_tool = mcp_tool
51
59
  self._mcp_server = mcp_server
52
60
 
@@ -384,7 +392,7 @@ class MCPToolWrapper(Tool[MCPToolConfig]):
384
392
  user_id=self._event.user_id,
385
393
  company_id=self._event.company_id,
386
394
  name=self.name,
387
- messageId=self._event.payload.assistant_message.id,
395
+ messageId=self._chat_service.assistant_message_id,
388
396
  chatId=self._event.payload.chat_id,
389
397
  arguments=arguments,
390
398
  )
@@ -180,6 +180,17 @@ class Tool(ABC, Generic[ConfigType]):
180
180
  tool_progress_reporter: ToolProgressReporter | None = ...,
181
181
  ) -> None: ...
182
182
 
183
+ @overload
184
+ def __init__(
185
+ self,
186
+ config: ConfigType,
187
+ event: ChatEvent,
188
+ tool_progress_reporter: ToolProgressReporter | None = ...,
189
+ *,
190
+ chat_service: ChatService,
191
+ language_model_service: LanguageModelService,
192
+ ) -> None: ...
193
+
183
194
  @overload
184
195
  def __init__(
185
196
  self,
@@ -230,6 +241,8 @@ class Tool(ABC, Generic[ConfigType]):
230
241
  MessageStepLogger,
231
242
  )
232
243
 
244
+ if event is not None:
245
+ self._event = event
233
246
  self._tool_progress_reporter = tool_progress_reporter
234
247
  self._chat_service = chat_service
235
248
  self._language_model_service = language_model_service
@@ -37,6 +37,8 @@ from unique_toolkit.agentic.tools.schemas import ToolCallResponse, ToolPrompts
37
37
  from unique_toolkit.agentic.tools.tool import Tool
38
38
  from unique_toolkit.agentic.tools.tool_progress_reporter import ToolProgressReporter
39
39
  from unique_toolkit.app.schemas import ChatEvent
40
+ from unique_toolkit.chat.service import ChatService
41
+ from unique_toolkit.language_model import LanguageModelService
40
42
  from unique_toolkit.language_model.schemas import (
41
43
  LanguageModelFunction,
42
44
  LanguageModelToolDescription,
@@ -90,6 +92,8 @@ class _ToolManager(Generic[_ApiMode]):
90
92
  a2a_manager: A2AManager,
91
93
  api_mode: _ApiMode,
92
94
  builtin_tool_manager: OpenAIBuiltInToolManager | None = None,
95
+ chat_service: ChatService | None = None,
96
+ language_model_service: LanguageModelService | None = None,
93
97
  ) -> None:
94
98
  self._setup(
95
99
  logger=logger,
@@ -100,6 +104,8 @@ class _ToolManager(Generic[_ApiMode]):
100
104
  a2a_manager=a2a_manager,
101
105
  api_mode=api_mode,
102
106
  builtin_tool_manager=builtin_tool_manager,
107
+ chat_service=chat_service,
108
+ language_model_service=language_model_service,
103
109
  )
104
110
 
105
111
  @classmethod
@@ -114,6 +120,8 @@ class _ToolManager(Generic[_ApiMode]):
114
120
  a2a_manager: A2AManager,
115
121
  api_mode: _ApiMode,
116
122
  builtin_tool_manager: OpenAIBuiltInToolManager | None = None,
123
+ chat_service: ChatService | None = None,
124
+ language_model_service: LanguageModelService | None = None,
117
125
  ) -> Self:
118
126
  instance = cls.__new__(cls)
119
127
  instance._setup(
@@ -125,6 +133,8 @@ class _ToolManager(Generic[_ApiMode]):
125
133
  a2a_manager=a2a_manager,
126
134
  api_mode=api_mode,
127
135
  builtin_tool_manager=builtin_tool_manager,
136
+ chat_service=chat_service,
137
+ language_model_service=language_model_service,
128
138
  )
129
139
  return instance
130
140
 
@@ -139,10 +149,14 @@ class _ToolManager(Generic[_ApiMode]):
139
149
  a2a_manager: A2AManager,
140
150
  api_mode: _ApiMode,
141
151
  builtin_tool_manager: OpenAIBuiltInToolManager | None,
152
+ chat_service: ChatService | None = None,
153
+ language_model_service: LanguageModelService | None = None,
142
154
  ) -> None:
143
155
  self._logger = logger
144
156
  self._config = config
145
157
  self._tool_progress_reporter = tool_progress_reporter
158
+ self._chat_service = chat_service
159
+ self._language_model_service = language_model_service
146
160
  self._tools: list[Tool[Any] | OpenAIBuiltInTool[Any]] = []
147
161
  self._tool_choices = run_context.tool_choices
148
162
  self._disabled_tools = run_context.disabled_tools
@@ -218,14 +232,29 @@ class _ToolManager(Generic[_ApiMode]):
218
232
  t.name,
219
233
  )
220
234
  continue
221
- result = safe_executor.execute(
222
- ToolFactory.build_tool_with_settings,
223
- t.name,
224
- t,
225
- t.configuration,
226
- tool_init_event,
227
- tool_progress_reporter=self._tool_progress_reporter,
228
- )
235
+ if (
236
+ self._chat_service is not None
237
+ and self._language_model_service is not None
238
+ ):
239
+ result = safe_executor.execute(
240
+ ToolFactory.build_tool_with_settings,
241
+ t.name,
242
+ t,
243
+ t.configuration,
244
+ tool_init_event,
245
+ tool_progress_reporter=self._tool_progress_reporter,
246
+ chat_service=self._chat_service,
247
+ language_model_service=self._language_model_service,
248
+ )
249
+ else:
250
+ result = safe_executor.execute(
251
+ ToolFactory.build_tool_with_settings,
252
+ t.name,
253
+ t,
254
+ t.configuration,
255
+ tool_init_event,
256
+ tool_progress_reporter=self._tool_progress_reporter,
257
+ )
229
258
  if result.success:
230
259
  self._internal_tools.append(result.unpack())
231
260
  else:
@@ -684,6 +713,8 @@ class ToolManager(_ToolManager[Literal["completions"]]):
684
713
  tool_progress_reporter: ToolProgressReporter,
685
714
  mcp_manager: MCPManager,
686
715
  a2a_manager: A2AManager,
716
+ chat_service: ChatService | None = None,
717
+ language_model_service: LanguageModelService | None = None,
687
718
  ) -> None:
688
719
  super().__init__(
689
720
  logger=logger,
@@ -694,6 +725,8 @@ class ToolManager(_ToolManager[Literal["completions"]]):
694
725
  a2a_manager=a2a_manager,
695
726
  api_mode="completions",
696
727
  builtin_tool_manager=None,
728
+ chat_service=chat_service,
729
+ language_model_service=language_model_service,
697
730
  )
698
731
 
699
732
  @classmethod
@@ -708,6 +741,8 @@ class ToolManager(_ToolManager[Literal["completions"]]):
708
741
  a2a_manager: A2AManager,
709
742
  api_mode: Literal["completions"] = "completions",
710
743
  builtin_tool_manager: OpenAIBuiltInToolManager | None = None,
744
+ chat_service: ChatService | None = None,
745
+ language_model_service: LanguageModelService | None = None,
711
746
  ) -> Self:
712
747
  return super().from_run_context(
713
748
  logger=logger,
@@ -718,6 +753,8 @@ class ToolManager(_ToolManager[Literal["completions"]]):
718
753
  a2a_manager=a2a_manager,
719
754
  api_mode=api_mode,
720
755
  builtin_tool_manager=builtin_tool_manager,
756
+ chat_service=chat_service,
757
+ language_model_service=language_model_service,
721
758
  )
722
759
 
723
760
 
@@ -731,6 +768,8 @@ class ResponsesApiToolManager(_ToolManager[Literal["responses"]]):
731
768
  mcp_manager: MCPManager,
732
769
  a2a_manager: A2AManager,
733
770
  builtin_tool_manager: OpenAIBuiltInToolManager,
771
+ chat_service: ChatService | None = None,
772
+ language_model_service: LanguageModelService | None = None,
734
773
  ) -> None:
735
774
  self._builtin_tool_manager = builtin_tool_manager
736
775
  super().__init__(
@@ -742,6 +781,8 @@ class ResponsesApiToolManager(_ToolManager[Literal["responses"]]):
742
781
  a2a_manager=a2a_manager,
743
782
  api_mode="responses",
744
783
  builtin_tool_manager=builtin_tool_manager,
784
+ chat_service=chat_service,
785
+ language_model_service=language_model_service,
745
786
  )
746
787
 
747
788
  @classmethod
@@ -756,6 +797,8 @@ class ResponsesApiToolManager(_ToolManager[Literal["responses"]]):
756
797
  a2a_manager: A2AManager,
757
798
  api_mode: Literal["responses"] = "responses",
758
799
  builtin_tool_manager: OpenAIBuiltInToolManager | None = None,
800
+ chat_service: ChatService | None = None,
801
+ language_model_service: LanguageModelService | None = None,
759
802
  ) -> Self:
760
803
  if builtin_tool_manager is None:
761
804
  msg = "builtin_tool_manager is required for ResponsesApiToolManager"
@@ -769,6 +812,8 @@ class ResponsesApiToolManager(_ToolManager[Literal["responses"]]):
769
812
  a2a_manager=a2a_manager,
770
813
  api_mode=api_mode,
771
814
  builtin_tool_manager=builtin_tool_manager,
815
+ chat_service=chat_service,
816
+ language_model_service=language_model_service,
772
817
  )
773
818
 
774
819
  def get_required_include_params(self) -> list[ResponseIncludable]:
@@ -130,6 +130,7 @@ class LanguageModelName(StrEnum):
130
130
  LITELLM_DEEPSEEK_V4_PRO = "litellm:deepseek-v4-pro"
131
131
  LITELLM_GLM_5_1 = "litellm:glm-5.1"
132
132
  LITELLM_GLM_5_2 = "litellm:glm-5.2"
133
+ LITELLM_KIMI_K2_6 = "litellm:kimi-k2.6"
133
134
  LITELLM_QWEN_3 = "litellm:qwen-3-235B-A22B"
134
135
  LITELLM_QWEN_3_THINKING = "litellm:qwen-3-235B-A22B-thinking"
135
136
  VERTEX_CLAUDE_SONNET_4_6 = "litellm:vertex-claude-sonnet-4-6"
@@ -2737,7 +2738,26 @@ class LanguageModelInfo(BaseModel):
2737
2738
  ModelCapabilities.STREAMING,
2738
2739
  ],
2739
2740
  token_limits=LanguageModelTokenLimits(
2740
- token_limit_input=1_000_000, token_limit_output=128_000
2741
+ token_limit_input=256_000, token_limit_output=128_000
2742
+ ), # GLM-5.2 supports up to a 1_000_000 token context window. Together AI is supporting however only up to 256_000 tokens.
2743
+ published_at=date(2026, 1, 1),
2744
+ supported_reasoning_efforts=[],
2745
+ )
2746
+ case LanguageModelName.LITELLM_KIMI_K2_6:
2747
+ return cls(
2748
+ name=model_name,
2749
+ provider=LanguageModelProvider.LITELLM,
2750
+ family=ModelFamily.KIMI,
2751
+ version="kimi-k2.6",
2752
+ encoder_name=EncoderName.O200K_BASE,
2753
+ capabilities=[
2754
+ ModelCapabilities.FUNCTION_CALLING,
2755
+ ModelCapabilities.STRUCTURED_OUTPUT,
2756
+ ModelCapabilities.REASONING,
2757
+ ModelCapabilities.STREAMING,
2758
+ ],
2759
+ token_limits=LanguageModelTokenLimits(
2760
+ token_limit_input=256_000, token_limit_output=32_000
2741
2761
  ),
2742
2762
  published_at=date(2026, 1, 1),
2743
2763
  supported_reasoning_efforts=[],
@@ -20,6 +20,7 @@ class ModelFamily(StrEnum):
20
20
  GOOGLE = "google"
21
21
  XAI = "xai"
22
22
  DEEPSEEK = "deepseek"
23
+ KIMI = "kimi"
23
24
  QWEN = "qwen"
24
25
  MISTRAL = "mistral"
25
26
  ZAI = "zai"