unique_toolkit 1.46.12__tar.gz → 1.47.0__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 (289) hide show
  1. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/CHANGELOG.md +7 -0
  2. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/PKG-INFO +8 -1
  3. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/pyproject.toml +3 -2
  4. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/registry.py +1 -1
  5. unique_toolkit-1.47.0/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +26 -0
  6. unique_toolkit-1.47.0/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +30 -0
  7. unique_toolkit-1.47.0/unique_toolkit/agentic/tools/openai_builtin/__init__.py +19 -0
  8. unique_toolkit-1.47.0/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +21 -0
  9. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +37 -1
  10. unique_toolkit-1.47.0/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +15 -0
  11. unique_toolkit-1.47.0/unique_toolkit/language_model/__init__.py +79 -0
  12. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/infos.py +52 -15
  13. unique_toolkit-1.46.12/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -11
  14. unique_toolkit-1.46.12/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -8
  15. unique_toolkit-1.46.12/unique_toolkit/language_model/__init__.py +0 -90
  16. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/LICENSE +0 -0
  17. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/README.md +0 -0
  18. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/__init__.py +0 -0
  19. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/__init__.py +0 -0
  20. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/_base_service.py +0 -0
  21. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/_time_utils.py +0 -0
  22. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  23. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  24. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  25. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  26. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  27. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  28. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  29. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/README.md +0 -0
  30. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  31. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  32. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/cli.py +0 -0
  33. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/differ.py +0 -0
  34. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  35. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/models.py +0 -0
  36. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/config_checker/validator.py +0 -0
  37. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/default_language_model.py +0 -0
  38. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  39. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/docx_generator/config.py +0 -0
  40. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  41. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/docx_generator/service.py +0 -0
  42. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  43. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/endpoint_builder.py +0 -0
  44. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  45. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/event_bus.py +0 -0
  46. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/exception.py +0 -0
  47. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/execution.py +0 -0
  48. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  49. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  50. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  51. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  52. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  53. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  54. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  55. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  56. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  57. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  58. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  59. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  60. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  61. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  62. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  63. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  64. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  65. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  66. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  67. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  68. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  69. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  70. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  71. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  72. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  73. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  74. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  75. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  76. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  77. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  78. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/referencing.py +0 -0
  79. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/string_utilities.py +0 -0
  80. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  81. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  82. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/token/__init__.py +0 -0
  83. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  84. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/token/token_counting.py +0 -0
  85. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  86. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  87. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/__init__.py +0 -0
  88. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/files.py +0 -0
  89. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/image/encode.py +0 -0
  90. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  91. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  92. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  93. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  94. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  95. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  96. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  97. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/validate_required_values.py +0 -0
  98. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/_common/validators.py +0 -0
  99. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/__init__.py +0 -0
  100. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  101. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  102. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
  103. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  104. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  105. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  106. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  107. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  108. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  109. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  110. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  111. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  112. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  113. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  114. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  115. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  116. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  117. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  118. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  119. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  120. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  121. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  122. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  123. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  124. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  125. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  126. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  127. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  128. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  129. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  130. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  131. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  132. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  133. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  134. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  135. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  136. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  137. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  138. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  139. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  140. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  141. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  142. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  143. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  144. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  145. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  146. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  147. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  148. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  149. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  150. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  151. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  152. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  153. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  154. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  155. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  156. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
  157. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  158. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  159. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  160. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  161. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  162. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  163. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  164. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  165. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  166. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  167. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  168. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  169. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  170. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  171. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  172. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  173. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  174. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  175. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  176. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  177. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  178. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  179. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  180. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  181. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  182. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  183. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  184. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/config.py +0 -0
  185. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/factory.py +0 -0
  186. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  187. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  188. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  189. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  190. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  191. {unique_toolkit-1.46.12/unique_toolkit/agentic/responses_api → unique_toolkit-1.47.0/unique_toolkit/agentic/tools/openai_builtin/code_interpreter}/postprocessors/code_display.py +0 -0
  192. {unique_toolkit-1.46.12/unique_toolkit/agentic/responses_api → unique_toolkit-1.47.0/unique_toolkit/agentic/tools/openai_builtin/code_interpreter}/postprocessors/generated_files.py +0 -0
  193. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  194. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  195. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/schemas.py +0 -0
  196. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  197. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  198. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/tool.py +0 -0
  199. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  200. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  201. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  202. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  203. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  204. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  205. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  206. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic_table/__init__.py +0 -0
  207. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic_table/schemas.py +0 -0
  208. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/agentic_table/service.py +0 -0
  209. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/__init__.py +0 -0
  210. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/dev_util.py +0 -0
  211. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/fast_api_factory.py +0 -0
  212. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/init_logging.py +0 -0
  213. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/init_sdk.py +0 -0
  214. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/performance/async_tasks.py +0 -0
  215. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  216. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/schemas.py +0 -0
  217. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/unique_settings.py +0 -0
  218. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/verification.py +0 -0
  219. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/app/webhook.py +0 -0
  220. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/__init__.py +0 -0
  221. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/cancellation.py +0 -0
  222. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/constants.py +0 -0
  223. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/deprecated/service.py +0 -0
  224. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/functions.py +0 -0
  225. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/rendering.py +0 -0
  226. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/responses_api.py +0 -0
  227. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/schemas.py +0 -0
  228. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/service.py +0 -0
  229. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/state.py +0 -0
  230. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/chat/utils.py +0 -0
  231. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/content/__init__.py +0 -0
  232. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/content/constants.py +0 -0
  233. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/content/functions.py +0 -0
  234. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/content/schemas.py +0 -0
  235. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/content/service.py +0 -0
  236. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/content/smart_rules.py +0 -0
  237. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/content/utils.py +0 -0
  238. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/README.md +0 -0
  239. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/__init__.py +0 -0
  240. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  241. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  242. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/base.py +0 -0
  243. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  244. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/basic/config.py +0 -0
  245. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  246. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/data_extraction/basic/service.py +0 -0
  247. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/elicitation/__init__.py +0 -0
  248. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/elicitation/constants.py +0 -0
  249. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/elicitation/exceptions.py +0 -0
  250. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/elicitation/functions.py +0 -0
  251. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/elicitation/schemas.py +0 -0
  252. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/elicitation/service.py +0 -0
  253. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/embedding/__init__.py +0 -0
  254. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/embedding/constants.py +0 -0
  255. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/embedding/functions.py +0 -0
  256. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/embedding/schemas.py +0 -0
  257. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/embedding/service.py +0 -0
  258. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/embedding/utils.py +0 -0
  259. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
  260. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  261. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  262. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  263. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  264. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  265. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  266. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/framework_utilities/utils.py +0 -0
  267. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  268. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/builder.py +0 -0
  269. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/constants.py +0 -0
  270. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/default_language_model.py +0 -0
  271. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/functions.py +0 -0
  272. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/prompt.py +0 -0
  273. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/reference.py +0 -0
  274. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/schemas.py +0 -0
  275. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/service.py +0 -0
  276. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/stream_transform.py +0 -0
  277. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/language_model/utils.py +0 -0
  278. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/protocols/support.py +0 -0
  279. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/services/__init__.py +0 -0
  280. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/services/chat_service.py +0 -0
  281. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/services/knowledge_base.py +0 -0
  282. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
  283. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/short_term_memory/constants.py +0 -0
  284. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/short_term_memory/functions.py +0 -0
  285. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/short_term_memory/schemas.py +0 -0
  286. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/short_term_memory/service.py +0 -0
  287. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/smart_rules/__init__.py +0 -0
  288. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/smart_rules/compile.py +0 -0
  289. {unique_toolkit-1.46.12 → unique_toolkit-1.47.0}/unique_toolkit/test_utilities/events.py +0 -0
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+
9
+ ## [1.47.0] - 2026-02-23
10
+ - Move `CodeInterpreterExtendedConfig` to toolkit for validation in `ToolBuildConfig`
11
+
12
+ ## [1.46.13] - 2026-02-23
13
+ - Add easy access to decoder from llm info
14
+
8
15
  ## [1.46.12] - 2026-02-21
9
16
  - Add `litellm:gemini-3-1-pro-preview` to `info.py`
10
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.46.12
3
+ Version: 1.47.0
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -127,6 +127,13 @@ All notable changes to this project will be documented in this file.
127
127
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
128
128
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
129
129
 
130
+
131
+ ## [1.47.0] - 2026-02-23
132
+ - Move `CodeInterpreterExtendedConfig` to toolkit for validation in `ToolBuildConfig`
133
+
134
+ ## [1.46.13] - 2026-02-23
135
+ - Add easy access to decoder from llm info
136
+
130
137
  ## [1.46.12] - 2026-02-21
131
138
  - Add `litellm:gemini-3-1-pro-preview` to `info.py`
132
139
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.46.12"
3
+ version = "1.47.0"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -102,7 +102,7 @@ extend_exclude = ["docs", "tests", "unique_toolkit/.*/test", "unique_toolkit/.*/
102
102
  DEP004 = ["langchain_openai", "langchain_core"]
103
103
 
104
104
  [tool.ruff]
105
- target-version = "py311"
105
+ target-version = "py312"
106
106
  exclude = [".venv", "docs"]
107
107
 
108
108
 
@@ -110,6 +110,7 @@ exclude = [".venv", "docs"]
110
110
  extend-select = ["I"]
111
111
 
112
112
  [tool.basedpyright]
113
+ pythonVersion = "3.12"
113
114
  typeCheckingMode = "standard"
114
115
  include = ["unique_toolkit"]
115
116
  exclude = ["**/tests/**", "**/test_*.py"]
@@ -59,7 +59,7 @@ def register_config(name: str | None = None):
59
59
  ...
60
60
  """
61
61
 
62
- def decorator(cls: type[BaseModel]) -> type[BaseModel]:
62
+ def decorator[T: BaseModel](cls: type[T]) -> type[T]:
63
63
  config_name = name or cls.__name__
64
64
  _GLOBAL_EXPLICIT_REGISTRY[config_name] = cls
65
65
  logger.debug(
@@ -0,0 +1,26 @@
1
+ """Deprecated: use unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors instead."""
2
+
3
+ from typing_extensions import deprecated
4
+
5
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.code_display import (
6
+ ShowExecutedCodePostprocessor as _ShowExecutedCodePostprocessor,
7
+ )
8
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.code_display import (
9
+ ShowExecutedCodePostprocessorConfig as _ShowExecutedCodePostprocessorConfig,
10
+ )
11
+
12
+
13
+ @deprecated("Import from unique_toolkit.agentic.tools.openai_builtin instead")
14
+ class ShowExecutedCodePostprocessor(_ShowExecutedCodePostprocessor):
15
+ pass
16
+
17
+
18
+ @deprecated("Import from unique_toolkit.agentic.tools.openai_builtin instead")
19
+ class ShowExecutedCodePostprocessorConfig(_ShowExecutedCodePostprocessorConfig):
20
+ pass
21
+
22
+
23
+ __all__ = [
24
+ "ShowExecutedCodePostprocessor",
25
+ "ShowExecutedCodePostprocessorConfig",
26
+ ]
@@ -0,0 +1,30 @@
1
+ """Deprecated: use unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors instead."""
2
+
3
+ from typing_extensions import deprecated
4
+
5
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.generated_files import (
6
+ DisplayCodeInterpreterFilesPostProcessor as _DisplayCodeInterpreterFilesPostProcessor,
7
+ )
8
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.generated_files import (
9
+ DisplayCodeInterpreterFilesPostProcessorConfig as _DisplayCodeInterpreterFilesPostProcessorConfig,
10
+ )
11
+
12
+
13
+ @deprecated("Import from unique_toolkit.agentic.tools.openai_builtin instead")
14
+ class DisplayCodeInterpreterFilesPostProcessor(
15
+ _DisplayCodeInterpreterFilesPostProcessor
16
+ ):
17
+ pass
18
+
19
+
20
+ @deprecated("Import from unique_toolkit.agentic.tools.openai_builtin instead")
21
+ class DisplayCodeInterpreterFilesPostProcessorConfig(
22
+ _DisplayCodeInterpreterFilesPostProcessorConfig
23
+ ):
24
+ pass
25
+
26
+
27
+ __all__ = [
28
+ "DisplayCodeInterpreterFilesPostProcessor",
29
+ "DisplayCodeInterpreterFilesPostProcessorConfig",
30
+ ]
@@ -0,0 +1,19 @@
1
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter import (
2
+ DisplayCodeInterpreterFilesPostProcessor,
3
+ DisplayCodeInterpreterFilesPostProcessorConfig,
4
+ OpenAICodeInterpreterConfig,
5
+ OpenAICodeInterpreterTool,
6
+ ShowExecutedCodePostprocessor,
7
+ ShowExecutedCodePostprocessorConfig,
8
+ )
9
+ from unique_toolkit.agentic.tools.openai_builtin.manager import OpenAIBuiltInToolManager
10
+
11
+ __all__ = [
12
+ "OpenAIBuiltInToolManager",
13
+ "OpenAICodeInterpreterConfig",
14
+ "OpenAICodeInterpreterTool",
15
+ "ShowExecutedCodePostprocessor",
16
+ "ShowExecutedCodePostprocessorConfig",
17
+ "DisplayCodeInterpreterFilesPostProcessor",
18
+ "DisplayCodeInterpreterFilesPostProcessorConfig",
19
+ ]
@@ -0,0 +1,21 @@
1
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.config import (
2
+ OpenAICodeInterpreterConfig,
3
+ )
4
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors import (
5
+ DisplayCodeInterpreterFilesPostProcessor,
6
+ DisplayCodeInterpreterFilesPostProcessorConfig,
7
+ ShowExecutedCodePostprocessor,
8
+ ShowExecutedCodePostprocessorConfig,
9
+ )
10
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.service import (
11
+ OpenAICodeInterpreterTool,
12
+ )
13
+
14
+ __all__ = [
15
+ "OpenAICodeInterpreterConfig",
16
+ "OpenAICodeInterpreterTool",
17
+ "ShowExecutedCodePostprocessor",
18
+ "ShowExecutedCodePostprocessorConfig",
19
+ "DisplayCodeInterpreterFilesPostProcessor",
20
+ "DisplayCodeInterpreterFilesPostProcessorConfig",
21
+ ]
@@ -1,3 +1,5 @@
1
+ from typing import Annotated
2
+
1
3
  from pydantic import Field
2
4
  from pydantic.json_schema import SkipJsonSchema
3
5
 
@@ -6,6 +8,12 @@ from unique_toolkit.agentic.tools.factory import ToolFactory
6
8
  from unique_toolkit.agentic.tools.openai_builtin.base import (
7
9
  OpenAIBuiltInToolName,
8
10
  )
11
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.code_display import (
12
+ ShowExecutedCodePostprocessorConfig,
13
+ )
14
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.generated_files import (
15
+ DisplayCodeInterpreterFilesPostProcessorConfig,
16
+ )
9
17
  from unique_toolkit.agentic.tools.schemas import BaseToolConfig
10
18
 
11
19
  DEFAULT_TOOL_DESCRIPTION_FOR_SYSTEM_PROMPT = """
@@ -82,6 +90,34 @@ class OpenAICodeInterpreterConfig(BaseToolConfig):
82
90
  )
83
91
 
84
92
 
93
+ @register_config()
94
+ class CodeInterpreterExtendedConfig(BaseToolConfig):
95
+ generated_files_config: DisplayCodeInterpreterFilesPostProcessorConfig = Field(
96
+ default=DisplayCodeInterpreterFilesPostProcessorConfig(),
97
+ title="Generated files config",
98
+ description="Display config for generated files",
99
+ )
100
+
101
+ executed_code_display_config: (
102
+ Annotated[
103
+ ShowExecutedCodePostprocessorConfig,
104
+ Field(title="Active"),
105
+ ]
106
+ | Annotated[
107
+ None,
108
+ Field(title="Deactivated", description="None"),
109
+ ]
110
+ ) = Field(
111
+ default=ShowExecutedCodePostprocessorConfig(),
112
+ description="If active, generated code will be prepended to the LLM answer",
113
+ )
114
+
115
+ tool_config: OpenAICodeInterpreterConfig = Field(
116
+ default=OpenAICodeInterpreterConfig(),
117
+ title="Tool config",
118
+ )
119
+
120
+
85
121
  ToolFactory.register_tool_config(
86
- OpenAIBuiltInToolName.CODE_INTERPRETER, OpenAICodeInterpreterConfig
122
+ OpenAIBuiltInToolName.CODE_INTERPRETER, CodeInterpreterExtendedConfig
87
123
  )
@@ -0,0 +1,15 @@
1
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.code_display import (
2
+ ShowExecutedCodePostprocessor,
3
+ ShowExecutedCodePostprocessorConfig,
4
+ )
5
+ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors.generated_files import (
6
+ DisplayCodeInterpreterFilesPostProcessor,
7
+ DisplayCodeInterpreterFilesPostProcessorConfig,
8
+ )
9
+
10
+ __all__ = [
11
+ "ShowExecutedCodePostprocessor",
12
+ "ShowExecutedCodePostprocessorConfig",
13
+ "DisplayCodeInterpreterFilesPostProcessor",
14
+ "DisplayCodeInterpreterFilesPostProcessorConfig",
15
+ ]
@@ -0,0 +1,79 @@
1
+ from .constants import DOMAIN_NAME
2
+ from .default_language_model import DEFAULT_LANGUAGE_MODEL, DEFAULT_GPT_4o
3
+ from .functions import (
4
+ stream_complete_with_references_openai as stream_complete_with_references_openai,
5
+ )
6
+ from .infos import LanguageModel, LanguageModelName, TypeDecoder, TypeEncoder
7
+ from .prompt import (
8
+ Prompt,
9
+ )
10
+ from .schemas import (
11
+ LanguageModelAssistantMessage,
12
+ LanguageModelCompletionChoice,
13
+ LanguageModelFunction,
14
+ LanguageModelFunctionCall,
15
+ LanguageModelMessage,
16
+ LanguageModelMessageRole,
17
+ LanguageModelMessages,
18
+ LanguageModelResponse,
19
+ LanguageModelStreamResponse,
20
+ LanguageModelStreamResponseMessage,
21
+ LanguageModelSystemMessage,
22
+ LanguageModelTokenLimits,
23
+ LanguageModelTool,
24
+ LanguageModelToolDescription,
25
+ LanguageModelToolMessage,
26
+ LanguageModelToolParameterProperty,
27
+ LanguageModelToolParameters,
28
+ LanguageModelUserMessage,
29
+ )
30
+ from .service import (
31
+ LanguageModelService,
32
+ )
33
+ from .stream_transform import (
34
+ NormalizationTransform,
35
+ ReferenceInjectionTransform,
36
+ StreamTransform,
37
+ TextTransformPipeline,
38
+ )
39
+ from .utils import (
40
+ convert_string_to_json,
41
+ find_last_json_object,
42
+ )
43
+
44
+ __all__ = [
45
+ "LanguageModel",
46
+ "LanguageModelName",
47
+ "Prompt",
48
+ "LanguageModelAssistantMessage",
49
+ "LanguageModelCompletionChoice",
50
+ "LanguageModelFunction",
51
+ "LanguageModelFunctionCall",
52
+ "LanguageModelMessage",
53
+ "LanguageModelMessageRole",
54
+ "LanguageModelMessages",
55
+ "LanguageModelResponse",
56
+ "LanguageModelStreamResponse",
57
+ "LanguageModelStreamResponseMessage",
58
+ "LanguageModelSystemMessage",
59
+ "LanguageModelTokenLimits",
60
+ "LanguageModelTool",
61
+ "LanguageModelToolDescription",
62
+ "LanguageModelToolMessage",
63
+ "LanguageModelToolParameterProperty",
64
+ "LanguageModelToolParameters",
65
+ "LanguageModelUserMessage",
66
+ "LanguageModelService",
67
+ "DOMAIN_NAME",
68
+ "DEFAULT_LANGUAGE_MODEL",
69
+ "DEFAULT_GPT_4o",
70
+ "stream_complete_with_references_openai",
71
+ "NormalizationTransform",
72
+ "ReferenceInjectionTransform",
73
+ "StreamTransform",
74
+ "TextTransformPipeline",
75
+ "convert_string_to_json",
76
+ "find_last_json_object",
77
+ "TypeDecoder",
78
+ "TypeEncoder",
79
+ ]
@@ -19,6 +19,22 @@ from unique_toolkit.language_model.schemas import LanguageModelTokenLimits
19
19
  _LOGGER = logging.getLogger(__name__)
20
20
 
21
21
 
22
+ TypeEncoder = Callable[[str], list[int]]
23
+ TypeDecoder = Callable[[list[int]], str]
24
+
25
+
26
+ @lru_cache(maxsize=10)
27
+ def get_tokenizer_from_path(path: Path) -> Tokenizer:
28
+ if not path.exists():
29
+ raise FileNotFoundError(f"Tokenizer not found: {path}")
30
+ return Tokenizer.from_file(str(path))
31
+
32
+
33
+ @lru_cache(maxsize=10)
34
+ def get_tokenizer_from_tiktoken(tokenizer_name: str) -> tiktoken.Encoding:
35
+ return tiktoken.get_encoding(tokenizer_name)
36
+
37
+
22
38
  class LanguageModelName(StrEnum):
23
39
  AZURE_GPT_35_TURBO_0125 = "AZURE_GPT_35_TURBO_0125"
24
40
  AZURE_GPT_4_0613 = "AZURE_GPT_4_0613"
@@ -104,21 +120,27 @@ class EncoderName(StrEnum):
104
120
  QWEN = "qwen"
105
121
  DEEPSEEK = "deepseek"
106
122
 
107
- @lru_cache(maxsize=10)
108
- def get_encoder(self) -> Callable[[str], list[int]]:
109
- if self.value in {"cl100k_base", "o200k_base"}:
110
- enc = tiktoken.get_encoding(self.value)
111
- return enc.encode
112
-
123
+ @property
124
+ def tokenizer_path(self) -> Path:
113
125
  base_path = Path(__file__).parent.parent / "_common" / "token" / "tokenizers"
114
- tokenizer_path = base_path / self.value / "tokenizer.json"
126
+ return base_path / self.value / "tokenizer.json"
115
127
 
116
- if not tokenizer_path.exists():
117
- raise FileNotFoundError(f"Tokenizer not found: {tokenizer_path}")
128
+ def get_encoder(self) -> TypeEncoder:
129
+ if self.value in {"cl100k_base", "o200k_base"}:
130
+ tokenizer = get_tokenizer_from_tiktoken(self.value)
131
+ return tokenizer.encode
118
132
 
119
- tokenizer = Tokenizer.from_file(str(tokenizer_path))
133
+ tokenizer = get_tokenizer_from_path(self.tokenizer_path)
120
134
  return lambda text: tokenizer.encode(text).ids
121
135
 
136
+ def get_decoder(self) -> TypeDecoder:
137
+ if self.value in {"cl100k_base", "o200k_base"}:
138
+ tokenizer = get_tokenizer_from_tiktoken(self.value)
139
+ return tokenizer.decode
140
+
141
+ tokenizer = get_tokenizer_from_path(self.tokenizer_path)
142
+ return tokenizer.decode
143
+
122
144
 
123
145
  def get_encoder_name(model_name: LanguageModelName) -> EncoderName:
124
146
  LMN = LanguageModelName
@@ -198,7 +220,7 @@ class TemperatureBounds(BaseModel):
198
220
  max_temperature: float
199
221
 
200
222
 
201
- def _load_custom_encoder(tokenizer_name: str) -> Callable[[str], list[int]]:
223
+ def _load_custom_encoder(tokenizer_name: str) -> TypeEncoder:
202
224
  """Load a custom tokenizer from UNIQUE_CUSTOM_TOKENIZERS_PATH."""
203
225
  custom_path = os.getenv("UNIQUE_CUSTOM_TOKENIZERS_PATH")
204
226
  if not custom_path:
@@ -207,13 +229,23 @@ def _load_custom_encoder(tokenizer_name: str) -> Callable[[str], list[int]]:
207
229
  )
208
230
 
209
231
  tokenizer_path = Path(custom_path) / tokenizer_name / "tokenizer.json"
210
- if not tokenizer_path.exists():
211
- raise FileNotFoundError(f"Custom tokenizer not found: {tokenizer_path}")
212
232
 
213
- tokenizer = Tokenizer.from_file(str(tokenizer_path))
233
+ tokenizer = get_tokenizer_from_path(tokenizer_path)
214
234
  return lambda text: tokenizer.encode(text).ids
215
235
 
216
236
 
237
+ def _load_custom_decoder(tokenizer_name: str) -> TypeDecoder:
238
+ """Load a custom tokenizer from UNIQUE_CUSTOM_TOKENIZERS_PATH."""
239
+ custom_path = os.getenv("UNIQUE_CUSTOM_TOKENIZERS_PATH")
240
+ if not custom_path:
241
+ raise ValueError(
242
+ "UNIQUE_CUSTOM_TOKENIZERS_PATH must be set to use custom tokenizers"
243
+ )
244
+ tokenizer_path = Path(custom_path) / tokenizer_name / "tokenizer.json"
245
+ tokenizer = get_tokenizer_from_path(tokenizer_path)
246
+ return tokenizer.decode
247
+
248
+
217
249
  class LanguageModelInfo(BaseModel):
218
250
  model_config = get_configuration_dict()
219
251
  name: (
@@ -264,12 +296,17 @@ class LanguageModelInfo(BaseModel):
264
296
 
265
297
  _ENV_VAR: ClassVar[str] = "LANGUAGE_MODEL_INFOS"
266
298
 
267
- def get_encoder(self) -> Callable[[str], list[int]]:
299
+ def get_encoder(self) -> TypeEncoder:
268
300
  """Get an encode callable for this model's tokenizer."""
269
301
  if isinstance(self.encoder_name, EncoderName):
270
302
  return self.encoder_name.get_encoder()
271
303
  return _load_custom_encoder(self.encoder_name)
272
304
 
305
+ def get_decoder(self) -> TypeDecoder:
306
+ if isinstance(self.encoder_name, EncoderName):
307
+ return self.encoder_name.get_decoder()
308
+ return _load_custom_decoder(self.encoder_name)
309
+
273
310
  @classmethod
274
311
  @lru_cache(maxsize=1)
275
312
  def _load_from_env(cls) -> dict[str, dict]:
@@ -1,11 +0,0 @@
1
- from unique_toolkit.agentic.tools.openai_builtin.code_interpreter import (
2
- OpenAICodeInterpreterConfig,
3
- OpenAICodeInterpreterTool,
4
- )
5
- from unique_toolkit.agentic.tools.openai_builtin.manager import OpenAIBuiltInToolManager
6
-
7
- __all__ = [
8
- "OpenAIBuiltInToolManager",
9
- "OpenAICodeInterpreterTool",
10
- "OpenAICodeInterpreterConfig",
11
- ]
@@ -1,8 +0,0 @@
1
- from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.config import (
2
- OpenAICodeInterpreterConfig,
3
- )
4
- from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.service import (
5
- OpenAICodeInterpreterTool,
6
- )
7
-
8
- __all__ = ["OpenAICodeInterpreterConfig", "OpenAICodeInterpreterTool"]
@@ -1,90 +0,0 @@
1
- from .constants import DOMAIN_NAME as DOMAIN_NAME
2
- from .default_language_model import (
3
- DEFAULT_LANGUAGE_MODEL as DEFAULT_LANGUAGE_MODEL,
4
- )
5
- from .default_language_model import (
6
- DEFAULT_GPT_4o as DEFAULT_GPT_4o,
7
- )
8
- from .functions import (
9
- stream_complete_with_references_openai as stream_complete_with_references_openai,
10
- )
11
- from .infos import LanguageModel as LanguageModel
12
- from .infos import LanguageModelName as LanguageModelName
13
- from .prompt import (
14
- Prompt as Prompt,
15
- )
16
- from .schemas import (
17
- LanguageModelAssistantMessage as LanguageModelAssistantMessage,
18
- )
19
- from .schemas import (
20
- LanguageModelCompletionChoice as LanguageModelCompletionChoice,
21
- )
22
- from .schemas import (
23
- LanguageModelFunction as LanguageModelFunction,
24
- )
25
- from .schemas import (
26
- LanguageModelFunctionCall as LanguageModelFunctionCall,
27
- )
28
- from .schemas import (
29
- LanguageModelMessage as LanguageModelMessage,
30
- )
31
- from .schemas import (
32
- LanguageModelMessageRole as LanguageModelMessageRole,
33
- )
34
- from .schemas import (
35
- LanguageModelMessages as LanguageModelMessages,
36
- )
37
- from .schemas import (
38
- LanguageModelResponse as LanguageModelResponse,
39
- )
40
- from .schemas import (
41
- LanguageModelStreamResponse as LanguageModelStreamResponse,
42
- )
43
- from .schemas import (
44
- LanguageModelStreamResponseMessage as LanguageModelStreamResponseMessage,
45
- )
46
- from .schemas import (
47
- LanguageModelSystemMessage as LanguageModelSystemMessage,
48
- )
49
- from .schemas import (
50
- LanguageModelTokenLimits as LanguageModelTokenLimits,
51
- )
52
- from .schemas import (
53
- LanguageModelTool as LanguageModelTool,
54
- )
55
- from .schemas import (
56
- LanguageModelToolDescription as LanguageModelToolDescription,
57
- )
58
- from .schemas import (
59
- LanguageModelToolMessage as LanguageModelToolMessage,
60
- )
61
- from .schemas import (
62
- LanguageModelToolParameterProperty as LanguageModelToolParameterProperty,
63
- )
64
- from .schemas import (
65
- LanguageModelToolParameters as LanguageModelToolParameters,
66
- )
67
- from .schemas import (
68
- LanguageModelUserMessage as LanguageModelUserMessage,
69
- )
70
- from .service import (
71
- LanguageModelService as LanguageModelService,
72
- )
73
- from .stream_transform import (
74
- NormalizationTransform as NormalizationTransform,
75
- )
76
- from .stream_transform import (
77
- ReferenceInjectionTransform as ReferenceInjectionTransform,
78
- )
79
- from .stream_transform import (
80
- StreamTransform as StreamTransform,
81
- )
82
- from .stream_transform import (
83
- TextTransformPipeline as TextTransformPipeline,
84
- )
85
- from .utils import (
86
- convert_string_to_json as convert_string_to_json,
87
- )
88
- from .utils import (
89
- find_last_json_object as find_last_json_object,
90
- )