unique-toolkit 2026.24.0.dev5__tar.gz → 2026.24.0.dev7__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 (398) hide show
  1. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/PKG-INFO +1 -1
  2. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/pyproject.toml +1 -1
  3. unique_toolkit-2026.24.0.dev7/unique_toolkit/__init__.py +149 -0
  4. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/schemas.py +28 -2
  5. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/content/__init__.py +30 -1
  6. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/__init__.py +15 -3
  7. unique_toolkit-2026.24.0.dev7/unique_toolkit/monitoring/gunicorn.py +24 -0
  8. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/monitoring/middleware.py +4 -3
  9. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/monitoring/registry.py +58 -4
  10. unique_toolkit-2026.24.0.dev5/unique_toolkit/__init__.py +0 -85
  11. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/README.md +0 -0
  12. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/__init__.py +0 -0
  13. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/_base_service.py +0 -0
  14. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/_time_utils.py +0 -0
  15. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  16. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  17. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  18. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  19. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  20. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  21. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  22. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/README.md +0 -0
  23. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  24. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  25. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/cli.py +0 -0
  26. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/differ.py +0 -0
  27. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  28. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/models.py +0 -0
  29. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/registry.py +0 -0
  30. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/config_checker/validator.py +0 -0
  31. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/default_language_model.py +0 -0
  32. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  33. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/docx_generator/config.py +0 -0
  34. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  35. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  36. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/docx_generator/service.py +0 -0
  37. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  38. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/endpoint_builder.py +0 -0
  39. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  40. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/event_bus.py +0 -0
  41. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/exception.py +0 -0
  42. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/execution.py +0 -0
  43. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  44. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  45. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  46. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  47. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  48. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  49. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  50. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  51. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  52. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  53. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  54. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  55. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  56. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  57. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  58. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  59. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  60. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  61. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  62. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  63. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  64. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  65. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  66. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  67. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  68. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  69. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  70. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  71. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
  72. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  73. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  74. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/referencing.py +0 -0
  75. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/string_utilities.py +0 -0
  76. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  77. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  78. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/token/__init__.py +0 -0
  79. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  80. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/token/token_counting.py +0 -0
  81. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  82. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  83. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/__init__.py +0 -0
  84. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/files.py +0 -0
  85. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/image/encode.py +0 -0
  86. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  87. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  88. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  89. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  90. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  91. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  92. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  93. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/validate_required_values.py +0 -0
  94. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/_common/validators.py +0 -0
  95. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/__init__.py +0 -0
  96. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  97. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  98. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/config.py +0 -0
  99. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  100. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  101. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  102. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  103. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  104. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  105. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  106. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  107. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  108. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  109. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  110. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  111. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  112. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  113. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  114. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  115. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  116. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  117. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  118. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  119. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  120. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  121. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  122. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  123. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  124. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  125. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  126. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  127. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  128. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/history_manager/settings.py +0 -0
  129. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  130. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  131. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  132. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  133. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  134. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  135. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  136. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  137. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  138. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  139. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  140. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  141. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  142. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  143. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  144. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  145. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  146. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  147. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  148. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  149. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/message_log_order.py +0 -0
  150. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  151. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  152. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  153. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  154. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  155. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  156. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  157. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  158. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/__init__.py +0 -0
  159. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  160. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  161. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  162. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  163. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  164. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  165. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  166. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  167. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  168. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  169. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  170. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  171. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  172. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  173. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  174. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  175. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  176. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
  177. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  178. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  179. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  180. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  181. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  182. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  183. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  184. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  185. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  186. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  187. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/config.py +0 -0
  188. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  189. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  190. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  191. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  192. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  193. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
  194. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
  195. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
  196. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  197. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  198. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  199. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  200. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  201. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  202. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  203. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  204. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  205. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/factory.py +0 -0
  206. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  207. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  208. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  209. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  210. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/names.py +0 -0
  211. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  212. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  213. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  214. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  215. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  216. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
  217. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  218. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  219. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  220. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  221. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  222. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/schemas.py +0 -0
  223. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  224. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  225. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/tool.py +0 -0
  226. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  227. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  228. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  229. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  230. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  231. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  232. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  233. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic_table/__init__.py +0 -0
  234. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic_table/schemas.py +0 -0
  235. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/agentic_table/service.py +0 -0
  236. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/__init__.py +0 -0
  237. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  238. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/dev_util.py +0 -0
  239. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/fast_api_factory.py +0 -0
  240. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/feature_flags.py +0 -0
  241. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/find_env_file.py +0 -0
  242. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/init_logging.py +0 -0
  243. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/init_sdk.py +0 -0
  244. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/performance/async_tasks.py +0 -0
  245. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  246. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/unique_settings.py +0 -0
  247. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/verification.py +0 -0
  248. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/app/webhook.py +0 -0
  249. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/__init__.py +0 -0
  250. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/cancellation.py +0 -0
  251. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/constants.py +0 -0
  252. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/deprecated/service.py +0 -0
  253. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/functions.py +0 -0
  254. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/rendering.py +0 -0
  255. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/responses_api.py +0 -0
  256. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/schemas.py +0 -0
  257. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/service.py +0 -0
  258. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/state.py +0 -0
  259. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/chat/utils.py +0 -0
  260. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/content/constants.py +0 -0
  261. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/content/functions.py +0 -0
  262. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/content/schemas.py +0 -0
  263. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/content/service.py +0 -0
  264. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/content/smart_rules.py +0 -0
  265. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/content/utils.py +0 -0
  266. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/README.md +0 -0
  267. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/__init__.py +0 -0
  268. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  269. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  270. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/base.py +0 -0
  271. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  272. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/basic/config.py +0 -0
  273. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  274. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/data_extraction/basic/service.py +0 -0
  275. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/elicitation/__init__.py +0 -0
  276. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/elicitation/constants.py +0 -0
  277. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/elicitation/exceptions.py +0 -0
  278. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/elicitation/functions.py +0 -0
  279. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/elicitation/schemas.py +0 -0
  280. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/elicitation/service.py +0 -0
  281. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/embedding/__init__.py +0 -0
  282. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/embedding/constants.py +0 -0
  283. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/embedding/functions.py +0 -0
  284. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/embedding/schemas.py +0 -0
  285. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/embedding/service.py +0 -0
  286. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/embedding/utils.py +0 -0
  287. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/README.md +0 -0
  288. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/__init__.py +0 -0
  289. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/_internal/__init__.py +0 -0
  290. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
  291. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
  292. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
  293. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/__init__.py +0 -0
  294. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/_base.py +0 -0
  295. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
  296. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
  297. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
  298. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
  299. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
  300. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
  301. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
  302. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
  303. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
  304. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
  305. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
  306. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
  307. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
  308. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
  309. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
  310. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
  311. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
  312. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
  313. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
  314. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
  315. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
  316. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  317. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/identity/__init__.py +0 -0
  318. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/__init__.py +0 -0
  319. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
  320. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
  321. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
  322. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
  323. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
  324. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
  325. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
  326. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
  327. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
  328. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
  329. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
  330. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
  331. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
  332. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
  333. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
  334. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
  335. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
  336. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
  337. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
  338. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
  339. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
  340. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
  341. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
  342. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/__init__.py +0 -0
  343. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
  344. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
  345. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
  346. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
  347. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
  348. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
  349. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
  350. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
  351. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/group/functions.py +0 -0
  352. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
  353. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/group/service.py +0 -0
  354. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
  355. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
  356. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
  357. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
  358. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
  359. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
  360. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/user/functions.py +0 -0
  361. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
  362. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/resources/user/service.py +0 -0
  363. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/experimental/testing/__init__.py +0 -0
  364. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/__init__.py +0 -0
  365. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  366. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  367. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  368. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  369. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  370. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  371. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/framework_utilities/utils.py +0 -0
  372. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  373. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/builder.py +0 -0
  374. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/constants.py +0 -0
  375. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/default_language_model.py +0 -0
  376. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/functions.py +0 -0
  377. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/infos.py +0 -0
  378. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/prompt.py +0 -0
  379. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/reference.py +0 -0
  380. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/schemas.py +0 -0
  381. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/service.py +0 -0
  382. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/settings.py +0 -0
  383. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/stream_transform.py +0 -0
  384. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/language_model/utils.py +0 -0
  385. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/monitoring/__init__.py +0 -0
  386. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/protocols/support.py +0 -0
  387. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/services/__init__.py +0 -0
  388. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/services/chat_service.py +0 -0
  389. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/services/factory.py +0 -0
  390. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/services/knowledge_base.py +0 -0
  391. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/short_term_memory/__init__.py +0 -0
  392. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/short_term_memory/constants.py +0 -0
  393. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/short_term_memory/functions.py +0 -0
  394. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/short_term_memory/schemas.py +0 -0
  395. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/short_term_memory/service.py +0 -0
  396. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/smart_rules/__init__.py +0 -0
  397. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/unique_toolkit/smart_rules/compile.py +0 -0
  398. {unique_toolkit-2026.24.0.dev5 → unique_toolkit-2026.24.0.dev7}/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.24.0.dev5
3
+ Version: 2026.24.0.dev7
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>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "2026.24.0.dev5"
3
+ version = "2026.24.0.dev7"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -0,0 +1,149 @@
1
+ from importlib import import_module
2
+ from typing import TYPE_CHECKING, Any
3
+
4
+ if TYPE_CHECKING:
5
+ from unique_toolkit.chat import ChatService as ChatService
6
+ from unique_toolkit.content import ContentService as ContentService
7
+ from unique_toolkit.data_extraction import (
8
+ StructuredOutputDataExtractor as StructuredOutputDataExtractor,
9
+ )
10
+ from unique_toolkit.data_extraction import (
11
+ StructuredOutputDataExtractorConfig as StructuredOutputDataExtractorConfig,
12
+ )
13
+ from unique_toolkit.embedding import EmbeddingService as EmbeddingService
14
+ from unique_toolkit.framework_utilities.openai.client import (
15
+ get_async_openai_client as get_async_openai_client,
16
+ )
17
+ from unique_toolkit.framework_utilities.openai.client import (
18
+ get_openai_client as get_openai_client,
19
+ )
20
+ from unique_toolkit.language_model import (
21
+ LanguageModelMessages as LanguageModelMessages,
22
+ )
23
+ from unique_toolkit.language_model import LanguageModelName as LanguageModelName
24
+ from unique_toolkit.language_model import (
25
+ LanguageModelService as LanguageModelService,
26
+ )
27
+ from unique_toolkit.language_model import (
28
+ LanguageModelToolDescription as LanguageModelToolDescription,
29
+ )
30
+ from unique_toolkit.services.knowledge_base import (
31
+ KnowledgeBaseService as KnowledgeBaseService,
32
+ )
33
+ from unique_toolkit.short_term_memory import (
34
+ ShortTermMemoryService as ShortTermMemoryService,
35
+ )
36
+
37
+ _EXPORTS: dict[str, tuple[str, str]] = {
38
+ "ChatService": ("unique_toolkit.chat", "ChatService"),
39
+ "ContentService": ("unique_toolkit.content", "ContentService"),
40
+ "EmbeddingService": ("unique_toolkit.embedding", "EmbeddingService"),
41
+ "get_openai_client": (
42
+ "unique_toolkit.framework_utilities.openai.client",
43
+ "get_openai_client",
44
+ ),
45
+ "get_async_openai_client": (
46
+ "unique_toolkit.framework_utilities.openai.client",
47
+ "get_async_openai_client",
48
+ ),
49
+ "KnowledgeBaseService": (
50
+ "unique_toolkit.services.knowledge_base",
51
+ "KnowledgeBaseService",
52
+ ),
53
+ "LanguageModelMessages": (
54
+ "unique_toolkit.language_model",
55
+ "LanguageModelMessages",
56
+ ),
57
+ "LanguageModelName": ("unique_toolkit.language_model", "LanguageModelName"),
58
+ "LanguageModelService": ("unique_toolkit.language_model", "LanguageModelService"),
59
+ "LanguageModelToolDescription": (
60
+ "unique_toolkit.language_model",
61
+ "LanguageModelToolDescription",
62
+ ),
63
+ "ShortTermMemoryService": (
64
+ "unique_toolkit.short_term_memory",
65
+ "ShortTermMemoryService",
66
+ ),
67
+ "StructuredOutputDataExtractor": (
68
+ "unique_toolkit.data_extraction",
69
+ "StructuredOutputDataExtractor",
70
+ ),
71
+ "StructuredOutputDataExtractorConfig": (
72
+ "unique_toolkit.data_extraction",
73
+ "StructuredOutputDataExtractorConfig",
74
+ ),
75
+ }
76
+
77
+ # Conditionally import config_checker (requires pydantic-settings)
78
+ _CONFIG_CHECKER_AVAILABLE: bool = False
79
+ try:
80
+ from unique_toolkit._common.config_checker import (
81
+ ConfigDiffer, # noqa: F401, I001
82
+ ConfigEntry, # noqa: F401, I001
83
+ ConfigExporter, # noqa: F401, I001
84
+ ConfigRegistry, # noqa: F401, I001
85
+ ConfigValidator, # noqa: F401, I001
86
+ DefaultChangeReport, # noqa: F401, I001
87
+ ExportManifest, # noqa: F401, I001
88
+ ValidationReport, # noqa: F401, I001
89
+ register_config, # noqa: F401, I001
90
+ )
91
+
92
+ _CONFIG_CHECKER_AVAILABLE = True # pyright: ignore[reportConstantRedefinition]
93
+ except ImportError:
94
+ pass
95
+
96
+ # Conditionally import langchain utilities if langchain is installed
97
+ _LANGCHAIN_AVAILABLE: bool = False
98
+ try:
99
+ from unique_toolkit.framework_utilities.langchain.client import get_langchain_client # noqa: F401, I001
100
+
101
+ _LANGCHAIN_AVAILABLE = True # pyright: ignore[reportConstantRedefinition]
102
+ except ImportError:
103
+ pass
104
+
105
+ # You can add other classes you frequently use here as well
106
+
107
+ __all__ = [
108
+ "ChatService",
109
+ "ContentService",
110
+ "EmbeddingService",
111
+ "get_openai_client",
112
+ "get_async_openai_client",
113
+ "KnowledgeBaseService",
114
+ "LanguageModelMessages",
115
+ "LanguageModelName",
116
+ "LanguageModelService",
117
+ "LanguageModelToolDescription",
118
+ "ShortTermMemoryService",
119
+ "StructuredOutputDataExtractor",
120
+ "StructuredOutputDataExtractorConfig",
121
+ ]
122
+
123
+ # Add config_checker exports if available
124
+ if _CONFIG_CHECKER_AVAILABLE:
125
+ __all__.extend(
126
+ [
127
+ "ConfigDiffer",
128
+ "ConfigEntry",
129
+ "ConfigExporter",
130
+ "ConfigRegistry",
131
+ "ConfigValidator",
132
+ "DefaultChangeReport",
133
+ "ExportManifest",
134
+ "ValidationReport",
135
+ "register_config",
136
+ ]
137
+ )
138
+ # Add langchain-specific exports if available
139
+ if _LANGCHAIN_AVAILABLE:
140
+ __all__.append("get_langchain_client")
141
+
142
+
143
+ def __getattr__(name: str) -> Any:
144
+ export = _EXPORTS.get(name)
145
+ if export is None:
146
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
147
+
148
+ module_name, attribute_name = export
149
+ return getattr(import_module(module_name), attribute_name)
@@ -4,10 +4,17 @@ import json
4
4
  from enum import StrEnum
5
5
  from logging import getLogger
6
6
  from pathlib import Path
7
- from typing import Any, Generic, Optional, TypeVar, override
7
+ from typing import Annotated, Any, Generic, Optional, TypeVar, override
8
8
 
9
9
  from humps import camelize
10
- from pydantic import BaseModel, ConfigDict, Field, JsonValue, field_validator
10
+ from pydantic import (
11
+ BaseModel,
12
+ BeforeValidator,
13
+ ConfigDict,
14
+ Field,
15
+ JsonValue,
16
+ field_validator,
17
+ )
11
18
  from pydantic_settings import BaseSettings
12
19
  from typing_extensions import deprecated
13
20
 
@@ -16,6 +23,8 @@ from unique_toolkit.app.chat_event_filter_options_settings import (
16
23
  CHAT_EVENT_FILTER_OPTIONS_SETTINGS,
17
24
  )
18
25
  from unique_toolkit.app.unique_settings import UniqueChatEventFilterOptions
26
+ from unique_toolkit.language_model.default_language_model import DEFAULT_LANGUAGE_MODEL
27
+ from unique_toolkit.language_model.infos import LanguageModelInfo
19
28
  from unique_toolkit.smart_rules.compile import UniqueQL, parse_uniqueql
20
29
 
21
30
  FilterOptionsT = TypeVar("FilterOptionsT", bound=BaseSettings)
@@ -29,6 +38,15 @@ model_config = ConfigDict(
29
38
  _logger = getLogger(__name__)
30
39
 
31
40
 
41
+ def _validate_language_model_info(v: Any) -> Any:
42
+ from unique_toolkit._common.validators import validate_and_init_language_model_info
43
+
44
+ return validate_and_init_language_model_info(v)
45
+
46
+
47
+ LMI = Annotated[LanguageModelInfo, BeforeValidator(_validate_language_model_info)]
48
+
49
+
32
50
  class EventName(StrEnum):
33
51
  EXTERNAL_MODULE_CHOSEN = "unique.chat.external-module.chosen"
34
52
  USER_MESSAGE_CREATED = "unique.chat.user-message.created"
@@ -247,6 +265,10 @@ class ChatEventPayload(BaseModel):
247
265
  user_metadata: dict[str, Any] | None = Field(
248
266
  default_factory=dict,
249
267
  )
268
+ model_choice: LMI = Field(
269
+ default_factory=lambda: LanguageModelInfo.from_name(DEFAULT_LANGUAGE_MODEL),
270
+ description="The model choice the user has chosen to be used.",
271
+ )
250
272
  tool_choices: list[str] = Field(
251
273
  default_factory=list,
252
274
  description="A list containing the tool names the user has chosen to be activated.",
@@ -305,6 +327,10 @@ class ChatEventPayload(BaseModel):
305
327
  if value:
306
328
  return parse_uniqueql(value)
307
329
 
330
+ @property
331
+ def has_model_choice_override(self) -> bool:
332
+ return "model_choice" in self.model_fields_set
333
+
308
334
 
309
335
  @deprecated("""Use `ChatEventPayload` instead.
310
336
  This class will be removed in the next major version.""")
@@ -1,3 +1,5 @@
1
+ from typing import TYPE_CHECKING, Any
2
+
1
3
  from .constants import DOMAIN_NAME as DOMAIN_NAME
2
4
  from .schemas import (
3
5
  Content as Content,
@@ -23,7 +25,6 @@ from .schemas import (
23
25
  from .schemas import (
24
26
  ContentUploadInput as ContentUploadInput,
25
27
  )
26
- from .service import ContentService as ContentService
27
28
  from .utils import (
28
29
  count_tokens as count_tokens,
29
30
  )
@@ -36,3 +37,31 @@ from .utils import (
36
37
  from .utils import (
37
38
  sort_content_chunks as sort_content_chunks,
38
39
  )
40
+
41
+ if TYPE_CHECKING:
42
+ from .service import ContentService as ContentService
43
+
44
+ __all__ = [
45
+ "Content",
46
+ "ContentChunk",
47
+ "ContentMetadata",
48
+ "ContentReference",
49
+ "ContentRerankerConfig",
50
+ "ContentSearchResult",
51
+ "ContentSearchType",
52
+ "ContentService",
53
+ "ContentUploadInput",
54
+ "DOMAIN_NAME",
55
+ "count_tokens",
56
+ "merge_content_chunks",
57
+ "pick_content_chunks_for_token_window",
58
+ "sort_content_chunks",
59
+ ]
60
+
61
+
62
+ def __getattr__(name: str) -> Any:
63
+ if name == "ContentService":
64
+ from .service import ContentService
65
+
66
+ return ContentService
67
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
@@ -1,3 +1,5 @@
1
+ from typing import TYPE_CHECKING, Any
2
+
1
3
  from .constants import DOMAIN_NAME
2
4
  from .default_language_model import DEFAULT_LANGUAGE_MODEL, DEFAULT_GPT_4o
3
5
  from .functions import (
@@ -28,9 +30,6 @@ from .schemas import (
28
30
  LanguageModelToolParameters,
29
31
  LanguageModelUserMessage,
30
32
  )
31
- from .service import (
32
- LanguageModelService,
33
- )
34
33
  from .stream_transform import (
35
34
  NormalizationTransform,
36
35
  ReferenceInjectionTransform,
@@ -42,6 +41,19 @@ from .utils import (
42
41
  find_last_json_object,
43
42
  )
44
43
 
44
+ if TYPE_CHECKING:
45
+ from .service import LanguageModelService as LanguageModelService
46
+
47
+
48
+ def __getattr__(name: str) -> Any:
49
+ if name == "LanguageModelService":
50
+ from .service import LanguageModelService
51
+
52
+ return LanguageModelService
53
+
54
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
55
+
56
+
45
57
  __all__ = [
46
58
  "LanguageModel",
47
59
  "LanguageModelName",
@@ -0,0 +1,24 @@
1
+ from __future__ import annotations
2
+
3
+ import os
4
+
5
+
6
+ def child_exit(server, worker) -> None:
7
+ """Gunicorn child_exit hook: clean up dead worker's per-PID metric files.
8
+
9
+ Wire this up in gunicorn.conf.py:
10
+
11
+ from unique_toolkit.monitoring.gunicorn import child_exit # noqa: F401
12
+
13
+ Gunicorn calls any function named child_exit(server, worker) in the
14
+ config file whenever a worker process exits. Without this, dead workers'
15
+ .db files accumulate in PROMETHEUS_MULTIPROC_DIR and inflate aggregated
16
+ metric values on every future scrape.
17
+
18
+ No-ops when PROMETHEUS_MULTIPROC_DIR is not set (single-process mode).
19
+ """
20
+ if not os.environ.get("PROMETHEUS_MULTIPROC_DIR"):
21
+ return
22
+ from prometheus_client import multiprocess # pyright: ignore[reportMissingImports]
23
+
24
+ multiprocess.mark_process_dead(worker.pid)
@@ -11,22 +11,23 @@ from prometheus_client import ( # pyright: ignore[reportMissingImports]
11
11
  from .registry import REGISTRY
12
12
 
13
13
  _http_requests_total = Counter(
14
- "http_requests_total",
14
+ "python_http_requests_total",
15
15
  "Total HTTP requests",
16
16
  ["method", "path", "status_code"],
17
17
  registry=REGISTRY,
18
18
  )
19
19
  _http_request_duration_seconds = Histogram(
20
- "http_request_duration_seconds",
20
+ "python_http_request_duration_seconds",
21
21
  "HTTP request duration",
22
22
  ["method", "path"],
23
23
  registry=REGISTRY,
24
24
  )
25
25
  _http_requests_in_progress = Gauge(
26
- "http_requests_in_progress",
26
+ "python_http_requests_in_progress",
27
27
  "In-flight HTTP requests",
28
28
  ["method"],
29
29
  registry=REGISTRY,
30
+ multiprocess_mode="livesum",
30
31
  )
31
32
 
32
33
  _DEFAULT_EXCLUDED_PATHS = frozenset({"/health", "/metrics", "/"})
@@ -2,9 +2,11 @@ from __future__ import annotations
2
2
 
3
3
  import asyncio
4
4
  import functools
5
+ import os
5
6
  import time
7
+ import warnings
6
8
  from contextlib import contextmanager
7
- from typing import Any, Callable
9
+ from typing import Any, Callable, Literal
8
10
 
9
11
  from prometheus_client import ( # pyright: ignore[reportMissingImports]
10
12
  CollectorRegistry,
@@ -18,7 +20,36 @@ REGISTRY = CollectorRegistry()
18
20
 
19
21
 
20
22
  def get_metrics() -> bytes:
21
- """Returns all registered metrics in Prometheus text format."""
23
+ """Returns all registered metrics in Prometheus text format.
24
+
25
+ In multiprocess mode (PROMETHEUS_MULTIPROC_DIR is set), aggregates
26
+ per-PID .db files from all Gunicorn workers via MultiProcessCollector.
27
+ In single-process mode, returns metrics from the in-process REGISTRY.
28
+
29
+ NOTE: PROMETHEUS_MULTIPROC_DIR must be set in the shell/entrypoint
30
+ *before* Python starts. Setting it from Python after prometheus_client
31
+ has been imported has no effect — metrics will silently bypass per-PID
32
+ files and this function will emit a warning.
33
+ """
34
+ if os.environ.get("PROMETHEUS_MULTIPROC_DIR"):
35
+ from prometheus_client import ( # pyright: ignore[reportMissingImports]
36
+ multiprocess,
37
+ values,
38
+ )
39
+
40
+ if not getattr(values.ValueClass, "_multiprocess", False):
41
+ warnings.warn(
42
+ "PROMETHEUS_MULTIPROC_DIR is set but prometheus_client was imported "
43
+ "before the env var — metrics will silently bypass per-PID files. "
44
+ "Set PROMETHEUS_MULTIPROC_DIR in the shell/entrypoint before launching Python.",
45
+ RuntimeWarning,
46
+ stacklevel=2,
47
+ )
48
+
49
+ registry = CollectorRegistry()
50
+ multiprocess.MultiProcessCollector(registry)
51
+ return generate_latest(registry)
52
+
22
53
  return generate_latest(REGISTRY)
23
54
 
24
55
 
@@ -43,8 +74,31 @@ class MetricNamespace:
43
74
  def counter(self, name: str, description: str, labels: list[str]) -> Counter:
44
75
  return Counter(f"{self._prefix}_{name}", description, labels, registry=REGISTRY)
45
76
 
46
- def gauge(self, name: str, description: str, labels: list[str]) -> Gauge:
47
- return Gauge(f"{self._prefix}_{name}", description, labels, registry=REGISTRY)
77
+ def gauge(
78
+ self,
79
+ name: str,
80
+ description: str,
81
+ labels: list[str],
82
+ multiprocess_mode: Literal[
83
+ "all",
84
+ "liveall",
85
+ "min",
86
+ "livemin",
87
+ "max",
88
+ "livemax",
89
+ "sum",
90
+ "livesum",
91
+ "mostrecent",
92
+ "livemostrecent",
93
+ ] = "all",
94
+ ) -> Gauge:
95
+ return Gauge(
96
+ f"{self._prefix}_{name}",
97
+ description,
98
+ labels,
99
+ registry=REGISTRY,
100
+ multiprocess_mode=multiprocess_mode,
101
+ )
48
102
 
49
103
 
50
104
  @contextmanager
@@ -1,85 +0,0 @@
1
- # Re-export commonly used classes for easier imports
2
- from unique_toolkit.chat import ChatService
3
- from unique_toolkit.content import ContentService
4
- from unique_toolkit.data_extraction import (
5
- StructuredOutputDataExtractor,
6
- StructuredOutputDataExtractorConfig,
7
- )
8
- from unique_toolkit.embedding import EmbeddingService
9
- from unique_toolkit.framework_utilities.openai.client import (
10
- get_async_openai_client,
11
- get_openai_client,
12
- )
13
- from unique_toolkit.language_model import (
14
- LanguageModelMessages,
15
- LanguageModelName,
16
- LanguageModelService,
17
- LanguageModelToolDescription,
18
- )
19
- from unique_toolkit.services.knowledge_base import KnowledgeBaseService
20
- from unique_toolkit.short_term_memory import ShortTermMemoryService
21
-
22
- # Conditionally import config_checker (requires pydantic-settings)
23
- _CONFIG_CHECKER_AVAILABLE: bool = False
24
- try:
25
- from unique_toolkit._common.config_checker import (
26
- ConfigDiffer, # noqa: F401, I001
27
- ConfigEntry, # noqa: F401, I001
28
- ConfigExporter, # noqa: F401, I001
29
- ConfigRegistry, # noqa: F401, I001
30
- ConfigValidator, # noqa: F401, I001
31
- DefaultChangeReport, # noqa: F401, I001
32
- ExportManifest, # noqa: F401, I001
33
- ValidationReport, # noqa: F401, I001
34
- register_config, # noqa: F401, I001
35
- )
36
-
37
- _CONFIG_CHECKER_AVAILABLE = True # pyright: ignore[reportConstantRedefinition]
38
- except ImportError:
39
- pass
40
-
41
- # Conditionally import langchain utilities if langchain is installed
42
- _LANGCHAIN_AVAILABLE: bool = False
43
- try:
44
- from unique_toolkit.framework_utilities.langchain.client import get_langchain_client # noqa: F401, I001
45
-
46
- _LANGCHAIN_AVAILABLE = True # pyright: ignore[reportConstantRedefinition]
47
- except ImportError:
48
- pass
49
-
50
- # You can add other classes you frequently use here as well
51
-
52
- __all__ = [
53
- "ChatService",
54
- "ContentService",
55
- "EmbeddingService",
56
- "get_openai_client",
57
- "get_async_openai_client",
58
- "KnowledgeBaseService",
59
- "LanguageModelMessages",
60
- "LanguageModelName",
61
- "LanguageModelService",
62
- "LanguageModelToolDescription",
63
- "ShortTermMemoryService",
64
- "StructuredOutputDataExtractor",
65
- "StructuredOutputDataExtractorConfig",
66
- ]
67
-
68
- # Add config_checker exports if available
69
- if _CONFIG_CHECKER_AVAILABLE:
70
- __all__.extend(
71
- [
72
- "ConfigDiffer",
73
- "ConfigEntry",
74
- "ConfigExporter",
75
- "ConfigRegistry",
76
- "ConfigValidator",
77
- "DefaultChangeReport",
78
- "ExportManifest",
79
- "ValidationReport",
80
- "register_config",
81
- ]
82
- )
83
- # Add langchain-specific exports if available
84
- if _LANGCHAIN_AVAILABLE:
85
- __all__.append("get_langchain_client")