open-edison 0.1.75rc1__py3-none-any.whl → 0.1.78__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: open-edison
3
- Version: 0.1.75rc1
3
+ Version: 0.1.78
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
  src/__init__.py,sha256=bEYMwBiuW9jzF07iWhas4Vb30EcpnqfpNfz_Q6yO1jU,209
2
2
  src/__main__.py,sha256=kQsaVyzRa_ESC57JpKDSQJAHExuXme0rM5beJsYxFeA,161
3
- src/cli.py,sha256=kr93TljS2y8E0N-L0Cga0udJpa1POo4bjmJbtg1WJ-s,4737
3
+ src/cli.py,sha256=FUq9t5jOjbhdkIX-NhTdiQQs9AZZCH3hi-qPen0XoBk,4740
4
4
  src/config.py,sha256=cFbdY55w2JimV6kLv3XDnxDORz533R-GkW0EmKfNqCc,11325
5
5
  src/config.pyi,sha256=FgehEGli8ZXSjGlANBgMGv5497q4XskQciOc1fUcxqM,2033
6
6
  src/events.py,sha256=KkhrQ9CE5-WBBCeDkUgdCZURKsXakNP3Kj3gP91NYQM,5046
@@ -8,7 +8,7 @@ src/mcp_stdio_capture.py,sha256=SpMnUqQYm207WpiEwBahUxq4JFG9bnmNkUQVotZX7cc,5458
8
8
  src/oauth_manager.py,sha256=qw87VxfRLfvd3YI1EhMmEJJ51N_WJsNpo17GUCvi13c,9971
9
9
  src/oauth_override.py,sha256=C7QS8sPA6JqJDiNZA0FGeXcB7jU-yYu-k8V56QVpsqU,393
10
10
  src/permissions.py,sha256=G_rCkVRC6yvNEoTe7g6gHXmmnwcmpS6vFScm7bI8oeY,14632
11
- src/server.py,sha256=aKXEZsw6DXL4mm8LPASPYXehkmjojXqILtb2apaAu8Q,47419
11
+ src/server.py,sha256=H1OtYZcZbOZbcFYb-RljRnDGU-lYrrSNBO2g6ZylnSw,47703
12
12
  src/single_user_mcp.py,sha256=ML-rBl1Nr2okzmLl2fLJYEvkphr-71n6eVtXpilmqio,24909
13
13
  src/telemetry.py,sha256=-RZPIjpI53zbsKmp-63REeZ1JirWHV5WvpSRa2nqZEk,11321
14
14
  src/vulture_whitelist.py,sha256=CjBOSsarbzbQt_9ATWc8MbruBsYX3hJVa_ysbRD9ZYM,135
@@ -34,8 +34,8 @@ src/middleware/session_tracking.py,sha256=_igPVEH_l2hQ5onLb5cdn7MOXNtSxr9USEdJkl
34
34
  src/setup_tui/__init__.py,sha256=mDFrQoiOtQOHc0sFfGKrNXVLEDeB1S0O5aISBVzfxYo,184
35
35
  src/setup_tui/main.py,sha256=9-m5p3HUnENGbfzd7Mk6LI5NjWtgMeXCWtFi65EBsVc,11257
36
36
  src/tools/io.py,sha256=hhc4pv3eUzYWSZ7BbThclxSMwWBQaGMoGsItIPf_pco,1047
37
- open_edison-0.1.75rc1.dist-info/METADATA,sha256=GIJlhjsOnfDcxfDtwzzMEK7hMt2csA43NN0_2mPOkLM,11996
38
- open_edison-0.1.75rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
39
- open_edison-0.1.75rc1.dist-info/entry_points.txt,sha256=YiGNm9x2I00hgT10HDyB4gxC1LcaV_mu8bXFjolu0Yw,171
40
- open_edison-0.1.75rc1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
41
- open_edison-0.1.75rc1.dist-info/RECORD,,
37
+ open_edison-0.1.78.dist-info/METADATA,sha256=f6pJn4hbv2eNSjdx_2qtwh6vWF1BJeohp9QToQppc3o,11993
38
+ open_edison-0.1.78.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
39
+ open_edison-0.1.78.dist-info/entry_points.txt,sha256=YiGNm9x2I00hgT10HDyB4gxC1LcaV_mu8bXFjolu0Yw,171
40
+ open_edison-0.1.78.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
41
+ open_edison-0.1.78.dist-info/RECORD,,
src/cli.py CHANGED
@@ -1,7 +1,6 @@
1
1
  """
2
2
  CLI entrypoint for Open Edison.
3
-
4
- Provides `open-edison` executable when installed via pip/uvx/pipx.
3
+ Provides the `open-edison` executable when installed via pip/uvx/pipx.
5
4
  """
6
5
 
7
6
  import argparse
src/server.py CHANGED
@@ -814,9 +814,15 @@ class OpenEdisonProxy:
814
814
  raise AttributeError(f"Proxy does not expose list method for {kind}")
815
815
 
816
816
  async def list_all() -> tuple[list[Any], list[Any], list[Any]]:
817
- tools = await _call_list("tools")
818
- resources = await _call_list("resources")
819
- prompts = await _call_list("prompts")
817
+ tools, resources, prompts = await asyncio.gather(
818
+ _call_list("tools"),
819
+ _call_list("resources"),
820
+ _call_list("prompts"),
821
+ return_exceptions=True,
822
+ )
823
+ tools = tools if isinstance(tools, list) else []
824
+ resources = resources if isinstance(resources, list) else []
825
+ prompts = prompts if isinstance(prompts, list) else []
820
826
  return tools, resources, prompts
821
827
 
822
828
  timeout = body.timeout_s if isinstance(body.timeout_s, (int | float)) else 20.0