LLM-Bridge 1.15.1__tar.gz → 1.15.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.
Files changed (73) hide show
  1. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/PKG-INFO +1 -1
  2. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_client_factory/openai_client_factory.py +2 -1
  3. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/resources/model_prices.json +18 -0
  4. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/pyproject.toml +1 -1
  5. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/usage/main.py +7 -6
  6. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/uv.lock +1 -1
  7. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/.gitattributes +0 -0
  8. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/.github/workflows/python-publish.yml +0 -0
  9. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/.gitignore +0 -0
  10. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/LICENSE +0 -0
  11. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/MANIFEST.in +0 -0
  12. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/README.md +0 -0
  13. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/__init__.py +0 -0
  14. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/__init__.py +0 -0
  15. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/chat_client.py +0 -0
  16. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/__init__.py +0 -0
  17. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/claude/__init__.py +0 -0
  18. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/claude/claude_response_handler.py +0 -0
  19. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/claude/claude_token_counter.py +0 -0
  20. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/claude/non_stream_claude_client.py +0 -0
  21. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/claude/stream_claude_client.py +0 -0
  22. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/gemini/__init__.py +0 -0
  23. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/gemini/gemini_response_handler.py +0 -0
  24. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/gemini/gemini_token_counter.py +0 -0
  25. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/gemini/non_stream_gemini_client.py +0 -0
  26. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/gemini/stream_gemini_client.py +0 -0
  27. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/openai/__init__.py +0 -0
  28. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/openai/non_stream_openai_client.py +0 -0
  29. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/openai/non_stream_openai_responses_client.py +0 -0
  30. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/openai/openai_token_couter.py +0 -0
  31. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/openai/steam_openai_responses_client.py +0 -0
  32. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/openai/stream_openai_client.py +0 -0
  33. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/implementations/printing_status.py +0 -0
  34. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/model_client/__init__.py +0 -0
  35. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/model_client/claude_client.py +0 -0
  36. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/model_client/gemini_client.py +0 -0
  37. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/client/model_client/openai_client.py +0 -0
  38. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/__init__.py +0 -0
  39. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/__init__.py +0 -0
  40. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/chat_client_factory.py +0 -0
  41. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/chat_message_converter.py +0 -0
  42. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/media_processor.py +0 -0
  43. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_client_factory/__init__.py +0 -0
  44. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_client_factory/claude_client_factory.py +0 -0
  45. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_client_factory/gemini_client_factory.py +0 -0
  46. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_client_factory/schema_converter.py +0 -0
  47. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_message_converter/__init__.py +0 -0
  48. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_message_converter/claude_message_converter.py +0 -0
  49. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_message_converter/gemini_message_converter.py +0 -0
  50. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_message_converter/openai_message_converter.py +0 -0
  51. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/chat_generate/model_message_converter/openai_responses_message_converter.py +0 -0
  52. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/file_fetch.py +0 -0
  53. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/message_preprocess/__init__.py +0 -0
  54. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/message_preprocess/code_file_extensions.py +0 -0
  55. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/message_preprocess/document_processor.py +0 -0
  56. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/message_preprocess/file_type_checker.py +0 -0
  57. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/message_preprocess/message_preprocessor.py +0 -0
  58. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/logic/model_prices.py +0 -0
  59. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/resources/__init__.py +0 -0
  60. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/__init__.py +0 -0
  61. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/chat_response.py +0 -0
  62. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/message.py +0 -0
  63. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/model_message/__init__.py +0 -0
  64. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/model_message/claude_message.py +0 -0
  65. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/model_message/gemini_message.py +0 -0
  66. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/model_message/openai_message.py +0 -0
  67. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/model_message/openai_responses_message.py +0 -0
  68. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/llm_bridge/type/serializer.py +0 -0
  69. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/tests/__init__.py +0 -0
  70. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/tests/chat_client_factory_test.py +0 -0
  71. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/tests/message_preprocessor_test.py +0 -0
  72. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/usage/.env.example +0 -0
  73. {llm_bridge-1.15.1 → llm_bridge-1.15.2}/usage/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LLM-Bridge
3
- Version: 1.15.1
3
+ Version: 1.15.2
4
4
  Summary: A Bridge for LLMs
5
5
  Author-email: windsnow1025 <windsnow1025@gmail.com>
6
6
  License-Expression: MIT
@@ -65,7 +65,7 @@ async def create_openai_client(
65
65
  tools = []
66
66
  reasoning = None
67
67
 
68
- if model not in ["gpt-5-pro", "gpt-5.2-pro"]:
68
+ if model not in ["gpt-5-pro", "gpt-5.2-pro"] and "codex" not in model:
69
69
  if code_execution:
70
70
  tools.append(
71
71
  CodeInterpreter(
@@ -87,6 +87,7 @@ async def create_openai_client(
87
87
  effort="high",
88
88
  summary="auto",
89
89
  )
90
+ if re.match(r"gpt-5.*", model) and "codex" not in model:
90
91
  tools.append(
91
92
  ImageGeneration(
92
93
  type="image_generation",
@@ -59,12 +59,30 @@
59
59
  "input": 1.25,
60
60
  "output": 10
61
61
  },
62
+ {
63
+ "apiType": "OpenAI",
64
+ "model": "gpt-5.1-codex-max",
65
+ "input": 1.25,
66
+ "output": 10
67
+ },
68
+ {
69
+ "apiType": "OpenAI",
70
+ "model": "gpt-5.1-codex",
71
+ "input": 1.25,
72
+ "output": 10
73
+ },
62
74
  {
63
75
  "apiType": "OpenAI",
64
76
  "model": "gpt-5",
65
77
  "input": 1.25,
66
78
  "output": 10
67
79
  },
80
+ {
81
+ "apiType": "OpenAI",
82
+ "model": "gpt-5-codex",
83
+ "input": 1.25,
84
+ "output": 10
85
+ },
68
86
  {
69
87
  "apiType": "OpenAI",
70
88
  "model": "gpt-5-mini",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "LLM-Bridge"
7
- version = "1.15.1"
7
+ version = "1.15.2"
8
8
  dependencies = [
9
9
  "fastapi",
10
10
  "httpx",
@@ -101,8 +101,8 @@ messages = [
101
101
  # Content(type=ContentType.Text, data="What's the weather in NYC today?"),
102
102
 
103
103
  # Image Understanding
104
- # Content(type=ContentType.File, data="https://www.gstatic.com/webp/gallery3/1.png"),
105
- # Content(type=ContentType.Text, data="What is in this image?"),
104
+ Content(type=ContentType.File, data="https://www.gstatic.com/webp/gallery3/1.png"),
105
+ Content(type=ContentType.Text, data="What is in this image?"),
106
106
 
107
107
  # Image Generation
108
108
  # Content(type=ContentType.Text, data="Please generate an image of a cat."),
@@ -114,7 +114,7 @@ messages = [
114
114
  # Content(type=ContentType.Text, data="What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50."),
115
115
 
116
116
  # File Output
117
- Content(type=ContentType.Text, data="Create a matplotlib visualization and save it as output.png"),
117
+ # Content(type=ContentType.Text, data="Create a matplotlib visualization and save it as output.png"),
118
118
 
119
119
  # Structured Output
120
120
  # Content(type=ContentType.Text, data="Please generate a product."),
@@ -138,19 +138,20 @@ messages = [
138
138
  # model = "gpt-5-pro"
139
139
  # model = "gpt-5"
140
140
  # model = "gpt-4.1"
141
+ model = "gpt-5-codex"
141
142
  # model = "gemini-3-pro-preview"
142
143
  # model = "gemini-3-pro-image-preview"
143
144
  # model = "gemini-3-flash-preview"
144
145
  # model = "grok-4-1-fast-reasoning"
145
- model = "claude-sonnet-4-5"
146
+ # model = "claude-sonnet-4-5"
146
147
  # model = "claude-opus-4-5"
147
148
  # api_type = "Gemini-Vertex"
148
149
  # api_type = "Gemini-Free"
149
150
  # api_type = "Gemini-Paid"
150
- # api_type = "OpenAI"
151
+ api_type = "OpenAI"
151
152
  # api_type = "OpenAI-Azure"
152
153
  # api_type = "OpenAI-GitHub"
153
- api_type = "Claude"
154
+ # api_type = "Claude"
154
155
  # api_type = "Grok"
155
156
  temperature = 0
156
157
  stream = True
@@ -357,7 +357,7 @@ wheels = [
357
357
 
358
358
  [[package]]
359
359
  name = "llm-bridge"
360
- version = "1.15.1"
360
+ version = "1.15.2"
361
361
  source = { editable = "." }
362
362
  dependencies = [
363
363
  { name = "anthropic" },
File without changes
File without changes
File without changes
File without changes
File without changes