unique_toolkit 2026.18.0__tar.gz → 2026.18.0.dev0__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 (327) hide show
  1. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/PKG-INFO +11 -11
  2. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/README.md +9 -9
  3. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/pyproject.toml +2 -2
  4. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +28 -91
  5. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +1 -1
  6. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/unique_settings.py +1 -1
  7. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/content/schemas.py +2 -2
  8. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/__init__.py +0 -0
  9. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/__init__.py +0 -0
  10. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/_base_service.py +0 -0
  11. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/_time_utils.py +0 -0
  12. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  13. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  14. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  15. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  16. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  17. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  18. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  19. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/README.md +0 -0
  20. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  21. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  22. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/cli.py +0 -0
  23. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/differ.py +0 -0
  24. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  25. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/models.py +0 -0
  26. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/registry.py +0 -0
  27. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/config_checker/validator.py +0 -0
  28. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/default_language_model.py +0 -0
  29. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  30. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/docx_generator/config.py +0 -0
  31. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  32. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  33. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/docx_generator/service.py +0 -0
  34. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  35. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/endpoint_builder.py +0 -0
  36. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  37. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/event_bus.py +0 -0
  38. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/exception.py +0 -0
  39. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/execution.py +0 -0
  40. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  41. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  42. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  43. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  44. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  45. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  46. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  47. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  48. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  49. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  50. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  51. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  52. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  53. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  54. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  55. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  56. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  57. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  58. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  59. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  60. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  61. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  62. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  63. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  64. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  65. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  66. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  67. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  68. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  69. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  70. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/referencing.py +0 -0
  71. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/string_utilities.py +0 -0
  72. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  73. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  74. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/token/__init__.py +0 -0
  75. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  76. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/token/token_counting.py +0 -0
  77. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  78. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  79. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/__init__.py +0 -0
  80. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/files.py +0 -0
  81. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/image/encode.py +0 -0
  82. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  83. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  84. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  85. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  86. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  87. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  88. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  89. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/validate_required_values.py +0 -0
  90. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/_common/validators.py +0 -0
  91. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/__init__.py +0 -0
  92. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  93. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  94. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/config.py +0 -0
  95. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  96. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  97. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  98. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  99. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  100. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  101. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  102. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  103. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  104. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  105. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  106. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  107. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  108. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  109. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  110. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  111. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  112. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  113. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  114. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  115. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  116. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  117. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  118. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  119. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  120. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  121. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  122. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  123. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  124. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  125. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  126. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  127. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  128. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  129. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  130. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  131. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  132. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  133. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  134. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  135. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  136. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  137. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  138. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  139. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  140. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  141. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  142. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  143. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  144. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  145. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  146. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  147. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  148. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  149. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  150. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  151. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/__init__.py +0 -0
  152. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  153. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  154. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  155. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  156. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  157. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  158. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  159. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  160. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  161. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  162. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  163. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  164. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  165. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  166. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  167. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  168. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  169. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  170. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  171. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  172. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  173. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  174. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  175. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  176. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  177. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  178. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/config.py +0 -0
  179. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  180. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  181. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  182. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  183. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  184. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  185. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  186. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  187. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  188. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  189. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  190. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  191. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  192. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  193. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/factory.py +0 -0
  194. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  195. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  196. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  197. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  198. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  199. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  200. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  201. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  202. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  203. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  204. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  205. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  206. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  207. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  208. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/schemas.py +0 -0
  209. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  210. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  211. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/tool.py +0 -0
  212. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  213. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  214. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  215. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  216. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  217. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  218. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  219. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic_table/__init__.py +0 -0
  220. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic_table/schemas.py +0 -0
  221. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/agentic_table/service.py +0 -0
  222. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/__init__.py +0 -0
  223. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  224. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/dev_util.py +0 -0
  225. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/fast_api_factory.py +0 -0
  226. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/feature_flags.py +0 -0
  227. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/find_env_file.py +0 -0
  228. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/init_logging.py +0 -0
  229. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/init_sdk.py +0 -0
  230. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/performance/async_tasks.py +0 -0
  231. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  232. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/schemas.py +0 -0
  233. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/verification.py +0 -0
  234. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/app/webhook.py +0 -0
  235. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/__init__.py +0 -0
  236. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/cancellation.py +0 -0
  237. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/constants.py +0 -0
  238. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/deprecated/service.py +0 -0
  239. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/functions.py +0 -0
  240. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/rendering.py +0 -0
  241. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/responses_api.py +0 -0
  242. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/schemas.py +0 -0
  243. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/service.py +0 -0
  244. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/state.py +0 -0
  245. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/chat/utils.py +0 -0
  246. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/content/__init__.py +0 -0
  247. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/content/constants.py +0 -0
  248. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/content/functions.py +0 -0
  249. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/content/service.py +0 -0
  250. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/content/smart_rules.py +0 -0
  251. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/content/utils.py +0 -0
  252. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/README.md +0 -0
  253. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/__init__.py +0 -0
  254. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  255. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  256. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/base.py +0 -0
  257. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  258. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/basic/config.py +0 -0
  259. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  260. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/data_extraction/basic/service.py +0 -0
  261. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/elicitation/__init__.py +0 -0
  262. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/elicitation/constants.py +0 -0
  263. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/elicitation/exceptions.py +0 -0
  264. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/elicitation/functions.py +0 -0
  265. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/elicitation/schemas.py +0 -0
  266. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/elicitation/service.py +0 -0
  267. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/embedding/__init__.py +0 -0
  268. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/embedding/constants.py +0 -0
  269. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/embedding/functions.py +0 -0
  270. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/embedding/schemas.py +0 -0
  271. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/embedding/service.py +0 -0
  272. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/embedding/utils.py +0 -0
  273. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/__init__.py +0 -0
  274. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_folder/__init__.py +0 -0
  275. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_folder/functions.py +0 -0
  276. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_folder/schemas.py +0 -0
  277. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_folder/service.py +0 -0
  278. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  279. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_tree/functions.py +0 -0
  280. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_tree/schemas.py +0 -0
  281. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/content_tree/service.py +0 -0
  282. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/identity/__init__.py +0 -0
  283. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/identity/functions.py +0 -0
  284. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/identity/schemas.py +0 -0
  285. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/identity/service.py +0 -0
  286. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/scheduled_task/__init__.py +0 -0
  287. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/scheduled_task/cron.py +0 -0
  288. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/scheduled_task/functions.py +0 -0
  289. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/scheduled_task/schemas.py +0 -0
  290. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/experimental/scheduled_task/service.py +0 -0
  291. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/__init__.py +0 -0
  292. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  293. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  294. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  295. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  296. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  297. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  298. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/framework_utilities/utils.py +0 -0
  299. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/__init__.py +0 -0
  300. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  301. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/builder.py +0 -0
  302. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/constants.py +0 -0
  303. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/default_language_model.py +0 -0
  304. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/functions.py +0 -0
  305. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/infos.py +0 -0
  306. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/prompt.py +0 -0
  307. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/reference.py +0 -0
  308. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/schemas.py +0 -0
  309. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/service.py +0 -0
  310. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/stream_transform.py +0 -0
  311. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/language_model/utils.py +0 -0
  312. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/monitoring/__init__.py +0 -0
  313. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/monitoring/middleware.py +0 -0
  314. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/monitoring/registry.py +0 -0
  315. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/protocols/support.py +0 -0
  316. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/services/__init__.py +0 -0
  317. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/services/chat_service.py +0 -0
  318. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/services/factory.py +0 -0
  319. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/services/knowledge_base.py +0 -0
  320. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/short_term_memory/__init__.py +0 -0
  321. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/short_term_memory/constants.py +0 -0
  322. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/short_term_memory/functions.py +0 -0
  323. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/short_term_memory/schemas.py +0 -0
  324. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/short_term_memory/service.py +0 -0
  325. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/smart_rules/__init__.py +0 -0
  326. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/unique_toolkit/smart_rules/compile.py +0 -0
  327. {unique_toolkit-2026.18.0 → unique_toolkit-2026.18.0.dev0}/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.18.0
3
+ Version: 2026.18.0.dev0
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>=0.11.12
19
+ Requires-Dist: unique-sdk==2026.18.0.dev0
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
@@ -47,7 +47,7 @@ Description-Content-Type: text/markdown
47
47
 
48
48
  # Unique Toolkit
49
49
 
50
- This package provides high-level abstractions and methods on top of `unique_sdk` to ease application development for the Unique Platform.
50
+ This package provides highlevel abstractions and methods on top of `unique_sdk` to ease application development for the Unique Platform.
51
51
 
52
52
  The Toolkit is structured along the following domains:
53
53
  - `unique_toolkit.chat`
@@ -56,25 +56,25 @@ The Toolkit is structured along the following domains:
56
56
  - `unique_toolkit.language_model`
57
57
  - `unique_toolkit.short_term_memory`
58
58
 
59
- Each domain comprises a set of schemas (in `schemas.py`) that are used in functions (in `functions.py`) which encapsulate the basic functionalities to interact with the platform.
59
+ Each domain comprises a set of schemas (in `schemas.py`) are used in functions (in `functions.py`) which encapsulates the basic functionalities to interact with the plattform.
60
60
  The above domains represent the internal structure of the Unique platform.
61
61
 
62
- For the `developers` we expose interfaces via `services` classes that correspond directly to a frontend or an entity the `user` interacts with.
62
+ For the `developers` we expose interfaces via `services` classes that correspond directly to an frontend or an entity the `user` interacts with.
63
63
 
64
64
  The following services are currently available:
65
65
 
66
- | Service | Responsibility |
66
+ | Service | Responsability |
67
67
  |--|--|
68
- | ChatService | All interactions with the chat interface |
68
+ | ChatService | All interactions with the chat interface |
69
69
  | KnowledgeBaseService | All interaction with the knowledgebase |
70
70
 
71
- The services can be directly imported as
71
+ The services can be directly import as
72
72
 
73
- ```python
74
- from unique_toolkit import ChatService, KnowledgeBaseService
75
73
  ```
74
+ from unique_toolkit import ChatService, KnowledgeBaseService
75
+
76
76
 
77
- In addition, the `unique_toolkit.app` module provides functions to initialize apps and dev utilities to interact with the Unique platform.
77
+ In addition, the `unique_toolkit.app` module provides functions to initialize apps and dev utilities to interact with the Unique platform.
78
78
 
79
79
  ## Changelog
80
80
 
@@ -1,6 +1,6 @@
1
1
  # Unique Toolkit
2
2
 
3
- This package provides high-level abstractions and methods on top of `unique_sdk` to ease application development for the Unique Platform.
3
+ This package provides highlevel abstractions and methods on top of `unique_sdk` to ease application development for the Unique Platform.
4
4
 
5
5
  The Toolkit is structured along the following domains:
6
6
  - `unique_toolkit.chat`
@@ -9,25 +9,25 @@ The Toolkit is structured along the following domains:
9
9
  - `unique_toolkit.language_model`
10
10
  - `unique_toolkit.short_term_memory`
11
11
 
12
- Each domain comprises a set of schemas (in `schemas.py`) that are used in functions (in `functions.py`) which encapsulate the basic functionalities to interact with the platform.
12
+ Each domain comprises a set of schemas (in `schemas.py`) are used in functions (in `functions.py`) which encapsulates the basic functionalities to interact with the plattform.
13
13
  The above domains represent the internal structure of the Unique platform.
14
14
 
15
- For the `developers` we expose interfaces via `services` classes that correspond directly to a frontend or an entity the `user` interacts with.
15
+ For the `developers` we expose interfaces via `services` classes that correspond directly to an frontend or an entity the `user` interacts with.
16
16
 
17
17
  The following services are currently available:
18
18
 
19
- | Service | Responsibility |
19
+ | Service | Responsability |
20
20
  |--|--|
21
- | ChatService | All interactions with the chat interface |
21
+ | ChatService | All interactions with the chat interface |
22
22
  | KnowledgeBaseService | All interaction with the knowledgebase |
23
23
 
24
- The services can be directly imported as
24
+ The services can be directly import as
25
25
 
26
- ```python
27
- from unique_toolkit import ChatService, KnowledgeBaseService
28
26
  ```
27
+ from unique_toolkit import ChatService, KnowledgeBaseService
28
+
29
29
 
30
- In addition, the `unique_toolkit.app` module provides functions to initialize apps and dev utilities to interact with the Unique platform.
30
+ In addition, the `unique_toolkit.app` module provides functions to initialize apps and dev utilities to interact with the Unique platform.
31
31
 
32
32
  ## Changelog
33
33
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "2026.18.0"
3
+ version = "2026.18.0.dev0"
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>=0.11.12",
31
+ "unique-sdk==2026.18.0.dev0",
32
32
  "jambo>=0.1.2,<0.2",
33
33
  "jinja2>=3.1.6,<4",
34
34
  "docxtpl>=0.20.1,<0.21",
@@ -1,18 +1,18 @@
1
1
  import json
2
2
  import logging
3
- from typing import Any, Unpack
3
+ from typing import Unpack
4
4
 
5
5
  from openai import AsyncOpenAI
6
6
  from openai.types.responses import (
7
7
  Response,
8
- ResponseFunctionToolCall,
8
+ ResponseFormatTextJSONSchemaConfigParam,
9
9
  ResponseInputItemParam,
10
- ToolParam,
10
+ ResponseOutputMessage,
11
+ ResponseTextConfigParam,
11
12
  )
12
- from openai.types.responses.function_tool_param import FunctionToolParam
13
13
  from pydantic import BaseModel, Field
14
14
 
15
- from unique_toolkit import LanguageModelService, LanguageModelToolDescription
15
+ from unique_toolkit import LanguageModelService
16
16
  from unique_toolkit._common.execution import failsafe_async
17
17
  from unique_toolkit._common.pydantic_helpers import get_configuration_dict
18
18
  from unique_toolkit.agentic.history_manager.history_manager import HistoryManager
@@ -40,36 +40,11 @@ from unique_toolkit.language_model.schemas import (
40
40
  _LOGGER = logging.getLogger(__name__)
41
41
 
42
42
 
43
- _PLAN_TOOL_NAME = "plan"
44
- _PLAN_TOOL_DESCRIPTION = (
45
- "Record the plan for the next step. Call this tool exactly once."
46
- )
47
-
48
- # Kwargs from _ResponsesLoopIterationRunnerKwargs that make sense to forward to
49
- # the planning `responses.create` call. We deliberately exclude anything that
50
- # conflicts with the forced-tool-call setup (`tools`, `tool_choices`, `text`,
51
- # `parallel_tool_calls`) and anything that is a loop-runner control knob rather
52
- # than a model option.
53
- _FORWARDABLE_RESPONSES_OPTIONS: frozenset[str] = frozenset(
54
- {
55
- "temperature",
56
- "top_p",
57
- "reasoning",
58
- "max_output_tokens",
59
- "metadata",
60
- "include",
61
- "instructions",
62
- }
63
- )
64
-
65
-
66
- def _get_first_tool_call_arguments(response: Response) -> str | None:
43
+ def _get_first_output_text(response: Response) -> str | None:
67
44
  """
68
- Extract the arguments of the first ``function_call`` output item.
69
-
70
- Using a forced tool call (``tool_choice={"type": "function", ...}``) avoids
71
- the duplicate-output issue the Responses API exhibits with
72
- ``text.format=json_schema`` structured output.
45
+ The Responses API can return multiple output items when doing structured output
46
+ (https://community.openai.com/t/multiple-outputs-from-responses-api/1291026),
47
+ We should tell the model not to do this in the schema, as well as extract only the first one
73
48
  """
74
49
  if len(response.output) > 1:
75
50
  _LOGGER.warning(
@@ -78,8 +53,10 @@ def _get_first_tool_call_arguments(response: Response) -> str | None:
78
53
  )
79
54
 
80
55
  for item in response.output:
81
- if isinstance(item, ResponseFunctionToolCall) and item.arguments:
82
- return item.arguments
56
+ if isinstance(item, ResponseOutputMessage):
57
+ for content in item.content:
58
+ if content.type == "output_text" and content.text:
59
+ return content.text
83
60
  return None
84
61
 
85
62
 
@@ -167,70 +144,32 @@ class ResponsesPlanningMiddleware(ResponsesLoopIterationRunner):
167
144
  self._history_manager = history_manager
168
145
  self._openai_client = openai_client
169
146
 
170
- def _build_forwarded_options(
171
- self, kwargs: _ResponsesLoopIterationRunnerKwargs
172
- ) -> dict[str, Any]:
173
- ignored = set(self._config.ignored_options)
174
- forwarded: dict[str, Any] = {
175
- k: v
176
- for k, v in kwargs.items()
177
- if k in _FORWARDABLE_RESPONSES_OPTIONS and k not in ignored
178
- }
179
-
180
- other_options = kwargs.get("other_options") or {}
181
- forwarded.update({k: v for k, v in other_options.items() if k not in ignored})
182
- return forwarded
183
-
184
- def _build_tools(
185
- self, kwargs: _ResponsesLoopIterationRunnerKwargs
186
- ) -> list[FunctionToolParam | ToolParam]:
187
- """
188
- Build the tool list sent to the planning call: the forced ``plan`` tool
189
- plus the loop runner's regular tools (converted to Responses API shape).
190
-
191
- Passing the regular tools gives the model the information it needs to
192
- reason about *which* tool to call next, even though ``tool_choice``
193
- pins the actual call to ``plan``.
194
- """
195
- planning_schema = get_planning_schema(self._config.planning_schema_config)
196
- plan_tool = FunctionToolParam(
197
- type="function",
198
- name=_PLAN_TOOL_NAME,
199
- description=_PLAN_TOOL_DESCRIPTION,
200
- parameters=planning_schema,
201
- strict=False,
202
- )
203
-
204
- extra_tools: list[FunctionToolParam | ToolParam] = []
205
- for tool in kwargs.get("tools") or []:
206
- if isinstance(tool, LanguageModelToolDescription):
207
- converted = tool.to_openai(mode="responses")
208
- else:
209
- converted = tool
210
- if converted.get("name") == _PLAN_TOOL_NAME:
211
- continue
212
- extra_tools.append(converted)
213
-
214
- return [plan_tool, *extra_tools]
215
-
216
147
  @failsafe_async(failure_return_value=None, logger=_LOGGER)
217
148
  async def _run_plan_step(
218
149
  self,
219
150
  openai_messages: str | list[ResponseInputItemParam],
220
151
  model_name: str,
221
- tools: list[FunctionToolParam | ToolParam],
222
- forwarded_options: dict[str, Any],
223
152
  ) -> str | None:
153
+ planning_schema = get_planning_schema(self._config.planning_schema_config)
154
+
224
155
  response = await self._openai_client.responses.create(
225
156
  model=model_name,
226
157
  input=openai_messages,
227
- tools=tools,
228
- tool_choice={"type": "function", "name": _PLAN_TOOL_NAME},
229
- parallel_tool_calls=False,
230
- **forwarded_options,
158
+ text=ResponseTextConfigParam(
159
+ {
160
+ "format": ResponseFormatTextJSONSchemaConfigParam(
161
+ {
162
+ "type": "json_schema",
163
+ "name": planning_schema.get("title", "Plan"),
164
+ "schema": planning_schema,
165
+ "strict": False,
166
+ }
167
+ )
168
+ }
169
+ ),
231
170
  )
232
171
 
233
- output_text = _get_first_tool_call_arguments(response)
172
+ output_text = _get_first_output_text(response)
234
173
  if not output_text:
235
174
  _LOGGER.info("Empty planning response")
236
175
  return None
@@ -245,8 +184,6 @@ class ResponsesPlanningMiddleware(ResponsesLoopIterationRunner):
245
184
  output_text = await self._run_plan_step(
246
185
  openai_messages=openai_messages,
247
186
  model_name=kwargs["model"].name,
248
- tools=self._build_tools(kwargs),
249
- forwarded_options=self._build_forwarded_options(kwargs),
250
187
  )
251
188
 
252
189
  if output_text is None:
@@ -126,7 +126,7 @@ def _get_display_template(
126
126
  case SubAgentResponseDisplayMode.DETAILS_CLOSED:
127
127
  template = _wrap_with_details_tag(template, "closed", title_template)
128
128
  case SubAgentResponseDisplayMode.PLAIN:
129
- # Add a hidden block border to separate sub agent answers from the rest of the text.
129
+ # Add a hidden block border to seperate sub agent answers from the rest of the text.
130
130
  hidden_block_border = _wrap_hidden_div("sub_agent_answer_block")
131
131
  template = _join_text_blocks(title_template, template, hidden_block_border)
132
132
 
@@ -406,7 +406,7 @@ class UniqueChatEventFilterOptions(BaseSettings):
406
406
  class UniqueEnvironment:
407
407
  """
408
408
  Contains all settings that come exclusively from the environment.
409
- This means if a setting can be initialized from either request or the environment, this class will not contain it.
409
+ This means if a setting can be intialized from either request or the environment, this class will not contain it.
410
410
  """
411
411
 
412
412
  def __init__(self, app: UniqueApp, api: UniqueApi) -> None:
@@ -46,7 +46,7 @@ class ContentChunk(BaseModel):
46
46
  )
47
47
  key: str | None = Field(
48
48
  default=None,
49
- description="The key of the chunk. For document chunks this is the filename",
49
+ description="The key of the chunk. For document chunks this is the the filename",
50
50
  )
51
51
  chunk_id: str | None = Field(
52
52
  default=None,
@@ -136,7 +136,7 @@ class Content(BaseModel):
136
136
  )
137
137
  key: str = Field(
138
138
  default="",
139
- description="The key of the content. For documents this is the filename",
139
+ description="The key of the content. For documents this is the the filename",
140
140
  )
141
141
  title: str | None = Field(
142
142
  default=None,