unique-toolkit 2026.32.0.dev3__tar.gz → 2026.32.0.dev5__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 (423) hide show
  1. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/PKG-INFO +2 -2
  2. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/pyproject.toml +2 -2
  3. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +42 -0
  4. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +31 -0
  5. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/tool/service.py +53 -2
  6. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +73 -0
  7. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/monitoring/middleware.py +48 -10
  8. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/README.md +0 -0
  9. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/__init__.py +0 -0
  10. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/__init__.py +0 -0
  11. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/_base_service.py +0 -0
  12. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/_time_utils.py +0 -0
  13. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  14. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  15. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  16. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  17. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  18. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  19. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  20. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/README.md +0 -0
  21. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  22. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  23. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/cli.py +0 -0
  24. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/differ.py +0 -0
  25. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  26. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/models.py +0 -0
  27. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/registry.py +0 -0
  28. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/config_checker/validator.py +0 -0
  29. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/default_language_model.py +0 -0
  30. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  31. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/docx_generator/config.py +0 -0
  32. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  33. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  34. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/docx_generator/service.py +0 -0
  35. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  36. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/endpoint_builder.py +0 -0
  37. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  38. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/event_bus.py +0 -0
  39. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/exception.py +0 -0
  40. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/execution.py +0 -0
  41. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  42. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  43. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  44. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  45. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  46. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  47. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  48. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  49. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  50. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  51. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  52. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  53. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  54. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  55. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  56. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  57. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  58. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  59. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  60. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  61. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  62. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  63. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  64. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  65. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  66. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  67. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  68. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  69. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
  70. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  71. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  72. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/referencing.py +0 -0
  73. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/string_utilities.py +0 -0
  74. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  75. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  76. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/token/__init__.py +0 -0
  77. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  78. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/token/token_counting.py +0 -0
  79. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  80. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  81. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/__init__.py +0 -0
  82. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/files.py +0 -0
  83. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/image/encode.py +0 -0
  84. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  85. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  86. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  87. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  88. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  89. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  90. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  91. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/validate_required_values.py +0 -0
  92. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/_common/validators.py +0 -0
  93. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/__init__.py +0 -0
  94. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  95. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/config.py +0 -0
  96. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  97. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  98. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  99. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  100. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  101. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  102. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  103. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  104. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  105. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  106. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  107. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  108. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  109. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  110. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  111. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  112. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  113. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  114. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  115. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  116. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +0 -0
  117. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  118. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  119. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  120. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  121. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  122. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  123. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  124. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  125. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  126. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/history_manager/settings.py +0 -0
  127. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  128. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  129. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  130. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  131. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  132. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  133. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  134. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  135. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  136. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  137. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  138. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  139. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  140. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  141. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  142. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  143. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  144. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  145. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  146. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  147. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/message_log_order.py +0 -0
  148. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  149. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
  150. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  151. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  152. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  153. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  154. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  155. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  156. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/__init__.py +0 -0
  157. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  158. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  159. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  160. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  161. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  162. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  163. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  164. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  165. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  166. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  167. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  168. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  169. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  170. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  171. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  172. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  173. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  174. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
  175. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  176. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  177. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  178. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  179. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  180. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  181. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  182. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  183. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/config.py +0 -0
  184. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  185. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
  186. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
  187. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +0 -0
  188. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  189. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  190. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  191. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  192. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
  193. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
  194. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
  195. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  196. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  197. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  198. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  199. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  200. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  201. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  202. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  203. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  204. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/factory.py +0 -0
  205. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  206. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  207. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  208. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  209. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/names.py +0 -0
  210. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  211. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  212. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  213. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/__init__.py +0 -0
  214. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/config.py +0 -0
  215. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/service.py +0 -0
  216. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/__init__.py +0 -0
  217. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_container.py +0 -0
  218. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_files.py +0 -0
  219. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_memory.py +0 -0
  220. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/builder.py +0 -0
  221. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  222. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  223. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
  224. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  225. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  226. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  227. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/__init__.py +0 -0
  228. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/config.py +0 -0
  229. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/service.py +0 -0
  230. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  231. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/run_context.py +0 -0
  232. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/schemas.py +0 -0
  233. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  234. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  235. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/tool.py +0 -0
  236. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  237. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  238. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  239. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  240. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  241. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  242. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  243. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic_table/__init__.py +0 -0
  244. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic_table/schemas.py +0 -0
  245. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic_table/service.py +0 -0
  246. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
  247. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/__init__.py +0 -0
  248. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  249. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/dev_util.py +0 -0
  250. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/fast_api_factory.py +0 -0
  251. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/feature_flags.py +0 -0
  252. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/find_env_file.py +0 -0
  253. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/init_logging.py +0 -0
  254. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/init_sdk.py +0 -0
  255. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/performance/async_tasks.py +0 -0
  256. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  257. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/schemas.py +0 -0
  258. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/unique_settings.py +0 -0
  259. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/verification.py +0 -0
  260. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/app/webhook.py +0 -0
  261. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/__init__.py +0 -0
  262. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/cancellation.py +0 -0
  263. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/constants.py +0 -0
  264. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/deprecated/__init__.py +0 -0
  265. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/deprecated/service.py +0 -0
  266. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/functions.py +0 -0
  267. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/rendering.py +0 -0
  268. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/responses_api.py +0 -0
  269. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/schemas.py +0 -0
  270. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/service.py +0 -0
  271. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/state.py +0 -0
  272. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/chat/utils.py +0 -0
  273. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/content/__init__.py +0 -0
  274. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/content/constants.py +0 -0
  275. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/content/functions.py +0 -0
  276. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/content/schemas.py +0 -0
  277. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/content/service.py +0 -0
  278. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/content/smart_rules.py +0 -0
  279. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/content/utils.py +0 -0
  280. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/README.md +0 -0
  281. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/__init__.py +0 -0
  282. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  283. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  284. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/base.py +0 -0
  285. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  286. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/basic/config.py +0 -0
  287. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  288. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/data_extraction/basic/service.py +0 -0
  289. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/elicitation/__init__.py +0 -0
  290. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/elicitation/constants.py +0 -0
  291. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/elicitation/exceptions.py +0 -0
  292. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/elicitation/functions.py +0 -0
  293. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/elicitation/schemas.py +0 -0
  294. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/elicitation/service.py +0 -0
  295. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/embedding/__init__.py +0 -0
  296. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/embedding/constants.py +0 -0
  297. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/embedding/functions.py +0 -0
  298. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/embedding/schemas.py +0 -0
  299. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/embedding/service.py +0 -0
  300. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/embedding/utils.py +0 -0
  301. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/README.md +0 -0
  302. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/__init__.py +0 -0
  303. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/_internal/__init__.py +0 -0
  304. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
  305. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
  306. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
  307. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/__init__.py +0 -0
  308. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/_base.py +0 -0
  309. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
  310. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
  311. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
  312. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
  313. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
  314. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
  315. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
  316. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
  317. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
  318. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
  319. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
  320. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
  321. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
  322. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
  323. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
  324. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
  325. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
  326. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
  327. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
  328. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
  329. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
  330. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  331. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/identity/__init__.py +0 -0
  332. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/__init__.py +0 -0
  333. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
  334. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
  335. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
  336. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
  337. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
  338. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
  339. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
  340. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
  341. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
  342. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
  343. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
  344. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
  345. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
  346. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
  347. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
  348. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
  349. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
  350. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
  351. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
  352. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
  353. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
  354. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
  355. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
  356. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/__init__.py +0 -0
  357. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
  358. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
  359. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
  360. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
  361. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
  362. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
  363. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
  364. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
  365. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/feature_flags/__init__.py +0 -0
  366. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
  367. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
  368. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/feature_flags/client.py +0 -0
  369. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
  370. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
  371. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
  372. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/group/functions.py +0 -0
  373. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
  374. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/group/service.py +0 -0
  375. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
  376. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
  377. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
  378. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
  379. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
  380. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
  381. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/user/functions.py +0 -0
  382. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
  383. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/resources/user/service.py +0 -0
  384. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/experimental/testing/__init__.py +0 -0
  385. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/__init__.py +0 -0
  386. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  387. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  388. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  389. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  390. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  391. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  392. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/framework_utilities/utils.py +0 -0
  393. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/__init__.py +0 -0
  394. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  395. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/builder.py +0 -0
  396. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/constants.py +0 -0
  397. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/default_language_model.py +0 -0
  398. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/functions.py +0 -0
  399. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/infos.py +0 -0
  400. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/invocation_stats.py +0 -0
  401. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/prompt.py +0 -0
  402. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/reference.py +0 -0
  403. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/schemas.py +0 -0
  404. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/service.py +0 -0
  405. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/settings.py +0 -0
  406. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/stream_transform.py +0 -0
  407. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/language_model/utils.py +0 -0
  408. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/monitoring/__init__.py +0 -0
  409. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/monitoring/gunicorn.py +0 -0
  410. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/monitoring/registry.py +0 -0
  411. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/protocols/support.py +0 -0
  412. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/services/__init__.py +0 -0
  413. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/services/chat_service.py +0 -0
  414. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/services/factory.py +0 -0
  415. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/services/knowledge_base.py +0 -0
  416. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/short_term_memory/__init__.py +0 -0
  417. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/short_term_memory/constants.py +0 -0
  418. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/short_term_memory/functions.py +0 -0
  419. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/short_term_memory/schemas.py +0 -0
  420. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/short_term_memory/service.py +0 -0
  421. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/smart_rules/__init__.py +0 -0
  422. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/unique_toolkit/smart_rules/compile.py +0 -0
  423. {unique_toolkit-2026.32.0.dev3 → unique_toolkit-2026.32.0.dev5}/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.32.0.dev3
3
+ Version: 2026.32.0.dev5
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.32.0.dev2,<2026.32.0rc0
19
+ Requires-Dist: unique-sdk>=2026.32.0.dev8,<2026.32.0rc0
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.32.0.dev3"
3
+ version = "2026.32.0.dev5"
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.32.0.dev2,<2026.32.0rc0",
31
+ "unique-sdk>=2026.32.0.dev8,<2026.32.0rc0",
32
32
  "jambo>=0.1.2,<0.2",
33
33
  "jinja2>=3.1.6,<4",
34
34
  "docxtpl>=0.20.1,<0.21",
@@ -1,3 +1,4 @@
1
+ from collections import defaultdict
1
2
  from typing import Any, Required, TypedDict
2
3
 
3
4
  from unique_toolkit.agentic.tools.openai_builtin import OpenAICodeInterpreterTool
@@ -7,8 +8,10 @@ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors
7
8
  )
8
9
  from unique_toolkit.agentic.tools.schemas import ToolCallResponse
9
10
  from unique_toolkit.agentic.tools.tool_manager import ToolManager
11
+ from unique_toolkit.language_model.invocation_stats import LanguageModelInvocationStats
10
12
  from unique_toolkit.language_model.schemas import (
11
13
  LanguageModelStreamResponse,
14
+ LanguageModelTokenUsage,
12
15
  ResponsesLanguageModelStreamResponse,
13
16
  )
14
17
 
@@ -40,6 +43,16 @@ class AnalyticsToolName(TypedDict):
40
43
  display_name: str
41
44
 
42
45
 
46
+ class AnalyticsTokenUsage(TypedDict):
47
+ model_name: str
48
+ completion_tokens: int | None
49
+ prompt_tokens: int | None
50
+ total_tokens: int | None
51
+ reasoning_tokens: int | None
52
+ cached_tokens: int | None
53
+ cache_write_tokens: int | None
54
+
55
+
43
56
  class Analytics(TypedDict):
44
57
  answer_length: int
45
58
  artifacts_created_count: int | None
@@ -54,6 +67,7 @@ class Analytics(TypedDict):
54
67
  references_count: int
55
68
  skills_used: list[AnalyticsSkill]
56
69
  subagent_names_used: list[AnalyticsToolName]
70
+ tokens: list[AnalyticsTokenUsage]
57
71
  tool_call_count: int
58
72
  tools_used: list[AnalyticsTool]
59
73
  total_time_to_answer_ms: int | None
@@ -115,6 +129,7 @@ class DebugInfoManager:
115
129
  total_time_to_answer_ms: int | None = None,
116
130
  artifacts: ArtifactsDebugInfo | None = None,
117
131
  context_memory_updated: bool | None = None,
132
+ invocations: list[LanguageModelInvocationStats] | None = None,
118
133
  ) -> None:
119
134
  """Add a stable 'analytics' snapshot for downstream ROI/usage reporting.
120
135
 
@@ -152,6 +167,7 @@ class DebugInfoManager:
152
167
  loop_iteration_count=loop_iteration_count,
153
168
  subagent_names_used=_unique_tool_names(analytics_tools, "is_sub_agent"),
154
169
  mcp_tool_names_used=_unique_tool_names(analytics_tools, "is_mcp"),
170
+ tokens=_aggregate_tokens_by_model(invocations or []),
155
171
  total_time_to_answer_ms=total_time_to_answer_ms,
156
172
  artifacts_created_count=artifacts["count"] if artifacts else None,
157
173
  artifacts_created_filetype=artifacts["filetypes"] if artifacts else None,
@@ -163,6 +179,32 @@ class DebugInfoManager:
163
179
  self.add("analytics", analytics)
164
180
 
165
181
 
182
+ def _aggregate_tokens_by_model(
183
+ invocations: list[LanguageModelInvocationStats],
184
+ ) -> list[AnalyticsTokenUsage]:
185
+ usages_by_model: dict[str, list[LanguageModelTokenUsage]] = defaultdict(list)
186
+ for invocation in invocations:
187
+ usages_by_model[str(invocation.model_name)].append(invocation.token_usage)
188
+
189
+ totals: list[AnalyticsTokenUsage] = []
190
+ for model_name in sorted(usages_by_model):
191
+ usage = LanguageModelTokenUsage.sum_usages(usages_by_model[model_name])
192
+ if usage is None:
193
+ continue
194
+ totals.append(
195
+ AnalyticsTokenUsage(
196
+ model_name=model_name,
197
+ completion_tokens=usage.completion_tokens,
198
+ prompt_tokens=usage.prompt_tokens,
199
+ total_tokens=usage.total_tokens,
200
+ reasoning_tokens=usage.reasoning_tokens,
201
+ cached_tokens=usage.cached_tokens,
202
+ cache_write_tokens=usage.cache_write_tokens,
203
+ )
204
+ )
205
+ return totals
206
+
207
+
166
208
  def _unique_tool_names(
167
209
  analytics_tools: list[AnalyticsTool], flag: str
168
210
  ) -> list[AnalyticsToolName]:
@@ -41,6 +41,17 @@ class Postprocessor(ABC):
41
41
  """Override in subclasses whose `run()` makes its own LLM call(s)."""
42
42
  return []
43
43
 
44
+ def take_pending_invocation_stats(self) -> list[LanguageModelInvocationStats]:
45
+ """Pop usage incurred before this turn's `run()` was reached.
46
+
47
+ Called unconditionally at the start of every turn so usage from work
48
+ done ahead of postprocessing (e.g. a load-time LLM call) is still
49
+ reported on turns that exit before `run()` executes. Override in
50
+ subclasses that do such work; must clear the pending stats so `run()`
51
+ does not report them a second time.
52
+ """
53
+ return []
54
+
44
55
 
45
56
  class ResponsesApiPostprocessor(ABC):
46
57
  def __init__(self, name: str):
@@ -74,6 +85,13 @@ class ResponsesApiPostprocessor(ABC):
74
85
  """
75
86
  return []
76
87
 
88
+ def take_pending_invocation_stats(self) -> list[LanguageModelInvocationStats]:
89
+ """Pop usage incurred before this turn's `run()` was reached.
90
+
91
+ See `Postprocessor.take_pending_invocation_stats` for why this exists.
92
+ """
93
+ return []
94
+
77
95
 
78
96
  class PostprocessorManager:
79
97
  """
@@ -196,6 +214,19 @@ class PostprocessorManager:
196
214
  """Per-LLM-call stats from every postprocessor that made its own LLM call(s)."""
197
215
  return list(self._invocation_stats)
198
216
 
217
+ def take_pending_invocation_stats(self) -> list[LanguageModelInvocationStats]:
218
+ """Pop pre-`run()` usage (e.g. load-time calls) from every postprocessor.
219
+
220
+ Call this unconditionally at the start of a turn, before it's known
221
+ whether `run_postprocessors` will even be reached this turn, so that
222
+ usage is never silently dropped on turns that exit early.
223
+ """
224
+ return [
225
+ invocation
226
+ for postprocessor in self._get_all_postprocessors()
227
+ for invocation in postprocessor.take_pending_invocation_stats()
228
+ ]
229
+
199
230
  async def execute_postprocessors(
200
231
  self,
201
232
  loop_response: LanguageModelStreamResponse,
@@ -4,12 +4,15 @@ 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 Any, override
8
8
 
9
9
  import unique_sdk
10
10
  from pydantic import Field, TypeAdapter, create_model
11
11
  from unique_sdk.api_resources._space import Space
12
- from unique_sdk.utils.chat_in_space import send_message_and_wait_for_completion
12
+ from unique_sdk.utils.chat_in_space import (
13
+ get_message_invocations,
14
+ send_message_and_wait_for_completion,
15
+ )
13
16
 
14
17
  from unique_toolkit._common.execution import SafeTaskExecutor
15
18
  from unique_toolkit._common.referencing import (
@@ -55,6 +58,7 @@ from unique_toolkit.language_model import (
55
58
  LanguageModelService,
56
59
  LanguageModelToolDescription,
57
60
  )
61
+ from unique_toolkit.language_model.invocation_stats import LanguageModelInvocationStats
58
62
 
59
63
  logger = logging.getLogger(__name__)
60
64
 
@@ -296,6 +300,13 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
296
300
  if self.config.passthrough_config.enabled:
297
301
  await self._display_sub_agent_response(response)
298
302
 
303
+ sub_agent_invocations = _prefix_sub_agent_invocation_sources(
304
+ invocations=_parse_sub_agent_invocation_stats(
305
+ get_message_invocations(response)
306
+ ),
307
+ tool_name=self.name,
308
+ tool_call_id=tool_call.id,
309
+ )
299
310
  return ToolCallResponse(
300
311
  id=tool_call.id,
301
312
  name=tool_call.name,
@@ -307,9 +318,12 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
307
318
  content_chunks=content_chunks,
308
319
  debug_info={
309
320
  "chat_id": response["chatId"],
321
+ "user_message_id": response.get("triggeringUserMessageId"),
322
+ "assistant_message_id": response.get("id"),
310
323
  "assistant_id": self.config.assistant_id,
311
324
  "display_name": self._display_name,
312
325
  },
326
+ invocation_stats=sub_agent_invocations,
313
327
  )
314
328
  except TimeoutError as e:
315
329
  raise e
@@ -495,6 +509,7 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
495
509
  parentAssistantId=self.config.assistant_id,
496
510
  ),
497
511
  on_message_update=on_message_update,
512
+ wait_for_invocations=True,
498
513
  )
499
514
  except TimeoutError as e:
500
515
  await self._notify_progress(
@@ -513,6 +528,42 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
513
528
  ) from e
514
529
 
515
530
 
531
+ def _parse_sub_agent_invocation_stats(
532
+ raw_invocations: list[dict[str, Any]],
533
+ ) -> list[LanguageModelInvocationStats]:
534
+ """Deserialize sub-agent invocation stats, ignoring malformed entries.
535
+
536
+ A single unparseable entry (e.g. a stale model name) must not fail the
537
+ whole tool call and drop an otherwise-successful sub-agent reply -- see
538
+ `_load_invocation_stats_from_debug_info` in unique_orchestrator, which
539
+ applies the same per-entry tolerance for the same reason.
540
+ """
541
+ invocations: list[LanguageModelInvocationStats] = []
542
+ for raw_invocation in raw_invocations:
543
+ try:
544
+ invocations.append(
545
+ LanguageModelInvocationStats.model_validate(raw_invocation)
546
+ )
547
+ except Exception:
548
+ logger.warning(
549
+ "Ignoring malformed sub-agent LLM invocation stats",
550
+ exc_info=True,
551
+ )
552
+ return invocations
553
+
554
+
555
+ def _prefix_sub_agent_invocation_sources(
556
+ invocations: list[LanguageModelInvocationStats],
557
+ tool_name: str,
558
+ tool_call_id: str,
559
+ ) -> list[LanguageModelInvocationStats]:
560
+ prefix = f"subagent.{tool_name}.{tool_call_id}"
561
+ return [
562
+ invocation.model_copy(update={"source": f"{prefix}.{invocation.source}"})
563
+ for invocation in invocations
564
+ ]
565
+
566
+
516
567
  def _format_response(tool_name: str, text: str, system_reminders: list[str]) -> str:
517
568
  if len(system_reminders) == 0:
518
569
  return text
@@ -17,6 +17,7 @@ from unique_toolkit.agentic.tools.a2a.tool.config import (
17
17
  from unique_toolkit.agentic.tools.a2a.tool.service import (
18
18
  _format_response,
19
19
  _get_sub_agent_system_reminders,
20
+ _parse_sub_agent_invocation_stats,
20
21
  _prepare_sub_agent_response_refs,
21
22
  _remove_extra_refs,
22
23
  _response_has_refs,
@@ -59,6 +60,78 @@ def refs_list() -> list[dict[str, Any]]:
59
60
  ]
60
61
 
61
62
 
63
+ # Tests for _parse_sub_agent_invocation_stats
64
+
65
+
66
+ @pytest.mark.ai
67
+ def test_parse_sub_agent_invocation_stats__skips_malformed_entry__keeps_valid_ones() -> (
68
+ None
69
+ ):
70
+ """
71
+ Purpose: Verify one malformed invocation entry doesn't discard the rest.
72
+ Why this matters: A single bad entry must not fail the whole sub-agent tool
73
+ call and drop an otherwise-successful reply.
74
+ Setup summary: Mix a valid entry with a malformed one (missing required
75
+ fields), verify only the valid entry survives.
76
+ """
77
+ # Arrange
78
+ raw_invocations = [
79
+ {
80
+ "modelName": "gpt-4",
81
+ "tokenUsage": {"totalTokens": 10},
82
+ "source": "main_loop",
83
+ },
84
+ {"modelName": "gpt-4"}, # missing required tokenUsage/source
85
+ ]
86
+
87
+ # Act
88
+ result = _parse_sub_agent_invocation_stats(raw_invocations)
89
+
90
+ # Assert
91
+ assert len(result) == 1
92
+ assert result[0].source == "main_loop"
93
+
94
+
95
+ @pytest.mark.ai
96
+ def test_parse_sub_agent_invocation_stats__returns_empty__when_all_malformed() -> None:
97
+ """
98
+ Purpose: Verify an all-malformed list returns empty instead of raising.
99
+ Why this matters: The sub-agent tool call must still succeed and return the
100
+ answer even if every persisted stats entry is unparseable.
101
+ Setup summary: Only malformed entries, assert empty list with no exception.
102
+ """
103
+ # Arrange
104
+ raw_invocations = [{"modelName": "gpt-4"}, {"source": "main_loop"}]
105
+
106
+ # Act
107
+ result = _parse_sub_agent_invocation_stats(raw_invocations)
108
+
109
+ # Assert
110
+ assert result == []
111
+
112
+
113
+ @pytest.mark.ai
114
+ def test_parse_sub_agent_invocation_stats__parses_all__when_all_valid() -> None:
115
+ """
116
+ Purpose: Verify parsing is unaffected by the malformed-entry tolerance
117
+ when every entry is well-formed.
118
+ Why this matters: The fix must not silently drop good data too.
119
+ Setup summary: Two valid entries, assert both are returned.
120
+ """
121
+ # Arrange
122
+ raw_invocations = [
123
+ {"modelName": "gpt-4", "tokenUsage": {"totalTokens": 3}, "source": "a"},
124
+ {"modelName": "gpt-4", "tokenUsage": {"totalTokens": 5}, "source": "b"},
125
+ ]
126
+
127
+ # Act
128
+ result = _parse_sub_agent_invocation_stats(raw_invocations)
129
+
130
+ # Assert
131
+ assert len(result) == 2
132
+ assert [inv.source for inv in result] == ["a", "b"]
133
+
134
+
62
135
  # Tests for _format_response
63
136
 
64
137
 
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import time
4
+ from collections.abc import Sequence
4
5
 
5
6
  from prometheus_client import ( # pyright: ignore[reportMissingImports]
6
7
  Counter,
@@ -16,12 +17,6 @@ _http_requests_total = Counter(
16
17
  ["method", "path", "status_code"],
17
18
  registry=REGISTRY,
18
19
  )
19
- _http_request_duration_seconds = Histogram(
20
- "python_http_request_duration_seconds",
21
- "HTTP request duration",
22
- ["method", "path"],
23
- registry=REGISTRY,
24
- )
25
20
  _http_requests_in_progress = Gauge(
26
21
  "python_http_requests_in_progress",
27
22
  "In-flight HTTP requests",
@@ -30,6 +25,35 @@ _http_requests_in_progress = Gauge(
30
25
  multiprocess_mode="livesum",
31
26
  )
32
27
 
28
+ # Created lazily on first MetricsMiddleware construction so services can choose the
29
+ # bucket layout. Prometheus allows a metric name to be registered only once per
30
+ # registry, so the buckets passed to the first middleware win for the process.
31
+ _http_request_duration_seconds: Histogram | None = None
32
+
33
+
34
+ def _get_or_create_duration_histogram(
35
+ buckets: Sequence[float] | None,
36
+ ) -> Histogram:
37
+ global _http_request_duration_seconds
38
+ if _http_request_duration_seconds is None:
39
+ if buckets is None:
40
+ _http_request_duration_seconds = Histogram(
41
+ "python_http_request_duration_seconds",
42
+ "HTTP request duration",
43
+ ["method", "path"],
44
+ registry=REGISTRY,
45
+ )
46
+ else:
47
+ _http_request_duration_seconds = Histogram(
48
+ "python_http_request_duration_seconds",
49
+ "HTTP request duration",
50
+ ["method", "path"],
51
+ registry=REGISTRY,
52
+ buckets=tuple(buckets),
53
+ )
54
+ return _http_request_duration_seconds
55
+
56
+
33
57
  _DEFAULT_EXCLUDED_PATHS = frozenset({"/health", "/metrics", "/"})
34
58
 
35
59
 
@@ -51,13 +75,29 @@ class MetricsMiddleware:
51
75
 
52
76
  # Quart
53
77
  app.asgi_app = MetricsMiddleware(app.asgi_app)
78
+
79
+ ``duration_buckets`` overrides the latency histogram buckets (seconds). Without
80
+ it, prometheus_client's defaults apply and their top finite bucket is 10s —
81
+ histogram_quantile cannot resolve past the largest finite bucket, so services
82
+ with slower endpoints should pass buckets covering their full latency range::
83
+
84
+ app.add_middleware(MetricsMiddleware, duration_buckets=(1, 5, 30, 60, 120))
85
+
86
+ The histogram is registered once per process; the buckets of the first
87
+ constructed middleware apply.
54
88
  """
55
89
 
56
- def __init__(self, app, excluded_paths: set[str] | None = None):
90
+ def __init__(
91
+ self,
92
+ app,
93
+ excluded_paths: set[str] | None = None,
94
+ duration_buckets: Sequence[float] | None = None,
95
+ ):
57
96
  self.app = app
58
97
  self._excluded_paths = (
59
98
  excluded_paths if excluded_paths is not None else _DEFAULT_EXCLUDED_PATHS
60
99
  )
100
+ self._duration = _get_or_create_duration_histogram(duration_buckets)
61
101
 
62
102
  async def __call__(self, scope, receive, send):
63
103
  # Pass through non-HTTP (WebSocket, lifespan)
@@ -87,9 +127,7 @@ class MetricsMiddleware:
87
127
  finally:
88
128
  duration = time.perf_counter() - start
89
129
  _http_requests_in_progress.labels(method=method).dec()
90
- _http_request_duration_seconds.labels(method=method, path=path).observe(
91
- duration
92
- )
130
+ self._duration.labels(method=method, path=path).observe(duration)
93
131
  _http_requests_total.labels(
94
132
  method=method, path=path, status_code=status_code
95
133
  ).inc()