unique_toolkit 2026.32.0__tar.gz → 2026.32.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 (424) hide show
  1. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/PKG-INFO +4 -5
  2. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/pyproject.toml +5 -5
  3. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -90
  4. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -31
  5. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/service.py +2 -53
  6. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -73
  7. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic_table/service.py +0 -27
  8. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/schemas.py +1 -13
  9. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/content_tree/functions.py +4 -3
  10. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/infos.py +0 -48
  11. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/invocation_stats.py +1 -8
  12. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/monitoring/middleware.py +10 -48
  13. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/monitoring/registry.py +2 -25
  14. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/services/knowledge_base.py +2 -2
  15. unique_toolkit-2026.32.0/unique_toolkit/language_model/model_costs.py +0 -118
  16. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/README.md +0 -0
  17. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/__init__.py +0 -0
  18. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/__init__.py +0 -0
  19. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/_base_service.py +0 -0
  20. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/_time_utils.py +0 -0
  21. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  22. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  23. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  24. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  25. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  26. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  27. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  28. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/README.md +0 -0
  29. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  30. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  31. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/cli.py +0 -0
  32. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/differ.py +0 -0
  33. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  34. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/models.py +0 -0
  35. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/registry.py +0 -0
  36. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/config_checker/validator.py +0 -0
  37. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/default_language_model.py +0 -0
  38. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  39. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/docx_generator/config.py +0 -0
  40. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  41. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  42. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/docx_generator/service.py +0 -0
  43. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  44. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/endpoint_builder.py +0 -0
  45. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  46. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/event_bus.py +0 -0
  47. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/exception.py +0 -0
  48. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/execution.py +0 -0
  49. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  50. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  51. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  52. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  53. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  54. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  55. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  56. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  57. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  58. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  59. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  60. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  61. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  62. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +0 -0
  63. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  64. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  65. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +0 -0
  66. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  67. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  68. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  69. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  70. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  71. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  72. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  73. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  74. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  75. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  76. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  77. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/metadata_filter_scope.py +0 -0
  78. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  79. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  80. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/referencing.py +0 -0
  81. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/string_utilities.py +0 -0
  82. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  83. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  84. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/token/__init__.py +0 -0
  85. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  86. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/token/token_counting.py +0 -0
  87. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  88. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  89. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/__init__.py +0 -0
  90. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/files.py +0 -0
  91. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/image/encode.py +0 -0
  92. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  93. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  94. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  95. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  96. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  97. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  98. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  99. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/validate_required_values.py +0 -0
  100. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/_common/validators.py +0 -0
  101. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/__init__.py +0 -0
  102. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  103. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/config.py +0 -0
  104. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  105. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  106. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  107. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  108. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  109. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  110. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  111. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  112. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  113. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  114. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  115. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  116. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  117. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  118. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  119. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  120. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  121. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  122. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  123. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  124. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_external_context.py +0 -0
  125. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  126. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  127. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  128. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  129. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  130. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/feature_flags/feature_flags.py +0 -0
  131. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  132. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  133. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  134. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/history_manager/settings.py +0 -0
  135. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  136. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  137. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  138. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +0 -0
  139. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  140. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  141. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  142. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  143. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  144. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  145. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  146. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  147. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  148. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  149. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  150. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  151. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  152. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  153. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  154. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  155. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/message_log_order.py +0 -0
  156. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  157. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/reference_manager/tests/test_external_context.py +0 -0
  158. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  159. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  160. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  161. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  162. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  163. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  164. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/__init__.py +0 -0
  165. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  166. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  167. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  168. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  169. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  170. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  171. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  172. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  173. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  174. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  175. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  176. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  177. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  178. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  179. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  180. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  181. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  182. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_references.py +0 -0
  183. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  184. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  185. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  186. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  187. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  188. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  189. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  190. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  191. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/config.py +0 -0
  192. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  193. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/__init__.py +0 -0
  194. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/config.py +0 -0
  195. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/ask_user_tool/tool.py +0 -0
  196. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  197. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  198. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +0 -0
  199. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +0 -0
  200. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/__init__.py +0 -0
  201. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/config.py +0 -0
  202. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/retrieve_search_scope_tool/tool.py +0 -0
  203. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/__init__.py +0 -0
  204. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/config.py +0 -0
  205. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/__init__.py +0 -0
  206. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/execution_reminder.j2 +0 -0
  207. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/system_prompt.j2 +0 -0
  208. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/tool_description.j2 +0 -0
  209. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/prompts/verification_nudge.j2 +0 -0
  210. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/schemas.py +0 -0
  211. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/experimental/todo/service.py +0 -0
  212. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/factory.py +0 -0
  213. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  214. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  215. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  216. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  217. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/names.py +0 -0
  218. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  219. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  220. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  221. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/__init__.py +0 -0
  222. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/config.py +0 -0
  223. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/activator/service.py +0 -0
  224. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/__init__.py +0 -0
  225. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_container.py +0 -0
  226. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_files.py +0 -0
  227. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/_memory.py +0 -0
  228. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/builder/builder.py +0 -0
  229. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  230. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  231. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/artifacts.py +0 -0
  232. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +0 -0
  233. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +0 -0
  234. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  235. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/__init__.py +0 -0
  236. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/config.py +0 -0
  237. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/tool/service.py +0 -0
  238. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  239. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/run_context.py +0 -0
  240. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/schemas.py +0 -0
  241. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  242. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  243. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/tool.py +0 -0
  244. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  245. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  246. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  247. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  248. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  249. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  250. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  251. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic_table/__init__.py +0 -0
  252. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic_table/schemas.py +0 -0
  253. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/agentic_table/synthetic_chat_event.py +0 -0
  254. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/__init__.py +0 -0
  255. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  256. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/dev_util.py +0 -0
  257. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/fast_api_factory.py +0 -0
  258. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/feature_flags.py +0 -0
  259. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/find_env_file.py +0 -0
  260. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/init_logging.py +0 -0
  261. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/init_sdk.py +0 -0
  262. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/performance/async_tasks.py +0 -0
  263. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  264. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/schemas.py +0 -0
  265. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/unique_settings.py +0 -0
  266. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/verification.py +0 -0
  267. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/app/webhook.py +0 -0
  268. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/__init__.py +0 -0
  269. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/cancellation.py +0 -0
  270. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/constants.py +0 -0
  271. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/deprecated/__init__.py +0 -0
  272. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/deprecated/service.py +0 -0
  273. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/functions.py +0 -0
  274. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/rendering.py +0 -0
  275. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/responses_api.py +0 -0
  276. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/service.py +0 -0
  277. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/state.py +0 -0
  278. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/chat/utils.py +0 -0
  279. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/content/__init__.py +0 -0
  280. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/content/constants.py +0 -0
  281. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/content/functions.py +0 -0
  282. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/content/schemas.py +0 -0
  283. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/content/service.py +0 -0
  284. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/content/smart_rules.py +0 -0
  285. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/content/utils.py +0 -0
  286. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/README.md +0 -0
  287. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/__init__.py +0 -0
  288. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  289. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  290. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/base.py +0 -0
  291. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  292. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/basic/config.py +0 -0
  293. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  294. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/data_extraction/basic/service.py +0 -0
  295. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/elicitation/__init__.py +0 -0
  296. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/elicitation/constants.py +0 -0
  297. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/elicitation/exceptions.py +0 -0
  298. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/elicitation/functions.py +0 -0
  299. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/elicitation/schemas.py +0 -0
  300. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/elicitation/service.py +0 -0
  301. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/embedding/__init__.py +0 -0
  302. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/embedding/constants.py +0 -0
  303. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/embedding/functions.py +0 -0
  304. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/embedding/schemas.py +0 -0
  305. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/embedding/service.py +0 -0
  306. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/embedding/utils.py +0 -0
  307. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/README.md +0 -0
  308. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/__init__.py +0 -0
  309. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/_internal/__init__.py +0 -0
  310. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/_internal/streaming/__init__.py +0 -0
  311. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/_internal/streaming/common.py +0 -0
  312. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/_internal/streaming/pattern_replacer.py +0 -0
  313. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/__init__.py +0 -0
  314. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/_base.py +0 -0
  315. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/content_tree/__init__.py +0 -0
  316. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/content_tree/schemas.py +0 -0
  317. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/content_tree/service.py +0 -0
  318. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/__init__.py +0 -0
  319. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/base/__init__.py +0 -0
  320. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/base/config.py +0 -0
  321. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/base/schemas.py +0 -0
  322. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/base/service.py +0 -0
  323. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/base/utils.py +0 -0
  324. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/__init__.py +0 -0
  325. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/config.py +0 -0
  326. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/schemas.py +0 -0
  327. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/chat/service.py +0 -0
  328. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/__init__.py +0 -0
  329. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/config.py +0 -0
  330. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/schemas.py +0 -0
  331. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/knowledge_base/service.py +0 -0
  332. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/__init__.py +0 -0
  333. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/config.py +0 -0
  334. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/components/internal_search/post_processing/service.py +0 -0
  335. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/content_tree/__init__.py +0 -0
  336. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/identity/__init__.py +0 -0
  337. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/__init__.py +0 -0
  338. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/__init__.py +0 -0
  339. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/__init__.py +0 -0
  340. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/__init__.py +0 -0
  341. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/_async_bridge.py +0 -0
  342. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/__init__.py +0 -0
  343. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/complete_with_references.py +0 -0
  344. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/stream_event_router.py +0 -0
  345. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/text_event_handler.py +0 -0
  346. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/chat_completions/tool_call_event_handler.py +0 -0
  347. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/events.py +0 -0
  348. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/__init__.py +0 -0
  349. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/chat_completions.py +0 -0
  350. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/protocols/responses.py +0 -0
  351. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/__init__.py +0 -0
  352. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/code_interpreter_event_handler.py +0 -0
  353. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/complete_with_references.py +0 -0
  354. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/completed_event_handler.py +0 -0
  355. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/stream_event_router.py +0 -0
  356. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/text_delta_event_handler.py +0 -0
  357. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/responses/tool_call_event_handler.py +0 -0
  358. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/__init__.py +0 -0
  359. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/message_persister.py +0 -0
  360. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/integrations/openai/streaming/event_routing/subscribers/progress_log_persister.py +0 -0
  361. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/__init__.py +0 -0
  362. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/content_folder/__init__.py +0 -0
  363. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/content_folder/functions.py +0 -0
  364. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/content_folder/schemas.py +0 -0
  365. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/content_folder/service.py +0 -0
  366. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/facades/__init__.py +0 -0
  367. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/facades/identity/__init__.py +0 -0
  368. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/facades/identity/service.py +0 -0
  369. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/feature_flags/README.md +0 -0
  370. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/feature_flags/__init__.py +0 -0
  371. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/feature_flags/_graphql_client.py +0 -0
  372. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/feature_flags/_ttl_cache.py +0 -0
  373. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/feature_flags/client.py +0 -0
  374. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/feature_flags/schemas.py +0 -0
  375. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/feature_flags/settings.py +0 -0
  376. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/group/__init__.py +0 -0
  377. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/group/functions.py +0 -0
  378. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/group/schemas.py +0 -0
  379. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/group/service.py +0 -0
  380. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/__init__.py +0 -0
  381. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/cron.py +0 -0
  382. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/functions.py +0 -0
  383. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/schemas.py +0 -0
  384. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/scheduled_task/service.py +0 -0
  385. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/user/__init__.py +0 -0
  386. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/user/functions.py +0 -0
  387. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/user/schemas.py +0 -0
  388. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/resources/user/service.py +0 -0
  389. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/experimental/testing/__init__.py +0 -0
  390. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/__init__.py +0 -0
  391. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  392. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  393. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  394. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  395. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  396. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  397. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/framework_utilities/utils.py +0 -0
  398. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/__init__.py +0 -0
  399. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  400. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/builder.py +0 -0
  401. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/constants.py +0 -0
  402. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/default_language_model.py +0 -0
  403. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/functions.py +0 -0
  404. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/prompt.py +0 -0
  405. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/reference.py +0 -0
  406. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/schemas.py +0 -0
  407. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/service.py +0 -0
  408. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/settings.py +0 -0
  409. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/stream_transform.py +0 -0
  410. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/language_model/utils.py +0 -0
  411. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/monitoring/__init__.py +0 -0
  412. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/monitoring/gunicorn.py +0 -0
  413. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/protocols/support.py +0 -0
  414. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/services/__init__.py +0 -0
  415. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/services/chat_service.py +0 -0
  416. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/services/factory.py +0 -0
  417. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/short_term_memory/__init__.py +0 -0
  418. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/short_term_memory/constants.py +0 -0
  419. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/short_term_memory/functions.py +0 -0
  420. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/short_term_memory/schemas.py +0 -0
  421. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/short_term_memory/service.py +0 -0
  422. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/smart_rules/__init__.py +0 -0
  423. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.0.dev0}/unique_toolkit/smart_rules/compile.py +0 -0
  424. {unique_toolkit-2026.32.0 → unique_toolkit-2026.32.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.32.0
3
+ Version: 2026.32.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>=2026.32.0
19
+ Requires-Dist: unique-sdk>=2026.32.0.dev0,<2026.32.0rc0
20
20
  Requires-Dist: jambo>=0.1.2,<0.2
21
21
  Requires-Dist: jinja2>=3.1.6,<4
22
22
  Requires-Dist: docxtpl>=0.20.1,<0.21
@@ -33,9 +33,8 @@ Requires-Dist: tenacity>=9.1.4
33
33
  Requires-Dist: pydantic-core>=2.41.5
34
34
  Requires-Dist: cachetools>=5.0,<6
35
35
  Requires-Dist: rapidfuzz>=3.0,<4
36
- Requires-Dist: pyyaml>=6.0.3
37
- Requires-Dist: fastapi>=0.133.0,<1.0.0 ; extra == 'fastapi'
38
- Requires-Dist: starlette>=1.3.1,<2.0.0 ; extra == 'fastapi'
36
+ Requires-Dist: fastapi>=0.121.0,<0.122 ; extra == 'fastapi'
37
+ Requires-Dist: starlette>=0.49.1 ; extra == 'fastapi'
39
38
  Requires-Dist: uvicorn>=0.37.0,<0.38 ; extra == 'fastapi'
40
39
  Requires-Dist: openai>=1.105.0,<3 ; extra == 'langchain'
41
40
  Requires-Dist: langchain>=1.0.0,<2 ; extra == 'langchain'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "2026.32.0"
3
+ version = "2026.32.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>=2026.32.0",
31
+ "unique-sdk>=2026.32.0.dev0,<2026.32.0rc0",
32
32
  "jambo>=0.1.2,<0.2",
33
33
  "jinja2>=3.1.6,<4",
34
34
  "docxtpl>=0.20.1,<0.21",
@@ -45,7 +45,6 @@ dependencies = [
45
45
  "pydantic-core>=2.41.5",
46
46
  "cachetools>=5.0,<6",
47
47
  "rapidfuzz>=3.0,<4",
48
- "pyyaml>=6.0.3",
49
48
  ]
50
49
 
51
50
  [project.optional-dependencies]
@@ -56,8 +55,8 @@ langchain = [
56
55
  "langchain-core>=1.0.0,<2",
57
56
  ]
58
57
  fastapi = [
59
- "fastapi>=0.133.0,<1.0.0",
60
- "starlette>=1.3.1,<2.0.0",
58
+ "fastapi>=0.121.0,<0.122",
59
+ "starlette>=0.49.1",
61
60
  "uvicorn>=0.37.0,<0.38",
62
61
  ]
63
62
  monitoring = [
@@ -78,6 +77,7 @@ dev = [
78
77
  [tool.uv]
79
78
  exclude-newer = "2 weeks"
80
79
  constraint-dependencies = [
80
+ "starlette>=0.49.1",
81
81
  "lxml>=6.1.0",
82
82
  ]
83
83
 
@@ -1,4 +1,3 @@
1
- from collections import defaultdict
2
1
  from typing import Any, Required, TypedDict
3
2
 
4
3
  from unique_toolkit.agentic.tools.openai_builtin import OpenAICodeInterpreterTool
@@ -8,10 +7,8 @@ from unique_toolkit.agentic.tools.openai_builtin.code_interpreter.postprocessors
8
7
  )
9
8
  from unique_toolkit.agentic.tools.schemas import ToolCallResponse
10
9
  from unique_toolkit.agentic.tools.tool_manager import ToolManager
11
- from unique_toolkit.language_model.invocation_stats import LanguageModelInvocationStats
12
10
  from unique_toolkit.language_model.schemas import (
13
11
  LanguageModelStreamResponse,
14
- LanguageModelTokenUsage,
15
12
  ResponsesLanguageModelStreamResponse,
16
13
  )
17
14
 
@@ -43,29 +40,11 @@ class AnalyticsToolName(TypedDict):
43
40
  display_name: str
44
41
 
45
42
 
46
- class AnalyticsConsumption(TypedDict):
47
- completion_tokens: int | None
48
- prompt_tokens: int | None
49
- total_tokens: int | None
50
- reasoning_tokens: int | None
51
- cached_tokens: int | None
52
- cache_write_tokens: int | None
53
- cost_usd: float | None
54
-
55
-
56
- class AnalyticsConsumptionByLlm(AnalyticsConsumption):
57
- model_name: str
58
-
59
-
60
43
  class Analytics(TypedDict):
61
44
  answer_length: int
62
45
  artifacts_created_count: int | None
63
46
  artifacts_created_filetype: list[str] | None
64
47
  context_memory_updated: bool | None
65
- # Sum of all model usages this turn. None when no invocations reported usage.
66
- consumption: AnalyticsConsumption | None
67
- # Per-model usage totals, sorted by model_name.
68
- consumption_by_llm: list[AnalyticsConsumptionByLlm]
69
48
  language_model: AnalyticsLanguageModel
70
49
  loop_iteration_count: int
71
50
  mcp_tool_names_used: list[AnalyticsToolName]
@@ -136,7 +115,6 @@ class DebugInfoManager:
136
115
  total_time_to_answer_ms: int | None = None,
137
116
  artifacts: ArtifactsDebugInfo | None = None,
138
117
  context_memory_updated: bool | None = None,
139
- invocations: list[LanguageModelInvocationStats] | None = None,
140
118
  ) -> None:
141
119
  """Add a stable 'analytics' snapshot for downstream ROI/usage reporting.
142
120
 
@@ -156,7 +134,6 @@ class DebugInfoManager:
156
134
  # DisplayCodeInterpreterFilesPostProcessor) into debug_info["artifacts"].
157
135
  # Absent when no Code Interpreter ran this turn → artifact fields stay
158
136
  # None, preserving the always-present, null-when-unknown contract.
159
- consumption_by_llm = _aggregate_consumption_by_llm(invocations or [])
160
137
  analytics = Analytics(
161
138
  tools_used=analytics_tools,
162
139
  tool_call_count=len(analytics_tools),
@@ -175,8 +152,6 @@ class DebugInfoManager:
175
152
  loop_iteration_count=loop_iteration_count,
176
153
  subagent_names_used=_unique_tool_names(analytics_tools, "is_sub_agent"),
177
154
  mcp_tool_names_used=_unique_tool_names(analytics_tools, "is_mcp"),
178
- consumption_by_llm=consumption_by_llm,
179
- consumption=_aggregate_consumption(invocations or []),
180
155
  total_time_to_answer_ms=total_time_to_answer_ms,
181
156
  artifacts_created_count=artifacts["count"] if artifacts else None,
182
157
  artifacts_created_filetype=artifacts["filetypes"] if artifacts else None,
@@ -188,71 +163,6 @@ class DebugInfoManager:
188
163
  self.add("analytics", analytics)
189
164
 
190
165
 
191
- def _sum_invocation_costs(
192
- invocations: list[LanguageModelInvocationStats],
193
- ) -> float | None:
194
- """Sum costs only when every invocation has a known cost; else None."""
195
- costs = [invocation.cost_usd for invocation in invocations]
196
- if not costs or any(cost is None for cost in costs):
197
- return None
198
- return sum(cost for cost in costs if cost is not None)
199
-
200
-
201
- def _to_analytics_consumption(
202
- usage: LanguageModelTokenUsage,
203
- cost_usd: float | None,
204
- ) -> AnalyticsConsumption:
205
- return AnalyticsConsumption(
206
- completion_tokens=usage.completion_tokens,
207
- prompt_tokens=usage.prompt_tokens,
208
- total_tokens=usage.total_tokens,
209
- reasoning_tokens=usage.reasoning_tokens,
210
- cached_tokens=usage.cached_tokens,
211
- cache_write_tokens=usage.cache_write_tokens,
212
- cost_usd=cost_usd,
213
- )
214
-
215
-
216
- def _aggregate_consumption(
217
- invocations: list[LanguageModelInvocationStats],
218
- ) -> AnalyticsConsumption | None:
219
- """Aggregate token usage and cost across all models for this turn."""
220
- usage = LanguageModelTokenUsage.sum_usages(
221
- invocation.token_usage for invocation in invocations
222
- )
223
- if usage is None:
224
- return None
225
- return _to_analytics_consumption(usage, _sum_invocation_costs(invocations))
226
-
227
-
228
- def _aggregate_consumption_by_llm(
229
- invocations: list[LanguageModelInvocationStats],
230
- ) -> list[AnalyticsConsumptionByLlm]:
231
- invocations_by_model: dict[str, list[LanguageModelInvocationStats]] = defaultdict(
232
- list
233
- )
234
- for invocation in invocations:
235
- invocations_by_model[str(invocation.model_name)].append(invocation)
236
-
237
- totals: list[AnalyticsConsumptionByLlm] = []
238
- for model_name in sorted(invocations_by_model):
239
- model_invocations = invocations_by_model[model_name]
240
- usage = LanguageModelTokenUsage.sum_usages(
241
- invocation.token_usage for invocation in model_invocations
242
- )
243
- if usage is None:
244
- continue
245
- totals.append(
246
- AnalyticsConsumptionByLlm(
247
- model_name=model_name,
248
- **_to_analytics_consumption(
249
- usage, _sum_invocation_costs(model_invocations)
250
- ),
251
- )
252
- )
253
- return totals
254
-
255
-
256
166
  def _unique_tool_names(
257
167
  analytics_tools: list[AnalyticsTool], flag: str
258
168
  ) -> list[AnalyticsToolName]:
@@ -41,17 +41,6 @@ class Postprocessor(ABC):
41
41
  """Override in subclasses whose `run()` makes its own LLM call(s)."""
42
42
  return []
43
43
 
44
- def take_pending_invocation_stats(self) -> list[LanguageModelInvocationStats]:
45
- """Pop usage incurred before this turn's `run()` was reached.
46
-
47
- Called unconditionally at the start of every turn so usage from work
48
- done ahead of postprocessing (e.g. a load-time LLM call) is still
49
- reported on turns that exit before `run()` executes. Override in
50
- subclasses that do such work; must clear the pending stats so `run()`
51
- does not report them a second time.
52
- """
53
- return []
54
-
55
44
 
56
45
  class ResponsesApiPostprocessor(ABC):
57
46
  def __init__(self, name: str):
@@ -85,13 +74,6 @@ class ResponsesApiPostprocessor(ABC):
85
74
  """
86
75
  return []
87
76
 
88
- def take_pending_invocation_stats(self) -> list[LanguageModelInvocationStats]:
89
- """Pop usage incurred before this turn's `run()` was reached.
90
-
91
- See `Postprocessor.take_pending_invocation_stats` for why this exists.
92
- """
93
- return []
94
-
95
77
 
96
78
  class PostprocessorManager:
97
79
  """
@@ -214,19 +196,6 @@ class PostprocessorManager:
214
196
  """Per-LLM-call stats from every postprocessor that made its own LLM call(s)."""
215
197
  return list(self._invocation_stats)
216
198
 
217
- def take_pending_invocation_stats(self) -> list[LanguageModelInvocationStats]:
218
- """Pop pre-`run()` usage (e.g. load-time calls) from every postprocessor.
219
-
220
- Call this unconditionally at the start of a turn, before it's known
221
- whether `run_postprocessors` will even be reached this turn, so that
222
- usage is never silently dropped on turns that exit early.
223
- """
224
- return [
225
- invocation
226
- for postprocessor in self._get_all_postprocessors()
227
- for invocation in postprocessor.take_pending_invocation_stats()
228
- ]
229
-
230
199
  async def execute_postprocessors(
231
200
  self,
232
201
  loop_response: LanguageModelStreamResponse,
@@ -4,15 +4,12 @@ import json
4
4
  import logging
5
5
  import re
6
6
  from datetime import datetime
7
- from typing import Any, override
7
+ from typing import override
8
8
 
9
9
  import unique_sdk
10
10
  from pydantic import Field, TypeAdapter, create_model
11
11
  from unique_sdk.api_resources._space import Space
12
- from unique_sdk.utils.chat_in_space import (
13
- get_message_invocations,
14
- send_message_and_wait_for_completion,
15
- )
12
+ from unique_sdk.utils.chat_in_space import send_message_and_wait_for_completion
16
13
 
17
14
  from unique_toolkit._common.execution import SafeTaskExecutor
18
15
  from unique_toolkit._common.referencing import (
@@ -58,7 +55,6 @@ from unique_toolkit.language_model import (
58
55
  LanguageModelService,
59
56
  LanguageModelToolDescription,
60
57
  )
61
- from unique_toolkit.language_model.invocation_stats import LanguageModelInvocationStats
62
58
 
63
59
  logger = logging.getLogger(__name__)
64
60
 
@@ -300,13 +296,6 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
300
296
  if self.config.passthrough_config.enabled:
301
297
  await self._display_sub_agent_response(response)
302
298
 
303
- sub_agent_invocations = _prefix_sub_agent_invocation_sources(
304
- invocations=_parse_sub_agent_invocation_stats(
305
- get_message_invocations(response)
306
- ),
307
- tool_name=self.name,
308
- tool_call_id=tool_call.id,
309
- )
310
299
  return ToolCallResponse(
311
300
  id=tool_call.id,
312
301
  name=tool_call.name,
@@ -318,12 +307,9 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
318
307
  content_chunks=content_chunks,
319
308
  debug_info={
320
309
  "chat_id": response["chatId"],
321
- "user_message_id": response.get("triggeringUserMessageId"),
322
- "assistant_message_id": response.get("id"),
323
310
  "assistant_id": self.config.assistant_id,
324
311
  "display_name": self._display_name,
325
312
  },
326
- invocation_stats=sub_agent_invocations,
327
313
  )
328
314
  except TimeoutError as e:
329
315
  raise e
@@ -509,7 +495,6 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
509
495
  parentAssistantId=self.config.assistant_id,
510
496
  ),
511
497
  on_message_update=on_message_update,
512
- wait_for_invocations=True,
513
498
  )
514
499
  except TimeoutError as e:
515
500
  await self._notify_progress(
@@ -528,42 +513,6 @@ class SubAgentTool(Tool[SubAgentToolConfig]):
528
513
  ) from e
529
514
 
530
515
 
531
- def _parse_sub_agent_invocation_stats(
532
- raw_invocations: list[dict[str, Any]],
533
- ) -> list[LanguageModelInvocationStats]:
534
- """Deserialize sub-agent invocation stats, ignoring malformed entries.
535
-
536
- A single unparseable entry (e.g. a stale model name) must not fail the
537
- whole tool call and drop an otherwise-successful sub-agent reply -- see
538
- `_load_invocation_stats_from_debug_info` in unique_orchestrator, which
539
- applies the same per-entry tolerance for the same reason.
540
- """
541
- invocations: list[LanguageModelInvocationStats] = []
542
- for raw_invocation in raw_invocations:
543
- try:
544
- invocations.append(
545
- LanguageModelInvocationStats.model_validate(raw_invocation)
546
- )
547
- except Exception:
548
- logger.warning(
549
- "Ignoring malformed sub-agent LLM invocation stats",
550
- exc_info=True,
551
- )
552
- return invocations
553
-
554
-
555
- def _prefix_sub_agent_invocation_sources(
556
- invocations: list[LanguageModelInvocationStats],
557
- tool_name: str,
558
- tool_call_id: str,
559
- ) -> list[LanguageModelInvocationStats]:
560
- prefix = f"subagent.{tool_name}.{tool_call_id}"
561
- return [
562
- invocation.model_copy(update={"source": f"{prefix}.{invocation.source}"})
563
- for invocation in invocations
564
- ]
565
-
566
-
567
516
  def _format_response(tool_name: str, text: str, system_reminders: list[str]) -> str:
568
517
  if len(system_reminders) == 0:
569
518
  return text
@@ -17,7 +17,6 @@ from unique_toolkit.agentic.tools.a2a.tool.config import (
17
17
  from unique_toolkit.agentic.tools.a2a.tool.service import (
18
18
  _format_response,
19
19
  _get_sub_agent_system_reminders,
20
- _parse_sub_agent_invocation_stats,
21
20
  _prepare_sub_agent_response_refs,
22
21
  _remove_extra_refs,
23
22
  _response_has_refs,
@@ -60,78 +59,6 @@ def refs_list() -> list[dict[str, Any]]:
60
59
  ]
61
60
 
62
61
 
63
- # Tests for _parse_sub_agent_invocation_stats
64
-
65
-
66
- @pytest.mark.ai
67
- def test_parse_sub_agent_invocation_stats__skips_malformed_entry__keeps_valid_ones() -> (
68
- None
69
- ):
70
- """
71
- Purpose: Verify one malformed invocation entry doesn't discard the rest.
72
- Why this matters: A single bad entry must not fail the whole sub-agent tool
73
- call and drop an otherwise-successful reply.
74
- Setup summary: Mix a valid entry with a malformed one (missing required
75
- fields), verify only the valid entry survives.
76
- """
77
- # Arrange
78
- raw_invocations = [
79
- {
80
- "modelName": "gpt-4",
81
- "tokenUsage": {"totalTokens": 10},
82
- "source": "main_loop",
83
- },
84
- {"modelName": "gpt-4"}, # missing required tokenUsage/source
85
- ]
86
-
87
- # Act
88
- result = _parse_sub_agent_invocation_stats(raw_invocations)
89
-
90
- # Assert
91
- assert len(result) == 1
92
- assert result[0].source == "main_loop"
93
-
94
-
95
- @pytest.mark.ai
96
- def test_parse_sub_agent_invocation_stats__returns_empty__when_all_malformed() -> None:
97
- """
98
- Purpose: Verify an all-malformed list returns empty instead of raising.
99
- Why this matters: The sub-agent tool call must still succeed and return the
100
- answer even if every persisted stats entry is unparseable.
101
- Setup summary: Only malformed entries, assert empty list with no exception.
102
- """
103
- # Arrange
104
- raw_invocations = [{"modelName": "gpt-4"}, {"source": "main_loop"}]
105
-
106
- # Act
107
- result = _parse_sub_agent_invocation_stats(raw_invocations)
108
-
109
- # Assert
110
- assert result == []
111
-
112
-
113
- @pytest.mark.ai
114
- def test_parse_sub_agent_invocation_stats__parses_all__when_all_valid() -> None:
115
- """
116
- Purpose: Verify parsing is unaffected by the malformed-entry tolerance
117
- when every entry is well-formed.
118
- Why this matters: The fix must not silently drop good data too.
119
- Setup summary: Two valid entries, assert both are returned.
120
- """
121
- # Arrange
122
- raw_invocations = [
123
- {"modelName": "gpt-4", "tokenUsage": {"totalTokens": 3}, "source": "a"},
124
- {"modelName": "gpt-4", "tokenUsage": {"totalTokens": 5}, "source": "b"},
125
- ]
126
-
127
- # Act
128
- result = _parse_sub_agent_invocation_stats(raw_invocations)
129
-
130
- # Assert
131
- assert len(result) == 2
132
- assert [inv.source for inv in result] == ["a", "b"]
133
-
134
-
135
62
  # Tests for _format_response
136
63
 
137
64
 
@@ -648,33 +648,6 @@ class AgenticTableService:
648
648
  result.get("message") or "Failed to trigger artifact generation"
649
649
  )
650
650
 
651
- async def rerun_row(self, row_order: int) -> None:
652
- """Re-run the agent for a single row (`POST .../row/{rowOrder}/rerun`).
653
-
654
- The only way to re-answer part of a sheet: ``import_questions_and_sources``
655
- is delta-based and will not re-answer a row that already exists.
656
-
657
- Asynchronous, like the whole-sheet run: this triggers it and returns.
658
- Follow with ``wait_for_run`` to block until the sheet leaves PROCESSING.
659
-
660
- Args:
661
- row_order: Row position in the sheet's own numbering, where row 0 is
662
- the header — so answerable rows start at 1, and row 0 is
663
- rejected. Same numbering as ``get_cell``.
664
-
665
- Raises:
666
- Exception: If the API reports a non-success status, which includes a
667
- locked or final row and a sheet that is already PROCESSING.
668
- """
669
- result = await AgenticTable.rerun_row(
670
- user_id=self._user_id,
671
- company_id=self._company_id,
672
- tableId=self.table_id,
673
- rowOrder=row_order,
674
- )
675
- if not result.get("status"):
676
- raise Exception(result.get("message") or "Failed to trigger row rerun")
677
-
678
651
  async def list_artifacts(self) -> list[MagicTableArtifact]:
679
652
  """List export artifacts of the sheet (`GET .../artifacts`)."""
680
653
  artifacts = await AgenticTable.list_artifacts(
@@ -216,21 +216,9 @@ class MessageLogUncitedReferences(BaseModel):
216
216
 
217
217
  class MessageLogEvent(BaseModel):
218
218
  model_config = model_config
219
- type: Literal[
220
- "WebSearch",
221
- "InternalSearch",
222
- "Elicitation",
223
- "Thinking",
224
- "ToolCall",
225
- "Todo",
226
- "UserMemory",
227
- ]
219
+ type: Literal["WebSearch", "InternalSearch", "Elicitation", "Thinking", "ToolCall"]
228
220
  text: str
229
221
  step_type: str | None = None
230
- status: Literal["todo", "done"] | None = Field(
231
- default=None,
232
- description="Checklist item state for 'Todo' events; unused for other event types",
233
- )
234
222
 
235
223
 
236
224
  class MessageLogDetails(BaseModel):
@@ -107,8 +107,9 @@ async def translate_scope_id_async(
107
107
  ) -> str | None:
108
108
  """Resolve a single ``scope_id`` to a folder name.
109
109
 
110
- Returns ``None`` if the folder lookup fails (logged at debug; callers fall back
111
- to the raw ``scope_id``), so batch resolution is not aborted by a single miss.
110
+ Returns ``None`` (and logs a warning) if the folder lookup fails, so callers
111
+ can batch-resolve ids without a single missing folder aborting the whole
112
+ operation.
112
113
  """
113
114
  try:
114
115
  folder_info = await get_folder_info_async(
@@ -118,7 +119,7 @@ async def translate_scope_id_async(
118
119
  )
119
120
  return folder_info.name
120
121
  except Exception as e:
121
- _LOGGER.debug("Could not resolve folder for scope_id %s", scope_id, exc_info=e)
122
+ _LOGGER.warning(f"Could not resolve folder for scope_id {scope_id}", exc_info=e)
122
123
  return None
123
124
 
124
125
 
@@ -93,7 +93,6 @@ class LanguageModelName(StrEnum):
93
93
  ANTHROPIC_CLAUDE_OPUS_4_6 = "litellm:anthropic-claude-opus-4-6"
94
94
  ANTHROPIC_CLAUDE_OPUS_4_7 = "litellm:anthropic-claude-opus-4-7"
95
95
  ANTHROPIC_CLAUDE_OPUS_4_8 = "litellm:anthropic-claude-opus-4-8"
96
- ANTHROPIC_CLAUDE_OPUS_5 = "litellm:anthropic-claude-opus-5"
97
96
  ANTHROPIC_CLAUDE_FABLE_5 = "litellm:anthropic-claude-fable-5"
98
97
  GEMINI_2_0_FLASH = "litellm:gemini-2-0-flash"
99
98
  GEMINI_2_5_FLASH = "litellm:gemini-2-5-flash"
@@ -138,7 +137,6 @@ class LanguageModelName(StrEnum):
138
137
  LITELLM_GLM_5_1 = "litellm:glm-5.1"
139
138
  LITELLM_GLM_5_2 = "litellm:glm-5.2"
140
139
  LITELLM_KIMI_K2_6 = "litellm:kimi-k2.6"
141
- LITELLM_KIMI_K3 = "litellm:kimi-k3"
142
140
  LITELLM_QWEN_3 = "litellm:qwen-3-235B-A22B"
143
141
  LITELLM_QWEN_3_THINKING = "litellm:qwen-3-235B-A22B-thinking"
144
142
  VERTEX_CLAUDE_SONNET_4_6 = "litellm:vertex-claude-sonnet-4-6"
@@ -146,7 +144,6 @@ class LanguageModelName(StrEnum):
146
144
  VERTEX_CLAUDE_OPUS_4_6 = "litellm:vertex-claude-opus-4-6"
147
145
  VERTEX_CLAUDE_OPUS_4_7 = "litellm:vertex-claude-opus-4-7"
148
146
  VERTEX_CLAUDE_OPUS_4_8 = "litellm:vertex-claude-opus-4-8"
149
- VERTEX_CLAUDE_OPUS_5 = "litellm:vertex-claude-opus-5"
150
147
  VERTEX_CLAUDE_FABLE_5 = "litellm:vertex-claude-fable-5"
151
148
 
152
149
 
@@ -1815,30 +1812,6 @@ class LanguageModelInfo(BaseModel):
1815
1812
  published_at=date(2026, 5, 28),
1816
1813
  supported_reasoning_efforts=[],
1817
1814
  )
1818
- case (
1819
- LanguageModelName.ANTHROPIC_CLAUDE_OPUS_5
1820
- | LanguageModelName.VERTEX_CLAUDE_OPUS_5
1821
- ):
1822
- return cls(
1823
- name=model_name,
1824
- capabilities=[
1825
- ModelCapabilities.FUNCTION_CALLING,
1826
- ModelCapabilities.STREAMING,
1827
- ModelCapabilities.VISION,
1828
- ModelCapabilities.REASONING,
1829
- ],
1830
- provider=LanguageModelProvider.LITELLM,
1831
- family=ModelFamily.ANTHROPIC,
1832
- version="claude-opus-5",
1833
- encoder_name=EncoderName.O200K_BASE, # TODO: Update encoder with litellm
1834
- token_limits=LanguageModelTokenLimits(
1835
- token_limit_input=1_000_000,
1836
- token_limit_output=128_000,
1837
- ),
1838
- info_cutoff_at=date(2026, 5, 1),
1839
- published_at=date(2026, 7, 24),
1840
- supported_reasoning_efforts=[],
1841
- )
1842
1815
  case (
1843
1816
  LanguageModelName.ANTHROPIC_CLAUDE_FABLE_5
1844
1817
  | LanguageModelName.VERTEX_CLAUDE_FABLE_5
@@ -2881,27 +2854,6 @@ class LanguageModelInfo(BaseModel):
2881
2854
  published_at=date(2026, 1, 1),
2882
2855
  supported_reasoning_efforts=[],
2883
2856
  )
2884
- case LanguageModelName.LITELLM_KIMI_K3:
2885
- return cls(
2886
- name=model_name,
2887
- provider=LanguageModelProvider.LITELLM,
2888
- family=ModelFamily.KIMI,
2889
- version="kimi-k3",
2890
- encoder_name=EncoderName.O200K_BASE,
2891
- capabilities=[
2892
- ModelCapabilities.FUNCTION_CALLING,
2893
- ModelCapabilities.STRUCTURED_OUTPUT,
2894
- ModelCapabilities.REASONING,
2895
- ModelCapabilities.STREAMING,
2896
- ModelCapabilities.VISION,
2897
- ],
2898
- token_limits=LanguageModelTokenLimits(
2899
- token_limit_input=1_000_000,
2900
- token_limit_output=128_000,
2901
- ),
2902
- published_at=date(2026, 7, 27),
2903
- supported_reasoning_efforts=[],
2904
- )
2905
2857
  case LanguageModelName.LITELLM_QWEN_3:
2906
2858
  return cls(
2907
2859
  name=model_name,
@@ -11,7 +11,6 @@ from humps import camelize
11
11
  from pydantic import BaseModel, BeforeValidator, ConfigDict
12
12
 
13
13
  from unique_toolkit.language_model.infos import LanguageModelName
14
- from unique_toolkit.language_model.model_costs import calculate_invocation_cost_usd
15
14
  from unique_toolkit.language_model.schemas import LanguageModelTokenUsage
16
15
 
17
16
  # `protected_namespaces=()` allows the `model_name` field name.
@@ -60,7 +59,6 @@ class LanguageModelInvocationStats(BaseModel):
60
59
  model_name: ModelName
61
60
  token_usage: LanguageModelTokenUsage
62
61
  source: Source # e.g. "main_loop", tool/evaluation/postprocessor name
63
- cost_usd: float | None = None
64
62
 
65
63
  @classmethod
66
64
  def from_usage(
@@ -69,9 +67,4 @@ class LanguageModelInvocationStats(BaseModel):
69
67
  token_usage: LanguageModelTokenUsage,
70
68
  source: str,
71
69
  ) -> Self:
72
- return cls(
73
- model_name=model_name,
74
- token_usage=token_usage,
75
- source=source,
76
- cost_usd=calculate_invocation_cost_usd(str(model_name), token_usage),
77
- )
70
+ return cls(model_name=model_name, token_usage=token_usage, source=source)