mbxai 0.6.23__tar.gz → 0.6.24__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 (25) hide show
  1. {mbxai-0.6.23 → mbxai-0.6.24}/PKG-INFO +1 -1
  2. {mbxai-0.6.23 → mbxai-0.6.24}/pyproject.toml +1 -1
  3. {mbxai-0.6.23 → mbxai-0.6.24}/setup.py +1 -1
  4. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/__init__.py +1 -1
  5. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/mcp/server.py +1 -1
  6. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/tools/types.py +3 -18
  7. {mbxai-0.6.23 → mbxai-0.6.24}/uv.lock +1 -1
  8. {mbxai-0.6.23 → mbxai-0.6.24}/.gitignore +0 -0
  9. {mbxai-0.6.23 → mbxai-0.6.24}/LICENSE +0 -0
  10. {mbxai-0.6.23 → mbxai-0.6.24}/README.md +0 -0
  11. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/core.py +0 -0
  12. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/mcp/__init__.py +0 -0
  13. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/mcp/client.py +0 -0
  14. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/mcp/example.py +0 -0
  15. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/openrouter/__init__.py +0 -0
  16. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/openrouter/client.py +0 -0
  17. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/openrouter/config.py +0 -0
  18. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/openrouter/models.py +0 -0
  19. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/tools/__init__.py +0 -0
  20. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/tools/client.py +0 -0
  21. {mbxai-0.6.23 → mbxai-0.6.24}/src/mbxai/tools/example.py +0 -0
  22. {mbxai-0.6.23 → mbxai-0.6.24}/tests/test_core.py +0 -0
  23. {mbxai-0.6.23 → mbxai-0.6.24}/tests/test_mcp.py +0 -0
  24. {mbxai-0.6.23 → mbxai-0.6.24}/tests/test_openrouter.py +0 -0
  25. {mbxai-0.6.23 → mbxai-0.6.24}/tests/test_tools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mbxai
3
- Version: 0.6.23
3
+ Version: 0.6.24
4
4
  Summary: MBX AI SDK
5
5
  Project-URL: Homepage, https://www.mibexx.de
6
6
  Project-URL: Documentation, https://www.mibexx.de
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "mbxai"
7
- version = "0.6.23"
7
+ version = "0.6.24"
8
8
  authors = [
9
9
  { name = "MBX AI" }
10
10
  ]
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="mbxai",
5
- version="0.6.23",
5
+ version="0.6.24",
6
6
  author="MBX AI",
7
7
  description="MBX AI SDK",
8
8
  long_description=open("README.md").read(),
@@ -2,4 +2,4 @@
2
2
  MBX AI package.
3
3
  """
4
4
 
5
- __version__ = "0.6.23"
5
+ __version__ = "0.6.24"
@@ -31,7 +31,7 @@ class MCPServer:
31
31
  self.app = FastAPI(
32
32
  title=self.name,
33
33
  description=self.description,
34
- version="0.6.23",
34
+ version="0.6.24",
35
35
  )
36
36
 
37
37
  # Initialize MCP server
@@ -63,17 +63,12 @@ def convert_to_strict_schema(schema: dict[str, Any], strict: bool = True, keep_i
63
63
  # Copy over input properties
64
64
  if "properties" in input_schema:
65
65
  for prop_name, prop in input_schema["properties"].items():
66
- # Create a new property object with required fields
66
+ # Create a new property object with only allowed fields
67
67
  new_prop = {
68
68
  "type": prop.get("type", "string"),
69
69
  "description": prop.get("description", f"The {prop_name} parameter")
70
70
  }
71
71
 
72
- # Copy over any additional fields that might be useful
73
- for key, value in prop.items():
74
- if key not in new_prop:
75
- new_prop[key] = value
76
-
77
72
  input_prop_schema["properties"][prop_name] = new_prop
78
73
  logger.info(f"Added property {prop_name}: {json.dumps(new_prop, indent=2)}")
79
74
 
@@ -93,17 +88,12 @@ def convert_to_strict_schema(schema: dict[str, Any], strict: bool = True, keep_i
93
88
  # If not keeping input wrapper, use input schema directly
94
89
  if "properties" in input_schema:
95
90
  for prop_name, prop in input_schema["properties"].items():
96
- # Create a new property object with required fields
91
+ # Create a new property object with only allowed fields
97
92
  new_prop = {
98
93
  "type": prop.get("type", "string"),
99
94
  "description": prop.get("description", f"The {prop_name} parameter")
100
95
  }
101
96
 
102
- # Copy over any additional fields that might be useful
103
- for key, value in prop.items():
104
- if key not in new_prop:
105
- new_prop[key] = value
106
-
107
97
  strict_schema["properties"][prop_name] = new_prop
108
98
  logger.info(f"Added property {prop_name}: {json.dumps(new_prop, indent=2)}")
109
99
 
@@ -115,17 +105,12 @@ def convert_to_strict_schema(schema: dict[str, Any], strict: bool = True, keep_i
115
105
  # If no input wrapper, use the schema as is
116
106
  if "properties" in schema:
117
107
  for prop_name, prop in schema["properties"].items():
118
- # Create a new property object with required fields
108
+ # Create a new property object with only allowed fields
119
109
  new_prop = {
120
110
  "type": prop.get("type", "string"),
121
111
  "description": prop.get("description", f"The {prop_name} parameter")
122
112
  }
123
113
 
124
- # Copy over any additional fields that might be useful
125
- for key, value in prop.items():
126
- if key not in new_prop:
127
- new_prop[key] = value
128
-
129
114
  strict_schema["properties"][prop_name] = new_prop
130
115
  logger.info(f"Added property {prop_name}: {json.dumps(new_prop, indent=2)}")
131
116
 
@@ -446,7 +446,7 @@ wheels = [
446
446
 
447
447
  [[package]]
448
448
  name = "mbxai"
449
- version = "0.6.23"
449
+ version = "0.6.24"
450
450
  source = { editable = "." }
451
451
  dependencies = [
452
452
  { name = "fastapi" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes