unique_toolkit 1.40.1__tar.gz → 1.41.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 (222) hide show
  1. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/CHANGELOG.md +4 -0
  2. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/PKG-INFO +5 -1
  3. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/pyproject.toml +1 -1
  4. unique_toolkit-1.41.0/unique_toolkit/agentic_table/__init__.py +56 -0
  5. unique_toolkit-1.41.0/unique_toolkit/agentic_table/schemas.py +305 -0
  6. unique_toolkit-1.41.0/unique_toolkit/agentic_table/service.py +452 -0
  7. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/fast_api_factory.py +15 -7
  8. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/LICENSE +0 -0
  9. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/README.md +0 -0
  10. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/__init__.py +0 -0
  11. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/_base_service.py +0 -0
  12. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/_time_utils.py +0 -0
  13. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
  14. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
  15. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
  16. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
  17. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
  18. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
  19. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
  20. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/default_language_model.py +0 -0
  21. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
  22. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/docx_generator/config.py +0 -0
  23. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
  24. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/docx_generator/service.py +0 -0
  25. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
  26. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/endpoint_builder.py +0 -0
  27. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/endpoint_requestor.py +0 -0
  28. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/exception.py +0 -0
  29. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/execution.py +0 -0
  30. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
  31. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
  32. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/feature_flags/schema.py +0 -0
  33. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
  34. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/pydantic_helpers.py +0 -0
  35. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/referencing.py +0 -0
  36. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/string_utilities.py +0 -0
  37. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/tests/test_referencing.py +0 -0
  38. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
  39. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/token/image_token_counting.py +0 -0
  40. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/token/token_counting.py +0 -0
  41. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/__init__.py +0 -0
  42. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/files.py +0 -0
  43. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/image/encode.py +0 -0
  44. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/jinja/helpers.py +0 -0
  45. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/jinja/render.py +0 -0
  46. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/jinja/schema.py +0 -0
  47. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/jinja/utils.py +0 -0
  48. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
  49. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
  50. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/utils/write_configuration.py +0 -0
  51. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/validate_required_values.py +0 -0
  52. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/_common/validators.py +0 -0
  53. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/__init__.py +0 -0
  54. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
  55. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
  56. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/config.py +0 -0
  57. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
  58. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
  59. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
  60. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
  61. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/exception.py +0 -0
  62. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
  63. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
  64. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
  65. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
  66. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
  67. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
  68. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
  69. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
  70. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
  71. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
  72. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
  73. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
  74. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/history_manager/utils.py +0 -0
  75. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/__init__.py +0 -0
  76. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/_iteration_handler_utils.py +0 -0
  77. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/_stream_handler_utils.py +0 -0
  78. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/base.py +0 -0
  79. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/middleware/__init__.py +0 -0
  80. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/middleware/planning/__init__.py +0 -0
  81. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/middleware/planning/planning.py +0 -0
  82. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/middleware/planning/schema.py +0 -0
  83. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/runners/__init__.py +0 -0
  84. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/runners/basic.py +0 -0
  85. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/runners/qwen/__init__.py +0 -0
  86. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/runners/qwen/helpers.py +0 -0
  87. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/loop_runner/runners/qwen/qwen_runner.py +0 -0
  88. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
  89. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
  90. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
  91. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
  92. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
  93. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
  94. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
  95. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
  96. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
  97. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
  98. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/__init__.py +0 -0
  99. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
  100. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
  101. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
  102. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
  103. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
  104. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
  105. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
  106. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
  107. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
  108. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
  109. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
  110. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
  111. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
  112. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
  113. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display.py +0 -0
  114. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
  115. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
  116. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
  117. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
  118. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
  119. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
  120. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
  121. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
  122. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
  123. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
  124. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/a2a/tool/test/test_service_utils.py +0 -0
  125. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
  126. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/config.py +0 -0
  127. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/factory.py +0 -0
  128. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
  129. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
  130. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
  131. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
  132. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
  133. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
  134. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
  135. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
  136. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
  137. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
  138. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/schemas.py +0 -0
  139. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
  140. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
  141. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/tool.py +0 -0
  142. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
  143. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
  144. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
  145. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
  146. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
  147. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
  148. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
  149. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/__init__.py +0 -0
  150. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/dev_util.py +0 -0
  151. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/init_logging.py +0 -0
  152. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/init_sdk.py +0 -0
  153. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/performance/async_tasks.py +0 -0
  154. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/performance/async_wrapper.py +0 -0
  155. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/schemas.py +0 -0
  156. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/unique_settings.py +0 -0
  157. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/verification.py +0 -0
  158. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/app/webhook.py +0 -0
  159. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/__init__.py +0 -0
  160. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/constants.py +0 -0
  161. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/deprecated/service.py +0 -0
  162. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/functions.py +0 -0
  163. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/rendering.py +0 -0
  164. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/responses_api.py +0 -0
  165. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/schemas.py +0 -0
  166. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/service.py +0 -0
  167. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/state.py +0 -0
  168. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/chat/utils.py +0 -0
  169. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/content/__init__.py +0 -0
  170. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/content/constants.py +0 -0
  171. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/content/functions.py +0 -0
  172. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/content/schemas.py +0 -0
  173. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/content/service.py +0 -0
  174. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/content/smart_rules.py +0 -0
  175. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/content/utils.py +0 -0
  176. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/README.md +0 -0
  177. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/__init__.py +0 -0
  178. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/augmented/__init__.py +0 -0
  179. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/augmented/service.py +0 -0
  180. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/base.py +0 -0
  181. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/basic/__init__.py +0 -0
  182. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/basic/config.py +0 -0
  183. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/basic/prompt.py +0 -0
  184. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/data_extraction/basic/service.py +0 -0
  185. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/embedding/__init__.py +0 -0
  186. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/embedding/constants.py +0 -0
  187. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/embedding/functions.py +0 -0
  188. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/embedding/schemas.py +0 -0
  189. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/embedding/service.py +0 -0
  190. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/embedding/utils.py +0 -0
  191. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/__init__.py +0 -0
  192. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/langchain/__init__.py +0 -0
  193. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
  194. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
  195. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
  196. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/openai/client.py +0 -0
  197. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
  198. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/framework_utilities/utils.py +0 -0
  199. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/__init__.py +0 -0
  200. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
  201. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/builder.py +0 -0
  202. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/constants.py +0 -0
  203. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/default_language_model.py +0 -0
  204. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/functions.py +0 -0
  205. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/infos.py +0 -0
  206. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/prompt.py +0 -0
  207. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/reference.py +0 -0
  208. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/schemas.py +0 -0
  209. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/service.py +0 -0
  210. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/language_model/utils.py +0 -0
  211. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/protocols/support.py +0 -0
  212. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/services/__init__.py +0 -0
  213. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/services/chat_service.py +0 -0
  214. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/services/knowledge_base.py +0 -0
  215. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/short_term_memory/__init__.py +0 -0
  216. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/short_term_memory/constants.py +0 -0
  217. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/short_term_memory/functions.py +0 -0
  218. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/short_term_memory/schemas.py +0 -0
  219. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/short_term_memory/service.py +0 -0
  220. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/smart_rules/__init__.py +0 -0
  221. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/smart_rules/compile.py +0 -0
  222. {unique_toolkit-1.40.1 → unique_toolkit-1.41.0}/unique_toolkit/test_utilities/events.py +0 -0
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+
9
+ ## [1.41.0] - 2025-12-29
10
+ - Add `AgenticTable` service to unique_toolkit
11
+
8
12
  ## [1.40.0] - 2025-12-22
9
13
  - Add option to use retrieve referenced chunks from their order
10
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_toolkit
3
- Version: 1.40.1
3
+ Version: 1.41.0
4
4
  Summary:
5
5
  License: Proprietary
6
6
  Author: Cedric Klinkert
@@ -123,6 +123,10 @@ All notable changes to this project will be documented in this file.
123
123
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
124
124
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
125
125
 
126
+
127
+ ## [1.41.0] - 2025-12-29
128
+ - Add `AgenticTable` service to unique_toolkit
129
+
126
130
  ## [1.40.0] - 2025-12-22
127
131
  - Add option to use retrieve referenced chunks from their order
128
132
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "unique_toolkit"
3
- version = "1.40.1"
3
+ version = "1.41.0"
4
4
  description = ""
5
5
  authors = [
6
6
  "Cedric Klinkert <cedric.klinkert@unique.ch>",
@@ -0,0 +1,56 @@
1
+ from unique_sdk.api_resources._agentic_table import (
2
+ ActivityStatus,
3
+ CellRendererTypes,
4
+ FilterTypes,
5
+ RowVerificationStatus,
6
+ )
7
+
8
+ from .schemas import (
9
+ AgenticTableSheetState,
10
+ AgreementStatus,
11
+ ArtifactType,
12
+ LogEntry,
13
+ MagicTableAction,
14
+ MagicTableAddMetadataPayload,
15
+ MagicTableBasePayload,
16
+ MagicTableCell,
17
+ MagicTableCellMetaData,
18
+ MagicTableEvent,
19
+ MagicTableEventTypes,
20
+ MagicTableGenerateArtifactPayload,
21
+ MagicTableLibrarySheetRowVerifiedPayload,
22
+ MagicTableSheet,
23
+ MagicTableSheetCompletedPayload,
24
+ MagicTableSheetCreatedPayload,
25
+ MagicTableUpdateCellPayload,
26
+ RowMetadataEntry,
27
+ SelectionMethod,
28
+ )
29
+ from .service import AgenticTableService
30
+
31
+ __all__ = [
32
+ "AgenticTableService",
33
+ "ActivityStatus",
34
+ "AgenticTableSheetState",
35
+ "AgreementStatus",
36
+ "ArtifactType",
37
+ "CellRendererTypes",
38
+ "FilterTypes",
39
+ "LogEntry",
40
+ "MagicTableAction",
41
+ "MagicTableAddMetadataPayload",
42
+ "MagicTableBasePayload",
43
+ "MagicTableCell",
44
+ "MagicTableCellMetaData",
45
+ "MagicTableEvent",
46
+ "MagicTableEventTypes",
47
+ "MagicTableGenerateArtifactPayload",
48
+ "MagicTableLibrarySheetRowVerifiedPayload",
49
+ "MagicTableSheet",
50
+ "MagicTableSheetCompletedPayload",
51
+ "MagicTableSheetCreatedPayload",
52
+ "MagicTableUpdateCellPayload",
53
+ "RowMetadataEntry",
54
+ "RowVerificationStatus",
55
+ "SelectionMethod",
56
+ ]
@@ -0,0 +1,305 @@
1
+ from enum import StrEnum
2
+ from typing import Annotated, Any, Generic, Literal, TypeVar
3
+
4
+ from pydantic import (
5
+ BaseModel,
6
+ Field,
7
+ field_validator,
8
+ )
9
+ from unique_sdk import (
10
+ AgenticTableSheetState,
11
+ AgreementStatus,
12
+ SelectionMethod,
13
+ )
14
+ from unique_sdk import LogDetail as SDKLogDetail
15
+ from unique_sdk import LogEntry as SDKLogEntry
16
+ from unique_sdk.api_resources._agentic_table import (
17
+ MagicTableAction,
18
+ SheetType,
19
+ )
20
+
21
+ from unique_toolkit._common.pydantic_helpers import get_configuration_dict
22
+ from unique_toolkit.app.schemas import (
23
+ ChatEvent,
24
+ ChatEventAssistantMessage,
25
+ ChatEventUserMessage,
26
+ )
27
+ from unique_toolkit.language_model.schemas import (
28
+ LanguageModelMessageRole,
29
+ LanguageModelMessages,
30
+ )
31
+
32
+
33
+ class MagicTableEventTypes(StrEnum):
34
+ IMPORT_COLUMNS = "unique.magic-table.import-columns"
35
+ UPDATE_CELL = "unique.magic-table.update-cell"
36
+ ADD_DATA = "unique.magic-table.add-document"
37
+ ADD_META_DATA = "unique.magic-table.add-meta-data"
38
+ GENERATE_ARTIFACT = "unique.magic-table.generate-artifact"
39
+ SHEET_COMPLETED = "unique.magic-table.sheet-completed"
40
+ LIBRARY_SHEET_ROW_VERIFIED = "unique.magic-table.library-sheet-row.verified"
41
+ SHEET_CREATED = "unique.magic-table.sheet-created"
42
+
43
+
44
+ class BaseMetadata(BaseModel):
45
+ model_config = get_configuration_dict()
46
+
47
+ sheet_type: SheetType = Field(
48
+ description="The type of the sheet.",
49
+ default=SheetType.DEFAULT,
50
+ )
51
+
52
+
53
+ class RowMetadataEntry(BaseModel):
54
+ model_config = get_configuration_dict()
55
+ id: str = Field(description="The ID of the metadata")
56
+ key: str = Field(description="The key of the metadata")
57
+ value: str = Field(description="The value of the metadata")
58
+ exact_filter: bool = Field(
59
+ default=False,
60
+ description="Whether the metadata is to be used for strict filtering",
61
+ )
62
+
63
+
64
+ class DDMetadata(BaseMetadata):
65
+ model_config = get_configuration_dict()
66
+
67
+ question_file_ids: list[str] = Field(
68
+ default_factory=list, description="The IDs of the question files"
69
+ )
70
+ source_file_ids: list[str] = Field(
71
+ default_factory=list, description="The IDs of the source files"
72
+ )
73
+ question_texts: list[str] = Field(
74
+ default_factory=list, description="The texts of the questions"
75
+ )
76
+ context: str = Field(default="", description="The context text for the table.")
77
+
78
+ @field_validator("context", mode="before")
79
+ @classmethod
80
+ def normalize_context(cls, v):
81
+ if v is None:
82
+ return ""
83
+ return v
84
+
85
+
86
+ # Define template types
87
+ A = TypeVar("A", bound=MagicTableAction)
88
+ T = TypeVar("T", bound=BaseMetadata)
89
+
90
+
91
+ class MagicTableBasePayload(BaseModel, Generic[A, T]):
92
+ model_config = get_configuration_dict()
93
+ name: str = Field(description="The name of the module")
94
+ sheet_name: str
95
+
96
+ action: A
97
+ chat_id: str
98
+ assistant_id: str
99
+ table_id: str
100
+ user_message: ChatEventUserMessage = Field(
101
+ default=ChatEventUserMessage(
102
+ id="", text="", original_text="", created_at="", language=""
103
+ )
104
+ )
105
+ assistant_message: ChatEventAssistantMessage = Field(
106
+ default=ChatEventAssistantMessage(id="", created_at="")
107
+ )
108
+ configuration: dict[str, Any] = {}
109
+ metadata: T
110
+ metadata_filter: dict[str, Any] | None = None
111
+
112
+
113
+ ########### Specialized Payload definitions ###########
114
+
115
+
116
+ class MagicTableAddMetadataPayload(
117
+ MagicTableBasePayload[Literal[MagicTableAction.ADD_META_DATA], DDMetadata]
118
+ ): ...
119
+
120
+
121
+ class MagicTableUpdateCellPayload(
122
+ MagicTableBasePayload[Literal[MagicTableAction.UPDATE_CELL], DDMetadata]
123
+ ):
124
+ column_order: int
125
+ row_order: int
126
+ data: str
127
+
128
+
129
+ class ArtifactType(StrEnum):
130
+ QUESTIONS = "QUESTIONS"
131
+ FULL_REPORT = "FULL_REPORT"
132
+
133
+
134
+ class ArtifactData(BaseModel):
135
+ model_config = get_configuration_dict()
136
+ artifact_type: ArtifactType
137
+
138
+
139
+ class MagicTableGenerateArtifactPayload(
140
+ MagicTableBasePayload[Literal[MagicTableAction.GENERATE_ARTIFACT], BaseMetadata]
141
+ ):
142
+ data: ArtifactData
143
+
144
+
145
+ ########## Sheet Completed Payload ##########
146
+
147
+
148
+ class SheetCompletedMetadata(BaseMetadata):
149
+ model_config = get_configuration_dict()
150
+ sheet_id: str = Field(description="The ID of the sheet that was completed.")
151
+ library_sheet_id: str = Field(
152
+ description="The ID of the library corresponding to the sheet."
153
+ )
154
+ context: str = Field(default="", description="The context text for the table.")
155
+
156
+ @field_validator("context", mode="before")
157
+ @classmethod
158
+ def normalize_context(cls, v):
159
+ if v is None:
160
+ return ""
161
+ return v
162
+
163
+
164
+ class MagicTableSheetCompletedPayload(
165
+ MagicTableBasePayload[
166
+ Literal[MagicTableAction.SHEET_COMPLETED], SheetCompletedMetadata
167
+ ]
168
+ ): ...
169
+
170
+
171
+ class SheetCreatedMetadata(BaseMetadata): ...
172
+
173
+
174
+ class MagicTableSheetCreatedPayload(
175
+ MagicTableBasePayload[Literal[MagicTableAction.SHEET_CREATED], SheetCreatedMetadata]
176
+ ): ...
177
+
178
+
179
+ ########## Library Sheet Row Verified Payload ##########
180
+
181
+
182
+ class LibrarySheetRowVerifiedMetadata(BaseMetadata):
183
+ model_config = get_configuration_dict()
184
+ row_order: int = Field(description="The row index of the row that was verified.")
185
+
186
+
187
+ class MagicTableLibrarySheetRowVerifiedPayload(
188
+ MagicTableBasePayload[
189
+ Literal[MagicTableAction.LIBRARY_SHEET_ROW_VERIFIED],
190
+ LibrarySheetRowVerifiedMetadata,
191
+ ]
192
+ ): ...
193
+
194
+
195
+ ########### Magic Table Event definition ###########
196
+
197
+
198
+ PayloadTypes = (
199
+ MagicTableUpdateCellPayload
200
+ | MagicTableAddMetadataPayload
201
+ | MagicTableGenerateArtifactPayload
202
+ | MagicTableSheetCompletedPayload
203
+ | MagicTableLibrarySheetRowVerifiedPayload
204
+ | MagicTableSheetCreatedPayload
205
+ )
206
+
207
+ MagicTablePayloadTypes = Annotated[PayloadTypes, Field(discriminator="action")]
208
+
209
+
210
+ class MagicTableEvent(ChatEvent):
211
+ event: MagicTableEventTypes # type: ignore[assignment]
212
+ payload: MagicTablePayloadTypes # type: ignore[assignment]
213
+
214
+
215
+ class LogDetail(BaseModel):
216
+ model_config = get_configuration_dict()
217
+ llm_request: LanguageModelMessages | None = Field(
218
+ default=None, description="The LLM request for the log detail"
219
+ )
220
+
221
+ def to_sdk_log_detail(self) -> SDKLogDetail:
222
+ llm_request = None
223
+ if self.llm_request:
224
+ llm_request = self.llm_request.model_dump()
225
+ return SDKLogDetail(llmRequest=llm_request)
226
+
227
+
228
+ class LogEntry(BaseModel):
229
+ model_config = get_configuration_dict()
230
+
231
+ text: str
232
+ created_at: str
233
+ actor_type: LanguageModelMessageRole
234
+ message_id: str | None = None
235
+ details: LogDetail | None = Field(
236
+ default=None, description="The details of the log entry"
237
+ )
238
+
239
+ @field_validator("actor_type", mode="before")
240
+ @classmethod
241
+ def normalize_actor_type(cls, v):
242
+ if isinstance(v, str):
243
+ return v.lower()
244
+ return v
245
+
246
+ def to_sdk_log_entry(self) -> SDKLogEntry:
247
+ params: dict[str, Any] = {
248
+ "text": self.text,
249
+ "createdAt": self.created_at,
250
+ "actorType": self.actor_type.value.upper(),
251
+ }
252
+ if self.details:
253
+ params["details"] = self.details.to_sdk_log_detail()
254
+
255
+ return SDKLogEntry(**params)
256
+
257
+
258
+ class MagicTableCellMetaData(BaseModel):
259
+ model_config = get_configuration_dict()
260
+ row_order: int = Field(description="The row index of the cell.")
261
+ column_order: int = Field(description="The column index of the cell.")
262
+ selected: bool | None = None
263
+ selection_method: SelectionMethod | None = None
264
+ agreement_status: AgreementStatus | None = None
265
+
266
+
267
+ class MagicTableCell(BaseModel):
268
+ model_config = get_configuration_dict()
269
+ sheet_id: str
270
+ row_order: int = Field(description="The row index of the cell.")
271
+ column_order: int = Field(description="The column index of the cell.")
272
+ row_locked: bool = Field(default=False, description="Lock status of the row.")
273
+ text: str
274
+ log_entries: list[LogEntry] = Field(
275
+ default_factory=list, description="The log entries for the cell"
276
+ )
277
+ meta_data: MagicTableCellMetaData | None = Field(
278
+ default=None, description="The metadata for the cell"
279
+ )
280
+ row_metadata: list[RowMetadataEntry] = Field(
281
+ default_factory=list,
282
+ description="The metadata (key value pairs)for the rows.",
283
+ )
284
+
285
+
286
+ class MagicTableSheet(BaseModel):
287
+ model_config = get_configuration_dict()
288
+ sheet_id: str
289
+ name: str
290
+ state: AgenticTableSheetState
291
+ total_number_of_rows: int = Field(
292
+ default=0,
293
+ description="The total number of rows in the sheet",
294
+ alias="magicTableRowCount",
295
+ )
296
+ chat_id: str
297
+ created_by: str
298
+ company_id: str
299
+ created_at: str
300
+ magic_table_cells: list[MagicTableCell] = Field(
301
+ default_factory=list, description="The cells in the sheet"
302
+ )
303
+ magic_table_sheet_metadata: list[RowMetadataEntry] = Field(
304
+ default_factory=list, description="The metadata for the sheet"
305
+ )