unique-toolkit 2026.32.0.dev4__tar.gz → 2026.32.0.dev6__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 (424) hide show
  1. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/PKG-INFO +3 -2
  2. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/pyproject.toml +3 -2
  3. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +66 -18
  4. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/invocation_stats.py +8 -1
  5. unique_toolkit-2026.32.0.dev6/unique_toolkit/language_model/model_costs.py +118 -0
  6. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/monitoring/middleware.py +48 -10
  7. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/README.md +0 -0
  8. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/__init__.py +0 -0
  9. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/__init__.py +0 -0
  10. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  13. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  14. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  15. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  16. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  17. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  18. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  19. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/README.md +0 -0
  20. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  21. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  22. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/cli.py +0 -0
  23. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/differ.py +0 -0
  24. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  25. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/models.py +0 -0
  26. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/registry.py +0 -0
  27. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/config_checker/validator.py +0 -0
  28. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/default_language_model.py +0 -0
  29. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  30. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/docx_generator/config.py +0 -0
  31. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  32. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  33. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/docx_generator/service.py +0 -0
  34. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  35. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/endpoint_builder.py +0 -0
  36. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  37. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/event_bus.py +0 -0
  38. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/exception.py +0 -0
  39. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/execution.py +0 -0
  40. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  41. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  42. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  43. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  44. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  45. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  46. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  47. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  48. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  49. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  50. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  51. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  52. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  53. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  54. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  55. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  56. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  57. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  58. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  59. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  60. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  61. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  62. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  63. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  64. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  65. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  66. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  67. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  68. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
  69. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  70. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  71. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/referencing.py +0 -0
  72. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/string_utilities.py +0 -0
  73. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  74. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  75. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/token/__init__.py +0 -0
  76. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  77. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/token/token_counting.py +0 -0
  78. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  79. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  80. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/__init__.py +0 -0
  81. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/files.py +0 -0
  82. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/image/encode.py +0 -0
  83. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  84. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  85. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  86. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  87. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  88. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  89. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  90. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/validate_required_values.py +0 -0
  91. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/_common/validators.py +0 -0
  92. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/__init__.py +0 -0
  93. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  94. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/config.py +0 -0
  95. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  96. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  97. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  98. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  99. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  100. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  101. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  102. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  103. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  104. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  105. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  106. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  107. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  108. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  109. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  110. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  111. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  112. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  113. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  114. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  115. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +0 -0
  116. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  117. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  118. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  119. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  120. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  121. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  122. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  123. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  124. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  125. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/history_manager/settings.py +0 -0
  126. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  127. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  128. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  129. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  130. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  131. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  132. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  133. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  134. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  135. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  136. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  137. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  138. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  139. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  140. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  141. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  142. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  143. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  144. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  145. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  146. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/message_log_order.py +0 -0
  147. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  148. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  149. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
  150. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  151. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  152. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  153. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  154. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  155. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  156. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/__init__.py +0 -0
  157. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  158. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  159. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  160. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  161. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  162. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  163. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  164. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  165. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  166. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  167. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  168. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  169. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  170. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  171. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  172. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  173. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  174. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
  175. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  176. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  177. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  178. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  179. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  180. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  181. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  182. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  183. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  184. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  185. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/config.py +0 -0
  186. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  187. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
  188. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
  189. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +0 -0
  190. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  191. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  192. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  193. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  194. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
  195. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
  196. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
  197. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  198. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  199. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  200. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  201. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  202. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  203. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  204. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  205. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  206. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/factory.py +0 -0
  207. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  208. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  209. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  210. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  211. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/names.py +0 -0
  212. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  213. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  214. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  215. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/__init__.py +0 -0
  216. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/config.py +0 -0
  217. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/service.py +0 -0
  218. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/__init__.py +0 -0
  219. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_container.py +0 -0
  220. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_files.py +0 -0
  221. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_memory.py +0 -0
  222. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/builder.py +0 -0
  223. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  224. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  225. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
  226. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  227. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  228. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  229. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/__init__.py +0 -0
  230. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/config.py +0 -0
  231. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/service.py +0 -0
  232. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  233. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/run_context.py +0 -0
  234. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/schemas.py +0 -0
  235. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  236. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  237. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/tool.py +0 -0
  238. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  239. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  240. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  241. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  242. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  243. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  244. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  245. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic_table/__init__.py +0 -0
  246. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic_table/schemas.py +0 -0
  247. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic_table/service.py +0 -0
  248. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
  249. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/__init__.py +0 -0
  250. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  251. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/dev_util.py +0 -0
  252. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/fast_api_factory.py +0 -0
  253. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/feature_flags.py +0 -0
  254. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/find_env_file.py +0 -0
  255. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/init_logging.py +0 -0
  256. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/init_sdk.py +0 -0
  257. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/performance/async_tasks.py +0 -0
  258. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  259. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/schemas.py +0 -0
  260. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/unique_settings.py +0 -0
  261. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/verification.py +0 -0
  262. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/app/webhook.py +0 -0
  263. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/__init__.py +0 -0
  264. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/cancellation.py +0 -0
  265. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/constants.py +0 -0
  266. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/deprecated/__init__.py +0 -0
  267. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/deprecated/service.py +0 -0
  268. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/functions.py +0 -0
  269. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/rendering.py +0 -0
  270. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/responses_api.py +0 -0
  271. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/schemas.py +0 -0
  272. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/service.py +0 -0
  273. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/state.py +0 -0
  274. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/chat/utils.py +0 -0
  275. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/content/__init__.py +0 -0
  276. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/content/constants.py +0 -0
  277. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/content/functions.py +0 -0
  278. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/content/schemas.py +0 -0
  279. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/content/service.py +0 -0
  280. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/content/smart_rules.py +0 -0
  281. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/content/utils.py +0 -0
  282. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/README.md +0 -0
  283. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/__init__.py +0 -0
  284. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  285. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  286. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/base.py +0 -0
  287. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  288. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/basic/config.py +0 -0
  289. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  290. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/data_extraction/basic/service.py +0 -0
  291. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/elicitation/__init__.py +0 -0
  292. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/elicitation/constants.py +0 -0
  293. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/elicitation/exceptions.py +0 -0
  294. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/elicitation/functions.py +0 -0
  295. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/elicitation/schemas.py +0 -0
  296. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/elicitation/service.py +0 -0
  297. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/embedding/__init__.py +0 -0
  298. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/embedding/constants.py +0 -0
  299. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/embedding/functions.py +0 -0
  300. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/embedding/schemas.py +0 -0
  301. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/embedding/service.py +0 -0
  302. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/embedding/utils.py +0 -0
  303. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/README.md +0 -0
  304. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/__init__.py +0 -0
  305. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/_internal/__init__.py +0 -0
  306. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
  307. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
  308. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
  309. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/__init__.py +0 -0
  310. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/_base.py +0 -0
  311. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
  312. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
  313. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
  314. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
  315. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
  316. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
  317. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
  318. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
  319. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
  320. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
  321. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
  322. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
  323. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
  324. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
  325. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
  326. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
  327. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
  328. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
  329. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
  330. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
  331. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
  332. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  333. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/identity/__init__.py +0 -0
  334. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/__init__.py +0 -0
  335. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
  336. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
  337. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
  338. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
  339. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
  340. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
  341. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
  342. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
  343. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
  344. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
  345. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
  346. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
  347. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
  348. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
  349. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
  350. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
  351. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
  352. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
  353. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
  354. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
  355. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
  356. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
  357. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
  358. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/__init__.py +0 -0
  359. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
  360. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
  361. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
  362. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
  363. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
  364. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
  365. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
  366. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
  367. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/feature_flags/__init__.py +0 -0
  368. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
  369. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
  370. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/feature_flags/client.py +0 -0
  371. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
  372. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
  373. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
  374. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/group/functions.py +0 -0
  375. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
  376. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/group/service.py +0 -0
  377. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
  378. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
  379. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
  380. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
  381. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
  382. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
  383. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/user/functions.py +0 -0
  384. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
  385. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/resources/user/service.py +0 -0
  386. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/experimental/testing/__init__.py +0 -0
  387. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/__init__.py +0 -0
  388. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  389. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  390. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  391. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  392. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  393. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  394. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/framework_utilities/utils.py +0 -0
  395. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/__init__.py +0 -0
  396. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  397. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/builder.py +0 -0
  398. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/constants.py +0 -0
  399. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/default_language_model.py +0 -0
  400. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/functions.py +0 -0
  401. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/infos.py +0 -0
  402. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/prompt.py +0 -0
  403. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/reference.py +0 -0
  404. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/schemas.py +0 -0
  405. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/service.py +0 -0
  406. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/settings.py +0 -0
  407. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/stream_transform.py +0 -0
  408. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/language_model/utils.py +0 -0
  409. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/monitoring/__init__.py +0 -0
  410. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/monitoring/gunicorn.py +0 -0
  411. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/monitoring/registry.py +0 -0
  412. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/protocols/support.py +0 -0
  413. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/services/__init__.py +0 -0
  414. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/services/chat_service.py +0 -0
  415. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/services/factory.py +0 -0
  416. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/services/knowledge_base.py +0 -0
  417. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/short_term_memory/__init__.py +0 -0
  418. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/short_term_memory/constants.py +0 -0
  419. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/short_term_memory/functions.py +0 -0
  420. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/short_term_memory/schemas.py +0 -0
  421. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/short_term_memory/service.py +0 -0
  422. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/smart_rules/__init__.py +0 -0
  423. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/unique_toolkit/smart_rules/compile.py +0 -0
  424. {unique_toolkit-2026.32.0.dev4 → unique_toolkit-2026.32.0.dev6}/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.dev4
3
+ Version: 2026.32.0.dev6
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.dev5,<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
@@ -33,6 +33,7 @@ Requires-Dist: tenacity>=9.1.4
33
33
  Requires-Dist: pydantic-core>=2.41.5
34
34
  Requires-Dist: cachetools>=5.0,<6
35
35
  Requires-Dist: rapidfuzz>=3.0,<4
36
+ Requires-Dist: pyyaml>=6.0.3
36
37
  Requires-Dist: fastapi>=0.133.0,<1.0.0 ; extra == 'fastapi'
37
38
  Requires-Dist: starlette>=1.3.1,<2.0.0 ; extra == 'fastapi'
38
39
  Requires-Dist: uvicorn>=0.37.0,<0.38 ; extra == 'fastapi'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "2026.32.0.dev4"
3
+ version = "2026.32.0.dev6"
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.dev5,<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",
@@ -45,6 +45,7 @@ dependencies = [
45
45
  "pydantic-core>=2.41.5",
46
46
  "cachetools>=5.0,<6",
47
47
  "rapidfuzz>=3.0,<4",
48
+ "pyyaml>=6.0.3",
48
49
  ]
49
50
 
50
51
  [project.optional-dependencies]
@@ -43,14 +43,18 @@ class AnalyticsToolName(TypedDict):
43
43
  display_name: str
44
44
 
45
45
 
46
- class AnalyticsTokenUsage(TypedDict):
47
- model_name: str
46
+ class AnalyticsConsumption(TypedDict):
48
47
  completion_tokens: int | None
49
48
  prompt_tokens: int | None
50
49
  total_tokens: int | None
51
50
  reasoning_tokens: int | None
52
51
  cached_tokens: int | None
53
52
  cache_write_tokens: int | None
53
+ cost_usd: float | None
54
+
55
+
56
+ class AnalyticsConsumptionByLlm(AnalyticsConsumption):
57
+ model_name: str
54
58
 
55
59
 
56
60
  class Analytics(TypedDict):
@@ -58,6 +62,10 @@ class Analytics(TypedDict):
58
62
  artifacts_created_count: int | None
59
63
  artifacts_created_filetype: list[str] | None
60
64
  context_memory_updated: bool | None
65
+ # Sum of all model usages this turn. None when no invocations reported usage.
66
+ consumption: AnalyticsConsumption | None
67
+ # Per-model usage totals, sorted by model_name.
68
+ consumption_by_llm: list[AnalyticsConsumptionByLlm]
61
69
  language_model: AnalyticsLanguageModel
62
70
  loop_iteration_count: int
63
71
  mcp_tool_names_used: list[AnalyticsToolName]
@@ -67,7 +75,6 @@ class Analytics(TypedDict):
67
75
  references_count: int
68
76
  skills_used: list[AnalyticsSkill]
69
77
  subagent_names_used: list[AnalyticsToolName]
70
- tokens: list[AnalyticsTokenUsage]
71
78
  tool_call_count: int
72
79
  tools_used: list[AnalyticsTool]
73
80
  total_time_to_answer_ms: int | None
@@ -149,6 +156,7 @@ class DebugInfoManager:
149
156
  # DisplayCodeInterpreterFilesPostProcessor) into debug_info["artifacts"].
150
157
  # Absent when no Code Interpreter ran this turn → artifact fields stay
151
158
  # None, preserving the always-present, null-when-unknown contract.
159
+ consumption_by_llm = _aggregate_consumption_by_llm(invocations or [])
152
160
  analytics = Analytics(
153
161
  tools_used=analytics_tools,
154
162
  tool_call_count=len(analytics_tools),
@@ -167,7 +175,8 @@ class DebugInfoManager:
167
175
  loop_iteration_count=loop_iteration_count,
168
176
  subagent_names_used=_unique_tool_names(analytics_tools, "is_sub_agent"),
169
177
  mcp_tool_names_used=_unique_tool_names(analytics_tools, "is_mcp"),
170
- tokens=_aggregate_tokens_by_model(invocations or []),
178
+ consumption_by_llm=consumption_by_llm,
179
+ consumption=_aggregate_consumption(invocations or []),
171
180
  total_time_to_answer_ms=total_time_to_answer_ms,
172
181
  artifacts_created_count=artifacts["count"] if artifacts else None,
173
182
  artifacts_created_filetype=artifacts["filetypes"] if artifacts else None,
@@ -179,27 +188,66 @@ class DebugInfoManager:
179
188
  self.add("analytics", analytics)
180
189
 
181
190
 
182
- def _aggregate_tokens_by_model(
191
+ def _sum_invocation_costs(
192
+ invocations: list[LanguageModelInvocationStats],
193
+ ) -> float | None:
194
+ """Sum costs only when every invocation has a known cost; else None."""
195
+ costs = [invocation.cost_usd for invocation in invocations]
196
+ if not costs or any(cost is None for cost in costs):
197
+ return None
198
+ return sum(cost for cost in costs if cost is not None)
199
+
200
+
201
+ def _to_analytics_consumption(
202
+ usage: LanguageModelTokenUsage,
203
+ cost_usd: float | None,
204
+ ) -> AnalyticsConsumption:
205
+ return AnalyticsConsumption(
206
+ completion_tokens=usage.completion_tokens,
207
+ prompt_tokens=usage.prompt_tokens,
208
+ total_tokens=usage.total_tokens,
209
+ reasoning_tokens=usage.reasoning_tokens,
210
+ cached_tokens=usage.cached_tokens,
211
+ cache_write_tokens=usage.cache_write_tokens,
212
+ cost_usd=cost_usd,
213
+ )
214
+
215
+
216
+ def _aggregate_consumption(
183
217
  invocations: list[LanguageModelInvocationStats],
184
- ) -> list[AnalyticsTokenUsage]:
185
- usages_by_model: dict[str, list[LanguageModelTokenUsage]] = defaultdict(list)
218
+ ) -> AnalyticsConsumption | None:
219
+ """Aggregate token usage and cost across all models for this turn."""
220
+ usage = LanguageModelTokenUsage.sum_usages(
221
+ invocation.token_usage for invocation in invocations
222
+ )
223
+ if usage is None:
224
+ return None
225
+ return _to_analytics_consumption(usage, _sum_invocation_costs(invocations))
226
+
227
+
228
+ def _aggregate_consumption_by_llm(
229
+ invocations: list[LanguageModelInvocationStats],
230
+ ) -> list[AnalyticsConsumptionByLlm]:
231
+ invocations_by_model: dict[str, list[LanguageModelInvocationStats]] = defaultdict(
232
+ list
233
+ )
186
234
  for invocation in invocations:
187
- usages_by_model[str(invocation.model_name)].append(invocation.token_usage)
235
+ invocations_by_model[str(invocation.model_name)].append(invocation)
188
236
 
189
- totals: list[AnalyticsTokenUsage] = []
190
- for model_name in sorted(usages_by_model):
191
- usage = LanguageModelTokenUsage.sum_usages(usages_by_model[model_name])
237
+ totals: list[AnalyticsConsumptionByLlm] = []
238
+ for model_name in sorted(invocations_by_model):
239
+ model_invocations = invocations_by_model[model_name]
240
+ usage = LanguageModelTokenUsage.sum_usages(
241
+ invocation.token_usage for invocation in model_invocations
242
+ )
192
243
  if usage is None:
193
244
  continue
194
245
  totals.append(
195
- AnalyticsTokenUsage(
246
+ AnalyticsConsumptionByLlm(
196
247
  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,
248
+ **_to_analytics_consumption(
249
+ usage, _sum_invocation_costs(model_invocations)
250
+ ),
203
251
  )
204
252
  )
205
253
  return totals
@@ -11,6 +11,7 @@ from humps import camelize
11
11
  from pydantic import BaseModel, BeforeValidator, ConfigDict
12
12
 
13
13
  from unique_toolkit.language_model.infos import LanguageModelName
14
+ from unique_toolkit.language_model.model_costs import calculate_invocation_cost_usd
14
15
  from unique_toolkit.language_model.schemas import LanguageModelTokenUsage
15
16
 
16
17
  # `protected_namespaces=()` allows the `model_name` field name.
@@ -59,6 +60,7 @@ class LanguageModelInvocationStats(BaseModel):
59
60
  model_name: ModelName
60
61
  token_usage: LanguageModelTokenUsage
61
62
  source: Source # e.g. "main_loop", tool/evaluation/postprocessor name
63
+ cost_usd: float | None = None
62
64
 
63
65
  @classmethod
64
66
  def from_usage(
@@ -67,4 +69,9 @@ class LanguageModelInvocationStats(BaseModel):
67
69
  token_usage: LanguageModelTokenUsage,
68
70
  source: str,
69
71
  ) -> Self:
70
- return cls(model_name=model_name, token_usage=token_usage, source=source)
72
+ return cls(
73
+ model_name=model_name,
74
+ token_usage=token_usage,
75
+ source=source,
76
+ cost_usd=calculate_invocation_cost_usd(str(model_name), token_usage),
77
+ )
@@ -0,0 +1,118 @@
1
+ """Load model prices and calculate the USD cost of LLM invocations."""
2
+
3
+ import logging
4
+ import os
5
+ import time
6
+ from pathlib import Path
7
+
8
+ import yaml
9
+ from pydantic import BaseModel, ConfigDict, Field
10
+
11
+ from unique_toolkit.language_model.schemas import LanguageModelTokenUsage
12
+
13
+ logger = logging.getLogger(f"toolkit.language_model.{__name__}")
14
+
15
+ MODEL_COSTS_FILE_ENV = "MODEL_COSTS_FILE"
16
+ _LITELLM_PREFIX = "litellm:"
17
+ _TOKENS_PER_MILLION = 1_000_000
18
+
19
+ # Safety-only bound on how long a process may keep a loaded catalog. Not the
20
+ # primary refresh mechanism — just ensures a long-lived worker eventually
21
+ # re-reads a remounted price sheet.
22
+ _CACHE_MAX_AGE_SECONDS = 5 * 60
23
+
24
+
25
+ class ModelCost(BaseModel):
26
+ """Per-million-token prices for one language model."""
27
+
28
+ model_config = ConfigDict(extra="forbid")
29
+
30
+ input: float
31
+ completion: float
32
+ currency: str = Field(default="USD", min_length=1)
33
+
34
+
35
+ class ModelCostCatalog(BaseModel):
36
+ """Versioned model-price catalog rendered by the platform Helm charts."""
37
+
38
+ model_config = ConfigDict(extra="forbid", populate_by_name=True)
39
+
40
+ cost_schema_version: int = Field(alias="costSchemaVersion")
41
+ models: dict[str, ModelCost] = Field(min_length=1)
42
+
43
+
44
+ _catalog_cache: dict[Path, tuple[ModelCostCatalog, float]] = {}
45
+
46
+
47
+ def _parse_model_cost_catalog(path: Path) -> ModelCostCatalog:
48
+ payload = yaml.safe_load(path.read_text(encoding="utf-8"))
49
+ catalog = ModelCostCatalog.model_validate(payload)
50
+ if catalog.cost_schema_version != 1:
51
+ raise ValueError(
52
+ f"Unsupported model cost schema version: {catalog.cost_schema_version}"
53
+ )
54
+ return catalog
55
+
56
+
57
+ def _load_model_cost_catalog(path: Path) -> ModelCostCatalog:
58
+ now = time.monotonic()
59
+ cached = _catalog_cache.get(path)
60
+ if cached is not None:
61
+ catalog, loaded_at = cached
62
+ if now - loaded_at < _CACHE_MAX_AGE_SECONDS:
63
+ return catalog
64
+
65
+ catalog = _parse_model_cost_catalog(path)
66
+ _catalog_cache[path] = (catalog, now)
67
+ return catalog
68
+
69
+
70
+ def load_model_cost_catalog(path: str | Path | None = None) -> ModelCostCatalog | None:
71
+ """Load and cache the configured catalog, or return None when unavailable.
72
+
73
+ Returns None when the catalog path is unset, or when the file cannot be
74
+ read/parsed. Cost capture must never abort a successful LLM call over a
75
+ missing or invalid price sheet.
76
+ """
77
+
78
+ configured_path = path or os.getenv(MODEL_COSTS_FILE_ENV)
79
+ if configured_path is None or not str(configured_path).strip():
80
+ return None
81
+ try:
82
+ return _load_model_cost_catalog(Path(configured_path))
83
+ except Exception as exc:
84
+ logger.warning(
85
+ "Failed to load model cost catalog from %s: %s",
86
+ configured_path,
87
+ exc,
88
+ )
89
+ return None
90
+
91
+
92
+ def calculate_invocation_cost_usd(
93
+ model_name: str,
94
+ token_usage: LanguageModelTokenUsage,
95
+ catalog: ModelCostCatalog | None = None,
96
+ ) -> float | None:
97
+ """Calculate invocation cost using prompt and completion token totals."""
98
+
99
+ if token_usage.prompt_tokens is None or token_usage.completion_tokens is None:
100
+ return None
101
+
102
+ active_catalog = catalog if catalog is not None else load_model_cost_catalog()
103
+ if active_catalog is None:
104
+ return None
105
+
106
+ normalized_model_name = str(model_name)
107
+ model_cost = active_catalog.models.get(normalized_model_name)
108
+ if model_cost is None and normalized_model_name.startswith(_LITELLM_PREFIX):
109
+ model_cost = active_catalog.models.get(
110
+ normalized_model_name.removeprefix(_LITELLM_PREFIX)
111
+ )
112
+ if model_cost is None:
113
+ return None
114
+
115
+ return (
116
+ token_usage.prompt_tokens * model_cost.input
117
+ + token_usage.completion_tokens * model_cost.completion
118
+ ) / _TOKENS_PER_MILLION
@@ -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()