LLM-Bridge 2.2.1__tar.gz → 2.2.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.
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/PKG-INFO +1 -1
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/claude/non_stream_claude_client.py +1 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/claude/stream_claude_client.py +1 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/claude_client.py +3 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_client_factory/claude_client_factory.py +7 -1
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/resources/model_prices.json +2 -2
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/pyproject.toml +1 -1
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/uv.lock +1 -1
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/.gitattributes +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/.github/workflows/pypi-publish.yaml +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/.github/workflows/python-test.yaml +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/.gitignore +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/.run/batch.run.xml +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/.run/pytest.run.xml +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/.run/single.run.xml +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/LICENSE +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/README.md +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/chat_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/claude/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/claude/claude_response_handler.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/claude/claude_token_counter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/gemini/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/gemini/gemini_response_handler.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/gemini/gemini_token_counter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/gemini/non_stream_gemini_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/gemini/stream_gemini_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/http_error.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_completion/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_completion/non_stream_openai_completion_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_completion/stream_openai_completion_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_responses/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_responses/non_stream_openai_responses_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_responses/openai_responses_response_handler.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_responses/stream_openai_responses_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/xai/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/xai/non_stream_xai_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/xai/stream_xai_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/gemini_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/openai_completion_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/openai_responses_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/xai_client.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/chat_client_factory.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/chat_message_converter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/media_processor.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_client_factory/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_client_factory/gemini_client_factory.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_client_factory/openai_completion_client_factory.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_client_factory/openai_responses_client_factory.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_client_factory/xai_client_factory.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_message_converter/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_message_converter/claude_message_converter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_message_converter/gemini_message_converter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_message_converter/openai_completion_message_converter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_message_converter/openai_responses_message_converter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/model_message_converter/xai_message_converter.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/file_fetch.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/message_process/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/message_process/code_file_extensions.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/message_process/document_processor.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/message_process/file_type_checker.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/message_process/message_processor.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/model_prices.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/resources/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/chat_response.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/message.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/claude_message.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/gemini_message.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/openai_completion_message.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/openai_responses_message.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/xai_message.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/serializer.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/claude_message_converter_test.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/gemini_message_converter_test.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/message_factory.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/openai_completion_message_converter_test.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/openai_responses_message_converter_test.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/xai_message_converter_test.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/message_process/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/message_process/file_type_checker_test.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/model_prices_test.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/.env.example +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/batch/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/batch/batch.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/batch/config.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/keys.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/messages.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/single/__init__.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/single/config.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/single/single.py +0 -0
- {llm_bridge-2.2.1 → llm_bridge-2.2.2}/usage/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: LLM-Bridge
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: A library that wraps multiple LLM providers into a consistent API while using each provider's native SDK internally, supporting multimodal I/O, file processing, and stream output.
|
|
5
5
|
Author-email: windsnow1025 <windsnow1025@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from collections.abc import AsyncGenerator
|
|
2
|
+
from typing import Literal
|
|
2
3
|
|
|
3
4
|
import anthropic
|
|
4
5
|
from anthropic import Omit
|
|
@@ -23,6 +24,7 @@ class ClaudeClient(ChatClient):
|
|
|
23
24
|
tools: list[BetaToolUnionParam],
|
|
24
25
|
cache_control: BetaCacheControlEphemeralParam,
|
|
25
26
|
thinking: BetaThinkingConfigParam | Omit,
|
|
27
|
+
speed: Literal["standard", "fast"] | Omit,
|
|
26
28
|
output_config: BetaOutputConfigParam | Omit,
|
|
27
29
|
):
|
|
28
30
|
self.model = model
|
|
@@ -34,6 +36,7 @@ class ClaudeClient(ChatClient):
|
|
|
34
36
|
self.tools = tools
|
|
35
37
|
self.cache_control = cache_control
|
|
36
38
|
self.thinking = thinking
|
|
39
|
+
self.speed = speed
|
|
37
40
|
self.output_config = output_config
|
|
38
41
|
|
|
39
42
|
async def generate_non_stream_response(self) -> ChatResponse:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any
|
|
1
|
+
from typing import Any, Literal
|
|
2
2
|
|
|
3
3
|
import anthropic
|
|
4
4
|
from anthropic import Omit, transform_schema
|
|
@@ -62,6 +62,10 @@ async def create_claude_client(
|
|
|
62
62
|
thinking = BetaThinkingConfigAdaptiveParam(type="adaptive", display="summarized")
|
|
63
63
|
|
|
64
64
|
betas: list[AnthropicBetaParam] | Omit = omit
|
|
65
|
+
speed: Literal["standard", "fast"] | Omit = omit
|
|
66
|
+
if model in ["claude-opus-5-5"]:
|
|
67
|
+
betas = ["fast-mode-2026-02-01"]
|
|
68
|
+
speed = "fast"
|
|
65
69
|
|
|
66
70
|
tools: list[BetaToolUnionParam] = []
|
|
67
71
|
if web_search:
|
|
@@ -103,6 +107,7 @@ async def create_claude_client(
|
|
|
103
107
|
tools=tools,
|
|
104
108
|
cache_control=cache_control,
|
|
105
109
|
thinking=thinking,
|
|
110
|
+
speed=speed,
|
|
106
111
|
output_config=output_config,
|
|
107
112
|
)
|
|
108
113
|
else:
|
|
@@ -116,5 +121,6 @@ async def create_claude_client(
|
|
|
116
121
|
tools=tools,
|
|
117
122
|
cache_control=cache_control,
|
|
118
123
|
thinking=thinking,
|
|
124
|
+
speed=speed,
|
|
119
125
|
output_config=output_config,
|
|
120
126
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/openai_responses/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/xai/non_stream_xai_client.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/implementations/xai/stream_xai_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/openai_completion_client.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/client/model_client/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/chat_generate/chat_message_converter.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
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/message_process/code_file_extensions.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/logic/message_process/document_processor.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
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/openai_completion_message.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/llm_bridge/type/model_message/openai_responses_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.1 → llm_bridge-2.2.2}/tests/logic/chat_generate/model_message_converter/__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
|