unique-toolkit 2026.24.0.dev4__tar.gz → 2026.24.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 (397) hide show
  1. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/PKG-INFO +1 -1
  2. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/pyproject.toml +1 -1
  3. unique_toolkit-2026.24.0.dev6/unique_toolkit/__init__.py +149 -0
  4. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/metadata_filter_scope.py +7 -4
  5. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/pydantic/rjsf_tags.py +6 -1
  6. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/schemas.py +28 -2
  7. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/content/__init__.py +30 -1
  8. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/content/smart_rules.py +61 -3
  9. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +27 -4
  10. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +5 -1
  11. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/__init__.py +15 -3
  12. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/smart_rules/compile.py +6 -0
  13. unique_toolkit-2026.24.0.dev4/unique_toolkit/__init__.py +0 -85
  14. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/README.md +0 -0
  15. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/__init__.py +0 -0
  16. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/_base_service.py +0 -0
  17. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/_time_utils.py +0 -0
  18. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  19. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  20. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  21. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  22. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  23. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  24. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  25. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/README.md +0 -0
  26. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  27. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  28. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/cli.py +0 -0
  29. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/differ.py +0 -0
  30. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  31. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/models.py +0 -0
  32. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/registry.py +0 -0
  33. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/config_checker/validator.py +0 -0
  34. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/default_language_model.py +0 -0
  35. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  36. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/docx_generator/config.py +0 -0
  37. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  38. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  39. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/docx_generator/service.py +0 -0
  40. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  41. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/endpoint_builder.py +0 -0
  42. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  43. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/event_bus.py +0 -0
  44. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/exception.py +0 -0
  45. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/execution.py +0 -0
  46. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  47. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  48. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  49. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  50. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  51. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  52. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  53. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  54. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  55. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  56. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  57. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  58. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  59. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  60. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  61. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  62. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  63. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  64. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  65. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  66. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  67. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  68. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  69. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  70. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  71. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  72. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  73. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  74. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  75. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/referencing.py +0 -0
  76. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/string_utilities.py +0 -0
  77. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  78. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  79. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/token/__init__.py +0 -0
  80. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  81. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/token/token_counting.py +0 -0
  82. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  83. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  84. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/__init__.py +0 -0
  85. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/files.py +0 -0
  86. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/image/encode.py +0 -0
  87. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  88. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  89. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  90. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  91. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  92. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  93. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  94. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/validate_required_values.py +0 -0
  95. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/_common/validators.py +0 -0
  96. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/__init__.py +0 -0
  97. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  98. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  99. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/config.py +0 -0
  100. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  101. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  102. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  103. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  104. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  105. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  106. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  107. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  108. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  109. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  110. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  111. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  112. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  113. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  114. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  115. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  116. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  117. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  118. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  119. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  120. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  121. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  122. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  123. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  124. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  125. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  126. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  127. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  128. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  129. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/history_manager/settings.py +0 -0
  130. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  131. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  132. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  133. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  134. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  135. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  136. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  137. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  138. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  139. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  140. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  141. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  142. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  143. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  144. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  145. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  146. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  147. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  148. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  149. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  150. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/message_log_order.py +0 -0
  151. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  152. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  153. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  154. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  155. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  156. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  157. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  158. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  159. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/__init__.py +0 -0
  160. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  161. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  162. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  163. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  164. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  165. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  166. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  167. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  168. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  169. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  170. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  171. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  172. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  173. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  174. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  175. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  176. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  177. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
  178. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  179. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  180. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  181. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  182. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  183. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  184. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  185. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  186. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  187. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  188. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/config.py +0 -0
  189. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  190. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  191. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  192. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  193. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  194. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
  195. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
  196. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
  197. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  198. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  199. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  200. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  201. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  202. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  203. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  204. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  205. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  206. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/factory.py +0 -0
  207. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  208. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  209. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  210. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  211. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/names.py +0 -0
  212. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  213. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  214. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  215. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  216. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  217. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
  218. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  219. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  220. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  221. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  222. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  223. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/schemas.py +0 -0
  224. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  225. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  226. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/tool.py +0 -0
  227. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  228. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  229. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  230. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  231. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  232. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  233. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  234. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic_table/__init__.py +0 -0
  235. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic_table/schemas.py +0 -0
  236. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/agentic_table/service.py +0 -0
  237. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/__init__.py +0 -0
  238. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  239. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/dev_util.py +0 -0
  240. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/fast_api_factory.py +0 -0
  241. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/feature_flags.py +0 -0
  242. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/find_env_file.py +0 -0
  243. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/init_logging.py +0 -0
  244. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/init_sdk.py +0 -0
  245. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/performance/async_tasks.py +0 -0
  246. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  247. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/unique_settings.py +0 -0
  248. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/verification.py +0 -0
  249. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/app/webhook.py +0 -0
  250. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/__init__.py +0 -0
  251. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/cancellation.py +0 -0
  252. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/constants.py +0 -0
  253. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/deprecated/service.py +0 -0
  254. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/functions.py +0 -0
  255. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/rendering.py +0 -0
  256. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/responses_api.py +0 -0
  257. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/schemas.py +0 -0
  258. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/service.py +0 -0
  259. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/state.py +0 -0
  260. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/chat/utils.py +0 -0
  261. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/content/constants.py +0 -0
  262. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/content/functions.py +0 -0
  263. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/content/schemas.py +0 -0
  264. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/content/service.py +0 -0
  265. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/content/utils.py +0 -0
  266. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/README.md +0 -0
  267. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/__init__.py +0 -0
  268. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  269. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  270. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/base.py +0 -0
  271. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  272. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/basic/config.py +0 -0
  273. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  274. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/data_extraction/basic/service.py +0 -0
  275. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/elicitation/__init__.py +0 -0
  276. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/elicitation/constants.py +0 -0
  277. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/elicitation/exceptions.py +0 -0
  278. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/elicitation/functions.py +0 -0
  279. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/elicitation/schemas.py +0 -0
  280. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/elicitation/service.py +0 -0
  281. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/embedding/__init__.py +0 -0
  282. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/embedding/constants.py +0 -0
  283. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/embedding/functions.py +0 -0
  284. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/embedding/schemas.py +0 -0
  285. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/embedding/service.py +0 -0
  286. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/embedding/utils.py +0 -0
  287. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/README.md +0 -0
  288. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/__init__.py +0 -0
  289. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/_internal/__init__.py +0 -0
  290. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
  291. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
  292. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
  293. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/__init__.py +0 -0
  294. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/_base.py +0 -0
  295. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
  296. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
  297. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
  298. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
  299. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
  300. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
  301. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
  302. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
  303. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
  304. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
  305. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
  306. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
  307. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
  308. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
  309. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
  310. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
  311. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
  312. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
  313. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
  314. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  315. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/identity/__init__.py +0 -0
  316. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/__init__.py +0 -0
  317. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
  318. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
  319. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
  320. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
  321. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
  322. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
  323. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
  324. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
  325. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
  326. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
  327. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
  328. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
  329. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
  330. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
  331. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
  332. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
  333. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
  334. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
  335. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
  336. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
  337. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
  338. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
  339. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
  340. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/__init__.py +0 -0
  341. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
  342. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
  343. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
  344. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
  345. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
  346. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
  347. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
  348. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
  349. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/group/functions.py +0 -0
  350. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
  351. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/group/service.py +0 -0
  352. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
  353. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
  354. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
  355. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
  356. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
  357. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
  358. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/user/functions.py +0 -0
  359. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
  360. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/resources/user/service.py +0 -0
  361. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/experimental/testing/__init__.py +0 -0
  362. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/__init__.py +0 -0
  363. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  364. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  365. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  366. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  367. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  368. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  369. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/framework_utilities/utils.py +0 -0
  370. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  371. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/builder.py +0 -0
  372. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/constants.py +0 -0
  373. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/default_language_model.py +0 -0
  374. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/functions.py +0 -0
  375. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/infos.py +0 -0
  376. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/prompt.py +0 -0
  377. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/reference.py +0 -0
  378. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/schemas.py +0 -0
  379. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/service.py +0 -0
  380. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/settings.py +0 -0
  381. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/stream_transform.py +0 -0
  382. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/language_model/utils.py +0 -0
  383. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/monitoring/__init__.py +0 -0
  384. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/monitoring/middleware.py +0 -0
  385. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/monitoring/registry.py +0 -0
  386. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/protocols/support.py +0 -0
  387. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/services/__init__.py +0 -0
  388. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/services/chat_service.py +0 -0
  389. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/services/factory.py +0 -0
  390. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/services/knowledge_base.py +0 -0
  391. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/short_term_memory/__init__.py +0 -0
  392. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/short_term_memory/constants.py +0 -0
  393. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/short_term_memory/functions.py +0 -0
  394. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/short_term_memory/schemas.py +0 -0
  395. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/short_term_memory/service.py +0 -0
  396. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.0.dev6}/unique_toolkit/smart_rules/__init__.py +0 -0
  397. {unique_toolkit-2026.24.0.dev4 → unique_toolkit-2026.24.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.24.0.dev4
3
+ Version: 2026.24.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>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "2026.24.0.dev4"
3
+ version = "2026.24.0.dev6"
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)
@@ -8,6 +8,8 @@ from typing import Any
8
8
  from unique_toolkit.content.smart_rules import (
9
9
  Operator,
10
10
  Statement,
11
+ UniqueQL,
12
+ uniqueql_to_dict,
11
13
  )
12
14
 
13
15
  _UQL_AND = "and"
@@ -29,16 +31,17 @@ def build_folder_id_in_clause(scope_ids: list[str]) -> dict[str, Any]:
29
31
 
30
32
  def merge_scope_clause_into_metadata_filter(
31
33
  scope_clause: Mapping[str, Any],
32
- metadata_filter: dict[str, Any] | None,
34
+ metadata_filter: UniqueQL | Mapping[str, Any] | None,
33
35
  ) -> dict[str, Any]:
34
36
  """AND-merge *scope_clause* with *metadata_filter*, flattening a top-level ``and``."""
35
37
  scope_dict = dict(scope_clause)
36
- if not metadata_filter:
38
+ metadata_dict = uniqueql_to_dict(metadata_filter)
39
+ if not metadata_dict:
37
40
  return scope_dict
38
- inner_and = metadata_filter.get(_UQL_AND)
41
+ inner_and = metadata_dict.get(_UQL_AND)
39
42
  if isinstance(inner_and, list):
40
43
  return {_UQL_AND: [scope_dict, *inner_and]}
41
- return {_UQL_AND: [scope_dict, dict(metadata_filter)]}
44
+ return {_UQL_AND: [scope_dict, metadata_dict]}
42
45
 
43
46
 
44
47
  __all__ = [
@@ -974,7 +974,12 @@ def ui_schema_for_model(
974
974
  node["items"] = item_node
975
975
 
976
976
  # Dict -> additionalProperties (value side)
977
- elif origin is dict:
977
+ # Skip when the node already carries a ui:widget (fully-specified
978
+ # widget) or an anyOf (fully-specified type branching): walking the
979
+ # dict value type in those cases adds a spurious "additionalProperties"
980
+ # node that confuses RJSF renderers. Presentation-only meta such as
981
+ # ui:expandable or ui:title does NOT prevent the walk.
982
+ elif origin is dict and "ui:widget" not in node and "anyOf" not in node:
978
983
  _key_t, val_t = get_args(base) or (Any, Any)
979
984
  val_base, val_meta = _walk_annotated_chain(val_t)
980
985
  val_base = _unwrap_optional(val_base)
@@ -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,10 +1,13 @@
1
+ import json
1
2
  import re
3
+ from collections.abc import Mapping
2
4
  from datetime import datetime, timedelta, timezone
3
5
  from enum import Enum
4
- from typing import Any, Dict, List, Mapping, Self, Union
6
+ from typing import Annotated, Any, Dict, List, Self, Union
5
7
 
6
- from pydantic import AliasChoices, BaseModel, Field
8
+ from pydantic import AliasChoices, BaseModel, BeforeValidator, Field, PlainSerializer
7
9
  from pydantic.config import ConfigDict
10
+ from pydantic.json_schema import WithJsonSchema
8
11
 
9
12
 
10
13
  class Operator(str, Enum):
@@ -54,6 +57,10 @@ class BaseStatement(BaseModel):
54
57
  ) -> Self:
55
58
  return self.model_copy()
56
59
 
60
+ def to_dict(self) -> dict[str, Any]:
61
+ """Convert to wire-format JSON dict (uses serialization aliases)."""
62
+ return self.model_dump(mode="json")
63
+
57
64
 
58
65
  class Statement(BaseStatement):
59
66
  operator: Operator
@@ -285,7 +292,6 @@ def get_fallback_values(
285
292
  return values
286
293
 
287
294
 
288
- # Example usage:
289
295
  def parse_uniqueql(json_data: Dict[str, Any]) -> UniqueQL:
290
296
  if "operator" in json_data:
291
297
  return Statement.model_validate(json_data)
@@ -299,3 +305,55 @@ def parse_uniqueql(json_data: Dict[str, Any]) -> UniqueQL:
299
305
  )
300
306
  else:
301
307
  raise ValueError("Invalid UniqueQL format")
308
+
309
+
310
+ def parse_uniqueql_input(v: Any) -> UniqueQL | None:
311
+ """Parse config/API input (JSON string, dict, or model) into a UniqueQL model."""
312
+ if v is None:
313
+ return None
314
+ if isinstance(v, (Statement, AndStatement, OrStatement)):
315
+ return v
316
+ if isinstance(v, str):
317
+ if v.strip() == "":
318
+ return None
319
+ try:
320
+ v = json.loads(v)
321
+ except json.JSONDecodeError as e:
322
+ raise ValueError(f"Invalid JSON: {e}") from e
323
+ if isinstance(v, dict):
324
+ return parse_uniqueql(v)
325
+ raise ValueError(f"Expected JSON string or dict, got {type(v).__name__}")
326
+
327
+
328
+ def uniqueql_to_dict(
329
+ value: UniqueQL | Mapping[str, Any] | None,
330
+ ) -> dict[str, Any] | None:
331
+ """Convert a UniqueQL model (or wire dict) to a JSON-serializable dict for APIs."""
332
+ if value is None:
333
+ return None
334
+ if isinstance(value, BaseStatement):
335
+ return value.to_dict()
336
+ return dict(value)
337
+
338
+
339
+ def _serialize_uniqueql_field(value: UniqueQL | None) -> dict[str, Any] | None:
340
+ return None if value is None else value.to_dict()
341
+
342
+
343
+ _UNIQUEQL_JSON_SCHEMA = {
344
+ "anyOf": [
345
+ {"type": "string", "title": "UniqueQL (JSON)"},
346
+ {"type": "null", "title": "Deactivated", "description": "None"},
347
+ ]
348
+ }
349
+
350
+ UniqueQLField = Annotated[
351
+ UniqueQL | None,
352
+ BeforeValidator(parse_uniqueql_input),
353
+ WithJsonSchema(_UNIQUEQL_JSON_SCHEMA),
354
+ PlainSerializer(
355
+ _serialize_uniqueql_field,
356
+ when_used="json",
357
+ return_type=dict[str, Any] | None,
358
+ ),
359
+ ]
@@ -6,8 +6,10 @@ from typing import Annotated, Self
6
6
  from pydantic import Field, model_validator
7
7
 
8
8
  from unique_toolkit._common.config_checker import register_config
9
+ from unique_toolkit._common.pydantic.rjsf_tags import RJSFMetaTag
9
10
  from unique_toolkit._common.pydantic_helpers import DeactivatedNone
10
11
  from unique_toolkit.content.schemas import ContentRerankerConfig
12
+ from unique_toolkit.content.smart_rules import UniqueQLField
11
13
  from unique_toolkit.experimental.components.internal_search.base.config import (
12
14
  InternalSearchConfig,
13
15
  )
@@ -15,9 +17,11 @@ from unique_toolkit.experimental.components.internal_search.base.config import (
15
17
 
16
18
  @register_config()
17
19
  class KnowledgeBaseInternalSearchConfig(InternalSearchConfig):
18
- scope_ids: list[str] | DeactivatedNone = Field(
20
+ scope_ids: Annotated[
21
+ Annotated[list[str], Field(title="Scope IDs")] | DeactivatedNone,
22
+ RJSFMetaTag({"anyOf": [{"items": {"ui:title": "Scope ID"}}, {}]}),
23
+ ] = Field(
19
24
  default=None,
20
- title="Active",
21
25
  deprecated=True,
22
26
  description=(
23
27
  "Not accepted for new configs. Use ``metadata_filter`` with "
@@ -26,10 +30,29 @@ class KnowledgeBaseInternalSearchConfig(InternalSearchConfig):
26
30
  "a ``folderId in [scope_ids]`` metadata filter at search time."
27
31
  ),
28
32
  )
29
- metadata_filter: dict[str, object] | None = Field(
33
+ metadata_filter: Annotated[
34
+ UniqueQLField,
35
+ # Put textarea attrs on the string branch (index 0) only, not at field level.
36
+ # If set at field level, RJSF's MultiSchemaField applies ui:widget to every
37
+ # anyOf branch during option iteration, which crashes on non-string branches.
38
+ RJSFMetaTag(
39
+ {
40
+ "ui:options": {"customValidation": "uniqueql"},
41
+ "anyOf": [
42
+ {
43
+ "ui:widget": "textarea",
44
+ "ui:placeholder": '{"operator": "equals", "value": "...", "path": ["fieldName"]}',
45
+ "ui:emptyValue": "",
46
+ },
47
+ {},
48
+ ],
49
+ }
50
+ ),
51
+ ] = Field(
30
52
  default=None,
31
53
  description=(
32
- "Static metadata filter applied to every KB search. "
54
+ "Static UniqueQL metadata filter applied to every KB search. "
55
+ "Pass as a JSON string or a plain dict. "
33
56
  "Overridden by chat context filter or per-invocation state override."
34
57
  ),
35
58
  )
@@ -105,7 +105,11 @@ class KnowledgeBaseInternalSearchService(
105
105
  return cast("dict[str, Any] | None", self._state.metadata_filter_override)
106
106
  if self._context.chat is not None:
107
107
  return self._context.chat.metadata_filter
108
- return self._config.metadata_filter
108
+ return (
109
+ self._config.metadata_filter.to_dict()
110
+ if self._config.metadata_filter
111
+ else None
112
+ )
109
113
 
110
114
  @property
111
115
  def _effective_scope_ids(self) -> list[str] | None:
@@ -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",
@@ -7,6 +7,7 @@ from unique_toolkit.content.smart_rules import (
7
7
  OrStatement,
8
8
  Statement,
9
9
  UniqueQL,
10
+ UniqueQLField,
10
11
  array_operator,
11
12
  binary_operator,
12
13
  calculate_current_date,
@@ -19,9 +20,11 @@ from unique_toolkit.content.smart_rules import (
19
20
  is_array_of_strings,
20
21
  null_operator,
21
22
  parse_uniqueql,
23
+ parse_uniqueql_input,
22
24
  replace_tool_parameters_patterns,
23
25
  replace_user_metadata_patterns,
24
26
  replace_variables,
27
+ uniqueql_to_dict,
25
28
  )
26
29
 
27
30
  warnings.warn(
@@ -38,6 +41,7 @@ __all__ = [
38
41
  "OrStatement",
39
42
  "Statement",
40
43
  "UniqueQL",
44
+ "UniqueQLField",
41
45
  "array_operator",
42
46
  "binary_operator",
43
47
  "calculate_current_date",
@@ -50,7 +54,9 @@ __all__ = [
50
54
  "is_array_of_strings",
51
55
  "null_operator",
52
56
  "parse_uniqueql",
57
+ "parse_uniqueql_input",
53
58
  "replace_tool_parameters_patterns",
54
59
  "replace_user_metadata_patterns",
55
60
  "replace_variables",
61
+ "uniqueql_to_dict",
56
62
  ]
@@ -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")