mbxai 0.5.2__py3-none-any.whl → 0.5.3__py3-none-any.whl

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.
mbxai/__init__.py CHANGED
@@ -2,4 +2,4 @@
2
2
  MBX AI package.
3
3
  """
4
4
 
5
- __version__ = "0.5.2"
5
+ __version__ = "0.5.3"
mbxai/mcp/server.py CHANGED
@@ -31,7 +31,7 @@ class MCPServer:
31
31
  self.app = FastAPI(
32
32
  title=self.name,
33
33
  description=self.description,
34
- version="0.5.2",
34
+ version="0.5.3",
35
35
  )
36
36
 
37
37
  # Initialize MCP server
@@ -79,12 +79,15 @@ class OpenRouterClient:
79
79
  OpenRouterAPIError: For API errors
80
80
  OpenRouterError: For other errors
81
81
  """
82
+ error_msg = str(error)
83
+ logger.error(f"API error during {operation}: {error_msg}")
84
+
82
85
  if isinstance(error, OpenAIError):
83
- raise OpenRouterAPIError(f"API error during {operation}: {str(error)}")
84
- elif "Connection" in str(error):
85
- raise OpenRouterConnectionError(f"Connection error during {operation}: {str(error)}")
86
+ raise OpenRouterAPIError(f"API error during {operation}: {error_msg}")
87
+ elif "Connection" in error_msg:
88
+ raise OpenRouterConnectionError(f"Connection error during {operation}: {error_msg}")
86
89
  else:
87
- raise OpenRouterError(f"Error during {operation}: {str(error)}")
90
+ raise OpenRouterError(f"Error during {operation}: {error_msg}")
88
91
 
89
92
  @property
90
93
  def model(self) -> str:
@@ -137,6 +140,9 @@ class OpenRouterClient:
137
140
  kwargs.pop("parse", None) # Remove parse parameter if present
138
141
 
139
142
  logger.debug(f"Making chat completion request with model {model or self.model}")
143
+ logger.debug(f"Request messages: {messages}")
144
+ logger.debug(f"Request kwargs: {kwargs}")
145
+
140
146
  response = self._client.chat.completions.create(
141
147
  model=str(model or self.model),
142
148
  messages=messages,
@@ -147,14 +153,27 @@ class OpenRouterClient:
147
153
  # Log response structure for debugging
148
154
  logger.debug(f"Response type: {type(response)}")
149
155
  logger.debug(f"Response attributes: {dir(response)}")
156
+ logger.debug(f"Raw response: {response}")
157
+
158
+ # Handle streaming response differently
159
+ if stream:
160
+ return response
150
161
 
151
162
  # Validate response structure
152
- if not hasattr(response, 'choices') or not response.choices:
153
- logger.error("Invalid response: missing choices")
154
- raise OpenRouterError("Invalid response: missing choices")
163
+ if response is None:
164
+ logger.error("Received None response from API")
165
+ raise OpenRouterError("Received None response from API")
166
+
167
+ if not hasattr(response, 'choices'):
168
+ logger.error(f"Invalid response: missing choices attribute. Response: {response}")
169
+ raise OpenRouterError("Invalid response: missing choices attribute")
170
+
171
+ if not response.choices:
172
+ logger.error(f"Invalid response: empty choices list. Response: {response}")
173
+ raise OpenRouterError("Invalid response: empty choices list")
155
174
 
156
175
  if not hasattr(response.choices[0], 'message'):
157
- logger.error("Invalid response: missing message in first choice")
176
+ logger.error(f"Invalid response: missing message in first choice. Response: {response}")
158
177
  raise OpenRouterError("Invalid response: missing message in first choice")
159
178
 
160
179
  logger.debug(f"Response message: {response.choices[0].message}")
@@ -162,6 +181,8 @@ class OpenRouterClient:
162
181
 
163
182
  except Exception as e:
164
183
  logger.error(f"Error in chat completion: {str(e)}")
184
+ if isinstance(e, OpenRouterError):
185
+ raise
165
186
  self._handle_api_error("chat completion", e)
166
187
 
167
188
  def chat_completion_parse(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mbxai
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: MBX AI SDK
5
5
  Project-URL: Homepage, https://www.mibexx.de
6
6
  Project-URL: Documentation, https://www.mibexx.de
@@ -1,18 +1,18 @@
1
- mbxai/__init__.py,sha256=fQrXtVudyVaDP1s-lHxflDN7wNf2J4SrZHqDeDyOthk,47
1
+ mbxai/__init__.py,sha256=ujlMlgvQNlXgDy1c5g83G6iKTxzV6_pMRXKUjX-pNRs,47
2
2
  mbxai/core.py,sha256=WMvmU9TTa7M_m-qWsUew4xH8Ul6xseCZ2iBCXJTW-Bs,196
3
3
  mbxai/mcp/__init__.py,sha256=_ek9iYdYqW5saKetj4qDci11jxesQDiHPJRpHMKkxgU,175
4
4
  mbxai/mcp/client.py,sha256=CYm_5HiB3hZUYfahzM_senilPgH2oZwSevf2up1JTF0,5506
5
5
  mbxai/mcp/example.py,sha256=oaol7AvvZnX86JWNz64KvPjab5gg1VjVN3G8eFSzuaE,2350
6
- mbxai/mcp/server.py,sha256=rEqGWMhaWDxutwC8Eq7djq4EFH4MH8RMdZIEAYIwquc,3462
6
+ mbxai/mcp/server.py,sha256=Kn4zY_aBiQMfcUAOnWehhITB_5usSYZi8zSNU4QhLMM,3462
7
7
  mbxai/openrouter/__init__.py,sha256=Ito9Qp_B6q-RLGAQcYyTJVWwR2YAZvNqE-HIYXxhtD8,298
8
- mbxai/openrouter/client.py,sha256=05_brXaQwrx_kBJPRwh5uiCHnWbgixI3nQWmx9xare0,9916
8
+ mbxai/openrouter/client.py,sha256=XLRMRNRJH96Jl6_af0KkzRDdLJnixh8I3RvEEcFuXyg,10840
9
9
  mbxai/openrouter/config.py,sha256=MTX_YHsFrM7JYqovJSkEF6JzVyIdajeI5Dja2CALH58,2874
10
10
  mbxai/openrouter/models.py,sha256=b3IjjtZAjeGOf2rLsdnCD1HacjTnS8jmv_ZXorc-KJQ,2604
11
11
  mbxai/tools/__init__.py,sha256=QUFaXhDm-UKcuAtT1rbKzhBkvyRBVokcQIOf9cxIuwc,160
12
12
  mbxai/tools/client.py,sha256=PDkDTvpwAs8-F8CcF6wjjq2Z-VhYpjA9RXTK64Rwa3Y,5418
13
13
  mbxai/tools/example.py,sha256=1HgKK39zzUuwFbnp3f0ThyWVfA_8P28PZcTwaUw5K78,2232
14
14
  mbxai/tools/types.py,sha256=ZHnmiDXpH6wZhiZ-Tj9PiPMJaW1aiDAq5It2gpiwNp0,831
15
- mbxai-0.5.2.dist-info/METADATA,sha256=jB1PQS8nFzupdjxuatX7Iun3JpSubaK5LZ785zbl_iE,4107
16
- mbxai-0.5.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
17
- mbxai-0.5.2.dist-info/licenses/LICENSE,sha256=hEyhc4FxwYo3NQ40yNgZ7STqwVk-1_XcTXOnAPbGJAw,1069
18
- mbxai-0.5.2.dist-info/RECORD,,
15
+ mbxai-0.5.3.dist-info/METADATA,sha256=HNDLbRGqN3rT-m0kA7DGI5fWQUH8uGiNh70xzriM6Bs,4107
16
+ mbxai-0.5.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
17
+ mbxai-0.5.3.dist-info/licenses/LICENSE,sha256=hEyhc4FxwYo3NQ40yNgZ7STqwVk-1_XcTXOnAPbGJAw,1069
18
+ mbxai-0.5.3.dist-info/RECORD,,
File without changes