unique_toolkit 1.75.1__tar.gz → 1.76.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 (301) hide show
  1. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/PKG-INFO +1 -1
  2. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/pyproject.toml +45 -2
  3. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/__init__.py +6 -4
  4. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +1 -1
  5. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/base_model_type_attribute.py +5 -5
  6. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +8 -5
  7. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/docx_generator/schemas.py +2 -1
  8. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/docx_generator/service.py +4 -3
  9. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/endpoint_builder.py +22 -13
  10. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/endpoint_requestor.py +9 -5
  11. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/endpoint_builder.py +22 -13
  12. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/endpoint_requestor.py +14 -6
  13. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/utils.py +2 -1
  14. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/exceptions.py +3 -1
  15. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +1 -1
  16. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/pydantic_helpers.py +3 -4
  17. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/string_utilities.py +2 -2
  18. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/token/token_counting.py +4 -2
  19. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/files.py +2 -2
  20. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/jinja/schema.py +3 -1
  21. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/validate_required_values.py +2 -2
  22. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +1 -1
  23. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +5 -5
  24. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +1 -12
  25. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +4 -3
  26. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +6 -6
  27. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/feature_flags/feature_flags.py +3 -4
  28. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +8 -8
  29. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +8 -6
  30. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +14 -9
  31. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/_responses_iteration_handler_utils.py +1 -1
  32. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +3 -2
  33. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +2 -1
  34. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +6 -4
  35. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +19 -8
  36. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +2 -2
  37. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +5 -5
  38. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/tool/config.py +12 -4
  39. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/tool/service.py +1 -3
  40. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +3 -1
  41. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/config.py +1 -1
  42. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/experimental/open_file_tool/runtime.py +6 -4
  43. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/experimental/open_file_tool/tool.py +1 -1
  44. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/factory.py +4 -4
  45. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/mcp/models.py +2 -2
  46. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +1 -1
  47. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/code_display.py +1 -1
  48. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/generated_files.py +7 -7
  49. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +4 -1
  50. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +5 -3
  51. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/schemas.py +5 -5
  52. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/tool.py +3 -3
  53. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/tool_manager.py +16 -22
  54. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic_table/schemas.py +3 -2
  55. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic_table/service.py +11 -11
  56. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/dev_util.py +9 -10
  57. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/fast_api_factory.py +15 -8
  58. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/feature_flags.py +3 -4
  59. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/init_logging.py +2 -1
  60. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/performance/async_tasks.py +7 -5
  61. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/schemas.py +2 -2
  62. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/unique_settings.py +8 -11
  63. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/webhook.py +1 -1
  64. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/deprecated/service.py +3 -1
  65. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/functions.py +35 -41
  66. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/responses_api.py +11 -13
  67. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/schemas.py +3 -3
  68. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/content/functions.py +17 -17
  69. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/content/schemas.py +4 -4
  70. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/content/service.py +27 -27
  71. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/content/smart_rules.py +2 -2
  72. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/content/utils.py +7 -4
  73. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/augmented/service.py +5 -5
  74. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/embedding/functions.py +12 -14
  75. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/embedding/service.py +8 -9
  76. unique_toolkit-1.76.0/unique_toolkit/framework_utilities/langchain/__init__.py +9 -0
  77. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/framework_utilities/langchain/client.py +1 -1
  78. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/framework_utilities/langchain/history.py +5 -1
  79. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/_responses_api_utils.py +1 -1
  80. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/functions.py +24 -30
  81. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/infos.py +5 -7
  82. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/reference.py +2 -2
  83. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/schemas.py +10 -9
  84. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/service.py +9 -9
  85. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/monitoring/__init__.py +6 -3
  86. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/monitoring/middleware.py +5 -1
  87. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/monitoring/registry.py +3 -3
  88. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/protocols/support.py +9 -9
  89. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/services/chat_service.py +58 -60
  90. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/services/knowledge_base.py +13 -13
  91. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/short_term_memory/functions.py +2 -2
  92. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/short_term_memory/schemas.py +3 -1
  93. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/short_term_memory/service.py +11 -11
  94. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/test_utilities/events.py +1 -1
  95. unique_toolkit-1.75.1/unique_toolkit/framework_utilities/langchain/__init__.py +0 -10
  96. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/README.md +0 -0
  97. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/__init__.py +0 -0
  98. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/_base_service.py +0 -0
  99. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/_time_utils.py +0 -0
  100. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  101. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  102. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  103. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  104. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/README.md +0 -0
  105. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/__init__.py +0 -0
  106. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/__main__.py +0 -0
  107. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/cli.py +0 -0
  108. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/differ.py +0 -0
  109. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/exporter.py +0 -0
  110. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/models.py +0 -0
  111. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/registry.py +0 -0
  112. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/config_checker/validator.py +0 -0
  113. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/default_language_model.py +0 -0
  114. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  115. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/docx_generator/config.py +0 -0
  116. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/docx_generator/pandoc_converter.py +0 -0
  117. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  118. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/event_bus.py +0 -0
  119. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/exception.py +0 -0
  120. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/execution.py +0 -0
  121. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/README.md +0 -0
  122. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/__init__.py +0 -0
  123. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/agent.py +0 -0
  124. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/config.py +0 -0
  125. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/examples/data.csv +0 -0
  126. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/examples/example_usage.py +0 -0
  127. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/schemas.py +0 -0
  128. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/__init__.py +0 -0
  129. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/__init__.py +0 -0
  130. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/exceptions.py +0 -0
  131. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/dataframe_handler/service.py +0 -0
  132. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/__init__.py +0 -0
  133. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/config.py +0 -0
  134. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/config.py +0 -0
  135. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/system_prompt.j2 +0 -0
  136. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/prompts/user_prompt.j2 +0 -0
  137. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/generation_handler/service.py +0 -0
  138. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/__init__.py +0 -0
  139. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/default_template.j2 +0 -0
  140. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/exceptions.py +0 -0
  141. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/service.py +0 -0
  142. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/services/template_handler/utils.py +0 -0
  143. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/experimental/write_up_agent/utils.py +0 -0
  144. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  145. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/referencing.py +0 -0
  146. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  147. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  148. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/token/__init__.py +0 -0
  149. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  150. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/token/tokenizers/deepseek/tokenizer.json +0 -0
  151. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/token/tokenizers/qwen/tokenizer.json +0 -0
  152. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/__init__.py +0 -0
  153. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/image/encode.py +0 -0
  154. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  155. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  156. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  157. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  158. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  159. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  160. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/_common/validators.py +0 -0
  161. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/__init__.py +0 -0
  162. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  163. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
  164. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/__init__.py +0 -0
  165. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/system_prompt.j2 +0 -0
  166. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts/user_prompt.j2 +0 -0
  167. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  168. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  169. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  170. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/__init__.py +0 -0
  171. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/system_prompt.j2 +0 -0
  172. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/hallucination/prompts/user_prompt.j2 +0 -0
  173. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  174. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  175. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  176. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/tests/fixtures.py +0 -0
  177. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/tests/test_config.py +0 -0
  178. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  179. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_constants.py +0 -0
  180. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/tests/test_hallucination_utils.py +0 -0
  181. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  182. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/tests/test_prompt_loaders.py +0 -0
  183. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/evaluation/utils.py +0 -0
  184. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/feature_flags/__init__.py +0 -0
  185. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  186. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  187. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  188. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/_responses_stream_handler_utils.py +0 -0
  189. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  190. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  191. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  192. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  193. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  194. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  195. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  196. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  197. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/runners/mistral/__init__.py +0 -0
  198. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/runners/mistral/mistral_runner.py +0 -0
  199. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  200. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  201. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  202. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  203. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  204. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  205. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  206. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  207. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  208. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  209. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  210. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
  211. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  212. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  213. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  214. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  215. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  216. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  217. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  218. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  219. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  220. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  221. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  222. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  223. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  224. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  225. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  226. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  227. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  228. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  229. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  230. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  231. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/experimental/__init__.py +0 -0
  232. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/experimental/open_file_tool/__init__.py +0 -0
  233. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/experimental/open_file_tool/config.py +0 -0
  234. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  235. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  236. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  237. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  238. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  239. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  240. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/postprocessors/__init__.py +0 -0
  241. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/schemas.py +0 -0
  242. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  243. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  244. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  245. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  246. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  247. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  248. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  249. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  250. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/agentic_table/__init__.py +0 -0
  251. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/__init__.py +0 -0
  252. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/chat_event_filter_options_settings.py +0 -0
  253. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/find_env_file.py +0 -0
  254. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/init_sdk.py +0 -0
  255. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  256. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/app/verification.py +0 -0
  257. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/__init__.py +0 -0
  258. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/cancellation.py +0 -0
  259. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/constants.py +0 -0
  260. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/rendering.py +0 -0
  261. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/service.py +0 -0
  262. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/state.py +0 -0
  263. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/chat/utils.py +0 -0
  264. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/content/__init__.py +0 -0
  265. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/content/constants.py +0 -0
  266. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/README.md +0 -0
  267. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/__init__.py +0 -0
  268. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  269. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/base.py +0 -0
  270. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  271. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/basic/config.py +0 -0
  272. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  273. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/data_extraction/basic/service.py +0 -0
  274. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/elicitation/__init__.py +0 -0
  275. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/elicitation/constants.py +0 -0
  276. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/elicitation/exceptions.py +0 -0
  277. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/elicitation/functions.py +0 -0
  278. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/elicitation/schemas.py +0 -0
  279. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/elicitation/service.py +0 -0
  280. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/embedding/__init__.py +0 -0
  281. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/embedding/constants.py +0 -0
  282. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/embedding/schemas.py +0 -0
  283. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/embedding/utils.py +0 -0
  284. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
  285. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  286. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  287. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  288. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/framework_utilities/utils.py +0 -0
  289. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/__init__.py +0 -0
  290. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/builder.py +0 -0
  291. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/constants.py +0 -0
  292. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/default_language_model.py +0 -0
  293. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/prompt.py +0 -0
  294. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/stream_transform.py +0 -0
  295. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/language_model/utils.py +0 -0
  296. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/services/__init__.py +0 -0
  297. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/services/factory.py +0 -0
  298. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
  299. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/short_term_memory/constants.py +0 -0
  300. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/smart_rules/__init__.py +0 -0
  301. {unique_toolkit-1.75.1 → unique_toolkit-1.76.0}/unique_toolkit/smart_rules/compile.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-toolkit
3
- Version: 1.75.1
3
+ Version: 1.76.0
4
4
  Summary:
5
5
  Author: Cedric Klinkert, Martin Fadler, Sadique Sheik, Fabian Schläpfer, Pascal Hauri, Ejiroghene Oki-Peter, Rami Azouz, Ricardo Visini, Sanzio Monti
6
6
  Author-email: Cedric Klinkert <cedric.klinkert@unique.ch>, Martin Fadler <martin.fadler@unique.ch>, Sadique Sheik <sadique@unique.ch>, Fabian Schläpfer <fabian@unique.ch>, Pascal Hauri <pascal@unique.ch>, Ejiroghene Oki-Peter <oki-peter.ejiroghene@unique.ai>, Rami Azouz <rami.ext@unique.ch>, Ricardo Visini <ricardo.visini@unique.ch>, Sanzio Monti <sanzio.monti@unique.ai>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_toolkit"
3
- version = "1.75.1"
3
+ version = "1.76.0"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -127,6 +127,49 @@ extend-select = ["I"]
127
127
 
128
128
  [tool.basedpyright]
129
129
  pythonVersion = "3.12"
130
- typeCheckingMode = "standard"
130
+ typeCheckingMode = "recommended"
131
131
  include = ["unique_toolkit"]
132
132
  exclude = ["**/tests/**", "**/test_*.py"]
133
+
134
+ # --- Silenced rules ---
135
+ # Any-cascade: all triggered by untyped third-party code; fixing requires
136
+ # sprinkling `Any` everywhere which defeats the purpose.
137
+ reportAny = "none"
138
+ reportExplicitAny = "none"
139
+ reportUnknownArgumentType = "none"
140
+ reportUnknownMemberType = "none"
141
+ reportUnknownVariableType = "none"
142
+ reportUnknownParameterType = "none"
143
+ reportUnknownLambdaType = "none"
144
+
145
+ # basedpyright-only extension: requires every non-@final class to annotate
146
+ # every attribute, which is impractical for mixin/base-class patterns.
147
+ reportUnannotatedClassAttribute = "none"
148
+
149
+ # SDK deprecations (e.g. Event → ChatEvent): tracked separately.
150
+ reportDeprecated = "none"
151
+
152
+ # Third-party libraries that ship no type stubs.
153
+ reportMissingTypeStubs = "none"
154
+
155
+ # Structural: circular imports require architectural refactoring.
156
+ reportImportCycles = "none"
157
+
158
+ # Style preferences.
159
+ reportImplicitStringConcatenation = "none"
160
+ reportCallInDefaultInitializer = "none"
161
+
162
+ # Intentional patterns: callers often discard return values on purpose.
163
+ reportUnusedCallResult = "none"
164
+ reportUnusedParameter = "none"
165
+ reportUnusedFunction = "none"
166
+
167
+ # Toolkit legitimately accesses SDK-internal symbols.
168
+ reportPrivateUsage = "none"
169
+ reportPrivateLocalImportUsage = "none"
170
+
171
+ # Requires adding @override to every overriding method — separate PR.
172
+ reportImplicitOverride = "none"
173
+
174
+ # Missing parameter type annotations on callbacks / dynamic patterns.
175
+ reportMissingParameterType = "none"
@@ -20,6 +20,7 @@ from unique_toolkit.services.knowledge_base import KnowledgeBaseService
20
20
  from unique_toolkit.short_term_memory import ShortTermMemoryService
21
21
 
22
22
  # Conditionally import config_checker (requires pydantic-settings)
23
+ _CONFIG_CHECKER_AVAILABLE: bool = False
23
24
  try:
24
25
  from unique_toolkit._common.config_checker import (
25
26
  ConfigDiffer, # noqa: F401, I001
@@ -33,17 +34,18 @@ try:
33
34
  register_config, # noqa: F401, I001
34
35
  )
35
36
 
36
- _CONFIG_CHECKER_AVAILABLE = True
37
+ _CONFIG_CHECKER_AVAILABLE = True # pyright: ignore[reportConstantRedefinition]
37
38
  except ImportError:
38
- _CONFIG_CHECKER_AVAILABLE = False
39
+ pass
39
40
 
40
41
  # Conditionally import langchain utilities if langchain is installed
42
+ _LANGCHAIN_AVAILABLE: bool = False
41
43
  try:
42
44
  from unique_toolkit.framework_utilities.langchain.client import get_langchain_client # noqa: F401, I001
43
45
 
44
- _LANGCHAIN_AVAILABLE = True
46
+ _LANGCHAIN_AVAILABLE = True # pyright: ignore[reportConstantRedefinition]
45
47
  except ImportError:
46
- _LANGCHAIN_AVAILABLE = False
48
+ pass
47
49
 
48
50
  # You can add other classes you frequently use here as well
49
51
 
@@ -143,7 +143,7 @@ class HumanVerificationManagerForApiCalling(
143
143
 
144
144
  class VerificationModel(BaseModel):
145
145
  confirmation: HumanConfirmation
146
- modifiable_params: self._modifiable_payload_params_model # type: ignore
146
+ modifiable_params: self._modifiable_payload_params_model # pyright: ignore[reportInvalidTypeForm]
147
147
 
148
148
  self._verification_model = VerificationModel
149
149
 
@@ -72,8 +72,8 @@ class ParameterType(StrEnum):
72
72
  return float
73
73
  case ParameterType.BOOLEAN:
74
74
  return bool
75
- case _:
76
- raise ValueError(f"Invalid ParameterType: {self}")
75
+ case _: # pyright: ignore[reportUnnecessaryComparison]
76
+ raise ValueError(f"Invalid ParameterType: {self}") # pyright: ignore[reportUnreachable]
77
77
 
78
78
  @classmethod
79
79
  def from_python_type(cls, python_type: type) -> "ParameterType":
@@ -133,11 +133,11 @@ def convert_to_base_model_type(
133
133
  If the input is a list of Parameter as defined above, converts it to a BaseModel class
134
134
  If the input is a str (JSON schema), converts it to a BaseModel class using SchemaConverter from Jambo.
135
135
  """
136
- if isinstance(value, type) and issubclass(value, BaseModel):
136
+ if isinstance(value, type) and issubclass(value, BaseModel): # pyright: ignore[reportUnnecessaryIsInstance]
137
137
  return value
138
138
 
139
139
  if isinstance(value, list):
140
- if all(isinstance(item, Parameter) for item in value):
140
+ if all(isinstance(item, Parameter) for item in value): # pyright: ignore[reportUnnecessaryIsInstance]
141
141
  return create_pydantic_model_from_parameter_list("Parameters", value)
142
142
 
143
143
  converter = SchemaConverter()
@@ -202,7 +202,7 @@ def get_json_schema_extra_for_base_model_type(model: type[BaseModel]):
202
202
  """
203
203
  sample_params = base_model_to_parameter_list(model)
204
204
 
205
- def _mutate(schema: dict) -> None:
205
+ def _mutate(schema: dict[str, Any]) -> None:
206
206
  json_default = json.dumps(model.model_json_schema())
207
207
  params_default = [p.model_dump() for p in sample_params]
208
208
 
@@ -53,7 +53,7 @@ class ChunkRelevancySorter:
53
53
  "Use __init__ with company_id and user_id instead or use the classmethod `from_event`"
54
54
  )
55
55
  @overload
56
- def __init__(self, event: ChatEvent | BaseEvent):
56
+ def __init__(self, event: ChatEvent | BaseEvent[Any]):
57
57
  """
58
58
  Initialize the ChunkRelevancySorter with an event (deprecated)
59
59
  """
@@ -66,7 +66,7 @@ class ChunkRelevancySorter:
66
66
 
67
67
  def __init__(
68
68
  self,
69
- event: ChatEvent | BaseEvent | None = None,
69
+ event: ChatEvent | BaseEvent[Any] | None = None,
70
70
  company_id: str | None = None,
71
71
  user_id: str | None = None,
72
72
  ):
@@ -81,7 +81,7 @@ class ChunkRelevancySorter:
81
81
  self.logger = logging.getLogger(f"{module_name}.{__name__}")
82
82
 
83
83
  @classmethod
84
- def from_event(cls, event: ChatEvent | BaseEvent):
84
+ def from_event(cls, event: ChatEvent | BaseEvent[Any]):
85
85
  return cls(company_id=event.company_id, user_id=event.user_id)
86
86
 
87
87
  async def run(
@@ -336,7 +336,9 @@ class ChunkRelevancySorter:
336
336
  sorted_chunk_relevancies = sorted(
337
337
  chunk_relevancies,
338
338
  key=lambda obj: (
339
- relevancy_level_order[obj.relevancy.value.lower()], # type: ignore
339
+ relevancy_level_order[obj.relevancy.value.lower()]
340
+ if obj.relevancy is not None
341
+ else len(relevancy_level_order),
340
342
  chunk_order[obj.chunk.chunk_id],
341
343
  ),
342
344
  )
@@ -366,7 +368,8 @@ class ChunkRelevancySorter:
366
368
  return [
367
369
  chunk_relevancy
368
370
  for chunk_relevancy in chunk_relevancies
369
- if chunk_relevancy.relevancy.value.lower() in levels_to_consider # type: ignore
371
+ if chunk_relevancy.relevancy is not None
372
+ and chunk_relevancy.relevancy.value.lower() in levels_to_consider
370
373
  ]
371
374
 
372
375
  def _count_distinct_values(self, chunk_relevancies: list[ChunkRelevancy]):
@@ -66,7 +66,8 @@ class ContentField(BaseModel):
66
66
  # content.download_image(self.download_path)
67
67
  # content.add(sd) # type: ignore
68
68
  # else:
69
- content.add(sd) # type: ignore
69
+ # docxtpl subdoc is duck-type compatible with docx.Document but not a declared subtype
70
+ content.add(sd) # pyright: ignore[reportArgumentType]
70
71
  return sd
71
72
 
72
73
  def __str__(self):
@@ -2,6 +2,7 @@ import io
2
2
  import logging
3
3
  import re
4
4
  from pathlib import Path
5
+ from typing import Any
5
6
 
6
7
  from docxtpl import DocxTemplate
7
8
  from markdown_it import MarkdownIt
@@ -102,7 +103,7 @@ class DocxGeneratorService:
102
103
  content,
103
104
  )
104
105
  bold = True
105
- current_section["text"] += content
106
+ current_section["text"] += content # pyright: ignore[reportOperatorIssue, reportArgumentType]
106
107
  elif "runs" in current_section:
107
108
  bold = False
108
109
  italic = False
@@ -137,7 +138,7 @@ class DocxGeneratorService:
137
138
  )
138
139
  )
139
140
 
140
- current_section["runs"].extend(runs)
141
+ current_section["runs"].extend(runs) # pyright: ignore[reportAttributeAccessIssue]
141
142
 
142
143
  # Process remaining elements
143
144
  contents = []
@@ -167,7 +168,7 @@ class DocxGeneratorService:
167
168
  def generate_from_template(
168
169
  self,
169
170
  subdoc_content: list[HeadingField | ParagraphField | RunsField],
170
- fields: dict | None = None,
171
+ fields: dict[str, Any] | None = None,
171
172
  ):
172
173
  """
173
174
  Generate a docx file from a template with the given content.
@@ -128,7 +128,7 @@ class ApiOperationProtocol(
128
128
 
129
129
  @staticmethod
130
130
  def create_path_from_model(
131
- path_params: PathParamsType, *, model_dump_options: dict | None = None
131
+ path_params: PathParamsType, *, model_dump_options: dict[str, Any] | None = None
132
132
  ) -> str: ...
133
133
 
134
134
  @staticmethod
@@ -138,7 +138,7 @@ class ApiOperationProtocol(
138
138
 
139
139
  @staticmethod
140
140
  def create_payload_from_model(
141
- payload: PayloadType, *, model_dump_options: dict | None = None
141
+ payload: PayloadType, *, model_dump_options: dict[str, Any] | None = None
142
142
  ) -> dict[str, Any]: ...
143
143
 
144
144
  @staticmethod
@@ -148,12 +148,16 @@ class ApiOperationProtocol(
148
148
 
149
149
  @staticmethod
150
150
  def create_query_params_from_model(
151
- query_params: QueryParamsType, *, model_dump_options: dict | None = None
151
+ query_params: QueryParamsType,
152
+ *,
153
+ model_dump_options: dict[str, Any] | None = None,
152
154
  ) -> dict[str, Any]: ...
153
155
 
154
156
  @staticmethod
155
157
  def handle_response(
156
- response: dict[str, Any], *, model_validate_options: dict | None = None
158
+ response: dict[str, Any],
159
+ *,
160
+ model_validate_options: dict[str, Any] | None = None,
157
161
  ) -> ResponseType: ...
158
162
 
159
163
  @staticmethod
@@ -175,13 +179,13 @@ def build_api_operation(
175
179
  path_template: Template,
176
180
  response_model_type: type[ResponseType],
177
181
  path_params_constructor: Callable[PathParamsSpec, PathParamsType] = EmptyModel,
178
- payload_dump_options: dict | None = None,
182
+ payload_dump_options: dict[str, Any] | None = None,
179
183
  payload_constructor: Callable[PayloadParamSpec, PayloadType] = EmptyModel,
180
- path_dump_options: dict | None = None,
184
+ path_dump_options: dict[str, Any] | None = None,
181
185
  query_params_constructor: Callable[QueryParamsSpec, QueryParamsType] = EmptyModel,
182
- query_params_dump_options: dict | None = None,
183
- response_validate_options: dict | None = None,
184
- dump_options: dict | None = None, # Deprecated
186
+ query_params_dump_options: dict[str, Any] | None = None,
187
+ response_validate_options: dict[str, Any] | None = None,
188
+ dump_options: dict[str, Any] | None = None, # Deprecated
185
189
  ) -> type[
186
190
  ApiOperationProtocol[
187
191
  PathParamsSpec,
@@ -215,7 +219,8 @@ def build_api_operation(
215
219
  DeprecationWarning,
216
220
  )
217
221
 
218
- class Operation(ApiOperationProtocol):
222
+ # TODO(UN-19502): tighten ApiOperationProtocol generic parameters away from Any
223
+ class Operation(ApiOperationProtocol[Any, Any, Any, Any, Any, Any, Any]):
219
224
  @staticmethod
220
225
  def path_dump_options() -> dict[str, Any]:
221
226
  return path_dump_options or {}
@@ -254,7 +259,9 @@ def build_api_operation(
254
259
 
255
260
  @staticmethod
256
261
  def create_path_from_model(
257
- path_params: PathParamsType, *, model_dump_options: dict | None = None
262
+ path_params: PathParamsType,
263
+ *,
264
+ model_dump_options: dict[str, Any] | None = None,
258
265
  ) -> str:
259
266
  if model_dump_options is None:
260
267
  if path_dump_options is None:
@@ -289,7 +296,7 @@ def build_api_operation(
289
296
 
290
297
  @staticmethod
291
298
  def create_payload_from_model(
292
- payload: PayloadType, *, model_dump_options: dict | None = None
299
+ payload: PayloadType, *, model_dump_options: dict[str, Any] | None = None
293
300
  ) -> dict[str, Any]:
294
301
  if model_dump_options is None:
295
302
  if payload_dump_options is None:
@@ -314,7 +321,9 @@ def build_api_operation(
314
321
 
315
322
  @staticmethod
316
323
  def create_query_params_from_model(
317
- query_params: QueryParamsType, *, model_dump_options: dict | None = None
324
+ query_params: QueryParamsType,
325
+ *,
326
+ model_dump_options: dict[str, Any] | None = None,
318
327
  ) -> dict[str, Any]:
319
328
  if model_dump_options is None:
320
329
  if query_params_dump_options is None:
@@ -71,7 +71,8 @@ def build_fake_requestor(
71
71
  combined_model: Callable[CombinedParamsSpec, CombinedParamsType],
72
72
  return_value: dict[str, Any],
73
73
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
74
- class FakeRequestor(EndpointRequestorProtocol):
74
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
75
+ class FakeRequestor(EndpointRequestorProtocol[Any, Any]):
75
76
  _operation = operation_type
76
77
 
77
78
  @classmethod
@@ -82,7 +83,7 @@ def build_fake_requestor(
82
83
  **kwargs: CombinedParamsSpec.kwargs,
83
84
  ) -> ResponseType:
84
85
  try:
85
- path_params, payload_model, query_params = (
86
+ _path_params, _payload_model, _query_params = (
86
87
  cls._operation.models_from_combined(combined=kwargs)
87
88
  )
88
89
  except Exception as e:
@@ -126,7 +127,8 @@ def build_request_requestor(
126
127
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
127
128
  import requests
128
129
 
129
- class RequestRequestor(EndpointRequestorProtocol):
130
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
131
+ class RequestRequestor(EndpointRequestorProtocol[Any, Any]):
130
132
  _operation = operation_type
131
133
 
132
134
  @classmethod
@@ -203,7 +205,8 @@ def build_httpx_requestor(
203
205
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
204
206
  import httpx
205
207
 
206
- class HttpxRequestor(EndpointRequestorProtocol):
208
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
209
+ class HttpxRequestor(EndpointRequestorProtocol[Any, Any]):
207
210
  _operation = operation_type
208
211
 
209
212
  @classmethod
@@ -311,7 +314,8 @@ def build_aiohttp_requestor(
311
314
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
312
315
  import aiohttp
313
316
 
314
- class AiohttpRequestor(EndpointRequestorProtocol):
317
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
318
+ class AiohttpRequestor(EndpointRequestorProtocol[Any, Any]):
315
319
  _operation = operation_type
316
320
 
317
321
  @classmethod
@@ -128,7 +128,7 @@ class ApiOperationProtocol(
128
128
 
129
129
  @staticmethod
130
130
  def create_path_from_model(
131
- path_params: PathParamsType, *, model_dump_options: dict | None = None
131
+ path_params: PathParamsType, *, model_dump_options: dict[str, Any] | None = None
132
132
  ) -> str: ...
133
133
 
134
134
  @staticmethod
@@ -138,7 +138,7 @@ class ApiOperationProtocol(
138
138
 
139
139
  @staticmethod
140
140
  def create_payload_from_model(
141
- payload: PayloadType, *, model_dump_options: dict | None = None
141
+ payload: PayloadType, *, model_dump_options: dict[str, Any] | None = None
142
142
  ) -> dict[str, Any]: ...
143
143
 
144
144
  @staticmethod
@@ -148,12 +148,16 @@ class ApiOperationProtocol(
148
148
 
149
149
  @staticmethod
150
150
  def create_query_params_from_model(
151
- query_params: QueryParamsType, *, model_dump_options: dict | None = None
151
+ query_params: QueryParamsType,
152
+ *,
153
+ model_dump_options: dict[str, Any] | None = None,
152
154
  ) -> dict[str, Any]: ...
153
155
 
154
156
  @staticmethod
155
157
  def handle_response(
156
- response: dict[str, Any], *, model_validate_options: dict | None = None
158
+ response: dict[str, Any],
159
+ *,
160
+ model_validate_options: dict[str, Any] | None = None,
157
161
  ) -> ResponseType: ...
158
162
 
159
163
  @staticmethod
@@ -175,13 +179,13 @@ def build_api_operation(
175
179
  path_template: Template,
176
180
  response_model_type: type[ResponseType],
177
181
  path_params_constructor: Callable[PathParamsSpec, PathParamsType] = EmptyModel,
178
- payload_dump_options: dict | None = None,
182
+ payload_dump_options: dict[str, Any] | None = None,
179
183
  payload_constructor: Callable[PayloadParamSpec, PayloadType] = EmptyModel,
180
- path_dump_options: dict | None = None,
184
+ path_dump_options: dict[str, Any] | None = None,
181
185
  query_params_constructor: Callable[QueryParamsSpec, QueryParamsType] = EmptyModel,
182
- query_params_dump_options: dict | None = None,
183
- response_validate_options: dict | None = None,
184
- dump_options: dict | None = None, # Deprecated
186
+ query_params_dump_options: dict[str, Any] | None = None,
187
+ response_validate_options: dict[str, Any] | None = None,
188
+ dump_options: dict[str, Any] | None = None, # Deprecated
185
189
  ) -> type[
186
190
  ApiOperationProtocol[
187
191
  PathParamsSpec,
@@ -215,7 +219,8 @@ def build_api_operation(
215
219
  DeprecationWarning,
216
220
  )
217
221
 
218
- class Operation(ApiOperationProtocol):
222
+ # TODO(UN-19502): tighten ApiOperationProtocol generic parameters away from Any
223
+ class Operation(ApiOperationProtocol[Any, Any, Any, Any, Any, Any, Any]):
219
224
  @staticmethod
220
225
  def path_dump_options() -> dict[str, Any]:
221
226
  return path_dump_options or {}
@@ -254,7 +259,9 @@ def build_api_operation(
254
259
 
255
260
  @staticmethod
256
261
  def create_path_from_model(
257
- path_params: PathParamsType, *, model_dump_options: dict | None = None
262
+ path_params: PathParamsType,
263
+ *,
264
+ model_dump_options: dict[str, Any] | None = None,
258
265
  ) -> str:
259
266
  if model_dump_options is None:
260
267
  if path_dump_options is None:
@@ -289,7 +296,7 @@ def build_api_operation(
289
296
 
290
297
  @staticmethod
291
298
  def create_payload_from_model(
292
- payload: PayloadType, *, model_dump_options: dict | None = None
299
+ payload: PayloadType, *, model_dump_options: dict[str, Any] | None = None
293
300
  ) -> dict[str, Any]:
294
301
  if model_dump_options is None:
295
302
  if payload_dump_options is None:
@@ -314,7 +321,9 @@ def build_api_operation(
314
321
 
315
322
  @staticmethod
316
323
  def create_query_params_from_model(
317
- query_params: QueryParamsType, *, model_dump_options: dict | None = None
324
+ query_params: QueryParamsType,
325
+ *,
326
+ model_dump_options: dict[str, Any] | None = None,
318
327
  ) -> dict[str, Any]:
319
328
  if model_dump_options is None:
320
329
  if query_params_dump_options is None:
@@ -71,7 +71,8 @@ def build_fake_requestor(
71
71
  combined_model: Callable[CombinedParamsSpec, CombinedParamsType],
72
72
  return_value: dict[str, Any],
73
73
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
74
- class FakeRequestor(EndpointRequestorProtocol):
74
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
75
+ class FakeRequestor(EndpointRequestorProtocol[Any, Any]):
75
76
  _operation = operation_type
76
77
 
77
78
  @classmethod
@@ -82,7 +83,7 @@ def build_fake_requestor(
82
83
  **kwargs: CombinedParamsSpec.kwargs,
83
84
  ) -> ResponseType:
84
85
  try:
85
- path_params, payload_model, query_params = (
86
+ _path_params, _payload_model, _query_params = (
86
87
  cls._operation.models_from_combined(combined=kwargs)
87
88
  )
88
89
  except Exception as e:
@@ -126,7 +127,8 @@ def build_request_requestor(
126
127
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
127
128
  import requests
128
129
 
129
- class RequestRequestor(EndpointRequestorProtocol):
130
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
131
+ class RequestRequestor(EndpointRequestorProtocol[Any, Any]):
130
132
  _operation = operation_type
131
133
 
132
134
  @classmethod
@@ -203,7 +205,8 @@ def build_httpx_requestor(
203
205
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
204
206
  import httpx
205
207
 
206
- class HttpxRequestor(EndpointRequestorProtocol):
208
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
209
+ class HttpxRequestor(EndpointRequestorProtocol[Any, Any]):
207
210
  _operation = operation_type
208
211
 
209
212
  @classmethod
@@ -267,7 +270,11 @@ def build_httpx_requestor(
267
270
  ) -> ResponseType:
268
271
  headers = context.headers or {}
269
272
 
270
- path_params, payload_model, query_model = (
273
+ # TODO(UN-19748): async path silently drops query params — build and
274
+ # pass query_params like the sync request() method does (see the
275
+ # sync branch above which calls create_query_params_from_model and
276
+ # passes params=query_params to client.request).
277
+ path_params, payload_model, _query_model = (
271
278
  cls._operation.models_from_combined(combined=kwargs)
272
279
  )
273
280
 
@@ -323,7 +330,8 @@ def build_aiohttp_requestor(
323
330
  ) -> type[EndpointRequestorProtocol[CombinedParamsSpec, ResponseType]]:
324
331
  import aiohttp
325
332
 
326
- class AiohttpRequestor(EndpointRequestorProtocol):
333
+ # TODO(UN-19505): tighten EndpointRequestorProtocol generic parameters away from Any
334
+ class AiohttpRequestor(EndpointRequestorProtocol[Any, Any]):
327
335
  _operation = operation_type
328
336
 
329
337
  @classmethod
@@ -1,6 +1,7 @@
1
1
  """Utility functions for DataFrame operations."""
2
2
 
3
3
  import re
4
+ from typing import Any
4
5
 
5
6
  import pandas as pd
6
7
 
@@ -112,7 +113,7 @@ def limit_dataframe_rows(df: pd.DataFrame, max_rows: int) -> pd.DataFrame:
112
113
 
113
114
  def dataframe_to_dict_records(
114
115
  df: pd.DataFrame, columns: list[str] | None = None
115
- ) -> list[dict]:
116
+ ) -> list[dict[str, Any]]:
116
117
  """
117
118
  Convert DataFrame to list of dict records.
118
119
 
@@ -1,5 +1,7 @@
1
1
  """Exceptions for generation handler operations."""
2
2
 
3
+ from typing import Any
4
+
3
5
 
4
6
  class GenerationHandlerError(Exception):
5
7
  """Base exception for all generation handler errors."""
@@ -28,7 +30,7 @@ class PromptBuildError(GenerationHandlerError):
28
30
  self,
29
31
  message: str,
30
32
  prompt_type: str | None = None,
31
- context: dict | None = None,
33
+ context: dict[str, Any] | None = None,
32
34
  ):
33
35
  super().__init__(message)
34
36
  self.prompt_type = prompt_type
@@ -974,7 +974,7 @@ def ui_schema_for_model(
974
974
 
975
975
  # Dict -> additionalProperties (value side)
976
976
  elif origin is dict:
977
- key_t, val_t = get_args(base) or (Any, Any)
977
+ _key_t, val_t = get_args(base) or (Any, Any)
978
978
  val_base, val_meta = _walk_annotated_chain(val_t)
979
979
  val_base = _unwrap_optional(val_base)
980
980
 
@@ -35,15 +35,14 @@ NoneToDefault = BeforeValidator(_none_to_default)
35
35
 
36
36
 
37
37
  def get_configuration_dict(**kwargs: Unpack[ConfigDict]) -> ConfigDict:
38
- config = {
38
+ base: dict[str, object] = {
39
39
  "alias_generator": to_camel,
40
40
  "field_title_generator": field_title_generator,
41
41
  "model_title_generator": model_title_generator,
42
42
  "populate_by_name": True,
43
- # protected_namespaces=(),
44
43
  }
45
- config.update(kwargs)
46
- return ConfigDict(**config)
44
+ base.update(kwargs)
45
+ return ConfigDict(**base) # pyright: ignore[reportArgumentType]
47
46
 
48
47
 
49
48
  ModelTypeA = TypeVar("ModelTypeA", bound=BaseModel)
@@ -25,8 +25,8 @@ def dict_to_markdown_table(data: dict[str, Any]) -> str:
25
25
  Returns:
26
26
  Markdown table string or JSON string
27
27
  """
28
- if not isinstance(data, dict):
29
- return json.dumps(data, indent=2)
28
+ if not isinstance(data, dict): # pyright: ignore[reportUnnecessaryIsInstance]
29
+ return json.dumps(data, indent=2) # pyright: ignore[reportUnreachable]
30
30
 
31
31
  if not _is_elementary_dict(data):
32
32
  return json.dumps(data, indent=2)
@@ -96,7 +96,7 @@ def num_tokens_per_messages(
96
96
  num_tokens += handle_message_with_images(value, encode)
97
97
  else:
98
98
  num_tokens += len(encode(value))
99
- elif isinstance(value, str):
99
+ elif isinstance(value, str): # pyright: ignore[reportUnnecessaryIsInstance]
100
100
  num_tokens += len(encode(value))
101
101
 
102
102
  if key == "name":
@@ -167,7 +167,9 @@ def num_tokens_for_tools(
167
167
  return func_token_count
168
168
 
169
169
 
170
- def handle_message_with_images(message: list[dict], encode: Callable[[str], list[int]]):
170
+ def handle_message_with_images(
171
+ message: list[dict[str, Any]], encode: Callable[[str], list[int]]
172
+ ):
171
173
  token_count = 0
172
174
  for item in message:
173
175
  if item.get("type") == "image_url":
@@ -89,8 +89,8 @@ def get_common_name(extension: FileMimeType) -> str:
89
89
  return "markdown"
90
90
  case FileMimeType.HTML:
91
91
  return "html"
92
- case _:
93
- return "unknown"
92
+ case _: # pyright: ignore[reportUnnecessaryComparison]
93
+ return "unknown" # pyright: ignore[reportUnreachable]
94
94
 
95
95
 
96
96
  def get_file_extensions(mimes: list[FileMimeType]) -> list[str]:
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from datetime import date, datetime
2
4
  from typing import Annotated, Any
3
5
 
@@ -29,7 +31,7 @@ class ToolPromptParams(Jinja2PromptParams):
29
31
  tool_format_reminder_for_user_prompt: str = ""
30
32
 
31
33
  @classmethod
32
- def from_tool(cls, tool: Tool) -> "ToolPromptParams":
34
+ def from_tool(cls, tool: Tool[Any]) -> ToolPromptParams:
33
35
  return cls(
34
36
  name=tool.name,
35
37
  tool_description_for_system_prompt=tool.tool_description_for_system_prompt(),