hanzo-mcp 0.8.1__py3-none-any.whl → 0.8.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.
Potentially problematic release.
This version of hanzo-mcp might be problematic. Click here for more details.
- hanzo_mcp/__init__.py +14 -1
- hanzo_mcp/bridge.py +484 -0
- hanzo_mcp/compute_nodes.py +192 -0
- hanzo_mcp/config/settings.py +11 -0
- hanzo_mcp/core/base_agent.py +521 -0
- hanzo_mcp/core/model_registry.py +436 -0
- hanzo_mcp/dev_server.py +12 -0
- hanzo_mcp/server.py +18 -2
- hanzo_mcp/tools/__init__.py +61 -46
- hanzo_mcp/tools/agent/__init__.py +19 -35
- hanzo_mcp/tools/agent/cli_tools.py +544 -0
- hanzo_mcp/tools/agent/unified_cli_tools.py +259 -0
- hanzo_mcp/tools/common/batch_tool.py +2 -0
- hanzo_mcp/tools/common/context.py +3 -1
- hanzo_mcp/tools/config/config_tool.py +121 -9
- hanzo_mcp/tools/filesystem/__init__.py +18 -0
- hanzo_mcp/tools/llm/__init__.py +44 -16
- hanzo_mcp/tools/llm/llm_tool.py +13 -0
- hanzo_mcp/tools/llm/llm_unified.py +911 -0
- hanzo_mcp/tools/shell/auto_background.py +24 -0
- {hanzo_mcp-0.8.1.dist-info → hanzo_mcp-0.8.3.dist-info}/METADATA +3 -3
- {hanzo_mcp-0.8.1.dist-info → hanzo_mcp-0.8.3.dist-info}/RECORD +25 -18
- {hanzo_mcp-0.8.1.dist-info → hanzo_mcp-0.8.3.dist-info}/WHEEL +0 -0
- {hanzo_mcp-0.8.1.dist-info → hanzo_mcp-0.8.3.dist-info}/entry_points.txt +0 -0
- {hanzo_mcp-0.8.1.dist-info → hanzo_mcp-0.8.3.dist-info}/top_level.txt +0 -0
|
@@ -49,6 +49,30 @@ class AutoBackgroundExecutor:
|
|
|
49
49
|
Returns:
|
|
50
50
|
Tuple of (output/status, was_backgrounded, process_id)
|
|
51
51
|
"""
|
|
52
|
+
# Fast path for tests/offline: run synchronously
|
|
53
|
+
import os
|
|
54
|
+
|
|
55
|
+
if os.getenv("HANZO_MCP_FAST_TESTS") == "1":
|
|
56
|
+
import subprocess
|
|
57
|
+
|
|
58
|
+
try:
|
|
59
|
+
proc = subprocess.run(
|
|
60
|
+
cmd_args,
|
|
61
|
+
cwd=str(cwd) if cwd else None,
|
|
62
|
+
env=env,
|
|
63
|
+
capture_output=True,
|
|
64
|
+
text=True,
|
|
65
|
+
)
|
|
66
|
+
if proc.returncode != 0:
|
|
67
|
+
return (
|
|
68
|
+
f"Command failed with exit code {proc.returncode}:\n{proc.stdout}{proc.stderr}",
|
|
69
|
+
False,
|
|
70
|
+
None,
|
|
71
|
+
)
|
|
72
|
+
return proc.stdout, False, None
|
|
73
|
+
except Exception as e: # pragma: no cover
|
|
74
|
+
return f"Error executing command: {e}", False, None
|
|
75
|
+
|
|
52
76
|
# Generate process ID
|
|
53
77
|
process_id = f"{tool_name}_{uuid.uuid4().hex[:8]}"
|
|
54
78
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hanzo-mcp
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.3
|
|
4
4
|
Summary: The Zen of Hanzo MCP: One server to rule them all. The ultimate MCP that orchestrates all others.
|
|
5
5
|
Author-email: Hanzo Industries Inc <dev@hanzo.ai>
|
|
6
6
|
License: MIT
|
|
@@ -24,8 +24,8 @@ Requires-Dist: grep-ast>=0.8.1
|
|
|
24
24
|
Requires-Dist: bashlex>=0.18
|
|
25
25
|
Requires-Dist: libtmux>=0.39.0
|
|
26
26
|
Requires-Dist: nbformat>=5.10.4
|
|
27
|
-
Requires-Dist: psutil>=6.
|
|
28
|
-
Requires-Dist: pydantic>=2.
|
|
27
|
+
Requires-Dist: psutil>=6.0.0
|
|
28
|
+
Requires-Dist: pydantic>=2.9.2
|
|
29
29
|
Requires-Dist: pydantic-settings>=2.7.0
|
|
30
30
|
Requires-Dist: typing-extensions>=4.13.0
|
|
31
31
|
Requires-Dist: watchdog>=6.0.0
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
hanzo_mcp/__init__.py,sha256=
|
|
1
|
+
hanzo_mcp/__init__.py,sha256=Ss-yFd60vU_iNfOJYkjiXpF5F2H98d3JdLpdWJ-fM90,868
|
|
2
2
|
hanzo_mcp/__main__.py,sha256=EvDEygOjvP6S_CrZSL8E4qgGUcO_xfmzEIbsLEHPaK4,130
|
|
3
|
+
hanzo_mcp/bridge.py,sha256=ewZprfl5Hbf2LXxQf4KazMy7pOiPVx_paX4rZ0NhgDU,14995
|
|
3
4
|
hanzo_mcp/cli.py,sha256=lGsPYN-Msa-5jcxUBATS0B24MSJyTqvfXPaIpjoZW_Q,13378
|
|
4
5
|
hanzo_mcp/cli_enhanced.py,sha256=Nr4sXJ-dK9jkQ4BRDdwotXUwakL8CGme-FlYNPqCq0U,16022
|
|
5
6
|
hanzo_mcp/cli_plugin.py,sha256=nQVn0sYP1eDaz61QbHwT6BBRPfYZb1eH1HJ1l5QkHsw,3281
|
|
6
|
-
hanzo_mcp/
|
|
7
|
-
hanzo_mcp/
|
|
7
|
+
hanzo_mcp/compute_nodes.py,sha256=mFHQdxyo_SEeiwrQaPg-V9q2xmMRQiO7X_NePrWhSZ4,6315
|
|
8
|
+
hanzo_mcp/dev_server.py,sha256=AiYHQ1-EwzpVqD9tJN5y_LQeJdy3_uDzffPsZV3GGRM,8317
|
|
9
|
+
hanzo_mcp/server.py,sha256=Ad3S5s48FQpmqNS_3Ql_pAXxt2ST0omLEauoHy7AURs,10408
|
|
8
10
|
hanzo_mcp/server_enhanced.py,sha256=bBrObdysyda6Ggf-E3aL7UwktUNzYO_HG1V45Av5r-E,2003
|
|
9
11
|
hanzo_mcp/types.py,sha256=4YjIJmM7byrsY4eN10pbhIUpFMQ-fZrpK6scgt-U9dU,648
|
|
10
12
|
hanzo_mcp/analytics/__init__.py,sha256=ANyntTooBrpa_uvwE6KbYxB9uda610UT10pt2rrLiUU,213
|
|
11
13
|
hanzo_mcp/analytics/posthog_analytics.py,sha256=sNwwhNUbz47bqsM6Fy7FDYZJb1fNB2B5vXeDtTx88KU,10690
|
|
12
14
|
hanzo_mcp/config/__init__.py,sha256=1ifMucAN-htFEGdRpiC1T809Q03Bd7YUE5ATOHNi6Po,505
|
|
13
|
-
hanzo_mcp/config/settings.py,sha256=
|
|
15
|
+
hanzo_mcp/config/settings.py,sha256=5JLqC_wdwQdIzGmwmyZh8aKWpYfxM8m8F268-K4Mr2A,18985
|
|
14
16
|
hanzo_mcp/config/tool_config.py,sha256=SaH9fT6cXVBfJuNu3a8M-XiE1LGTqgyhcm6MP5Ja-a8,6842
|
|
17
|
+
hanzo_mcp/core/base_agent.py,sha256=Ih3qlwy0wBKkQjOQwPQEK6cgsE0YzdR2woWaDFE0gpc,15497
|
|
18
|
+
hanzo_mcp/core/model_registry.py,sha256=jGkDFslPIOLWPrFH58bYIP3eLQmUo2NGI6qSJg1_Syw,13342
|
|
15
19
|
hanzo_mcp/prompts/__init__.py,sha256=h3AXLEsI5uZNr_DiGzJesytp1u_YSoGc3BZYIbU_yNU,7676
|
|
16
20
|
hanzo_mcp/prompts/compact_conversation.py,sha256=nvD068KEesiMcevxxMBeIJh6AqT7YHOqyH6RepRFFfA,4206
|
|
17
21
|
hanzo_mcp/prompts/create_release.py,sha256=1Z8xSTtz5vAm0rWFnERpFu7wIYExT4iXhM6nGmQaM-s,1374
|
|
@@ -21,8 +25,8 @@ hanzo_mcp/prompts/project_system.py,sha256=FgWxRaX7rPQwDZT3n69yBwLkQv4uJ4jcUZjKz
|
|
|
21
25
|
hanzo_mcp/prompts/project_todo_reminder.py,sha256=oN1EG0FR4XnxvFOXX_E5EFvX6L-8uYlX0hxFEiDRERc,3644
|
|
22
26
|
hanzo_mcp/prompts/tool_explorer.py,sha256=6mI35V_EH8AA4pWIMAeG96qP1VPrU1HgnxwVyB0bg5A,16411
|
|
23
27
|
hanzo_mcp/prompts/utils.py,sha256=IwxIhzZfYJ2anToPulbrpcc07u4Dozo9ok6VE3BC_4A,9963
|
|
24
|
-
hanzo_mcp/tools/__init__.py,sha256=
|
|
25
|
-
hanzo_mcp/tools/agent/__init__.py,sha256=
|
|
28
|
+
hanzo_mcp/tools/__init__.py,sha256=BaouJ0V3KglQccnTeS2Rrdjf04V3gGYWenMq5e49AHc,18814
|
|
29
|
+
hanzo_mcp/tools/agent/__init__.py,sha256=aeMRBqXcrWYeVfXVuAA8_uFfLyPAtX-ZYlAayrLO1bE,3483
|
|
26
30
|
hanzo_mcp/tools/agent/agent.py,sha256=bgVbLmeXHVlO2TDLmjDeKw0IzXy73mFisSLylj39XaM,13151
|
|
27
31
|
hanzo_mcp/tools/agent/agent_tool.py,sha256=UNWz1uWJuKNSXpamYtBE6HYPbQfQO5E3Gv_wIYXVhqQ,16228
|
|
28
32
|
hanzo_mcp/tools/agent/agent_tool_v1_deprecated.py,sha256=JWHhkHdfsbsVAA5bGtJdcmONWQrcCOIcnjr5BXbuNgw,26578
|
|
@@ -31,6 +35,7 @@ hanzo_mcp/tools/agent/clarification_tool.py,sha256=up40UJLY5JrS6D3yBD1lW1vSrh79J
|
|
|
31
35
|
hanzo_mcp/tools/agent/claude_cli_tool.py,sha256=55Wc0LKgYCtDKQ02NXOYPMhx-sW7fL_NSCx0upsvvb4,3812
|
|
32
36
|
hanzo_mcp/tools/agent/claude_desktop_auth.py,sha256=EoP-OWMg9QATsVjBGisyd0P_EV8fzLp284JIdqDwp7U,16203
|
|
33
37
|
hanzo_mcp/tools/agent/cli_agent_base.py,sha256=FanJ-C9dzx7x1e-uSNQfIWrCMsPyCl34FyUgtnpfXG4,6494
|
|
38
|
+
hanzo_mcp/tools/agent/cli_tools.py,sha256=bn67C_us-c8jxOBDZZAxTy2Gj0IbFR6ABaScp6o5uQc,16568
|
|
34
39
|
hanzo_mcp/tools/agent/code_auth.py,sha256=G8ZHQYKm3DRSknmkwYdUoPtnQr5xcQePZ8VcBNqrMG0,13948
|
|
35
40
|
hanzo_mcp/tools/agent/code_auth_tool.py,sha256=R5Cod5VTX30G_tQT5W-6qYQKi4Qr1LYXLZPq7ZT4zLM,6165
|
|
36
41
|
hanzo_mcp/tools/agent/codex_cli_tool.py,sha256=9jyB4cTtdcK50g6oapk7Bo4n8C8bAO2B9RuHHLOtP54,3697
|
|
@@ -45,11 +50,12 @@ hanzo_mcp/tools/agent/swarm_alias.py,sha256=7LwyAV2enw9KGzGS1lhPU9ty4btXuEbMkeUY
|
|
|
45
50
|
hanzo_mcp/tools/agent/swarm_tool.py,sha256=o4J-7RGI9uRDmg3Cj-tLV2zxnaF8dV6vrchAPBPRa6A,22352
|
|
46
51
|
hanzo_mcp/tools/agent/swarm_tool_v1_deprecated.py,sha256=Bbmz9TUhyaiqhekJPuOmfM9ZmRkG7e1f8aCCcX9jw0I,20792
|
|
47
52
|
hanzo_mcp/tools/agent/tool_adapter.py,sha256=rLItgdKvvfzJL4chNIrNK_I5kSCm6ocmi83RQm93NgA,3191
|
|
53
|
+
hanzo_mcp/tools/agent/unified_cli_tools.py,sha256=aJmDOV-dP22nWpaSXDhiJmPSFwxAabC0Gb8w5ovV3SY,8398
|
|
48
54
|
hanzo_mcp/tools/common/__init__.py,sha256=2gXIERXM7sALINWfDBbH_khzBRatvwQSWgpAvKlfy4o,1283
|
|
49
55
|
hanzo_mcp/tools/common/base.py,sha256=W46BbEhaPZ4fD1fTBpSt59kYjhV4-ALnS_83KOO2yHA,5875
|
|
50
|
-
hanzo_mcp/tools/common/batch_tool.py,sha256=
|
|
56
|
+
hanzo_mcp/tools/common/batch_tool.py,sha256=OGqU9q-bTom13Qnstm2aTs3AIenvf24gQgRVgF5WEmM,16183
|
|
51
57
|
hanzo_mcp/tools/common/config_tool.py,sha256=zflCiXBP9OmF85KhMQpM5kN6qZj5OHnWfqU7PiJyI7o,16128
|
|
52
|
-
hanzo_mcp/tools/common/context.py,sha256=
|
|
58
|
+
hanzo_mcp/tools/common/context.py,sha256=y7Ct2g5VtXOOenvBQHiUElvTqSGnoT6UQBGT4X92KKk,5140
|
|
53
59
|
hanzo_mcp/tools/common/context_fix.py,sha256=UNRpm_83x0iCsme7Y0D8NyvtJpyoS-7pcbXHaAnvp28,763
|
|
54
60
|
hanzo_mcp/tools/common/critic_tool.py,sha256=gGeiZ8hiIP0-hfcKjUst6Tp_aE704ciOHRJDQT-RExw,6257
|
|
55
61
|
hanzo_mcp/tools/common/decorators.py,sha256=9vGa1jkBn8U-qS4dDcDIoJJ5ro7It7IVlJop59E93NQ,6573
|
|
@@ -73,7 +79,7 @@ hanzo_mcp/tools/common/tool_list.py,sha256=qmP-N-SF03teplA0IB-yoTz-AZ7TsToHy2LO-
|
|
|
73
79
|
hanzo_mcp/tools/common/truncate.py,sha256=D_RSTh0ZaEuuY-mwvgv46OEA9FtQRbJYcIOk_eVG4HM,3110
|
|
74
80
|
hanzo_mcp/tools/common/validation.py,sha256=cBA4sqDapIAXUj9mVQVzM3lS_KovDrI5Ct66muxy538,1693
|
|
75
81
|
hanzo_mcp/tools/config/__init__.py,sha256=Elxh2EV-SZ43XJGFBkMmE1Kb-ANZWTDnBTQyNOq8baA,313
|
|
76
|
-
hanzo_mcp/tools/config/config_tool.py,sha256=
|
|
82
|
+
hanzo_mcp/tools/config/config_tool.py,sha256=NtXbRHhIkdXSdZEcVbPYyFrBlm0BWNMj9TTaBBXmfD0,12341
|
|
77
83
|
hanzo_mcp/tools/config/index_config.py,sha256=DXCFyxA2JxogA36FBqXwfHmjHk_uE1kdtxB5cNh0GBM,6205
|
|
78
84
|
hanzo_mcp/tools/config/mode_tool.py,sha256=yKNNvQTgLtyA5OCcxkB5zwkqkbkjl5phZdl0wlEI0k8,10969
|
|
79
85
|
hanzo_mcp/tools/database/__init__.py,sha256=UJEQWCeqUmyWu1npfy2T2dYT1rI7RawXqHwVhrmVhE8,2145
|
|
@@ -92,7 +98,7 @@ hanzo_mcp/tools/editor/__init__.py,sha256=UfwWP23OUFmd6dYRwm2fKfaYDlignQ2gfi32yR
|
|
|
92
98
|
hanzo_mcp/tools/editor/neovim_command.py,sha256=or_Fi84ETsiIRkFHTCKYq9eX30mlrtwBKpiKvBcQ3D0,8056
|
|
93
99
|
hanzo_mcp/tools/editor/neovim_edit.py,sha256=AQjdxmAAAdZ4vA6C5FuMgLAqE-R29F8o3K0o1N5DTRI,8590
|
|
94
100
|
hanzo_mcp/tools/editor/neovim_session.py,sha256=wdQBLf9hctaaN6qybdQo7vQ7jlYBP9wFJEVDa46Rbfc,11715
|
|
95
|
-
hanzo_mcp/tools/filesystem/__init__.py,sha256=
|
|
101
|
+
hanzo_mcp/tools/filesystem/__init__.py,sha256=8Uy8mCW9EXEtRLa0Tr0j9eA87diV0FNldKLJxPuPs1Q,8537
|
|
96
102
|
hanzo_mcp/tools/filesystem/ast_multi_edit.py,sha256=2a3WQj8mwyqoE5GhkDTfTCUaRlFcovZNNtosQzvTzkA,22574
|
|
97
103
|
hanzo_mcp/tools/filesystem/ast_tool.py,sha256=w_jk1K4TilYsm8tM5M0EQN7KBP_myd5B5NmZjdlEtjM,7286
|
|
98
104
|
hanzo_mcp/tools/filesystem/base.py,sha256=BZ7Puzg2xFiypjUtgRXzEeFvM1mma1X6K7troCgGOZ4,3818
|
|
@@ -120,10 +126,11 @@ hanzo_mcp/tools/jupyter/base.py,sha256=IKJh4k1ywoZvVpEBELfVPHi5A0TQHGak59SeHZmrp
|
|
|
120
126
|
hanzo_mcp/tools/jupyter/jupyter.py,sha256=O8-ctsmC8MfhWJ5YJ_-tBBhOWm1Bri3Kzd7gCdyyayU,14187
|
|
121
127
|
hanzo_mcp/tools/jupyter/notebook_edit.py,sha256=p2tKYCwWQzBSIBQStJ-hrbNaL1s2TqY_gVaUkn2RDAU,11807
|
|
122
128
|
hanzo_mcp/tools/jupyter/notebook_read.py,sha256=4cTiianHyW2upWnZhnvf643XIkrlIF0baZFsUo36e6A,5188
|
|
123
|
-
hanzo_mcp/tools/llm/__init__.py,sha256=
|
|
129
|
+
hanzo_mcp/tools/llm/__init__.py,sha256=4j8X6wqwchBEur0KYqsmPebRw8ZthDj9StpC41csk0M,1524
|
|
124
130
|
hanzo_mcp/tools/llm/consensus_tool.py,sha256=7BAdTp8sVASF71CYpdgpg_Bt3EFwGBfZomrCo4BMJwM,11537
|
|
125
131
|
hanzo_mcp/tools/llm/llm_manage.py,sha256=XEVPevHDcI5k7IgaFkmhaEHlDS8qEZKizVXKpJFs-9w,16006
|
|
126
|
-
hanzo_mcp/tools/llm/llm_tool.py,sha256=
|
|
132
|
+
hanzo_mcp/tools/llm/llm_tool.py,sha256=wmbs3fvoS8NY2ux63ZjwBVJzsx0EkvnItTGeUXQPH0Y,30223
|
|
133
|
+
hanzo_mcp/tools/llm/llm_unified.py,sha256=e1ITpOS9WCC8PiAsl_1IZW6BpX2Ktm8MEZh8w2nXBN4,29461
|
|
127
134
|
hanzo_mcp/tools/llm/provider_tools.py,sha256=wAQvkWZ8-HlUVwRYhy9RhbhR-JGDKi0bUZjhE8x3JLA,11403
|
|
128
135
|
hanzo_mcp/tools/lsp/__init__.py,sha256=2Z1edOMrLV6gi1dyGgUyN3lN4HOWynf73Eye_eBk2Xo,150
|
|
129
136
|
hanzo_mcp/tools/lsp/lsp_tool.py,sha256=kSfXe0G9vHLmfFEgPA99p9JPSAAM0SUrIriNwuh8NeY,19409
|
|
@@ -139,7 +146,7 @@ hanzo_mcp/tools/search/__init__.py,sha256=7z0GUOmKrJyI7MCbLIvO5zbWHknaNf6kCowi2C
|
|
|
139
146
|
hanzo_mcp/tools/search/find_tool.py,sha256=Kv4rFyZetNjf9yutsy34jC7UTHWV8Z4BAdge7p3a3sA,23607
|
|
140
147
|
hanzo_mcp/tools/search/unified_search.py,sha256=ki5KN5jxBo7wC6JbM1j8rShRsYoAGp4v9DY6TX0IS_U,35958
|
|
141
148
|
hanzo_mcp/tools/shell/__init__.py,sha256=PVBMmzR5qCewoXsJ4fkBpjnvSmU0xcZUPO6Yyi-nGK8,1990
|
|
142
|
-
hanzo_mcp/tools/shell/auto_background.py,sha256=
|
|
149
|
+
hanzo_mcp/tools/shell/auto_background.py,sha256=6-ggSvZlTwG_IedSipI-vE3tFyLPqD5wcgx88qz0IqY,8263
|
|
143
150
|
hanzo_mcp/tools/shell/base.py,sha256=g6xPSoOsGfdDJeJtclbgkwbP3bwumlqXKxJT0s-QSi0,5826
|
|
144
151
|
hanzo_mcp/tools/shell/base_process.py,sha256=SE12tv53zDFl-53YE-oeDVZuLiJSUDNDaYXb5VJgLYs,10457
|
|
145
152
|
hanzo_mcp/tools/shell/bash_session.py,sha256=1BAsZepgqCUxpAsOQ5R4yE-LvUNbLUAv6ygV5nKy5LU,27274
|
|
@@ -178,8 +185,8 @@ hanzo_mcp/tools/vector/project_manager.py,sha256=b69kr84qoteFkx7feeC_XHsNteTyVEf
|
|
|
178
185
|
hanzo_mcp/tools/vector/vector.py,sha256=IzJJlWAuhXNmm41NyXEyQsknLNugoRRciDTypYfof9w,9947
|
|
179
186
|
hanzo_mcp/tools/vector/vector_index.py,sha256=EgxOveWt0R60WYcO-CLmEh8HbGXGmX4_xpqQXTtgQJQ,4188
|
|
180
187
|
hanzo_mcp/tools/vector/vector_search.py,sha256=anavkfz_pPtfgVZUW4trj5q5GT6Naxw5ItjK9hUY9wU,9677
|
|
181
|
-
hanzo_mcp-0.8.
|
|
182
|
-
hanzo_mcp-0.8.
|
|
183
|
-
hanzo_mcp-0.8.
|
|
184
|
-
hanzo_mcp-0.8.
|
|
185
|
-
hanzo_mcp-0.8.
|
|
188
|
+
hanzo_mcp-0.8.3.dist-info/METADATA,sha256=OdT444dM4xySjGmXFmnqhOh1WzWJ8aq4hoSkmsfyQ1Y,16471
|
|
189
|
+
hanzo_mcp-0.8.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
190
|
+
hanzo_mcp-0.8.3.dist-info/entry_points.txt,sha256=ML30pedHV5wjthfztzMMz3uYhNdR_6inzYY5pSqNME4,142
|
|
191
|
+
hanzo_mcp-0.8.3.dist-info/top_level.txt,sha256=eGFANatA0MHWiVlpS56fTYRIShtibrSom1uXI6XU0GU,10
|
|
192
|
+
hanzo_mcp-0.8.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|