unique_toolkit 1.29.1__tar.gz → 1.29.2__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.
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/CHANGELOG.md +3 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/PKG-INFO +5 -1
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/pyproject.toml +3 -1
- unique_toolkit-1.29.2/unique_toolkit/_common/utils/jinja/helpers.py +10 -0
- unique_toolkit-1.29.2/unique_toolkit/_common/utils/jinja/render.py +11 -0
- unique_toolkit-1.29.2/unique_toolkit/_common/utils/jinja/schema.py +65 -0
- unique_toolkit-1.29.2/unique_toolkit/_common/utils/jinja/utils.py +80 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/LICENSE +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/README.md +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/_base_service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/_time_utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/api_calling/human_verification_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/base_model_type_attribute.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/chunk_relevancy_sorter/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/chunk_relevancy_sorter/exception.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/chunk_relevancy_sorter/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/chunk_relevancy_sorter/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/chunk_relevancy_sorter/tests/test_service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/default_language_model.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/template/Doc Template.docx +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/endpoint_builder.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/endpoint_requestor.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/exception.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/experimental/endpoint_builder.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/experimental/endpoint_requestor.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/feature_flags/schema.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/pydantic/rjsf_tags.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/pydantic_helpers.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/referencing.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/string_utilities.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/tests/test_referencing.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/tests/test_string_utilities.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/token/image_token_counting.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/token/token_counting.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/files.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/image/encode.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/structured_output/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/structured_output/schema.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/write_configuration.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/validate_required_values.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/validators.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/debug_info_manager/debug_info_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/debug_info_manager/test/test_debug_info_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/context_relevancy/prompts.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/context_relevancy/schema.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/context_relevancy/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/evaluation_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/exception.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/hallucination/constants.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/hallucination/hallucination_evaluation.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/hallucination/prompts.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/hallucination/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/hallucination/utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/output_parser.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/tests/test_context_relevancy_service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/tests/test_output_parser.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/history_manager/history_construction_with_contents.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/history_manager/history_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/history_manager/loop_token_reducer.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/history_manager/utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/message_log_manager/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/message_log_manager/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/postprocessor/postprocessor_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/reference_manager/reference_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/responses_api/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/responses_api/postprocessors/code_display.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/responses_api/postprocessors/generated_files.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/responses_api/stream_handler.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/short_term_memory_manager/persistent_short_term_memory_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/thinking_manager/thinking_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/evaluation/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/evaluation/_utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/evaluation/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/evaluation/evaluator.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/evaluation/summarization_user_message.j2 +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_display_utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/_ref_utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/display.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/references.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_display_utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/postprocessing/test/test_ref_utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/prompts.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/response_watcher/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/response_watcher/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/factory.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/mcp/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/mcp/manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/mcp/models.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/openai_builtin/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/openai_builtin/base.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/config.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/openai_builtin/code_interpreter/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/openai_builtin/manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/test/test_mcp_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/test/test_tool_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/test/test_tool_progress_reporter.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/tool.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/tool_manager.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/tool_progress_reporter.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/execution/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/execution/execution.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/source_handling/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/source_handling/schema.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/source_handling/source_formatting.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/source_handling/tests/test_source_formatting.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/dev_util.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/init_logging.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/init_sdk.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/performance/async_tasks.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/performance/async_wrapper.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/unique_settings.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/verification.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/constants.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/deprecated/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/functions.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/rendering.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/responses_api.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/state.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/chat/utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/content/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/content/constants.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/content/functions.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/content/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/content/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/content/smart_rules.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/content/utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/embedding/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/embedding/constants.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/embedding/functions.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/embedding/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/embedding/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/embedding/utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/langchain/client.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/langchain/history.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/openai/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/openai/client.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/openai/message_builder.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/_responses_api_utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/builder.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/constants.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/default_language_model.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/functions.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/infos.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/prompt.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/reference.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/language_model/utils.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/protocols/support.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/services/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/services/chat_service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/services/knowledge_base.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/constants.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/functions.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/schemas.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/service.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/smart_rules/__init__.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/smart_rules/compile.py +0 -0
- {unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/test_utilities/events.py +0 -0
|
@@ -5,6 +5,9 @@ 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
|
+
## [1.29.2] - 2025-11-21
|
|
9
|
+
- Add `jinja` utility helpers to `_common`
|
|
10
|
+
|
|
8
11
|
## [1.29.1] - 2025-11-21
|
|
9
12
|
- Add early return in `create_message_log_entry` if chat_service doesn't have assistant_message_id (relevant for agentic table)
|
|
10
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: unique_toolkit
|
|
3
|
-
Version: 1.29.
|
|
3
|
+
Version: 1.29.2
|
|
4
4
|
Summary:
|
|
5
5
|
License: Proprietary
|
|
6
6
|
Author: Cedric Klinkert
|
|
@@ -11,6 +11,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.12
|
|
12
12
|
Requires-Dist: docxtpl (>=0.20.1,<0.21.0)
|
|
13
13
|
Requires-Dist: jambo (>=0.1.2,<0.2.0)
|
|
14
|
+
Requires-Dist: jinja2 (>=3.1.6,<4.0.0)
|
|
14
15
|
Requires-Dist: markdown-it-py (>=4.0.0,<5.0.0)
|
|
15
16
|
Requires-Dist: mkdocs-mermaid2-plugin (>=1.2.2,<2.0.0)
|
|
16
17
|
Requires-Dist: mkdocs-multirepo-plugin (>=0.8.3,<0.9.0)
|
|
@@ -120,6 +121,9 @@ All notable changes to this project will be documented in this file.
|
|
|
120
121
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
121
122
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
122
123
|
|
|
124
|
+
## [1.29.2] - 2025-11-21
|
|
125
|
+
- Add `jinja` utility helpers to `_common`
|
|
126
|
+
|
|
123
127
|
## [1.29.1] - 2025-11-21
|
|
124
128
|
- Add early return in `create_message_log_entry` if chat_service doesn't have assistant_message_id (relevant for agentic table)
|
|
125
129
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "unique_toolkit"
|
|
3
|
-
version = "1.29.
|
|
3
|
+
version = "1.29.2"
|
|
4
4
|
description = ""
|
|
5
5
|
authors = [
|
|
6
6
|
"Cedric Klinkert <cedric.klinkert@unique.ch>",
|
|
@@ -31,6 +31,7 @@ platformdirs = "^4.0.0"
|
|
|
31
31
|
pillow = "^10.4.0"
|
|
32
32
|
unique-sdk = "^0.10.48"
|
|
33
33
|
jambo = "^0.1.2"
|
|
34
|
+
jinja2 = "^3.1.6"
|
|
34
35
|
mkdocs-multirepo-plugin = "^0.8.3"
|
|
35
36
|
mkdocs-mermaid2-plugin = "^1.2.2"
|
|
36
37
|
docxtpl = "^0.20.1"
|
|
@@ -57,6 +58,7 @@ pytest-mock = "^3.14.0"
|
|
|
57
58
|
platformdirs = "^4.0.0"
|
|
58
59
|
pillow = "^10.4.0"
|
|
59
60
|
ipykernel = "^6.29.5"
|
|
61
|
+
jinja2 = "^3.1.6"
|
|
60
62
|
# unique-sdk = { path = "../unique_sdk" }
|
|
61
63
|
mkdocs = "^1.6.1"
|
|
62
64
|
mkdocs-material = "^9.6.11"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
3
|
+
from _common.utils.jinja.schema import Jinja2PromptParams
|
|
4
|
+
from jinja2 import Template
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def render_template(template: str, params: Jinja2PromptParams | dict[str, Any]) -> str:
|
|
8
|
+
if isinstance(params, Jinja2PromptParams):
|
|
9
|
+
params = params.model_dump(exclude_none=True, mode="json")
|
|
10
|
+
|
|
11
|
+
return Template(template, lstrip_blocks=True).render(**params)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from datetime import date, datetime
|
|
2
|
+
from typing import Annotated, Any
|
|
3
|
+
|
|
4
|
+
from jinja2 import Template
|
|
5
|
+
from pydantic import (
|
|
6
|
+
BaseModel,
|
|
7
|
+
ConfigDict,
|
|
8
|
+
Field,
|
|
9
|
+
SerializerFunctionWrapHandler,
|
|
10
|
+
WrapSerializer,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from unique_toolkit.agentic.tools.tool import Tool
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Jinja2PromptParams(BaseModel):
|
|
17
|
+
model_config = ConfigDict(str_strip_whitespace=True)
|
|
18
|
+
|
|
19
|
+
def render_template(self, template: str) -> str:
|
|
20
|
+
params = self.model_dump(exclude_none=True, mode="json")
|
|
21
|
+
|
|
22
|
+
return Template(template, lstrip_blocks=True).render(**params)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ToolPromptParams(Jinja2PromptParams):
|
|
26
|
+
name: str
|
|
27
|
+
tool_description_for_system_prompt: str = ""
|
|
28
|
+
tool_format_information_for_system_prompt: str = ""
|
|
29
|
+
tool_format_reminder_for_user_prompt: str = ""
|
|
30
|
+
|
|
31
|
+
@classmethod
|
|
32
|
+
def from_tool(cls, tool: Tool) -> "ToolPromptParams":
|
|
33
|
+
return cls(
|
|
34
|
+
name=tool.name,
|
|
35
|
+
tool_description_for_system_prompt=tool.tool_description_for_system_prompt(),
|
|
36
|
+
tool_format_information_for_system_prompt=tool.tool_format_information_for_system_prompt(),
|
|
37
|
+
tool_format_reminder_for_user_prompt=tool.tool_format_reminder_for_user_prompt(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def serialize_iso8601_date(v: Any, handler: SerializerFunctionWrapHandler) -> str:
|
|
42
|
+
if isinstance(v, date):
|
|
43
|
+
return v.isoformat()
|
|
44
|
+
return handler(v)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
ISO8601Date = Annotated[
|
|
48
|
+
date,
|
|
49
|
+
WrapSerializer(serialize_iso8601_date, return_type=str),
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class AgentSystemPromptParams(Jinja2PromptParams):
|
|
54
|
+
info_cutoff_at: ISO8601Date | None
|
|
55
|
+
current_date: ISO8601Date = Field(default_factory=lambda: datetime.now().date())
|
|
56
|
+
tools: list[ToolPromptParams]
|
|
57
|
+
used_tools: list[ToolPromptParams]
|
|
58
|
+
add_citation_appendix: bool = True
|
|
59
|
+
max_tools_per_iteration: int
|
|
60
|
+
max_loop_iterations: int
|
|
61
|
+
current_iteration: int
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class AgentUserPromptParams(Jinja2PromptParams):
|
|
65
|
+
user_prompt: str
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
from jinja2 import Environment
|
|
2
|
+
from jinja2.nodes import Const, Getattr, Getitem, Name
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TemplateValidationResult(BaseModel):
|
|
7
|
+
is_valid: bool
|
|
8
|
+
missing_placeholders: list[str]
|
|
9
|
+
optional_placeholders: list[str]
|
|
10
|
+
unexpected_placeholders: list[str]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def _get_nested_variables(node):
|
|
14
|
+
"""Recursively extract all variable references from a Jinja2 AST node."""
|
|
15
|
+
variables = set()
|
|
16
|
+
|
|
17
|
+
if isinstance(node, Name):
|
|
18
|
+
variables.add(node.name)
|
|
19
|
+
elif isinstance(node, (Getattr, Getitem)):
|
|
20
|
+
# For nested attributes like example.category
|
|
21
|
+
if isinstance(node.node, Name):
|
|
22
|
+
if isinstance(node, Getattr):
|
|
23
|
+
variables.add(f"{node.node.name}.{node.attr}")
|
|
24
|
+
else: # Getitem
|
|
25
|
+
if isinstance(node.arg, Const):
|
|
26
|
+
variables.add(f"{node.node.name}.{node.arg.value}")
|
|
27
|
+
else:
|
|
28
|
+
# For dynamic indices, just use the base variable
|
|
29
|
+
variables.add(node.node.name)
|
|
30
|
+
# Recursively process nested nodes
|
|
31
|
+
variables.update(_get_nested_variables(node.node))
|
|
32
|
+
|
|
33
|
+
# Process child nodes
|
|
34
|
+
for child in node.iter_child_nodes():
|
|
35
|
+
variables.update(_get_nested_variables(child))
|
|
36
|
+
|
|
37
|
+
return variables
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def validate_template_placeholders(
|
|
41
|
+
template_content: str,
|
|
42
|
+
required_placeholders: set[str],
|
|
43
|
+
optional_placeholders: set[str],
|
|
44
|
+
) -> TemplateValidationResult:
|
|
45
|
+
"""
|
|
46
|
+
Validates that all required placeholders in the template are present.
|
|
47
|
+
Handles both top-level and nested variables (e.g. example.category).
|
|
48
|
+
|
|
49
|
+
Args:
|
|
50
|
+
template_content (str): The content of the Jinja template
|
|
51
|
+
required_placeholders (set[str]): Set of required placeholder names
|
|
52
|
+
optional_placeholders (set[str]): Set of optional placeholder names
|
|
53
|
+
|
|
54
|
+
Returns:
|
|
55
|
+
TemplateValidationResult: A result object containing validation information
|
|
56
|
+
"""
|
|
57
|
+
# Create a Jinja environment
|
|
58
|
+
env = Environment()
|
|
59
|
+
|
|
60
|
+
# Parse the template and get all variables including nested ones
|
|
61
|
+
ast = env.parse(template_content)
|
|
62
|
+
template_vars = _get_nested_variables(ast)
|
|
63
|
+
|
|
64
|
+
# Check for missing required placeholders
|
|
65
|
+
missing_placeholders = required_placeholders - template_vars
|
|
66
|
+
|
|
67
|
+
# Check for optional placeholders present
|
|
68
|
+
present_optional = optional_placeholders & template_vars
|
|
69
|
+
|
|
70
|
+
# Check for any unexpected placeholders
|
|
71
|
+
unexpected_placeholders = template_vars - (
|
|
72
|
+
required_placeholders | optional_placeholders
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
return TemplateValidationResult(
|
|
76
|
+
is_valid=len(missing_placeholders) == 0,
|
|
77
|
+
missing_placeholders=sorted(list(missing_placeholders)),
|
|
78
|
+
optional_placeholders=sorted(list(present_optional)),
|
|
79
|
+
unexpected_placeholders=sorted(list(unexpected_placeholders)),
|
|
80
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/base_model_type_attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/default_language_model.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/config.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/schemas.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/docx_generator/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/endpoint_requestor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/feature_flags/schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/pydantic/rjsf_tags.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/tests/test_referencing.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/token/image_token_counting.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/token/token_counting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/image/encode.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/utils/write_configuration.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/_common/validate_required_values.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/exception.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/output_parser.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/evaluation/schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/history_manager/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/responses_api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/_memory.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/_schema.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/config.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/a2a/tool/service.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/agent_chunks_hanlder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/mcp/tool_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/openai_builtin/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/tool_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/agentic/tools/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/performance/async_tasks.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/app/performance/async_wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/framework_utilities/openai/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/__init__.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/constants.py
RENAMED
|
File without changes
|
{unique_toolkit-1.29.1 → unique_toolkit-1.29.2}/unique_toolkit/short_term_memory/functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|