language-model-common 2.0.74__tar.gz → 2.0.76__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.
- {language_model_common-2.0.74/language_model_common.egg-info → language_model_common-2.0.76}/PKG-INFO +1 -1
- language_model_common-2.0.76/VERSION +1 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76/language_model_common.egg-info}/PKG-INFO +1 -1
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/config_reader.py +5 -6
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/prompt_library/prompt_store.py +10 -1
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/context/request_context.py +1 -34
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/interceptors/auth.py +2 -18
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_tool_provider.py +5 -22
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/environment/language_model_common_environment_variables.py +0 -10
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/message_preprocessing/composite_message_preprocessor.py +5 -3
- language_model_common-2.0.76/languagemodelcommon/utilities/message_preprocessing/message_preprocessor.py +11 -0
- language_model_common-2.0.76/languagemodelcommon/utilities/slash_command/__init__.py +0 -0
- language_model_common-2.0.76/languagemodelcommon/utilities/slash_command/handlers/__init__.py +0 -0
- language_model_common-2.0.76/languagemodelcommon/utilities/token_reducer/__init__.py +0 -0
- language_model_common-2.0.74/VERSION +0 -1
- language_model_common-2.0.74/languagemodelcommon/context/__init__.py +0 -17
- language_model_common-2.0.74/languagemodelcommon/utilities/message_preprocessing/__init__.py +0 -6
- language_model_common-2.0.74/languagemodelcommon/utilities/message_preprocessing/message_preprocessor.py +0 -9
- language_model_common-2.0.74/languagemodelcommon/utilities/slash_command/__init__.py +0 -21
- {language_model_common-2.0.74 → language_model_common-2.0.76}/LICENSE +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/MANIFEST.in +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/README.md +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/language_model_common.egg-info/SOURCES.txt +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/language_model_common.egg-info/dependency_links.txt +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/language_model_common.egg-info/requires.txt +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/language_model_common.egg-info/top_level.txt +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/authenticator/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/exceptions/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/exceptions/authorization_mcp_tool_token_invalid_exception.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/exceptions/authorization_token_cache_item_expired_exception.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/exceptions/authorization_token_cache_item_not_found_exception.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/models/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/models/token_cache_item.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/oauth_provider_registrar.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/pass_through_token_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/token_exchange/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/token_exchange/token_exchange_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/token_storage_auth_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/tools/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/tools/tool_auth_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/aws/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/aws/aws_client_factory.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/file_config_reader.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/github_directory_downloader.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/github_directory_helper.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/mcp_json_fetcher.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/mcp_json_reader.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/config_reader/s3_config_reader.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/prompt_library/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/prompt_library/prompt_library_environment_variables.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/prompt_library/prompt_library_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/schemas/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/schemas/config_schema.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/configs/schemas/mcp_json_schema.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/container/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/container/container_factory.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/converters → language_model_common-2.0.76/languagemodelcommon/context}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/exceptions → language_model_common-2.0.76/languagemodelcommon/converters}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/langgraph_to_openai_converter.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/stream_buffer.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/stream_context_mixin.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/stream_debug_output_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/streaming_formatters.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/streaming_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/streaming_tool_node.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/converters/tool_event_handlers.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/file_managers → language_model_common-2.0.76/languagemodelcommon/exceptions}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/exceptions/bailey_exception.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/graph → language_model_common-2.0.76/languagemodelcommon/file_managers}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/file_managers/aws_s3_file_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/file_managers/file_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/file_managers/file_manager_factory.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/file_managers/file_writer.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/file_managers/local_file_manager.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/history → language_model_common-2.0.76/languagemodelcommon/graph}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/graph/graph_builder.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/http → language_model_common-2.0.76/languagemodelcommon/history}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/history/context_compactor.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/history/conversation_history_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/history/smart_history_manager.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/image_generation → language_model_common-2.0.76/languagemodelcommon/http}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/http/http_client_factory.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/image_generation/managers → language_model_common-2.0.76/languagemodelcommon/image_generation}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/image_generation/aws_image_generator.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/image_generation/image_generator.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/image_generation/image_generator_factory.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/image_generation/providers → language_model_common-2.0.76/languagemodelcommon/image_generation/managers}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/image_generation/managers/image_generation_manager.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/image_generation/openai_image_generator.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/markdown → language_model_common-2.0.76/languagemodelcommon/image_generation/providers}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/image_generation/providers/base_image_generation_provider.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/image_generation/providers/image_generation_provider.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/mcp → language_model_common-2.0.76/languagemodelcommon/markdown}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/markdown/html_to_markdown_converter.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/mcp/auth → language_model_common-2.0.76/languagemodelcommon/mcp}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/mcp/exceptions → language_model_common-2.0.76/languagemodelcommon/mcp/auth}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/auth/auth_server_metadata_discovery.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/auth/mcp_authorization_helper.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/callbacks.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/mcp/interceptors → language_model_common-2.0.76/languagemodelcommon/mcp/exceptions}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/exceptions/mcp_tool_exception.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/exceptions/mcp_tool_not_found_exception.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/exceptions/mcp_tool_unauthorized_exception.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/exceptions/mcp_tool_unknown_exception.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/mcp/mcp_client → language_model_common-2.0.76/languagemodelcommon/mcp/interceptors}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/interceptors/tracing.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/interceptors/truncation.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/interceptors/types.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/mocks → language_model_common-2.0.76/languagemodelcommon/mcp/mcp_client}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/content_conversion.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/langchain_adapter.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/mcp_app_proxy.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/mcp_tool_list_store.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/server_card_discovery.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/session.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/session_pool.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/tool_invocation.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/tool_list_cache.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/mcp_client/ui_resource.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/tool_catalog.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/tool_discovery_middleware.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/models → language_model_common-2.0.76/languagemodelcommon/mocks}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mocks/mock_aws_client_factory.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mocks/mock_http_client_factory.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mocks/mock_image_generator.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mocks/mock_image_generator_factory.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/ocr → language_model_common-2.0.76/languagemodelcommon/models}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/models/bedrock_models.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/models/model_factory.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/models/sanitizing_bedrock_converse.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/persistence → language_model_common-2.0.76/languagemodelcommon/ocr}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/ocr/aws_ocr_extractor.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/ocr/ocr_extractor.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/ocr/ocr_extractor_factory.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/schema → language_model_common-2.0.76/languagemodelcommon/persistence}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/persistence/persistence_factory.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/py.typed +0 -0
- {language_model_common-2.0.74/languagemodelcommon/schema/openai → language_model_common-2.0.76/languagemodelcommon/schema}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/state → language_model_common-2.0.76/languagemodelcommon/schema/openai}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/schema/openai/completions.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/schema/openai/image_generation.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/schema/openai/responses.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/structures → language_model_common-2.0.76/languagemodelcommon/state}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/state/messages_state.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/structures/openai → language_model_common-2.0.76/languagemodelcommon/structures}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/structures/openai/message → language_model_common-2.0.76/languagemodelcommon/structures/openai}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/structures/openai/request → language_model_common-2.0.76/languagemodelcommon/structures/openai/message}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/structures/openai/message/chat_completion_api_message_wrapper.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/structures/openai/message/chat_message_wrapper.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/structures/openai/message/responses_api_message_wrapper.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/tools → language_model_common-2.0.76/languagemodelcommon/structures/openai/request}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/structures/openai/request/chat_completion_api_request_wrapper.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/structures/openai/request/chat_request_wrapper.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/structures/openai/request/responses_api_request_wrapper.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/tools/mcp → language_model_common-2.0.76/languagemodelcommon/tools}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities → language_model_common-2.0.76/languagemodelcommon/tools/mcp}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/tools/mcp/call_tool_tool.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/tools/mcp/search_tools_tool.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/cache → language_model_common-2.0.76/languagemodelcommon/utilities}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/environment → language_model_common-2.0.76/languagemodelcommon/utilities/cache}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/cache/advisory_lock.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/cache/model_config_cache_store.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/chat_message_helpers.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/config_substitution.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/header_reader → language_model_common-2.0.76/languagemodelcommon/utilities/environment}/__init__.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/logger → language_model_common-2.0.76/languagemodelcommon/utilities/header_reader}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/header_reader/header_reader.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/openai → language_model_common-2.0.76/languagemodelcommon/utilities/logger}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/logger/debug_configuration.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/logger/exception_formatter.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/logger/exception_logger.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/logger/log_levels.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/logger/logging_response.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/logger/logging_transport.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/security → language_model_common-2.0.76/languagemodelcommon/utilities/message_preprocessing}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/mongo_url_utils.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/slash_command/handlers → language_model_common-2.0.76/languagemodelcommon/utilities/openai}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/openai/responses_api_converter.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/request_information.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/s3_url.py +0 -0
- {language_model_common-2.0.74/languagemodelcommon/utilities/token_reducer → language_model_common-2.0.76/languagemodelcommon/utilities/security}/__init__.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/security/prompt_sanitizer.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/slash_command/handlers/debug_command_handler.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/slash_command/handlers/skill_command_handler.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/slash_command/slash_command_handler.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/slash_command/slash_command_parser.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/slash_command/slash_command_processor.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/text_humanizer.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/token_reducer/token_reducer.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/tool_display_name_mapper.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/utilities/url_parser.py +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/pyproject.toml +0 -0
- {language_model_common-2.0.74 → language_model_common-2.0.76}/setup.cfg +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.0.76
|
|
@@ -35,6 +35,8 @@ logger.setLevel(SRC_LOG_LEVELS.CONFIG)
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
class ConfigReader:
|
|
38
|
+
SCHEMA_VERSION = 1
|
|
39
|
+
|
|
38
40
|
def __init__(
|
|
39
41
|
self,
|
|
40
42
|
*,
|
|
@@ -147,8 +149,7 @@ class ConfigReader:
|
|
|
147
149
|
return models
|
|
148
150
|
|
|
149
151
|
def _model_config_cache_key(self, *, model_name: str) -> str:
|
|
150
|
-
|
|
151
|
-
return f"v{version}:{model_name}"
|
|
152
|
+
return f"v{self.SCHEMA_VERSION}:{model_name}"
|
|
152
153
|
|
|
153
154
|
async def _read_from_model_config_cache(self) -> List[ChatModelConfig] | None:
|
|
154
155
|
"""Load model configs from the model config cache (one row per model).
|
|
@@ -162,8 +163,7 @@ class ConfigReader:
|
|
|
162
163
|
"""
|
|
163
164
|
if not self._model_config_cache_store:
|
|
164
165
|
return None
|
|
165
|
-
|
|
166
|
-
prefix = f"v{version}:"
|
|
166
|
+
prefix = f"v{self.SCHEMA_VERSION}:"
|
|
167
167
|
model_keys = await self._get_cache_keys_by_prefix(prefix=prefix)
|
|
168
168
|
if not model_keys:
|
|
169
169
|
return None
|
|
@@ -694,8 +694,7 @@ class ConfigReader:
|
|
|
694
694
|
|
|
695
695
|
async def clear_cache(self) -> None:
|
|
696
696
|
if self._model_config_cache_store:
|
|
697
|
-
|
|
698
|
-
prefix = f"v{version}:"
|
|
697
|
+
prefix = f"v{self.SCHEMA_VERSION}:"
|
|
699
698
|
model_keys = await self._get_cache_keys_by_prefix(prefix=prefix)
|
|
700
699
|
if model_keys:
|
|
701
700
|
await self._model_config_cache_store.delete_many(
|
|
@@ -15,6 +15,8 @@ class PromptStore:
|
|
|
15
15
|
filesystem race conditions during multi-worker startup.
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
|
+
SCHEMA_VERSION = 1
|
|
19
|
+
|
|
18
20
|
def __init__(self, *, store: BaseStore, collection: str = "prompts") -> None:
|
|
19
21
|
self._store = store
|
|
20
22
|
self._collection = collection
|
|
@@ -26,13 +28,19 @@ class PromptStore:
|
|
|
26
28
|
if result is None:
|
|
27
29
|
return None
|
|
28
30
|
|
|
31
|
+
if result.get("schema_version") != self.SCHEMA_VERSION:
|
|
32
|
+
return None
|
|
33
|
+
|
|
29
34
|
content = result.get("content")
|
|
30
35
|
if not isinstance(content, str):
|
|
31
36
|
return None
|
|
32
37
|
return content
|
|
33
38
|
|
|
34
39
|
async def put_prompt(self, *, name: str, content: str) -> None:
|
|
35
|
-
value: dict[str, Any] = {
|
|
40
|
+
value: dict[str, Any] = {
|
|
41
|
+
"schema_version": self.SCHEMA_VERSION,
|
|
42
|
+
"content": content,
|
|
43
|
+
}
|
|
36
44
|
await self._store.put(name, value, collection=self._collection)
|
|
37
45
|
|
|
38
46
|
async def delete_prompt(self, *, name: str) -> None:
|
|
@@ -41,6 +49,7 @@ class PromptStore:
|
|
|
41
49
|
async def clear(self) -> None:
|
|
42
50
|
if isinstance(self._store, BaseDestroyCollectionStore):
|
|
43
51
|
await self._store.destroy_collection(collection=self._collection)
|
|
52
|
+
self._store._setup_collection_complete[self._collection] = False
|
|
44
53
|
else:
|
|
45
54
|
logger.warning(
|
|
46
55
|
"Prompt store does not support destroy_collection; "
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
from contextvars import ContextVar
|
|
2
|
-
from
|
|
3
|
-
from typing import TYPE_CHECKING, Dict
|
|
4
|
-
|
|
5
|
-
from oidcauthlib.auth.models.auth import AuthInformation
|
|
2
|
+
from typing import TYPE_CHECKING
|
|
6
3
|
|
|
7
4
|
if TYPE_CHECKING:
|
|
8
5
|
from languagemodelcommon.converters.stream_buffer import StreamBufferManager
|
|
@@ -11,16 +8,6 @@ if TYPE_CHECKING:
|
|
|
11
8
|
)
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
@dataclass(frozen=True)
|
|
15
|
-
class McpRequestContext:
|
|
16
|
-
headers: Dict[str, str]
|
|
17
|
-
auth_information: AuthInformation
|
|
18
|
-
user_id: str | None = None
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
_request_context_var: ContextVar["McpRequestContext | None"] = ContextVar(
|
|
22
|
-
"mcp_request_context", default=None
|
|
23
|
-
)
|
|
24
11
|
_stream_debug_output_var: ContextVar["StreamDebugOutputManager | None"] = ContextVar(
|
|
25
12
|
"stream_debug_output", default=None
|
|
26
13
|
)
|
|
@@ -29,15 +16,6 @@ _stream_buffer_var: ContextVar["StreamBufferManager | None"] = ContextVar(
|
|
|
29
16
|
)
|
|
30
17
|
|
|
31
18
|
|
|
32
|
-
def get_request_context() -> "McpRequestContext":
|
|
33
|
-
ctx = _request_context_var.get()
|
|
34
|
-
if ctx is None:
|
|
35
|
-
raise RuntimeError(
|
|
36
|
-
"McpRequestContext not set — call init_request_context() first"
|
|
37
|
-
)
|
|
38
|
-
return ctx
|
|
39
|
-
|
|
40
|
-
|
|
41
19
|
def get_stream_debug_output_manager() -> "StreamDebugOutputManager":
|
|
42
20
|
mgr = _stream_debug_output_var.get()
|
|
43
21
|
if mgr is None:
|
|
@@ -58,24 +36,13 @@ def get_stream_buffer_manager() -> "StreamBufferManager":
|
|
|
58
36
|
|
|
59
37
|
def init_request_context(
|
|
60
38
|
*,
|
|
61
|
-
headers: Dict[str, str],
|
|
62
|
-
auth_information: "AuthInformation",
|
|
63
|
-
user_id: str | None = None,
|
|
64
39
|
stream_debug_output_manager: "StreamDebugOutputManager",
|
|
65
40
|
stream_buffer_manager: "StreamBufferManager",
|
|
66
41
|
) -> None:
|
|
67
|
-
_request_context_var.set(
|
|
68
|
-
McpRequestContext(
|
|
69
|
-
headers=headers,
|
|
70
|
-
auth_information=auth_information,
|
|
71
|
-
user_id=user_id,
|
|
72
|
-
)
|
|
73
|
-
)
|
|
74
42
|
_stream_debug_output_var.set(stream_debug_output_manager)
|
|
75
43
|
_stream_buffer_var.set(stream_buffer_manager)
|
|
76
44
|
|
|
77
45
|
|
|
78
46
|
def reset_request_context() -> None:
|
|
79
|
-
_request_context_var.set(None)
|
|
80
47
|
_stream_debug_output_var.set(None)
|
|
81
48
|
_stream_buffer_var.set(None)
|
|
@@ -54,24 +54,8 @@ class AuthMcpCallInterceptor:
|
|
|
54
54
|
self._tool_configs_by_server_name: Dict[str, AgentConfig] = {
|
|
55
55
|
tc.name: tc for tc in tool_configs
|
|
56
56
|
}
|
|
57
|
-
self.
|
|
58
|
-
self.
|
|
59
|
-
|
|
60
|
-
@property
|
|
61
|
-
def _headers(self) -> Dict[str, str]:
|
|
62
|
-
if self._static_headers is not None:
|
|
63
|
-
return self._static_headers
|
|
64
|
-
from languagemodelcommon.context.request_context import get_request_context
|
|
65
|
-
|
|
66
|
-
return get_request_context().headers
|
|
67
|
-
|
|
68
|
-
@property
|
|
69
|
-
def _auth_information(self) -> AuthInformation:
|
|
70
|
-
if self._static_auth_information is not None:
|
|
71
|
-
return self._static_auth_information
|
|
72
|
-
from languagemodelcommon.context.request_context import get_request_context
|
|
73
|
-
|
|
74
|
-
return get_request_context().auth_information
|
|
57
|
+
self._auth_information = auth_information or AuthInformation(redirect_uri="")
|
|
58
|
+
self._headers: Dict[str, str] = headers or {}
|
|
75
59
|
|
|
76
60
|
async def resolve_auth_header_for_discovery(
|
|
77
61
|
self, tool_config: AgentConfig
|
|
@@ -298,7 +298,7 @@ class MCPToolProvider:
|
|
|
298
298
|
self,
|
|
299
299
|
*,
|
|
300
300
|
tool_config: AgentConfig,
|
|
301
|
-
headers: Dict[str, str]
|
|
301
|
+
headers: Dict[str, str],
|
|
302
302
|
auth_interceptor: AuthMcpCallInterceptor,
|
|
303
303
|
session_pool: McpSessionPool | None = None,
|
|
304
304
|
) -> List[BaseTool]:
|
|
@@ -308,16 +308,11 @@ class MCPToolProvider:
|
|
|
308
308
|
Args:
|
|
309
309
|
tool_config: An AgentConfig instance containing the tool's configuration.
|
|
310
310
|
headers: A dictionary of headers to include in the request, such as Authorization.
|
|
311
|
-
If None, reads from request context contextvar.
|
|
312
311
|
auth_interceptor: An AuthMcpCallInterceptor instance.
|
|
313
312
|
session_pool: An optional session pool instance.
|
|
314
313
|
Returns:
|
|
315
314
|
A list of BaseTool instances retrieved from the MCP.
|
|
316
315
|
"""
|
|
317
|
-
if headers is None:
|
|
318
|
-
from languagemodelcommon.context.request_context import get_request_context
|
|
319
|
-
|
|
320
|
-
headers = get_request_context().headers
|
|
321
316
|
if tool_config.lazy_load:
|
|
322
317
|
return self.get_lazy_tools(
|
|
323
318
|
tool_config=tool_config,
|
|
@@ -733,15 +728,11 @@ class MCPToolProvider:
|
|
|
733
728
|
self,
|
|
734
729
|
*,
|
|
735
730
|
tools: list[AgentConfig],
|
|
736
|
-
headers: Dict[str, str]
|
|
731
|
+
headers: Dict[str, str],
|
|
737
732
|
auth_interceptor: AuthMcpCallInterceptor,
|
|
738
733
|
session_pool: McpSessionPool | None = None,
|
|
739
734
|
) -> list[BaseTool]:
|
|
740
735
|
"""Fetch tools from all configured MCP servers concurrently."""
|
|
741
|
-
if headers is None:
|
|
742
|
-
from languagemodelcommon.context.request_context import get_request_context
|
|
743
|
-
|
|
744
|
-
headers = get_request_context().headers
|
|
745
736
|
url_tools = [t for t in tools if t.url is not None]
|
|
746
737
|
if not url_tools:
|
|
747
738
|
return []
|
|
@@ -977,7 +968,7 @@ class MCPToolProvider:
|
|
|
977
968
|
def create_tool_resolver(
|
|
978
969
|
self,
|
|
979
970
|
*,
|
|
980
|
-
headers: Dict[str, str]
|
|
971
|
+
headers: Dict[str, str],
|
|
981
972
|
auth_interceptor: AuthMcpCallInterceptor,
|
|
982
973
|
) -> ToolResolverProtocol:
|
|
983
974
|
"""Create a resolver that lazily fetches tools from MCP servers.
|
|
@@ -1124,21 +1115,13 @@ class _BoundToolResolver:
|
|
|
1124
1115
|
self,
|
|
1125
1116
|
*,
|
|
1126
1117
|
provider: MCPToolProvider,
|
|
1127
|
-
headers: Dict[str, str]
|
|
1118
|
+
headers: Dict[str, str],
|
|
1128
1119
|
auth_interceptor: AuthMcpCallInterceptor,
|
|
1129
1120
|
) -> None:
|
|
1130
1121
|
self._provider = provider
|
|
1131
|
-
self.
|
|
1122
|
+
self._headers = headers
|
|
1132
1123
|
self._auth_interceptor = auth_interceptor
|
|
1133
1124
|
|
|
1134
|
-
@property
|
|
1135
|
-
def _headers(self) -> Dict[str, str]:
|
|
1136
|
-
if self._static_headers is not None:
|
|
1137
|
-
return self._static_headers
|
|
1138
|
-
from languagemodelcommon.context.request_context import get_request_context
|
|
1139
|
-
|
|
1140
|
-
return get_request_context().headers
|
|
1141
|
-
|
|
1142
1125
|
async def resolve_tools(
|
|
1143
1126
|
self,
|
|
1144
1127
|
agent_config: AgentConfig,
|
|
@@ -158,16 +158,6 @@ class LanguageModelCommonEnvironmentVariables(
|
|
|
158
158
|
"""
|
|
159
159
|
return int(os.environ.get("MODEL_CONFIG_CACHE_TTL_SECONDS", "3600"))
|
|
160
160
|
|
|
161
|
-
@property
|
|
162
|
-
def model_config_cache_schema_version(self) -> str:
|
|
163
|
-
"""Schema version for model config cache entries.
|
|
164
|
-
|
|
165
|
-
Changing this value automatically obsoletes all existing cache
|
|
166
|
-
entries without migration — queries use the version as part of
|
|
167
|
-
the cache key, so old-version entries are never found.
|
|
168
|
-
"""
|
|
169
|
-
return os.environ.get("MODEL_CONFIG_CACHE_SCHEMA_VERSION", "1")
|
|
170
|
-
|
|
171
161
|
@property
|
|
172
162
|
def mcp_tool_cache_db_name(self) -> str:
|
|
173
163
|
"""MongoDB database name for MCP tool list cache.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import Sequence
|
|
3
|
+
from typing import Dict, Sequence
|
|
4
4
|
|
|
5
5
|
from langchain_core.messages import AnyMessage
|
|
6
6
|
|
|
@@ -13,8 +13,10 @@ class CompositeMessagePreprocessor:
|
|
|
13
13
|
def __init__(self, *, preprocessors: Sequence[MessagePreprocessor]) -> None:
|
|
14
14
|
self._preprocessors = list(preprocessors)
|
|
15
15
|
|
|
16
|
-
async def preprocess(
|
|
16
|
+
async def preprocess(
|
|
17
|
+
self, *, messages: list[AnyMessage], headers: Dict[str, str] | None = None
|
|
18
|
+
) -> list[AnyMessage]:
|
|
17
19
|
result = messages
|
|
18
20
|
for preprocessor in self._preprocessors:
|
|
19
|
-
result = await preprocessor.preprocess(messages=result)
|
|
21
|
+
result = await preprocessor.preprocess(messages=result, headers=headers)
|
|
20
22
|
return result
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Dict, Protocol
|
|
4
|
+
|
|
5
|
+
from langchain_core.messages import AnyMessage
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class MessagePreprocessor(Protocol):
|
|
9
|
+
async def preprocess(
|
|
10
|
+
self, *, messages: list[AnyMessage], headers: Dict[str, str] | None = None
|
|
11
|
+
) -> list[AnyMessage]: ...
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.0.74
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
from languagemodelcommon.context.request_context import (
|
|
2
|
-
McpRequestContext,
|
|
3
|
-
get_request_context,
|
|
4
|
-
get_stream_buffer_manager,
|
|
5
|
-
get_stream_debug_output_manager,
|
|
6
|
-
init_request_context,
|
|
7
|
-
reset_request_context,
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
__all__ = [
|
|
11
|
-
"McpRequestContext",
|
|
12
|
-
"get_request_context",
|
|
13
|
-
"get_stream_buffer_manager",
|
|
14
|
-
"get_stream_debug_output_manager",
|
|
15
|
-
"init_request_context",
|
|
16
|
-
"reset_request_context",
|
|
17
|
-
]
|
language_model_common-2.0.74/languagemodelcommon/utilities/message_preprocessing/__init__.py
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
from languagemodelcommon.utilities.message_preprocessing.message_preprocessor import (
|
|
2
|
-
MessagePreprocessor as MessagePreprocessor,
|
|
3
|
-
)
|
|
4
|
-
from languagemodelcommon.utilities.message_preprocessing.composite_message_preprocessor import (
|
|
5
|
-
CompositeMessagePreprocessor as CompositeMessagePreprocessor,
|
|
6
|
-
)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
from languagemodelcommon.utilities.slash_command.slash_command_parser import (
|
|
2
|
-
SlashCommandMatch as SlashCommandMatch,
|
|
3
|
-
parse_slash_command as parse_slash_command,
|
|
4
|
-
)
|
|
5
|
-
from languagemodelcommon.utilities.slash_command.slash_command_handler import (
|
|
6
|
-
SlashCommandContext as SlashCommandContext,
|
|
7
|
-
SlashCommandEffect as SlashCommandEffect,
|
|
8
|
-
SlashCommandHandler as SlashCommandHandler,
|
|
9
|
-
)
|
|
10
|
-
from languagemodelcommon.utilities.slash_command.slash_command_processor import (
|
|
11
|
-
SlashCommandProcessor as SlashCommandProcessor,
|
|
12
|
-
)
|
|
13
|
-
from languagemodelcommon.utilities.slash_command.handlers.debug_command_handler import (
|
|
14
|
-
DebugCommandEffect as DebugCommandEffect,
|
|
15
|
-
DebugCommandHandler as DebugCommandHandler,
|
|
16
|
-
)
|
|
17
|
-
from languagemodelcommon.utilities.slash_command.handlers.skill_command_handler import (
|
|
18
|
-
SkillCommandEffect as SkillCommandEffect,
|
|
19
|
-
SkillCommandHandler as SkillCommandHandler,
|
|
20
|
-
SkillContentResolver as SkillContentResolver,
|
|
21
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/__init__.py
RENAMED
|
File without changes
|
{language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/auth/__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
|
{language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/aws/__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
|
|
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
|
|
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
|
{language_model_common-2.0.74 → language_model_common-2.0.76}/languagemodelcommon/mcp/callbacks.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
|
|
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
|
|
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
|
|
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
|