claude-mpm 4.4.12__py3-none-any.whl → 4.5.0__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.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/templates/web_qa.json +84 -5
- claude_mpm/cli/__init__.py +2 -2
- claude_mpm/cli/commands/mcp_setup_external.py +1 -3
- claude_mpm/cli/commands/verify.py +13 -12
- claude_mpm/services/diagnostics/checks/claude_code_check.py +4 -4
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +114 -57
- claude_mpm/services/mcp_config_manager.py +134 -50
- claude_mpm/services/mcp_service_verifier.py +84 -46
- {claude_mpm-4.4.12.dist-info → claude_mpm-4.5.0.dist-info}/METADATA +1 -1
- {claude_mpm-4.4.12.dist-info → claude_mpm-4.5.0.dist-info}/RECORD +15 -15
- {claude_mpm-4.4.12.dist-info → claude_mpm-4.5.0.dist-info}/WHEEL +0 -0
- {claude_mpm-4.4.12.dist-info → claude_mpm-4.5.0.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.4.12.dist-info → claude_mpm-4.5.0.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.4.12.dist-info → claude_mpm-4.5.0.dist-info}/top_level.txt +0 -0
@@ -11,8 +11,6 @@ import json
|
|
11
11
|
import os
|
12
12
|
import shutil
|
13
13
|
import subprocess
|
14
|
-
import sys
|
15
|
-
import time
|
16
14
|
from dataclasses import dataclass
|
17
15
|
from enum import Enum
|
18
16
|
from pathlib import Path
|
@@ -82,7 +80,11 @@ class MCPServiceVerifier:
|
|
82
80
|
"test_args": ["--help"], # kuzu-memory uses --help not --version
|
83
81
|
"required_args": ["mcp", "serve"], # Modern format
|
84
82
|
"min_version": "1.1.0", # Minimum version for MCP support
|
85
|
-
"version_check_pattern": [
|
83
|
+
"version_check_pattern": [
|
84
|
+
"mcp",
|
85
|
+
"serve",
|
86
|
+
"claude",
|
87
|
+
], # Pattern to check in help
|
86
88
|
},
|
87
89
|
}
|
88
90
|
|
@@ -93,7 +95,9 @@ class MCPServiceVerifier:
|
|
93
95
|
self.claude_config_path = Path.home() / ".claude.json"
|
94
96
|
self.diagnostics: Dict[str, ServiceDiagnostic] = {}
|
95
97
|
|
96
|
-
def verify_all_services(
|
98
|
+
def verify_all_services(
|
99
|
+
self, auto_fix: bool = False
|
100
|
+
) -> Dict[str, ServiceDiagnostic]:
|
97
101
|
"""
|
98
102
|
Perform comprehensive verification of all MCP services.
|
99
103
|
|
@@ -110,7 +114,11 @@ class MCPServiceVerifier:
|
|
110
114
|
self.diagnostics[service_name] = diagnostic
|
111
115
|
|
112
116
|
# Attempt auto-fix if requested and fixable
|
113
|
-
if
|
117
|
+
if (
|
118
|
+
auto_fix
|
119
|
+
and diagnostic.fix_command
|
120
|
+
and diagnostic.status != ServiceStatus.WORKING
|
121
|
+
):
|
114
122
|
self._attempt_auto_fix(service_name, diagnostic)
|
115
123
|
# Re-verify after fix
|
116
124
|
self.diagnostics[service_name] = self._verify_service(service_name)
|
@@ -137,7 +145,7 @@ class MCPServiceVerifier:
|
|
137
145
|
name=service_name,
|
138
146
|
status=ServiceStatus.NOT_INSTALLED,
|
139
147
|
message=f"{service_name} is not installed",
|
140
|
-
fix_command=f"pipx install {requirements['pipx_package']}"
|
148
|
+
fix_command=f"pipx install {requirements['pipx_package']}",
|
141
149
|
)
|
142
150
|
|
143
151
|
# Step 2: Check executable permissions
|
@@ -147,7 +155,7 @@ class MCPServiceVerifier:
|
|
147
155
|
status=ServiceStatus.PERMISSION_DENIED,
|
148
156
|
message=f"Permission denied for {service_name}",
|
149
157
|
installed_path=installed_path,
|
150
|
-
fix_command=f"chmod +x {installed_path}"
|
158
|
+
fix_command=f"chmod +x {installed_path}",
|
151
159
|
)
|
152
160
|
|
153
161
|
# Step 3: Test basic functionality
|
@@ -159,10 +167,10 @@ class MCPServiceVerifier:
|
|
159
167
|
return ServiceDiagnostic(
|
160
168
|
name=service_name,
|
161
169
|
status=ServiceStatus.VERSION_MISMATCH,
|
162
|
-
message=
|
170
|
+
message="kuzu-memory needs upgrade to v1.1.0+ for MCP support",
|
163
171
|
installed_path=installed_path,
|
164
172
|
fix_command="pipx upgrade kuzu-memory",
|
165
|
-
details=version_info
|
173
|
+
details=version_info,
|
166
174
|
)
|
167
175
|
|
168
176
|
return ServiceDiagnostic(
|
@@ -170,7 +178,7 @@ class MCPServiceVerifier:
|
|
170
178
|
status=ServiceStatus.MISCONFIGURED,
|
171
179
|
message=f"{service_name} installed but not functioning",
|
172
180
|
installed_path=installed_path,
|
173
|
-
fix_command=f"pipx reinstall {requirements['pipx_package']}"
|
181
|
+
fix_command=f"pipx reinstall {requirements['pipx_package']}",
|
174
182
|
)
|
175
183
|
|
176
184
|
# Step 4: Verify configuration in ~/.claude.json
|
@@ -183,7 +191,7 @@ class MCPServiceVerifier:
|
|
183
191
|
message=f"{service_name} not configured in ~/.claude.json",
|
184
192
|
installed_path=installed_path,
|
185
193
|
configured_command=None,
|
186
|
-
fix_command="Run 'claude-mpm configure' to update configuration"
|
194
|
+
fix_command="Run 'claude-mpm configure' to update configuration",
|
187
195
|
)
|
188
196
|
|
189
197
|
if not config_status["correct"]:
|
@@ -194,11 +202,13 @@ class MCPServiceVerifier:
|
|
194
202
|
installed_path=installed_path,
|
195
203
|
configured_command=config_status.get("command"),
|
196
204
|
fix_command="Run 'claude-mpm configure' to fix configuration",
|
197
|
-
details={"config_issue": config_status.get("issue")}
|
205
|
+
details={"config_issue": config_status.get("issue")},
|
198
206
|
)
|
199
207
|
|
200
208
|
# Step 5: Test actual MCP command execution
|
201
|
-
if not self._test_mcp_command(
|
209
|
+
if not self._test_mcp_command(
|
210
|
+
service_name, config_status.get("command"), config_status.get("args", [])
|
211
|
+
):
|
202
212
|
return ServiceDiagnostic(
|
203
213
|
name=service_name,
|
204
214
|
status=ServiceStatus.MISCONFIGURED,
|
@@ -206,7 +216,10 @@ class MCPServiceVerifier:
|
|
206
216
|
installed_path=installed_path,
|
207
217
|
configured_command=config_status.get("command"),
|
208
218
|
fix_command="Run 'claude-mpm configure' to update command format",
|
209
|
-
details={
|
219
|
+
details={
|
220
|
+
"command": config_status.get("command"),
|
221
|
+
"args": config_status.get("args"),
|
222
|
+
},
|
210
223
|
)
|
211
224
|
|
212
225
|
# All checks passed!
|
@@ -215,7 +228,7 @@ class MCPServiceVerifier:
|
|
215
228
|
status=ServiceStatus.WORKING,
|
216
229
|
message=f"{service_name} is fully operational",
|
217
230
|
installed_path=installed_path,
|
218
|
-
configured_command=config_status.get("command")
|
231
|
+
configured_command=config_status.get("command"),
|
219
232
|
)
|
220
233
|
|
221
234
|
def _find_service_installation(self, service_name: str) -> Optional[str]:
|
@@ -235,7 +248,15 @@ class MCPServiceVerifier:
|
|
235
248
|
Path to the service executable or None
|
236
249
|
"""
|
237
250
|
# Check pipx
|
238
|
-
pipx_path =
|
251
|
+
pipx_path = (
|
252
|
+
Path.home()
|
253
|
+
/ ".local"
|
254
|
+
/ "pipx"
|
255
|
+
/ "venvs"
|
256
|
+
/ service_name
|
257
|
+
/ "bin"
|
258
|
+
/ service_name
|
259
|
+
)
|
239
260
|
if pipx_path.exists():
|
240
261
|
return str(pipx_path)
|
241
262
|
|
@@ -294,7 +315,7 @@ class MCPServiceVerifier:
|
|
294
315
|
capture_output=True,
|
295
316
|
text=True,
|
296
317
|
timeout=10,
|
297
|
-
check=False
|
318
|
+
check=False,
|
298
319
|
)
|
299
320
|
|
300
321
|
output = (result.stdout + result.stderr).lower()
|
@@ -304,9 +325,15 @@ class MCPServiceVerifier:
|
|
304
325
|
return True
|
305
326
|
|
306
327
|
# Some tools return non-zero but still work
|
307
|
-
if any(
|
328
|
+
if any(
|
329
|
+
word in output
|
330
|
+
for word in ["version", "usage", "help", service_name.lower()]
|
331
|
+
):
|
308
332
|
# Make sure it's not an error
|
309
|
-
if not any(
|
333
|
+
if not any(
|
334
|
+
error in output
|
335
|
+
for error in ["error", "not found", "traceback", "no module"]
|
336
|
+
):
|
310
337
|
return True
|
311
338
|
|
312
339
|
# Try pipx run as fallback
|
@@ -316,13 +343,15 @@ class MCPServiceVerifier:
|
|
316
343
|
capture_output=True,
|
317
344
|
text=True,
|
318
345
|
timeout=10,
|
319
|
-
check=False
|
346
|
+
check=False,
|
320
347
|
)
|
321
348
|
if result.returncode == 0 or "version" in result.stdout.lower():
|
322
349
|
return True
|
323
350
|
|
324
351
|
except subprocess.TimeoutExpired:
|
325
|
-
self.logger.warning(
|
352
|
+
self.logger.warning(
|
353
|
+
f"Service {service_name} timed out during functionality test"
|
354
|
+
)
|
326
355
|
except Exception as e:
|
327
356
|
self.logger.debug(f"Functionality test failed for {service_name}: {e}")
|
328
357
|
|
@@ -341,7 +370,7 @@ class MCPServiceVerifier:
|
|
341
370
|
version_info = {
|
342
371
|
"has_mcp_support": False,
|
343
372
|
"version": "unknown",
|
344
|
-
"command_format": None
|
373
|
+
"command_format": None,
|
345
374
|
}
|
346
375
|
|
347
376
|
try:
|
@@ -351,13 +380,15 @@ class MCPServiceVerifier:
|
|
351
380
|
capture_output=True,
|
352
381
|
text=True,
|
353
382
|
timeout=10,
|
354
|
-
check=False
|
383
|
+
check=False,
|
355
384
|
)
|
356
385
|
|
357
386
|
help_text = (result.stdout + result.stderr).lower()
|
358
387
|
|
359
388
|
# Check for modern "mcp serve" command
|
360
|
-
if "mcp serve" in help_text or (
|
389
|
+
if "mcp serve" in help_text or (
|
390
|
+
"mcp" in help_text and "serve" in help_text
|
391
|
+
):
|
361
392
|
version_info["has_mcp_support"] = True
|
362
393
|
version_info["command_format"] = "mcp serve"
|
363
394
|
# Check for legacy "serve" only
|
@@ -371,7 +402,7 @@ class MCPServiceVerifier:
|
|
371
402
|
capture_output=True,
|
372
403
|
text=True,
|
373
404
|
timeout=5,
|
374
|
-
check=False
|
405
|
+
check=False,
|
375
406
|
)
|
376
407
|
if version_result.returncode == 0:
|
377
408
|
version_info["version"] = version_result.stdout.strip()
|
@@ -429,7 +460,7 @@ class MCPServiceVerifier:
|
|
429
460
|
"correct": False,
|
430
461
|
"command": command,
|
431
462
|
"args": args,
|
432
|
-
"issue": "Service name missing in pipx run command"
|
463
|
+
"issue": "Service name missing in pipx run command",
|
433
464
|
}
|
434
465
|
# Check required args are present
|
435
466
|
for req_arg in required_args:
|
@@ -439,7 +470,7 @@ class MCPServiceVerifier:
|
|
439
470
|
"correct": False,
|
440
471
|
"command": command,
|
441
472
|
"args": args,
|
442
|
-
"issue": f"Missing required argument: {req_arg}"
|
473
|
+
"issue": f"Missing required argument: {req_arg}",
|
443
474
|
}
|
444
475
|
elif command == "uvx" and args and args[0] == service_name:
|
445
476
|
# uvx format - similar validation
|
@@ -450,7 +481,7 @@ class MCPServiceVerifier:
|
|
450
481
|
"correct": False,
|
451
482
|
"command": command,
|
452
483
|
"args": args,
|
453
|
-
"issue": f"Missing required argument: {req_arg}"
|
484
|
+
"issue": f"Missing required argument: {req_arg}",
|
454
485
|
}
|
455
486
|
else:
|
456
487
|
# Direct execution - command should be a valid path
|
@@ -462,7 +493,7 @@ class MCPServiceVerifier:
|
|
462
493
|
"correct": False,
|
463
494
|
"command": command,
|
464
495
|
"args": args,
|
465
|
-
"issue": f"Command path does not exist: {command}"
|
496
|
+
"issue": f"Command path does not exist: {command}",
|
466
497
|
}
|
467
498
|
|
468
499
|
# Check required args
|
@@ -473,7 +504,7 @@ class MCPServiceVerifier:
|
|
473
504
|
"correct": False,
|
474
505
|
"command": command,
|
475
506
|
"args": args,
|
476
|
-
"issue": f"Missing required argument: {req_arg}"
|
507
|
+
"issue": f"Missing required argument: {req_arg}",
|
477
508
|
}
|
478
509
|
|
479
510
|
# Special validation for kuzu-memory command format
|
@@ -485,21 +516,23 @@ class MCPServiceVerifier:
|
|
485
516
|
"correct": False,
|
486
517
|
"command": command,
|
487
518
|
"args": args,
|
488
|
-
"issue": "Using legacy 'serve' format, should use 'mcp serve'"
|
519
|
+
"issue": "Using legacy 'serve' format, should use 'mcp serve'",
|
489
520
|
}
|
490
521
|
|
491
522
|
return {
|
492
523
|
"configured": True,
|
493
524
|
"correct": True,
|
494
525
|
"command": command,
|
495
|
-
"args": args
|
526
|
+
"args": args,
|
496
527
|
}
|
497
528
|
|
498
529
|
except Exception as e:
|
499
530
|
self.logger.error(f"Failed to verify configuration: {e}")
|
500
531
|
return {"configured": False, "correct": False, "error": str(e)}
|
501
532
|
|
502
|
-
def _test_mcp_command(
|
533
|
+
def _test_mcp_command(
|
534
|
+
self, service_name: str, command: str, args: List[str]
|
535
|
+
) -> bool:
|
503
536
|
"""
|
504
537
|
Test if the configured MCP command actually works.
|
505
538
|
|
@@ -525,7 +558,7 @@ class MCPServiceVerifier:
|
|
525
558
|
text=True,
|
526
559
|
timeout=10,
|
527
560
|
check=False,
|
528
|
-
cwd=str(self.project_root) # Run in project context
|
561
|
+
cwd=str(self.project_root), # Run in project context
|
529
562
|
)
|
530
563
|
|
531
564
|
# Check for success or expected output
|
@@ -537,7 +570,9 @@ class MCPServiceVerifier:
|
|
537
570
|
if service_name == "kuzu-memory" and "mcp" in output and "serve" in output:
|
538
571
|
return True
|
539
572
|
if service_name in output or "usage" in output or "help" in output:
|
540
|
-
if not any(
|
573
|
+
if not any(
|
574
|
+
error in output for error in ["error", "not found", "traceback"]
|
575
|
+
):
|
541
576
|
return True
|
542
577
|
|
543
578
|
except subprocess.TimeoutExpired:
|
@@ -547,7 +582,9 @@ class MCPServiceVerifier:
|
|
547
582
|
|
548
583
|
return False
|
549
584
|
|
550
|
-
def _attempt_auto_fix(
|
585
|
+
def _attempt_auto_fix(
|
586
|
+
self, service_name: str, diagnostic: ServiceDiagnostic
|
587
|
+
) -> bool:
|
551
588
|
"""
|
552
589
|
Attempt to automatically fix a service issue.
|
553
590
|
|
@@ -561,7 +598,9 @@ class MCPServiceVerifier:
|
|
561
598
|
if not diagnostic.fix_command:
|
562
599
|
return False
|
563
600
|
|
564
|
-
self.logger.info(
|
601
|
+
self.logger.info(
|
602
|
+
f"Attempting auto-fix for {service_name}: {diagnostic.fix_command}"
|
603
|
+
)
|
565
604
|
|
566
605
|
try:
|
567
606
|
# Handle different types of fix commands
|
@@ -569,23 +608,20 @@ class MCPServiceVerifier:
|
|
569
608
|
# Execute pipx command
|
570
609
|
cmd_parts = diagnostic.fix_command.split()
|
571
610
|
result = subprocess.run(
|
572
|
-
cmd_parts,
|
573
|
-
capture_output=True,
|
574
|
-
text=True,
|
575
|
-
timeout=120,
|
576
|
-
check=False
|
611
|
+
cmd_parts, capture_output=True, text=True, timeout=120, check=False
|
577
612
|
)
|
578
613
|
return result.returncode == 0
|
579
614
|
|
580
|
-
|
615
|
+
if diagnostic.fix_command.startswith("chmod "):
|
581
616
|
# Fix permissions
|
582
617
|
path = diagnostic.fix_command.replace("chmod +x ", "")
|
583
618
|
os.chmod(path, 0o755)
|
584
619
|
return True
|
585
620
|
|
586
|
-
|
621
|
+
if "claude-mpm configure" in diagnostic.fix_command:
|
587
622
|
# Trigger configuration update
|
588
623
|
from .mcp_config_manager import MCPConfigManager
|
624
|
+
|
589
625
|
manager = MCPConfigManager()
|
590
626
|
success, _ = manager.ensure_mcp_services_configured()
|
591
627
|
return success
|
@@ -595,7 +631,9 @@ class MCPServiceVerifier:
|
|
595
631
|
|
596
632
|
return False
|
597
633
|
|
598
|
-
def print_diagnostics(
|
634
|
+
def print_diagnostics(
|
635
|
+
self, diagnostics: Optional[Dict[str, ServiceDiagnostic]] = None
|
636
|
+
) -> None:
|
599
637
|
"""
|
600
638
|
Print formatted diagnostic results to console.
|
601
639
|
|
@@ -687,4 +725,4 @@ def verify_mcp_services_on_startup() -> Tuple[bool, str]:
|
|
687
725
|
message = f"MCP service issues detected: {', '.join(issues)}. Run 'claude-mpm verify' for details."
|
688
726
|
return False, message
|
689
727
|
|
690
|
-
return True, "All MCP services appear operational"
|
728
|
+
return True, "All MCP services appear operational"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
|
2
|
-
claude_mpm/VERSION,sha256
|
2
|
+
claude_mpm/VERSION,sha256=GVeQ9zr4XyLNMGll5fpfWnM5nFG3QGWqPuHU1XHW7vQ,6
|
3
3
|
claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
5
5
|
claude_mpm/constants.py,sha256=cChN3myrAcF3jC-6DvHnBFTEnwlDk-TAsIXPvUZr_yw,5953
|
@@ -55,13 +55,13 @@ claude_mpm/agents/templates/ticketing.json,sha256=MaLL7xBpZoqghVJ-cQNQOKHoGTkdia
|
|
55
55
|
claude_mpm/agents/templates/typescript_engineer.json,sha256=G0UabugK7CjtbuM-qraAIOzvprQfveGIeRsur2S9iLs,20860
|
56
56
|
claude_mpm/agents/templates/vercel_ops_agent.json,sha256=UCtq8YWxsw0MYjN078IRmeHyQFH1PG0Iv0xaodtyFN0,26985
|
57
57
|
claude_mpm/agents/templates/version_control.json,sha256=fv4pCG-6DeFjB5cFnlC9otVmHUCl-9cJ9vgkQE0MOcw,14430
|
58
|
-
claude_mpm/agents/templates/web_qa.json,sha256=
|
58
|
+
claude_mpm/agents/templates/web_qa.json,sha256=axmeGawdgADXDaM56kBkRf7VRMmzUsDtXRnFY1VZuoc,26871
|
59
59
|
claude_mpm/agents/templates/web_ui.json,sha256=tqdNRMP8EgBL-yNSQ06WxMTyAziSbWVVqjqm6rLzmdw,34852
|
60
60
|
claude_mpm/agents/templates/.claude-mpm/memories/README.md,sha256=vEiG7cPjHRZfwX2IQB-i30ArO8zJyuxMJzHh8hnVZ6A,483
|
61
61
|
claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md,sha256=KMZSJrQi-wHOwfl2C0m3A4PpC4QuBtDolAtVybGahKc,77
|
62
62
|
claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md,sha256=UBm4BycXtdaa-_l1VCh0alTGGOUSsnCbpKwbFuI-mUY,2219
|
63
63
|
claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md,sha256=oPvFSYFnmJ4TkbTe4AZnNHWaJMJ-xqZP2WM6scUKQKo,13089
|
64
|
-
claude_mpm/cli/__init__.py,sha256=
|
64
|
+
claude_mpm/cli/__init__.py,sha256=uGXnXLbfEVq-_uDCemVzVcl5W5498eQ_FlifPo1eA0g,20396
|
65
65
|
claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
|
66
66
|
claude_mpm/cli/parser.py,sha256=Vqx9n-6Xo1uNhXR4rThmgWpZXTr0nOtkgDf3oMS9b0g,5855
|
67
67
|
claude_mpm/cli/startup_logging.py,sha256=xtgAmTirhpk2B-dIS9YKcesPprXTukfu24gJSmGt8y8,29357
|
@@ -89,7 +89,7 @@ claude_mpm/cli/commands/mcp_external_commands.py,sha256=iggHpJYRTuGZjksqe4-isdq_
|
|
89
89
|
claude_mpm/cli/commands/mcp_install_commands.py,sha256=ToQXNZLl39U31N9F-TERDcO2ACM8tjPqpSQLPDUiWb4,12799
|
90
90
|
claude_mpm/cli/commands/mcp_pipx_config.py,sha256=sE62VD6Q1CcO2k1nlbIhHMfAJFQTZfIzCss99LmfNqA,6088
|
91
91
|
claude_mpm/cli/commands/mcp_server_commands.py,sha256=-1G_2Y5ScTvzDd-kY8fTAao2H6FH7DnsLimleF1rVqQ,6197
|
92
|
-
claude_mpm/cli/commands/mcp_setup_external.py,sha256=
|
92
|
+
claude_mpm/cli/commands/mcp_setup_external.py,sha256=GTGdSwiCKNHsHX9aWeM8H8bcn3GETxzcgqiUG_83iao,33567
|
93
93
|
claude_mpm/cli/commands/mcp_tool_commands.py,sha256=q17GzlFT3JiLTrDqwPO2tz1-fKmPO5QU449syTnKTz4,1283
|
94
94
|
claude_mpm/cli/commands/memory.py,sha256=Yzfs3_oiKciv3sfOoDm2lJL4M9idG7ARV3-sNw1ge_g,26186
|
95
95
|
claude_mpm/cli/commands/monitor.py,sha256=S7kb2TnTmvX_T6iw5E1S5jlYNhbbBVFLCTlX5MGSLP8,9583
|
@@ -99,7 +99,7 @@ claude_mpm/cli/commands/run.py,sha256=_MpX-Eh4OVaUuS_cX8UZFGPbtMwZq0kFfstI6V4VA3
|
|
99
99
|
claude_mpm/cli/commands/search.py,sha256=_0qbUnop8v758MHsB0fAop8FVxwygD59tec_-iN7pLE,9806
|
100
100
|
claude_mpm/cli/commands/tickets.py,sha256=kl2dklTBnG3Y4jUUJ_PcEVsTx4CtVJfkGWboWBx_mQM,21234
|
101
101
|
claude_mpm/cli/commands/uninstall.py,sha256=KGlVG6veEs1efLVjrZ3wSty7e1zVR9wpt-VXQA1RzWw,5945
|
102
|
-
claude_mpm/cli/commands/verify.py,sha256=
|
102
|
+
claude_mpm/cli/commands/verify.py,sha256=wmu2UYINK15q2e34TdlTyamvtLDE7r3Oj_XT9zpT5Kk,3687
|
103
103
|
claude_mpm/cli/interactive/__init__.py,sha256=vQqUCgPFvLYA1Vkq-5pnY7Ow3A-IgdM0SByfNL1ZLTk,433
|
104
104
|
claude_mpm/cli/interactive/agent_wizard.py,sha256=PMSG6F3Jngb0Gm4nBA6X2PK9Iuuj-AuJd35-g4iE4tE,36202
|
105
105
|
claude_mpm/cli/parsers/__init__.py,sha256=f0Fm1DDXorlVOZPLxUpjC-GIvLh01G-FZOK7TEV1L3I,1005
|
@@ -411,8 +411,8 @@ claude_mpm/services/event_aggregator.py,sha256=DDcehIZVpiEDzs9o18gDZyvjMBHCq2H8H
|
|
411
411
|
claude_mpm/services/exceptions.py,sha256=5lVZETr_6-xk0ItH7BTfYUiX5RlckS1e8ah_UalYG9c,26475
|
412
412
|
claude_mpm/services/hook_installer_service.py,sha256=z3kKeriEY1Y9bFesuGlHBxhCtc0Wzd3Zv02k2_rEyGo,19727
|
413
413
|
claude_mpm/services/hook_service.py,sha256=rZnMn_4qxX5g9KAn0IQdoG50WmySNfsTmfG0XHuRHXk,15737
|
414
|
-
claude_mpm/services/mcp_config_manager.py,sha256=
|
415
|
-
claude_mpm/services/mcp_service_verifier.py,sha256=
|
414
|
+
claude_mpm/services/mcp_config_manager.py,sha256=f5vGJthmFrNE7EAF1nCoStvMaD93E4BuiBaa-gildIw,52634
|
415
|
+
claude_mpm/services/mcp_service_verifier.py,sha256=9esG7cCkN0KJ_KLwqgwXW0A8oulHqg_RTuElOzXJcB4,25663
|
416
416
|
claude_mpm/services/memory_hook_service.py,sha256=pRlTClkRcw30Jhwbha4BC8IMdzKZxF8aWqf52JlntgY,11600
|
417
417
|
claude_mpm/services/monitor_build_service.py,sha256=8gWR9CaqgXdG6-OjOFXGpk28GCcJTlHhojkUYnMCebI,12160
|
418
418
|
claude_mpm/services/port_manager.py,sha256=CYqLh8Ss_-aoYEXV3G6uZkGexpsRK_XTBL0bV4P3tSI,22838
|
@@ -553,14 +553,14 @@ claude_mpm/services/diagnostics/models.py,sha256=nqOQLllZyZmw3Zt5eFJfE1Al7C3Vrn3
|
|
553
553
|
claude_mpm/services/diagnostics/checks/__init__.py,sha256=aNdOeJHZVIpEqqzr6xWUOiyZCIrN4vckfRxkW70cqeo,987
|
554
554
|
claude_mpm/services/diagnostics/checks/agent_check.py,sha256=JZwqu4o4Q46uk2jKKU-AS0Y_n4AjVcmq2XR61t18UKE,14022
|
555
555
|
claude_mpm/services/diagnostics/checks/base_check.py,sha256=FdCPk4z5wdBVR5Y4bikwVY4P4BIIXBkYCmhr-qu1ChM,1574
|
556
|
-
claude_mpm/services/diagnostics/checks/claude_code_check.py,sha256=
|
556
|
+
claude_mpm/services/diagnostics/checks/claude_code_check.py,sha256=9PoNIVXLfFDbxW-EgB1DfYtnf3n6Lz3tyqEVTnQaorA,10417
|
557
557
|
claude_mpm/services/diagnostics/checks/common_issues_check.py,sha256=Yi73_1yGNcQUCF8Jwba6xHvDHr4QbklWEbzidby-o0o,13353
|
558
558
|
claude_mpm/services/diagnostics/checks/configuration_check.py,sha256=mgqFsyr4W73gFGMF7kz5u4lloUMhTty5BHuErf0I0Uo,11176
|
559
559
|
claude_mpm/services/diagnostics/checks/filesystem_check.py,sha256=V5HoHDYlSuoK2lFv946Jhd81LrA0om71NWugnRxFvSE,8296
|
560
560
|
claude_mpm/services/diagnostics/checks/installation_check.py,sha256=WoTt15R8Wg-6k2JZFAtmffFuih1AIyCX71QOHEFH-Ro,19562
|
561
561
|
claude_mpm/services/diagnostics/checks/instructions_check.py,sha256=VbgBorl0RpFvxKQ_SC1gibTmGSiXaKSp-vVZt6hbH1g,16290
|
562
562
|
claude_mpm/services/diagnostics/checks/mcp_check.py,sha256=SftuhP70abopyMD8GlLA_K3XHEYnBAeITggUQI0cYP4,12173
|
563
|
-
claude_mpm/services/diagnostics/checks/mcp_services_check.py,sha256=
|
563
|
+
claude_mpm/services/diagnostics/checks/mcp_services_check.py,sha256=Miobsgnfgoz5WWkWfelrSVGgeUmMppCyZt4P5g9mQ7E,43832
|
564
564
|
claude_mpm/services/diagnostics/checks/monitor_check.py,sha256=NUx5G1yjHWlukZmwhUz4o8STRWgsQEx01YjIMReNC0A,10096
|
565
565
|
claude_mpm/services/diagnostics/checks/startup_log_check.py,sha256=DrXdml2rHvmhFBdb_sntE3xmwaP_DZIKjdVbCn8Dy7E,12258
|
566
566
|
claude_mpm/services/event_bus/__init__.py,sha256=ETCo4a6puIeyVWAv55uCDjjhzNyUwbVAHEcAVkVapx8,688
|
@@ -773,9 +773,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
773
773
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
774
774
|
claude_mpm/validation/agent_validator.py,sha256=Nm2WmcbCb0EwOG4nFcikc3wVdiiAfjGBBI3YoR6ainQ,20915
|
775
775
|
claude_mpm/validation/frontmatter_validator.py,sha256=IDBOCBweO6umydSnUJjBh81sKk3cy9hRFYm61DCiXbI,7020
|
776
|
-
claude_mpm-4.
|
777
|
-
claude_mpm-4.
|
778
|
-
claude_mpm-4.
|
779
|
-
claude_mpm-4.
|
780
|
-
claude_mpm-4.
|
781
|
-
claude_mpm-4.
|
776
|
+
claude_mpm-4.5.0.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
777
|
+
claude_mpm-4.5.0.dist-info/METADATA,sha256=2zx2aJ1q-umXK6GqQyURkVX_xs5BbnQK84QNO83nu8w,17517
|
778
|
+
claude_mpm-4.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
779
|
+
claude_mpm-4.5.0.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
|
780
|
+
claude_mpm-4.5.0.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
781
|
+
claude_mpm-4.5.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|