open-edison 0.1.78__tar.gz → 0.1.79__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 (65) hide show
  1. {open_edison-0.1.78 → open_edison-0.1.79}/PKG-INFO +1 -1
  2. {open_edison-0.1.78 → open_edison-0.1.79}/pyproject.toml +1 -1
  3. {open_edison-0.1.78 → open_edison-0.1.79}/src/single_user_mcp.py +10 -6
  4. {open_edison-0.1.78 → open_edison-0.1.79}/.gitignore +0 -0
  5. {open_edison-0.1.78 → open_edison-0.1.79}/LICENSE +0 -0
  6. {open_edison-0.1.78 → open_edison-0.1.79}/README.md +0 -0
  7. {open_edison-0.1.78 → open_edison-0.1.79}/config.json +0 -0
  8. {open_edison-0.1.78 → open_edison-0.1.79}/desktop_ext/README.md +0 -0
  9. {open_edison-0.1.78 → open_edison-0.1.79}/docs/README.md +0 -0
  10. {open_edison-0.1.78 → open_edison-0.1.79}/docs/architecture/single_user_design.md +0 -0
  11. {open_edison-0.1.78 → open_edison-0.1.79}/docs/core/configuration.md +0 -0
  12. {open_edison-0.1.78 → open_edison-0.1.79}/docs/core/project_structure.md +0 -0
  13. {open_edison-0.1.78 → open_edison-0.1.79}/docs/core/proxy_usage.md +0 -0
  14. {open_edison-0.1.78 → open_edison-0.1.79}/docs/deployment/docker.md +0 -0
  15. {open_edison-0.1.78 → open_edison-0.1.79}/docs/deployment/local.md +0 -0
  16. {open_edison-0.1.78 → open_edison-0.1.79}/docs/development/contributing.md +0 -0
  17. {open_edison-0.1.78 → open_edison-0.1.79}/docs/development/development_guide.md +0 -0
  18. {open_edison-0.1.78 → open_edison-0.1.79}/docs/development/testing.md +0 -0
  19. {open_edison-0.1.78 → open_edison-0.1.79}/docs/quick-reference/api_reference.md +0 -0
  20. {open_edison-0.1.78 → open_edison-0.1.79}/docs/quick-reference/config_quick_start.md +0 -0
  21. {open_edison-0.1.78 → open_edison-0.1.79}/docs/testing_status.md +0 -0
  22. {open_edison-0.1.78 → open_edison-0.1.79}/hatch_build.py +0 -0
  23. {open_edison-0.1.78 → open_edison-0.1.79}/installation_test/README.md +0 -0
  24. {open_edison-0.1.78 → open_edison-0.1.79}/prompt_permissions.json +0 -0
  25. {open_edison-0.1.78 → open_edison-0.1.79}/resource_permissions.json +0 -0
  26. {open_edison-0.1.78 → open_edison-0.1.79}/src/__init__.py +0 -0
  27. {open_edison-0.1.78 → open_edison-0.1.79}/src/__main__.py +0 -0
  28. {open_edison-0.1.78 → open_edison-0.1.79}/src/cli.py +0 -0
  29. {open_edison-0.1.78 → open_edison-0.1.79}/src/config.py +0 -0
  30. {open_edison-0.1.78 → open_edison-0.1.79}/src/config.pyi +0 -0
  31. {open_edison-0.1.78 → open_edison-0.1.79}/src/events.py +0 -0
  32. {open_edison-0.1.78 → open_edison-0.1.79}/src/frontend_dist/assets/index-D05VN_1l.css +0 -0
  33. {open_edison-0.1.78 → open_edison-0.1.79}/src/frontend_dist/assets/index-D6ziuTsl.js +0 -0
  34. {open_edison-0.1.78 → open_edison-0.1.79}/src/frontend_dist/index.html +0 -0
  35. {open_edison-0.1.78 → open_edison-0.1.79}/src/frontend_dist/sw.js +0 -0
  36. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/__init__.py +0 -0
  37. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/__main__.py +0 -0
  38. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/api.py +0 -0
  39. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/cli.py +0 -0
  40. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/export_cli.py +0 -0
  41. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/exporters.py +0 -0
  42. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/import_api.py +0 -0
  43. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/importers.py +0 -0
  44. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/merge.py +0 -0
  45. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/parsers.py +0 -0
  46. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/paths.py +0 -0
  47. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/quick_cli.py +0 -0
  48. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_importer/types.py +0 -0
  49. {open_edison-0.1.78 → open_edison-0.1.79}/src/mcp_stdio_capture.py +0 -0
  50. {open_edison-0.1.78 → open_edison-0.1.79}/src/middleware/data_access_tracker.py +0 -0
  51. {open_edison-0.1.78 → open_edison-0.1.79}/src/middleware/session_tracking.py +0 -0
  52. {open_edison-0.1.78 → open_edison-0.1.79}/src/oauth_manager.py +0 -0
  53. {open_edison-0.1.78 → open_edison-0.1.79}/src/oauth_override.py +0 -0
  54. {open_edison-0.1.78 → open_edison-0.1.79}/src/permissions.py +0 -0
  55. {open_edison-0.1.78 → open_edison-0.1.79}/src/server.py +0 -0
  56. {open_edison-0.1.78 → open_edison-0.1.79}/src/setup_tui/__init__.py +0 -0
  57. {open_edison-0.1.78 → open_edison-0.1.79}/src/setup_tui/main.py +0 -0
  58. {open_edison-0.1.78 → open_edison-0.1.79}/src/telemetry.py +0 -0
  59. {open_edison-0.1.78 → open_edison-0.1.79}/src/tools/io.py +0 -0
  60. {open_edison-0.1.78 → open_edison-0.1.79}/src/vulture_whitelist.py +0 -0
  61. {open_edison-0.1.78 → open_edison-0.1.79}/test_config/config.json +0 -0
  62. {open_edison-0.1.78 → open_edison-0.1.79}/test_config/prompt_permissions.json +0 -0
  63. {open_edison-0.1.78 → open_edison-0.1.79}/test_config/resource_permissions.json +0 -0
  64. {open_edison-0.1.78 → open_edison-0.1.79}/test_config/tool_permissions.json +0 -0
  65. {open_edison-0.1.78 → open_edison-0.1.79}/tool_permissions.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: open-edison
3
- Version: 0.1.78
3
+ Version: 0.1.79
4
4
  Summary: Open-source MCP security, aggregation, and monitoring. Single-user, self-hosted MCP proxy.
5
5
  Author-email: Hugo Berg <hugo@edison.watch>
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "open-edison"
3
- version = "0.1.78"
3
+ version = "0.1.79"
4
4
  description = "Open-source MCP security, aggregation, and monitoring. Single-user, self-hosted MCP proxy."
5
5
  readme = "README.md"
6
6
  authors = [
@@ -115,10 +115,10 @@ class SingleUserMCP(FastMCP[Any]):
115
115
  )
116
116
 
117
117
  # Validate and normalize all results
118
- tools = self._validate_server_result(tools, "tools", server.name)
119
- resources = self._validate_server_result(resources, "resources", server.name)
120
- templates = self._validate_server_result(templates, "templates", server.name)
121
- prompts = self._validate_server_result(prompts, "prompts", server.name)
118
+ tools = self._validate_server_result(tools, "tools", prefix)
119
+ resources = self._validate_server_result(resources, "resources", prefix)
120
+ templates = self._validate_server_result(templates, "templates", prefix)
121
+ prompts = self._validate_server_result(prompts, "prompts", prefix)
122
122
 
123
123
  # Import all components
124
124
  self._import_tools(tools, prefix)
@@ -132,9 +132,13 @@ class SingleUserMCP(FastMCP[Any]):
132
132
  self, result: Any, result_type: str, server_name: str
133
133
  ) -> dict[str, Any]:
134
134
  """Validate and normalize server result from asyncio.gather with return_exceptions=True."""
135
+ if isinstance(result, RuntimeError):
136
+ log.debug(f'Server {server_name} does not appear to contain "{result_type}"')
137
+ return {}
135
138
  if isinstance(result, Exception):
136
- log.warning(f'Server {server_name} does not appear to contain "{result_type}"')
137
- log.debug(f"Server {server_name} _validate_server_result exception result: {result}")
139
+ log.error(
140
+ f'Server {server_name} received and unexpected exception when feetching "{result_type}". result: {result}'
141
+ )
138
142
  return {}
139
143
  if not isinstance(result, dict):
140
144
  log.warning(f"Server {server_name} returned an unexpected response")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes