language-model-common 2.0.89__tar.gz → 2.0.90__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.89/language_model_common.egg-info → language_model_common-2.0.90}/PKG-INFO +1 -1
- language_model_common-2.0.90/VERSION +1 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90/language_model_common.egg-info}/PKG-INFO +1 -1
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/tool_event_handlers.py +31 -8
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/request/chat_request_wrapper.py +8 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/request/responses_api_request_wrapper.py +13 -2
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/tools/mcp/call_tool_tool.py +11 -4
- language_model_common-2.0.89/VERSION +0 -1
- {language_model_common-2.0.89 → language_model_common-2.0.90}/LICENSE +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/MANIFEST.in +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/README.md +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/language_model_common.egg-info/SOURCES.txt +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/language_model_common.egg-info/dependency_links.txt +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/language_model_common.egg-info/requires.txt +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/language_model_common.egg-info/top_level.txt +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/authenticator/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/exceptions/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/exceptions/authorization_mcp_tool_token_invalid_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/exceptions/authorization_token_cache_item_expired_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/exceptions/authorization_token_cache_item_not_found_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/models/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/models/token_cache_item.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/oauth_provider_registrar.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/pass_through_token_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/token_exchange/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/token_exchange/token_exchange_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/token_storage_auth_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/tools/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/auth/tools/tool_auth_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/aws/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/aws/aws_client_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/config_reader.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/file_config_reader.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/github_directory_downloader.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/github_directory_helper.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/mcp_json_fetcher.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/mcp_json_reader.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/config_reader/s3_config_reader.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/prompt_library/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/prompt_library/prompt_library_environment_variables.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/prompt_library/prompt_library_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/prompt_library/prompt_store.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/schemas/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/schemas/config_schema.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/configs/schemas/mcp_json_schema.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/container/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/container/container_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/context/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/context/request_context.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/langgraph_to_openai_converter.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/stream_buffer.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/stream_context_mixin.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/stream_debug_output_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/streaming_formatters.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/streaming_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/converters/streaming_tool_node.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/exceptions/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/exceptions/bailey_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/exceptions/rate_limit_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/file_managers/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/file_managers/aws_s3_file_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/file_managers/file_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/file_managers/file_manager_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/file_managers/file_writer.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/file_managers/local_file_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/github/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/github/token_provider.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/graph/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/graph/graph_builder.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/history/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/history/context_compactor.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/history/conversation_history_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/history/smart_history_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/http/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/http/http_client_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/aws_image_generator.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/image_generator.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/image_generator_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/managers/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/managers/image_generation_manager.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/openai_image_generator.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/providers/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/providers/base_image_generation_provider.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/image_generation/providers/image_generation_provider.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/markdown/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/markdown/html_to_markdown_converter.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/auth/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/auth/auth_server_metadata_discovery.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/auth/mcp_authorization_helper.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/callbacks.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/exceptions/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/exceptions/mcp_tool_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/exceptions/mcp_tool_not_found_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/exceptions/mcp_tool_unauthorized_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/exceptions/mcp_tool_unknown_exception.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/interceptors/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/interceptors/auth.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/interceptors/tracing.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/interceptors/truncation.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/interceptors/types.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/content_conversion.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/langchain_adapter.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/mcp_app_proxy.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/mcp_tool_list_store.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/server_card_discovery.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/session.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/session_pool.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/tool_invocation.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/tool_list_cache.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_client/ui_resource.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/mcp_tool_provider.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/tool_catalog.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/tool_discovery_middleware.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mocks/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mocks/mock_aws_client_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mocks/mock_http_client_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mocks/mock_image_generator.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mocks/mock_image_generator_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/models/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/models/bedrock_models.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/models/model_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/models/sanitizing_bedrock_converse.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/ocr/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/ocr/aws_ocr_extractor.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/ocr/ocr_extractor.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/ocr/ocr_extractor_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/persistence/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/persistence/persistence_factory.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/pipeline/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/pipeline/context.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/pipeline/output/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/pipeline/pipeline.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/pipeline/step.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/pipeline/steps/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/py.typed +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/schema/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/schema/openai/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/schema/openai/completions.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/schema/openai/image_generation.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/schema/openai/responses.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/state/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/state/messages_state.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/message/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/message/chat_completion_api_message_wrapper.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/message/chat_message_wrapper.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/message/responses_api_message_wrapper.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/request/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/structures/openai/request/chat_completion_api_request_wrapper.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/tools/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/tools/mcp/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/tools/mcp/search_tools_tool.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/cache/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/cache/advisory_lock.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/cache/model_config_cache_store.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/chat_message_helpers.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/config_substitution.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/environment/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/environment/language_model_common_environment_variables.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/header_reader/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/header_reader/header_reader.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/logger/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/logger/debug_configuration.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/logger/exception_formatter.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/logger/exception_logger.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/logger/log_levels.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/logger/logging_response.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/logger/logging_transport.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/message_preprocessing/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/message_preprocessing/composite_message_preprocessor.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/message_preprocessing/message_preprocessor.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/mongo_url_utils.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/openai/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/openai/responses_api_converter.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/request_information.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/s3_url.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/security/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/security/normalize.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/security/off_topic_detector.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/security/prompt_extraction_detector.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/security/prompt_sanitizer.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/slash_command/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/slash_command/handlers/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/slash_command/handlers/debug_command_handler.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/slash_command/handlers/skill_command_handler.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/slash_command/slash_command_handler.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/slash_command/slash_command_parser.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/slash_command/slash_command_processor.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/text_humanizer.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/token_reducer/__init__.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/token_reducer/token_reducer.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/tool_display_name_mapper.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/utilities/url_parser.py +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/pyproject.toml +0 -0
- {language_model_common-2.0.89 → language_model_common-2.0.90}/setup.cfg +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.0.90
|
|
@@ -36,6 +36,20 @@ from languagemodelcommon.utilities.tool_display_name_mapper import ToolDisplayNa
|
|
|
36
36
|
logger = logging.getLogger(__name__)
|
|
37
37
|
logger.setLevel(SRC_LOG_LEVELS.LLM)
|
|
38
38
|
|
|
39
|
+
# Cap on the tool result/error text forwarded to the response.output_item.done
|
|
40
|
+
# SSE event, so a tool that echoes back large content (e.g. a full skill body)
|
|
41
|
+
# doesn't bloat every trace event; full output remains available via the
|
|
42
|
+
# existing debug-file-writer path for cases that need it.
|
|
43
|
+
TOOL_END_OUTPUT_TRACE_MAX_CHARS = 2000
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def _truncate_for_trace(
|
|
47
|
+
text: str, *, max_chars: int = TOOL_END_OUTPUT_TRACE_MAX_CHARS
|
|
48
|
+
) -> str:
|
|
49
|
+
if len(text) <= max_chars:
|
|
50
|
+
return text
|
|
51
|
+
return text[:max_chars] + f"...[truncated {len(text) - max_chars} chars]"
|
|
52
|
+
|
|
39
53
|
|
|
40
54
|
class ToolEventHandler(StreamContextMixin):
|
|
41
55
|
def __init__(
|
|
@@ -161,23 +175,32 @@ class ToolEventHandler(StreamContextMixin):
|
|
|
161
175
|
tool_name,
|
|
162
176
|
)
|
|
163
177
|
|
|
178
|
+
tool_message_content: str = (
|
|
179
|
+
convert_message_content_into_string(tool_message=tool_message)
|
|
180
|
+
if tool_message
|
|
181
|
+
else ""
|
|
182
|
+
)
|
|
183
|
+
artifact: Optional[Any] = tool_message.artifact
|
|
184
|
+
# tool_message.status only flips to "error" for an uncaught exception;
|
|
185
|
+
# meta-tools like call_tool catch their own failures and report them via
|
|
186
|
+
# the artifact instead (see CallToolTool), so check both signals.
|
|
187
|
+
is_error: bool = tool_message.status == "error" or (
|
|
188
|
+
isinstance(artifact, dict) and artifact.get("is_error") is True
|
|
189
|
+
)
|
|
190
|
+
|
|
164
191
|
tool_end_event = chat_request_wrapper.create_tool_end_sse_event(
|
|
165
192
|
request_id=request_information.request_id,
|
|
166
193
|
tool_name=tool_name,
|
|
167
194
|
tool_input=tool_input,
|
|
168
195
|
runtime_seconds=runtime_seconds,
|
|
196
|
+
output=_truncate_for_trace(tool_message_content)
|
|
197
|
+
if tool_message_content
|
|
198
|
+
else None,
|
|
199
|
+
is_error=is_error,
|
|
169
200
|
)
|
|
170
201
|
if tool_end_event:
|
|
171
202
|
yield tool_end_event
|
|
172
203
|
|
|
173
|
-
tool_message_content: str = (
|
|
174
|
-
convert_message_content_into_string(tool_message=tool_message)
|
|
175
|
-
if tool_message
|
|
176
|
-
else ""
|
|
177
|
-
)
|
|
178
|
-
|
|
179
|
-
artifact: Optional[Any] = tool_message.artifact
|
|
180
|
-
|
|
181
204
|
logger.debug(
|
|
182
205
|
"Tool %s has artifact of type %s: %s",
|
|
183
206
|
tool_name,
|
|
@@ -309,9 +309,17 @@ class ChatRequestWrapper(abc.ABC):
|
|
|
309
309
|
tool_name: str,
|
|
310
310
|
tool_input: dict[str, Any] | None,
|
|
311
311
|
runtime_seconds: float | None,
|
|
312
|
+
output: str | None = None,
|
|
313
|
+
is_error: bool = False,
|
|
312
314
|
) -> str | None:
|
|
313
315
|
"""Emit an SSE event when a tool finishes execution.
|
|
314
316
|
|
|
317
|
+
``output`` is the tool's own result/error text (already converted to a
|
|
318
|
+
plain string and truncated by the caller) and ``is_error`` reflects the
|
|
319
|
+
underlying ToolMessage's status, so consumers can distinguish a tool
|
|
320
|
+
that ran to completion from one that failed without having to parse
|
|
321
|
+
free-text content.
|
|
322
|
+
|
|
315
323
|
The default implementation returns None (no-op). Subclasses that
|
|
316
324
|
support structured tool events (e.g. Responses API) override this
|
|
317
325
|
to emit a typed SSE frame the client can use for status updates.
|
|
@@ -338,8 +338,16 @@ class ResponsesApiRequestWrapper(ChatRequestWrapper):
|
|
|
338
338
|
tool_name: str,
|
|
339
339
|
tool_input: Dict[str, Any] | None,
|
|
340
340
|
runtime_seconds: float | None,
|
|
341
|
+
output: str | None = None,
|
|
342
|
+
is_error: bool = False,
|
|
341
343
|
) -> str | None:
|
|
342
|
-
"""Emit a ``response.output_item.done`` event with a ``function_call`` item.
|
|
344
|
+
"""Emit a ``response.output_item.done`` event with a ``function_call`` item.
|
|
345
|
+
|
|
346
|
+
Includes ``runtime_seconds`` and the tool's own ``output``/``is_error``
|
|
347
|
+
so consuming UIs (e.g. baileyai-skills-service's Stream events panel)
|
|
348
|
+
can show how long a call took and surface failures, rather than only
|
|
349
|
+
ever seeing a "completed" status with no result.
|
|
350
|
+
"""
|
|
343
351
|
event: Dict[str, Any] = {
|
|
344
352
|
"type": "response.output_item.done",
|
|
345
353
|
"output_index": 0,
|
|
@@ -350,7 +358,10 @@ class ResponsesApiRequestWrapper(ChatRequestWrapper):
|
|
|
350
358
|
"call_id": f"call_{request_id}_{tool_name}",
|
|
351
359
|
"name": tool_name,
|
|
352
360
|
"arguments": json.dumps(tool_input) if tool_input else "",
|
|
353
|
-
"status": "completed",
|
|
361
|
+
"status": "failed" if is_error else "completed",
|
|
362
|
+
"runtime_seconds": runtime_seconds,
|
|
363
|
+
"output": output or "",
|
|
364
|
+
"is_error": is_error,
|
|
354
365
|
},
|
|
355
366
|
}
|
|
356
367
|
return f"data: {json.dumps(event)}\n\n"
|
|
@@ -98,7 +98,7 @@ class CallToolTool(BaseTool):
|
|
|
98
98
|
if entry is None:
|
|
99
99
|
return (
|
|
100
100
|
f"Tool '{name}' not found. Use search_tools to find available tools.",
|
|
101
|
-
|
|
101
|
+
{"is_error": True},
|
|
102
102
|
)
|
|
103
103
|
|
|
104
104
|
try:
|
|
@@ -122,9 +122,16 @@ class CallToolTool(BaseTool):
|
|
|
122
122
|
session_token=self.session_token,
|
|
123
123
|
)
|
|
124
124
|
|
|
125
|
+
# Surface the *inner* tool's own error status (result.isError), not just
|
|
126
|
+
# transport-level failures — CallToolTool itself never raises for a
|
|
127
|
+
# rejected/invalid call, so this is the only place that signal exists.
|
|
125
128
|
artifact: dict[str, Any] | None = None
|
|
126
|
-
if app_embed is not None:
|
|
127
|
-
artifact = {
|
|
129
|
+
if app_embed is not None or result.isError:
|
|
130
|
+
artifact = {}
|
|
131
|
+
if app_embed is not None:
|
|
132
|
+
artifact["mcp_app_embed"] = app_embed
|
|
133
|
+
if result.isError:
|
|
134
|
+
artifact["is_error"] = True
|
|
128
135
|
|
|
129
136
|
return text, artifact
|
|
130
137
|
except AuthorizationNeededException:
|
|
@@ -138,4 +145,4 @@ class CallToolTool(BaseTool):
|
|
|
138
145
|
entry.server_name,
|
|
139
146
|
error_detail,
|
|
140
147
|
)
|
|
141
|
-
return f"Error calling tool '{name}': {error_detail}",
|
|
148
|
+
return f"Error calling tool '{name}': {error_detail}", {"is_error": True}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.0.89
|
|
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.89 → language_model_common-2.0.90}/languagemodelcommon/__init__.py
RENAMED
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/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.89 → language_model_common-2.0.90}/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
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/github/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/graph/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/http/__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
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/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
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/mocks/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/ocr/__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
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/pipeline/step.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/schema/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/state/__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
|
{language_model_common-2.0.89 → language_model_common-2.0.90}/languagemodelcommon/tools/__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
|