unique_toolkit 1.32.1__tar.gz → 1.33.0__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 (197) hide show
  1. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/CHANGELOG.md +3 -0
  2. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/PKG-INFO +4 -1
  3. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/pyproject.toml +1 -1
  4. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/jinja/render.py +7 -1
  5. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/tool/config.py +77 -1
  6. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/tool/service.py +67 -3
  7. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/LICENSE +0 -0
  8. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/README.md +0 -0
  9. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/__init__.py +0 -0
  10. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  13. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  14. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  15. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  16. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  17. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  18. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  19. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/default_language_model.py +0 -0
  20. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  21. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/docx_generator/config.py +0 -0
  22. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  23. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/docx_generator/service.py +0 -0
  24. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  25. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/endpoint_builder.py +0 -0
  26. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  27. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/exception.py +0 -0
  28. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  29. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  30. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  31. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  32. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  33. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/referencing.py +0 -0
  34. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/string_utilities.py +0 -0
  35. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  36. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  37. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  38. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/token/token_counting.py +0 -0
  39. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/__init__.py +0 -0
  40. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/files.py +0 -0
  41. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/image/encode.py +0 -0
  42. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  43. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  44. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  45. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  46. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  47. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  48. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/validate_required_values.py +0 -0
  49. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/_common/validators.py +0 -0
  50. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/__init__.py +0 -0
  51. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  52. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  53. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
  54. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  55. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  56. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  57. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  58. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  59. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  60. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  61. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  62. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  63. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  64. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  65. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  66. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  67. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  68. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  69. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  70. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  71. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  72. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  73. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  74. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  75. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  76. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  77. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  78. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  79. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  80. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  81. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  82. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
  83. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  84. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  85. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  86. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  87. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  88. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  89. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  90. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  91. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  92. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  93. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  94. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  95. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  96. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  97. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  98. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  99. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  100. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  101. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  102. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  103. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  104. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  105. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  106. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  107. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/config.py +0 -0
  108. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/factory.py +0 -0
  109. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  110. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  111. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  112. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  113. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  114. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  115. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  116. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  117. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  118. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  119. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/schemas.py +0 -0
  120. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  121. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  122. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/tool.py +0 -0
  123. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  124. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  125. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  126. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
  127. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
  128. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  129. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  130. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  131. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  132. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/__init__.py +0 -0
  133. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/dev_util.py +0 -0
  134. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/fast_api_factory.py +0 -0
  135. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/init_logging.py +0 -0
  136. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/init_sdk.py +0 -0
  137. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/performance/async_tasks.py +0 -0
  138. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  139. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/schemas.py +0 -0
  140. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/unique_settings.py +0 -0
  141. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/verification.py +0 -0
  142. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/app/webhook.py +0 -0
  143. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/__init__.py +0 -0
  144. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/constants.py +0 -0
  145. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/deprecated/service.py +0 -0
  146. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/functions.py +0 -0
  147. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/rendering.py +0 -0
  148. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/responses_api.py +0 -0
  149. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/schemas.py +0 -0
  150. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/service.py +0 -0
  151. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/state.py +0 -0
  152. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/chat/utils.py +0 -0
  153. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/content/__init__.py +0 -0
  154. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/content/constants.py +0 -0
  155. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/content/functions.py +0 -0
  156. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/content/schemas.py +0 -0
  157. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/content/service.py +0 -0
  158. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/content/smart_rules.py +0 -0
  159. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/content/utils.py +0 -0
  160. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/embedding/__init__.py +0 -0
  161. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/embedding/constants.py +0 -0
  162. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/embedding/functions.py +0 -0
  163. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/embedding/schemas.py +0 -0
  164. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/embedding/service.py +0 -0
  165. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/embedding/utils.py +0 -0
  166. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
  167. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  168. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  169. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  170. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  171. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  172. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  173. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/framework_utilities/utils.py +0 -0
  174. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/__init__.py +0 -0
  175. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  176. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/builder.py +0 -0
  177. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/constants.py +0 -0
  178. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/default_language_model.py +0 -0
  179. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/functions.py +0 -0
  180. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/infos.py +0 -0
  181. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/prompt.py +0 -0
  182. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/reference.py +0 -0
  183. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/schemas.py +0 -0
  184. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/service.py +0 -0
  185. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/language_model/utils.py +0 -0
  186. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/protocols/support.py +0 -0
  187. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/services/__init__.py +0 -0
  188. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/services/chat_service.py +0 -0
  189. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/services/knowledge_base.py +0 -0
  190. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
  191. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/short_term_memory/constants.py +0 -0
  192. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/short_term_memory/functions.py +0 -0
  193. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/short_term_memory/schemas.py +0 -0
  194. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/short_term_memory/service.py +0 -0
  195. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/smart_rules/__init__.py +0 -0
  196. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/smart_rules/compile.py +0 -0
  197. {unique_toolkit-1.32.1 → unique_toolkit-1.33.0}/unique_toolkit/test_utilities/events.py +0 -0
@@ -5,6 +5,9 @@ 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.33.0] - 2025-11-28
9
+ - Add support for system reminders in sub agent responses.
10
+
8
11
  ## [1.32.1] - 2025-12-01
9
12
  - Added documentation for the toolkit,some missing type hints and doc string fixes.
10
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.32.1
3
+ Version: 1.33.0
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -121,6 +121,9 @@ All notable changes to this project will be documented in this file.
121
121
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
122
122
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
123
123
 
124
+ ## [1.33.0] - 2025-11-28
125
+ - Add support for system reminders in sub agent responses.
126
+
124
127
  ## [1.32.1] - 2025-12-01
125
128
  - Added documentation for the toolkit,some missing type hints and doc string fixes.
126
129
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.32.1"
3
+ version = "1.33.0"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -5,8 +5,14 @@ from jinja2 import Template
5
5
  from unique_toolkit._common.utils.jinja.schema import Jinja2PromptParams
6
6
 
7
7
 
8
- def render_template(template: str, params: Jinja2PromptParams | dict[str, Any]) -> str:
8
+ def render_template(
9
+ template: str, params: Jinja2PromptParams | dict[str, Any] | None = None, **kwargs
10
+ ) -> str:
11
+ params = params or {}
12
+
9
13
  if isinstance(params, Jinja2PromptParams):
10
14
  params = params.model_dump(exclude_none=True, mode="json")
11
15
 
16
+ params.update(kwargs)
17
+
12
18
  return Template(template, lstrip_blocks=True).render(**params)
@@ -1,10 +1,74 @@
1
- from typing import Literal
1
+ import re
2
+ from enum import StrEnum
3
+ from typing import Annotated, Generic, Literal, TypeVar
2
4
 
3
5
  from pydantic import Field
6
+ from pydantic.main import BaseModel
4
7
 
5
8
  from unique_toolkit._common.pydantic_helpers import get_configuration_dict
6
9
  from unique_toolkit.agentic.tools.schemas import BaseToolConfig
7
10
 
11
+
12
+ class SubAgentSystemReminderType(StrEnum):
13
+ FIXED = "fixed"
14
+ REGEXP = "regexp"
15
+ REFERENCE = "reference"
16
+
17
+
18
+ T = TypeVar("T", bound=SubAgentSystemReminderType)
19
+
20
+
21
+ class SystemReminderConfig(BaseModel, Generic[T]):
22
+ model_config = get_configuration_dict()
23
+
24
+ type: T
25
+
26
+
27
+ _SYSTEM_REMINDER_FIELD_DESCRIPTION = """
28
+ The reminder to add to the tool response. The reminder can be a Jinja template and can contain the following placeholders:
29
+ - {{ display_name }}: The display name of the sub agent.
30
+ - {{ tool_name }}: The tool name.
31
+ """.strip()
32
+
33
+
34
+ class ReferenceSystemReminderConfig(SystemReminderConfig):
35
+ type: Literal[SubAgentSystemReminderType.REFERENCE] = (
36
+ SubAgentSystemReminderType.REFERENCE
37
+ )
38
+ reminder: str = Field(
39
+ default="Rememeber to properly reference EACH fact from sub agent {{ display_name }}'s response with the correct format INLINE.",
40
+ description=_SYSTEM_REMINDER_FIELD_DESCRIPTION,
41
+ )
42
+
43
+
44
+ class FixedSystemReminderConfig(SystemReminderConfig):
45
+ type: Literal[SubAgentSystemReminderType.FIXED] = SubAgentSystemReminderType.FIXED
46
+ reminder: str = Field(
47
+ description=_SYSTEM_REMINDER_FIELD_DESCRIPTION,
48
+ )
49
+
50
+
51
+ _REGEXP_DETECTED_REMINDER_FIELD_DESCRIPTION = """
52
+ The reminder to add to the tool response. The reminder can be a Jinja template and can contain the following placeholders:
53
+ - {{ display_name }}: The display name of the sub agent.
54
+ - {{ tool_name }}: The tool name.
55
+ - {{ text_matches }}: Will be replaced with the portions of the text that triggered the reminder.
56
+ """.strip()
57
+
58
+
59
+ class RegExpDetectedSystemReminderConfig(SystemReminderConfig):
60
+ """A system reminder that is only added if the sub agent response matches a regular expression."""
61
+
62
+ type: Literal[SubAgentSystemReminderType.REGEXP] = SubAgentSystemReminderType.REGEXP
63
+
64
+ regexp: re.Pattern[str] = Field(
65
+ description="The regular expression to use to detect whether the system reminder should be added.",
66
+ )
67
+ reminder: str = Field(
68
+ description=_REGEXP_DETECTED_REMINDER_FIELD_DESCRIPTION,
69
+ )
70
+
71
+
8
72
  DEFAULT_PARAM_DESCRIPTION_SUB_AGENT_USER_MESSAGE = """
9
73
  This is the message that will be sent to the sub-agent.
10
74
  """.strip()
@@ -80,3 +144,15 @@ class SubAgentToolConfig(BaseToolConfig):
80
144
  default=False,
81
145
  description="If set, the sub-agent response will be interpreted as a list of content chunks.",
82
146
  )
147
+
148
+ system_reminders_config: list[
149
+ Annotated[
150
+ FixedSystemReminderConfig
151
+ | RegExpDetectedSystemReminderConfig
152
+ | ReferenceSystemReminderConfig,
153
+ Field(discriminator="type"),
154
+ ]
155
+ ] = Field(
156
+ default=[],
157
+ description="Configuration for the system reminders to add to the tool response.",
158
+ )
@@ -4,7 +4,7 @@ import json
4
4
  import logging
5
5
  import re
6
6
  from datetime import datetime
7
- from typing import override
7
+ from typing import cast, override
8
8
 
9
9
  import unique_sdk
10
10
  from pydantic import Field, TypeAdapter, create_model
@@ -15,6 +15,7 @@ from unique_toolkit._common.referencing import (
15
15
  remove_all_refs,
16
16
  replace_ref_number,
17
17
  )
18
+ from unique_toolkit._common.utils.jinja.render import render_template
18
19
  from unique_toolkit.agentic.evaluation.schemas import EvaluationMetricName
19
20
  from unique_toolkit.agentic.tools.a2a.response_watcher import SubAgentResponseWatcher
20
21
  from unique_toolkit.agentic.tools.a2a.tool._memory import (
@@ -25,6 +26,8 @@ from unique_toolkit.agentic.tools.a2a.tool._schema import (
25
26
  SubAgentToolInput,
26
27
  )
27
28
  from unique_toolkit.agentic.tools.a2a.tool.config import (
29
+ RegExpDetectedSystemReminderConfig,
30
+ SubAgentSystemReminderType,
28
31
  SubAgentToolConfig,
29
32
  )
30
33
  from unique_toolkit.agentic.tools.factory import ToolFactory
@@ -215,12 +218,63 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
215
218
  )
216
219
 
217
220
  return ToolCallResponse(
218
- id=tool_call.id, # type: ignore
221
+ id=tool_call.id,
219
222
  name=tool_call.name,
220
- content=content,
223
+ content=_format_response(
224
+ tool_name=self.name,
225
+ text=content,
226
+ system_reminders=self._get_system_reminders(response),
227
+ ),
221
228
  content_chunks=content_chunks,
222
229
  )
223
230
 
231
+ def _get_system_reminders(self, message: unique_sdk.Space.Message) -> list[str]:
232
+ reminders = []
233
+ for reminder_config in self.config.system_reminders_config:
234
+ if reminder_config.type == SubAgentSystemReminderType.FIXED:
235
+ reminders.append(
236
+ render_template(
237
+ reminder_config.reminder,
238
+ display_name=self.display_name(),
239
+ tool_name=self.name,
240
+ )
241
+ )
242
+ elif (
243
+ reminder_config.type == SubAgentSystemReminderType.REFERENCE
244
+ and self.config.use_sub_agent_references
245
+ and message["references"] is not None
246
+ and len(message["references"]) > 0
247
+ ):
248
+ reminders.append(
249
+ render_template(
250
+ reminder_config.reminder,
251
+ display_name=self.display_name(),
252
+ tool_name=self.name,
253
+ )
254
+ )
255
+ elif (
256
+ reminder_config.type == SubAgentSystemReminderType.REGEXP
257
+ and message["text"] is not None
258
+ ):
259
+ reminder_config = cast(
260
+ RegExpDetectedSystemReminderConfig, reminder_config
261
+ )
262
+ text_matches = [
263
+ match.group(0)
264
+ for match in reminder_config.regexp.finditer(message["text"])
265
+ ]
266
+ if len(text_matches) > 0:
267
+ reminders.append(
268
+ render_template(
269
+ reminder_config.reminder,
270
+ display_name=self.display_name(),
271
+ tool_name=self.name,
272
+ text_matches=text_matches,
273
+ )
274
+ )
275
+
276
+ return reminders
277
+
224
278
  async def _get_chat_id(self) -> str | None:
225
279
  if not self.config.reuse_chat:
226
280
  return None
@@ -326,4 +380,14 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
326
380
  ) from e
327
381
 
328
382
 
383
+ def _format_response(tool_name: str, text: str, system_reminders: list[str]) -> str:
384
+ if len(system_reminders) == 0:
385
+ return text
386
+
387
+ reponse_key = f"{tool_name} response"
388
+ response = {reponse_key: text, "SYSTEM_REMINDERS": system_reminders}
389
+
390
+ return json.dumps(response, indent=2)
391
+
392
+
329
393
  ToolFactory.register_tool(SubAgentTool, SubAgentToolConfig)
File without changes