unique_toolkit 2026.22.0__tar.gz → 2026.22.0.dev1__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 (396) hide show
  1. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/PKG-INFO +2 -2
  2. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/pyproject.toml +2 -2
  3. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/files.py +2 -3
  4. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/feature_flags/feature_flags.py +5 -5
  5. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +4 -3
  6. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/config.py +6 -2
  7. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/names.py +0 -1
  8. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -7
  9. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +14 -31
  10. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -4
  11. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/tool.py +0 -10
  12. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/tool_manager.py +2 -12
  13. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/schemas.py +2 -13
  14. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/infos.py +22 -118
  15. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/schemas.py +0 -13
  16. unique_toolkit-2026.22.0/unique_toolkit/agentic/history_manager/settings.py +0 -53
  17. unique_toolkit-2026.22.0/unique_toolkit/language_model/settings.py +0 -65
  18. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/README.md +0 -0
  19. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/__init__.py +0 -0
  20. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/__init__.py +0 -0
  21. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/_base_service.py +0 -0
  22. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/_time_utils.py +0 -0
  23. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  24. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  25. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  26. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  27. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  28. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  29. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  30. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/README.md +0 -0
  31. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  32. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  33. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/cli.py +0 -0
  34. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/differ.py +0 -0
  35. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  36. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/models.py +0 -0
  37. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/registry.py +0 -0
  38. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/config_checker/validator.py +0 -0
  39. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/default_language_model.py +0 -0
  40. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  41. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/docx_generator/config.py +0 -0
  42. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  43. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  44. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/docx_generator/service.py +0 -0
  45. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  46. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/endpoint_builder.py +0 -0
  47. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  48. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/event_bus.py +0 -0
  49. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/exception.py +0 -0
  50. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/execution.py +0 -0
  51. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  52. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  53. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  54. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  55. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  56. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  57. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  58. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  59. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  60. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  61. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  62. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  63. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  64. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  65. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  66. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  67. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  68. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  69. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  70. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  71. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  72. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  73. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  74. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  75. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  76. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  77. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  78. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  79. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
  80. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  81. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  82. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/referencing.py +0 -0
  83. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/string_utilities.py +0 -0
  84. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  85. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  86. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/token/__init__.py +0 -0
  87. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  88. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/token/token_counting.py +0 -0
  89. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  90. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  91. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/__init__.py +0 -0
  92. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/image/encode.py +0 -0
  93. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  94. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  95. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  96. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  97. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  98. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  99. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  100. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/validate_required_values.py +0 -0
  101. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/_common/validators.py +0 -0
  102. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/__init__.py +0 -0
  103. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  104. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  105. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/config.py +0 -0
  106. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  107. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  108. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  109. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  110. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  111. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  112. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  113. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  114. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  115. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  116. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  117. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  118. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  119. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  120. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  121. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  122. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  123. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  124. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  125. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  126. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  127. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  128. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  129. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  130. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  131. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  132. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  133. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  134. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  135. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  136. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  137. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  138. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  139. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  140. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  141. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  142. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  143. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  144. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  145. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  146. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  147. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  148. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  149. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  150. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  151. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  152. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  153. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/message_log_order.py +0 -0
  154. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  155. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  156. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  157. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  158. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  159. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  160. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  161. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  162. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/__init__.py +0 -0
  163. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  164. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  165. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  166. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  167. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  168. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  169. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  170. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  171. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  172. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  173. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  174. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  175. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  176. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  177. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  178. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  179. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  180. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
  181. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  182. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  183. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  184. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  185. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  186. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  187. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  188. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  189. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  190. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  191. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  192. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  193. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  194. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  195. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  196. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
  197. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
  198. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
  199. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  200. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  201. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  202. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  203. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  204. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  205. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  206. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  207. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  208. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/factory.py +0 -0
  209. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  210. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  211. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  212. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  213. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  214. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  215. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  216. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  217. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
  218. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  219. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  220. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  221. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/schemas.py +0 -0
  222. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  223. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  224. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  225. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  226. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  227. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  228. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  229. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  230. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic_table/__init__.py +0 -0
  231. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic_table/schemas.py +0 -0
  232. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/agentic_table/service.py +0 -0
  233. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/__init__.py +0 -0
  234. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  235. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/dev_util.py +0 -0
  236. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/fast_api_factory.py +0 -0
  237. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/feature_flags.py +0 -0
  238. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/find_env_file.py +0 -0
  239. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/init_logging.py +0 -0
  240. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/init_sdk.py +0 -0
  241. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/performance/async_tasks.py +0 -0
  242. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  243. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/unique_settings.py +0 -0
  244. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/verification.py +0 -0
  245. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/app/webhook.py +0 -0
  246. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/__init__.py +0 -0
  247. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/cancellation.py +0 -0
  248. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/constants.py +0 -0
  249. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/deprecated/service.py +0 -0
  250. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/functions.py +0 -0
  251. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/rendering.py +0 -0
  252. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/responses_api.py +0 -0
  253. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/schemas.py +0 -0
  254. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/service.py +0 -0
  255. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/state.py +0 -0
  256. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/chat/utils.py +0 -0
  257. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/content/__init__.py +0 -0
  258. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/content/constants.py +0 -0
  259. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/content/functions.py +0 -0
  260. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/content/schemas.py +0 -0
  261. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/content/service.py +0 -0
  262. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/content/smart_rules.py +0 -0
  263. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/content/utils.py +0 -0
  264. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/README.md +0 -0
  265. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/__init__.py +0 -0
  266. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  267. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  268. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/base.py +0 -0
  269. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  270. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/basic/config.py +0 -0
  271. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  272. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/data_extraction/basic/service.py +0 -0
  273. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/elicitation/__init__.py +0 -0
  274. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/elicitation/constants.py +0 -0
  275. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/elicitation/exceptions.py +0 -0
  276. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/elicitation/functions.py +0 -0
  277. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/elicitation/schemas.py +0 -0
  278. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/elicitation/service.py +0 -0
  279. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/embedding/__init__.py +0 -0
  280. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/embedding/constants.py +0 -0
  281. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/embedding/functions.py +0 -0
  282. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/embedding/schemas.py +0 -0
  283. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/embedding/service.py +0 -0
  284. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/embedding/utils.py +0 -0
  285. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/README.md +0 -0
  286. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/__init__.py +0 -0
  287. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/_internal/__init__.py +0 -0
  288. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
  289. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
  290. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
  291. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/__init__.py +0 -0
  292. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/_base.py +0 -0
  293. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
  294. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/content_tree/functions.py +0 -0
  295. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
  296. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
  297. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
  298. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
  299. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
  300. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
  301. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
  302. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
  303. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
  304. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
  305. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
  306. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
  307. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
  308. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
  309. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
  310. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
  311. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
  312. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
  313. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
  314. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  315. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/identity/__init__.py +0 -0
  316. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/__init__.py +0 -0
  317. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
  318. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
  319. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
  320. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
  321. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
  322. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
  323. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
  324. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
  325. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
  326. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
  327. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
  328. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
  329. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
  330. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
  331. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
  332. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
  333. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
  334. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
  335. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
  336. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
  337. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
  338. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
  339. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
  340. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/__init__.py +0 -0
  341. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
  342. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
  343. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
  344. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
  345. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
  346. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
  347. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
  348. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
  349. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/group/functions.py +0 -0
  350. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
  351. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/group/service.py +0 -0
  352. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
  353. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
  354. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
  355. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
  356. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
  357. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
  358. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/user/functions.py +0 -0
  359. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
  360. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/resources/user/service.py +0 -0
  361. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/experimental/testing/__init__.py +0 -0
  362. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/__init__.py +0 -0
  363. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  364. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  365. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  366. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  367. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  368. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  369. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/framework_utilities/utils.py +0 -0
  370. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/__init__.py +0 -0
  371. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  372. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/builder.py +0 -0
  373. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/constants.py +0 -0
  374. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/default_language_model.py +0 -0
  375. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/functions.py +0 -0
  376. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/prompt.py +0 -0
  377. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/reference.py +0 -0
  378. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/service.py +0 -0
  379. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/stream_transform.py +0 -0
  380. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/language_model/utils.py +0 -0
  381. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/monitoring/__init__.py +0 -0
  382. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/monitoring/middleware.py +0 -0
  383. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/monitoring/registry.py +0 -0
  384. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/protocols/support.py +0 -0
  385. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/services/__init__.py +0 -0
  386. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/services/chat_service.py +0 -0
  387. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/services/factory.py +0 -0
  388. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/services/knowledge_base.py +0 -0
  389. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/short_term_memory/__init__.py +0 -0
  390. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/short_term_memory/constants.py +0 -0
  391. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/short_term_memory/functions.py +0 -0
  392. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/short_term_memory/schemas.py +0 -0
  393. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/short_term_memory/service.py +0 -0
  394. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/smart_rules/__init__.py +0 -0
  395. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/unique_toolkit/smart_rules/compile.py +0 -0
  396. {unique_toolkit-2026.22.0 → unique_toolkit-2026.22.0.dev1}/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.22.0
3
+ Version: 2026.22.0.dev1
4
4
  Summary:
5
5
  Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
6
6
  Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
@@ -16,7 +16,7 @@ Requires-Dist: sseclient>=0.0.27,<0.0.28
16
16
  Requires-Dist: openai>=1.105.0,<3
17
17
  Requires-Dist: platformdirs>=4.0.0,<5
18
18
  Requires-Dist: pillow>=12.1.1
19
- Requires-Dist: unique-sdk>=2026.22.0
19
+ Requires-Dist: unique-sdk>=2026.22.0.dev1,<2026.22.0rc0
20
20
  Requires-Dist: jambo>=0.1.2,<0.2
21
21
  Requires-Dist: jinja2>=3.1.6,<4
22
22
  Requires-Dist: docxtpl>=0.20.1,<0.21
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "2026.22.0"
3
+ version = "2026.22.0.dev1"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -28,7 +28,7 @@ dependencies = [
28
28
  "openai>=1.105.0,<3",
29
29
  "platformdirs>=4.0.0,<5",
30
30
  "pillow>=12.1.1",
31
- "unique-sdk>=2026.22.0",
31
+ "unique-sdk>=2026.22.0.dev1,<2026.22.0rc0",
32
32
  "jambo>=0.1.2,<0.2",
33
33
  "jinja2>=3.1.6,<4",
34
34
  "docxtpl>=0.20.1,<0.21",
@@ -8,7 +8,6 @@ from pathlib import Path
8
8
  class FileMimeType(StrEnum):
9
9
  PDF = "application/pdf"
10
10
  DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
11
- DOTX = "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
12
11
  DOC = "application/msword"
13
12
  # TODO: clean up duplicates and make the monolith compatible with this.
14
13
  XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
@@ -42,7 +41,7 @@ class FileMimeType(StrEnum):
42
41
  @property
43
42
  def is_docx(self) -> bool:
44
43
  cls = self.__class__
45
- return self in {cls.DOCX, cls.DOTX, cls.DOC}
44
+ return self in {cls.DOCX, cls.DOC}
46
45
 
47
46
  @property
48
47
  def is_pdf(self) -> bool:
@@ -99,7 +98,7 @@ class FileMimeType(StrEnum):
99
98
 
100
99
  def get_common_name(extension: FileMimeType) -> str:
101
100
  match extension:
102
- case FileMimeType.DOCX | FileMimeType.DOTX | FileMimeType.DOC:
101
+ case FileMimeType.DOCX | FileMimeType.DOC:
103
102
  return "docx"
104
103
  case (
105
104
  FileMimeType.XLSX
@@ -66,6 +66,11 @@ class FeatureFlags(BaseSettings):
66
66
  description="Enable new answers UI (UN-14411)",
67
67
  )
68
68
 
69
+ enable_elicitation_un_15809: FeatureFlag = Field(
70
+ default=FeatureFlag(False),
71
+ description="Enable elicitation (UN-15809)",
72
+ )
73
+
69
74
  enable_html_rendering_un_15131: FeatureFlag = Field(
70
75
  default=FeatureFlag(False),
71
76
  description="Enable HTML rendering for code interpreter files (UN-15131). Can be 'true' or comma-separated company IDs.",
@@ -76,11 +81,6 @@ class FeatureFlags(BaseSettings):
76
81
  description="Emit codeExecution fences in message.text for code interpreter outputs (UN-17972). When disabled, inline file refs are kept as-is. Can be 'true' or comma-separated company IDs.",
77
82
  )
78
83
 
79
- enable_html_with_fence_un_17927: FeatureFlag = Field(
80
- default=FeatureFlag(False),
81
- description="Render HTML code interpreter files as htmlWithSource fences instead of HtmlRendering blocks (UN-17927). Requires enable_code_execution_fence_un_17972 to also be enabled. Can be 'true' or comma-separated company IDs.",
82
- )
83
-
84
84
  enable_web_search_argument_screening_un_18741: FeatureFlag = Field(
85
85
  default=FeatureFlag(False),
86
86
  description="Enable argument screening agent for web search tool calls (UN-18741). Can be 'true' or comma-separated company IDs.",
@@ -13,7 +13,6 @@ from unique_toolkit.agentic.history_manager.history_construction_with_contents i
13
13
  get_full_history_with_contents_and_tool_calls_async,
14
14
  get_full_history_with_contents_async,
15
15
  )
16
- from unique_toolkit.agentic.history_manager.settings import env_settings
17
16
  from unique_toolkit.agentic.history_manager.utils import (
18
17
  get_selected_uploaded_content_ids,
19
18
  serialize_tool_content_json,
@@ -34,8 +33,10 @@ from unique_toolkit.language_model.schemas import (
34
33
  )
35
34
  from unique_toolkit.services.factory import UniqueServiceFactory
36
35
 
37
- MAX_INPUT_TOKENS_SAFETY_PERCENTAGE = env_settings.input_correction_reduction_factor
38
- SAFETY_MARGIN_FOR_AGGRESSIVE_REDUCTION = env_settings.input_aggressive_reduction_factor
36
+ MAX_INPUT_TOKENS_SAFETY_PERCENTAGE = (
37
+ 0.1 # 10% safety margin for input tokens we need 10% less does not work.
38
+ )
39
+ SAFETY_MARGIN_FOR_AGGRESSIVE_REDUCTION = 0.9
39
40
 
40
41
 
41
42
  class SourceReductionResult(BaseModel):
@@ -5,8 +5,8 @@ from pydantic import (
5
5
  BaseModel,
6
6
  BeforeValidator,
7
7
  Field,
8
- SerializeAsAny,
9
8
  ValidationInfo,
9
+ field_serializer,
10
10
  model_validator,
11
11
  )
12
12
  from typing_extensions import TypeVar
@@ -53,7 +53,7 @@ class ToolBuildConfig(BaseModel, Generic[T]):
53
53
  """Main tool configuration"""
54
54
 
55
55
  name: str
56
- configuration: SerializeAsAny[T]
56
+ configuration: T
57
57
  display_name: str = ""
58
58
  icon: Annotated[ToolIcon, BeforeValidator(handle_undefined_icon)] = Field(
59
59
  default=ToolIcon.BOOK,
@@ -125,3 +125,7 @@ class ToolBuildConfig(BaseModel, Generic[T]):
125
125
  config = configuration
126
126
  value["configuration"] = config
127
127
  return value
128
+
129
+ @field_serializer("configuration")
130
+ def serialize_config(self, value: T) -> dict[str, Any]:
131
+ return value.__class__.model_dump(value)
@@ -8,4 +8,3 @@ TODO(UN-20578): Add canonical name constants for the remaining toolkit tools.
8
8
 
9
9
  INTERNAL_SEARCH_TOOL_NAME = "InternalSearch"
10
10
  UPLOADED_SEARCH_TOOL_NAME = "UploadedSearch"
11
- SKILL_TOOL_NAME = "Skill"
@@ -46,13 +46,6 @@ class OpenAIBuiltInTool(ABC, Generic[ToolType]):
46
46
  def display_name(self) -> str:
47
47
  raise NotImplementedError()
48
48
 
49
- def is_capability(self) -> bool:
50
- """Return True if this tool is a capability that must remain in the
51
- active tool set regardless of ``tool_choices`` filtering.
52
- Default: False.
53
- """
54
- return False
55
-
56
49
  def get_required_include_params(self) -> list[ResponseIncludable]:
57
50
  """Return Responses API `include` values required by this tool.
58
51
 
@@ -503,15 +503,6 @@ class DisplayCodeInterpreterFilesPostProcessor(
503
503
  fence_ff_on = feature_flags.enable_code_execution_fence_un_17972.is_enabled(
504
504
  self._company_id
505
505
  )
506
- # HTML uses htmlWithSource only when BOTH the code-execution fence FF AND the
507
- # dedicated HTML-fence FF are on. Default (FF off) keeps HtmlRendering so
508
- # existing deployments are unaffected.
509
- html_fence_ff_on = (
510
- fence_ff_on
511
- and feature_flags.enable_html_with_fence_un_17927.is_enabled(
512
- self._company_id
513
- )
514
- )
515
506
 
516
507
  replaced_files: list[str] = []
517
508
  missed_files: list[str] = []
@@ -543,9 +534,7 @@ class DisplayCodeInterpreterFilesPostProcessor(
543
534
  )
544
535
  changed |= replaced
545
536
 
546
- # HTML rendered as HtmlRendering block unless the dedicated html-fence FF
547
- # is on (enable_html_with_fence_un_17927). Default keeps HtmlRendering.
548
- elif is_html and not html_fence_ff_on:
537
+ elif is_html:
549
538
  loop_response.message.text, replaced = _replace_container_html_citation(
550
539
  text=loop_response.message.text or "",
551
540
  filename=filename,
@@ -553,8 +542,6 @@ class DisplayCodeInterpreterFilesPostProcessor(
553
542
  )
554
543
  changed |= replaced
555
544
 
556
- # Non-HTML files, or HTML when html_fence_ff_on → inline content link for
557
- # subsequent fence injection (htmlWithSource / imgWithSource / fileWithSource)
558
545
  else:
559
546
  loop_response.message.text, replaced = _replace_container_file_citation(
560
547
  text=loop_response.message.text or "",
@@ -576,7 +563,6 @@ class DisplayCodeInterpreterFilesPostProcessor(
576
563
  else:
577
564
  missed_files.append(filename)
578
565
 
579
- # HtmlRendering and htmlWithSource both embed contentId directly — no ContentReference needed
580
566
  is_html_rendered = is_html
581
567
  if replaced and not (is_image or is_html_rendered or fence_ff_on):
582
568
  loop_response.message.references.append(
@@ -598,17 +584,13 @@ class DisplayCodeInterpreterFilesPostProcessor(
598
584
  )
599
585
 
600
586
  if fence_ff_on:
601
- code_blocks = _build_code_blocks(
602
- loop_response, self._content_map, include_html=html_fence_ff_on
603
- )
587
+ code_blocks = _build_code_blocks(loop_response, self._content_map)
604
588
  self._log.info(
605
589
  "Fence injection — %d code block(s), files: %s",
606
590
  len(code_blocks),
607
591
  [f.filename for b in code_blocks for f in b.files],
608
592
  )
609
- _warn_unmatched_code_blocks(
610
- self._content_map, code_blocks, include_html=html_fence_ff_on
611
- )
593
+ _warn_unmatched_code_blocks(self._content_map, code_blocks)
612
594
  text_before = loop_response.message.text
613
595
  loop_response.message.text = _inject_code_execution_fences(
614
596
  loop_response.message.text or "",
@@ -989,9 +971,12 @@ def _build_file_fence(file: CodeInterpreterFile, code: str, fence_id: int) -> st
989
971
  content_id, a title derived from the filename, the type, and the
990
972
  escaped source code.
991
973
 
974
+ HTML is not emitted here in normal flow: it is rendered via ``HtmlRendering`` blocks
975
+ in message text and excluded from fence injection. If ``type="html"`` is passed (e.g.
976
+ orphan path), fall through to ``fileWithSource`` like other non-image artifacts.
977
+
992
978
  Format (4 backticks so inner code backticks never close the fence):
993
979
  ````imgWithSource(id='{n}', contentId='{id}', title="{title}", code="{escaped_code}")````
994
- ````htmlWithSource(id='{n}', contentId='{id}', title="{title}", code="{escaped_code}")````
995
980
  ````fileWithSource(id='{n}', contentId='{id}', title="{title}", type="{type}", code="{escaped_code}")````
996
981
  """
997
982
  title = _file_title(file.filename)
@@ -999,8 +984,6 @@ def _build_file_fence(file: CodeInterpreterFile, code: str, fence_id: int) -> st
999
984
  outer = "````"
1000
985
  if file.type == "image":
1001
986
  tag = f"imgWithSource(id='{fence_id}', contentId='{file.content_id}', title=\"{title}\", code=\"{escaped}\")"
1002
- elif file.type == "html":
1003
- tag = f"htmlWithSource(id='{fence_id}', contentId='{file.content_id}', title=\"{title}\", code=\"{escaped}\")"
1004
987
  else:
1005
988
  ftype = _file_frontend_type(file.filename)
1006
989
  tag = f'fileWithSource(id=\'{fence_id}\', contentId=\'{file.content_id}\', title="{title}", type="{ftype}", code="{escaped}")'
@@ -1024,7 +1007,7 @@ def _inline_ref_pattern(file: CodeInterpreterFile) -> re.Pattern[str]:
1024
1007
 
1025
1008
 
1026
1009
  _FENCE_BLOCK_START = re.compile(
1027
- r"^[^\n`]+?(````(?:imgWithSource|fileWithSource|htmlWithSource)\()",
1010
+ r"^[^\n`]+?(````(?:imgWithSource|fileWithSource)\()",
1028
1011
  re.MULTILINE,
1029
1012
  )
1030
1013
 
@@ -1034,9 +1017,9 @@ _FENCE_BLOCK_START = re.compile(
1034
1017
  # - cross-line: 1 or 2 newlines optionally surrounded by horizontal whitespace
1035
1018
  # (list-item linebreak, or blank-line paragraph gap)
1036
1019
  _CONSECUTIVE_FENCES_RE = re.compile(
1037
- r"(````(?:imgWithSource|fileWithSource|htmlWithSource)\([^\n]*\)````)"
1020
+ r"(````(?:imgWithSource|fileWithSource)\([^\n]*\)````)"
1038
1021
  r"(?:[^\n`]*|[ \t]*\n{1,2}[ \t]*)"
1039
- r"(?=````(?:imgWithSource|fileWithSource|htmlWithSource)\()"
1022
+ r"(?=````(?:imgWithSource|fileWithSource)\()"
1040
1023
  )
1041
1024
 
1042
1025
 
@@ -1100,7 +1083,6 @@ def _inject_code_execution_fences(
1100
1083
  def _build_code_blocks(
1101
1084
  loop_response: ResponsesLanguageModelStreamResponse,
1102
1085
  content_map: dict[str, str | None],
1103
- include_html: bool = False,
1104
1086
  ) -> list[CodeInterpreterBlock]:
1105
1087
  """Map each code interpreter call to the files it produced via /mnt/data/ path matching.
1106
1088
 
@@ -1198,9 +1180,11 @@ def _build_code_blocks(
1198
1180
  # overwritten across executions. Using a dict keyed by filename ensures each
1199
1181
  # file appears exactly once per block (last annotation wins, consistent with
1200
1182
  # the last-writer-wins rule applied in step 1).
1183
+ # HTML files are excluded: they are always rendered via HtmlRendering blocks
1184
+ # and never participate in fence injection.
1201
1185
  block_file_map: dict[int, dict[str, CodeInterpreterFile]] = {}
1202
1186
  for annotation in loop_response.container_files:
1203
- if not include_html and _get_file_type(annotation.filename) == "html":
1187
+ if _get_file_type(annotation.filename) == "html":
1204
1188
  continue
1205
1189
  content_id = content_map.get(annotation.filename)
1206
1190
  if content_id is None:
@@ -1284,7 +1268,6 @@ def _replace_dangling_sandbox_links(text: str) -> tuple[str, bool]:
1284
1268
  def _warn_unmatched_code_blocks(
1285
1269
  content_map: dict[str, str | None],
1286
1270
  code_blocks: list[CodeInterpreterBlock],
1287
- include_html: bool = False,
1288
1271
  ) -> None:
1289
1272
  """Warn for files that were uploaded but could not be matched to any code block.
1290
1273
 
@@ -1298,7 +1281,7 @@ def _warn_unmatched_code_blocks(
1298
1281
  for filename, content_id in content_map.items():
1299
1282
  if content_id is None:
1300
1283
  continue
1301
- if not include_html and _get_file_type(filename) == "html":
1284
+ if _get_file_type(filename) == "html":
1302
1285
  continue
1303
1286
  if filename not in fenced_filenames:
1304
1287
  logger.warning(
@@ -302,10 +302,6 @@ class OpenAICodeInterpreterTool(OpenAIBuiltInTool[CodeInterpreter]):
302
302
  def is_exclusive(self) -> bool:
303
303
  return self._is_exclusive
304
304
 
305
- @override
306
- def is_capability(self) -> bool:
307
- return True
308
-
309
305
  @classmethod
310
306
  async def build_tool(
311
307
  cls,
@@ -117,16 +117,6 @@ class Tool(ABC, Generic[ConfigType]):
117
117
  """
118
118
  return ""
119
119
 
120
- def is_capability(self) -> bool:
121
- """Return True if this tool is a capability that must remain in the
122
- active tool set regardless of ``tool_choices`` filtering.
123
-
124
- Capability tools are always kept in ``_tools`` when enabled, even when
125
- another tool is force-selected via ``tool_choices`` or an exclusive tool
126
- wins the selection. Default: False.
127
- """
128
- return False
129
-
130
120
  @deprecated(
131
121
  "Do not use. The tool should not determine how"
132
122
  "it is checked. This should be defined by the user"
@@ -161,6 +161,8 @@ class _ToolManager(Generic[_ApiMode]):
161
161
  continue
162
162
  # if tool choices are given, only include those tools
163
163
  if len(self._tool_choices) > 0 and t.name not in self._tool_choices:
164
+ if t.name == OpenAIBuiltInToolName.CODE_INTERPRETER:
165
+ self._tools.append(t)
164
166
  continue
165
167
  # is the tool exclusive and has been choosen by the user?
166
168
  if t.is_exclusive() and len(tool_choices) > 0 and t.name in tool_choices:
@@ -175,18 +177,6 @@ class _ToolManager(Generic[_ApiMode]):
175
177
 
176
178
  self._tools.append(t)
177
179
 
178
- # Capability tools bypass tool_choices filtering — they are always
179
- # included when enabled, regardless of what was force-selected.
180
- active_names = {t.name for t in self._tools}
181
- for t in self.available_tools:
182
- if (
183
- t.is_enabled()
184
- and t.name not in self._disabled_tools
185
- and t.is_capability()
186
- and t.name not in active_names
187
- ):
188
- self._tools.append(t)
189
-
190
180
  def _restore_uploaded_search_for_internal_search_if_available(
191
181
  self,
192
182
  exclusive_tool: Tool[Any] | OpenAIBuiltInTool[Any],
@@ -215,7 +215,7 @@ class Correlation(BaseModel):
215
215
  parent_assistant_id: str
216
216
 
217
217
 
218
- class ChatEventSkill(BaseModel):
218
+ class ChatEventSkillChoice(BaseModel):
219
219
  model_config = model_config
220
220
 
221
221
  name: str = Field(default="", description="Skill name.")
@@ -229,9 +229,6 @@ class ChatEventSkill(BaseModel):
229
229
  )
230
230
 
231
231
 
232
- SkillReference = ChatEventSkill
233
-
234
-
235
232
  class ChatEventPayload(BaseModel):
236
233
  model_config = model_config
237
234
 
@@ -251,21 +248,13 @@ class ChatEventPayload(BaseModel):
251
248
  default_factory=list,
252
249
  description="A list containing the tool names the user has chosen to be activated.",
253
250
  )
254
- skill_choices: list[ChatEventSkill] = Field(
251
+ skill_choices: list[ChatEventSkillChoice] = Field(
255
252
  default_factory=list,
256
253
  description=(
257
254
  "A list containing selected skills with ``scope_id``, "
258
255
  "``content_id``, and ``name``."
259
256
  ),
260
257
  )
261
- available_skills: list[ChatEventSkill] = Field(
262
- default_factory=list,
263
- description=(
264
- "Per-turn skills exposed for this message (``content_id`` + "
265
- "``scope_id`` from the client). This list alone drives the "
266
- "Skill tool registry for the run."
267
- ),
268
- )
269
258
  disabled_tools: list[str] = Field(
270
259
  default_factory=list,
271
260
  description="A list containing the tool names of tools that are disabled at the company level",