claude-mpm 4.1.8__py3-none-any.whl → 4.1.11__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/INSTRUCTIONS.md +26 -1
- claude_mpm/agents/agents_metadata.py +57 -0
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +17 -0
- claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +3 -0
- claude_mpm/agents/templates/agent-manager.json +263 -17
- claude_mpm/agents/templates/agentic_coder_optimizer.json +222 -0
- claude_mpm/agents/templates/code_analyzer.json +18 -8
- claude_mpm/agents/templates/engineer.json +1 -1
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +39 -0
- claude_mpm/agents/templates/qa.json +1 -1
- claude_mpm/agents/templates/research.json +1 -1
- claude_mpm/cli/__init__.py +15 -0
- claude_mpm/cli/commands/__init__.py +6 -0
- claude_mpm/cli/commands/analyze.py +548 -0
- claude_mpm/cli/commands/analyze_code.py +524 -0
- claude_mpm/cli/commands/configure.py +78 -28
- claude_mpm/cli/commands/configure_tui.py +62 -60
- claude_mpm/cli/commands/dashboard.py +288 -0
- claude_mpm/cli/commands/debug.py +1386 -0
- claude_mpm/cli/commands/mpm_init.py +427 -0
- claude_mpm/cli/commands/mpm_init_handler.py +83 -0
- claude_mpm/cli/parsers/analyze_code_parser.py +170 -0
- claude_mpm/cli/parsers/analyze_parser.py +135 -0
- claude_mpm/cli/parsers/base_parser.py +44 -0
- claude_mpm/cli/parsers/dashboard_parser.py +113 -0
- claude_mpm/cli/parsers/debug_parser.py +319 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +122 -0
- claude_mpm/constants.py +13 -1
- claude_mpm/core/framework_loader.py +148 -6
- claude_mpm/core/log_manager.py +16 -13
- claude_mpm/core/logger.py +1 -1
- claude_mpm/core/unified_agent_registry.py +1 -1
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +1 -0
- claude_mpm/dashboard/analysis_runner.py +455 -0
- claude_mpm/dashboard/static/built/components/activity-tree.js +2 -0
- claude_mpm/dashboard/static/built/components/agent-inference.js +1 -1
- claude_mpm/dashboard/static/built/components/code-tree.js +2 -0
- claude_mpm/dashboard/static/built/components/code-viewer.js +2 -0
- claude_mpm/dashboard/static/built/components/event-viewer.js +1 -1
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js +1 -1
- claude_mpm/dashboard/static/built/components/module-viewer.js +1 -1
- claude_mpm/dashboard/static/built/components/session-manager.js +1 -1
- claude_mpm/dashboard/static/built/components/working-directory.js +1 -1
- claude_mpm/dashboard/static/built/dashboard.js +1 -1
- claude_mpm/dashboard/static/built/socket-client.js +1 -1
- claude_mpm/dashboard/static/css/activity.css +549 -0
- claude_mpm/dashboard/static/css/code-tree.css +1175 -0
- claude_mpm/dashboard/static/css/dashboard.css +245 -0
- claude_mpm/dashboard/static/dist/components/activity-tree.js +2 -0
- claude_mpm/dashboard/static/dist/components/code-tree.js +2 -0
- claude_mpm/dashboard/static/dist/components/code-viewer.js +2 -0
- claude_mpm/dashboard/static/dist/components/event-viewer.js +1 -1
- claude_mpm/dashboard/static/dist/components/session-manager.js +1 -1
- claude_mpm/dashboard/static/dist/components/working-directory.js +1 -1
- claude_mpm/dashboard/static/dist/dashboard.js +1 -1
- claude_mpm/dashboard/static/dist/socket-client.js +1 -1
- claude_mpm/dashboard/static/js/components/activity-tree.js +1338 -0
- claude_mpm/dashboard/static/js/components/code-tree.js +2535 -0
- claude_mpm/dashboard/static/js/components/code-viewer.js +480 -0
- claude_mpm/dashboard/static/js/components/event-viewer.js +59 -9
- claude_mpm/dashboard/static/js/components/session-manager.js +40 -4
- claude_mpm/dashboard/static/js/components/socket-manager.js +12 -0
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +4 -0
- claude_mpm/dashboard/static/js/components/working-directory.js +17 -1
- claude_mpm/dashboard/static/js/dashboard.js +51 -0
- claude_mpm/dashboard/static/js/socket-client.js +465 -29
- claude_mpm/dashboard/templates/index.html +182 -4
- claude_mpm/hooks/claude_hooks/hook_handler.py +182 -5
- claude_mpm/hooks/claude_hooks/installer.py +386 -113
- claude_mpm/scripts/claude-hook-handler.sh +161 -0
- claude_mpm/scripts/socketio_daemon.py +121 -8
- claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +2 -2
- claude_mpm/services/agents/deployment/agent_record_service.py +1 -2
- claude_mpm/services/agents/memory/memory_format_service.py +1 -3
- claude_mpm/services/cli/agent_cleanup_service.py +1 -5
- claude_mpm/services/cli/agent_dependency_service.py +1 -1
- claude_mpm/services/cli/agent_validation_service.py +3 -4
- claude_mpm/services/cli/dashboard_launcher.py +2 -3
- claude_mpm/services/cli/startup_checker.py +0 -11
- claude_mpm/services/core/cache_manager.py +1 -3
- claude_mpm/services/core/path_resolver.py +1 -4
- claude_mpm/services/core/service_container.py +2 -2
- claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
- claude_mpm/services/infrastructure/monitoring/__init__.py +11 -11
- claude_mpm/services/infrastructure/monitoring.py +11 -11
- claude_mpm/services/project/architecture_analyzer.py +1 -1
- claude_mpm/services/project/dependency_analyzer.py +4 -4
- claude_mpm/services/project/language_analyzer.py +3 -3
- claude_mpm/services/project/metrics_collector.py +3 -6
- claude_mpm/services/socketio/event_normalizer.py +64 -0
- claude_mpm/services/socketio/handlers/__init__.py +2 -0
- claude_mpm/services/socketio/handlers/code_analysis.py +672 -0
- claude_mpm/services/socketio/handlers/registry.py +2 -0
- claude_mpm/services/socketio/server/connection_manager.py +6 -4
- claude_mpm/services/socketio/server/core.py +100 -11
- claude_mpm/services/socketio/server/main.py +8 -2
- claude_mpm/services/visualization/__init__.py +19 -0
- claude_mpm/services/visualization/mermaid_generator.py +938 -0
- claude_mpm/tools/__main__.py +208 -0
- claude_mpm/tools/code_tree_analyzer.py +1596 -0
- claude_mpm/tools/code_tree_builder.py +631 -0
- claude_mpm/tools/code_tree_events.py +416 -0
- claude_mpm/tools/socketio_debug.py +671 -0
- {claude_mpm-4.1.8.dist-info → claude_mpm-4.1.11.dist-info}/METADATA +2 -1
- {claude_mpm-4.1.8.dist-info → claude_mpm-4.1.11.dist-info}/RECORD +110 -74
- claude_mpm/agents/schema/agent_schema.json +0 -314
- {claude_mpm-4.1.8.dist-info → claude_mpm-4.1.11.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.8.dist-info → claude_mpm-4.1.11.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.1.8.dist-info → claude_mpm-4.1.11.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.8.dist-info → claude_mpm-4.1.11.dist-info}/top_level.txt +0 -0
|
@@ -59,6 +59,7 @@ class EventType(Enum):
|
|
|
59
59
|
PERFORMANCE = "performance" # Performance metrics
|
|
60
60
|
CLAUDE = "claude" # Claude process events
|
|
61
61
|
TEST = "test" # Test events
|
|
62
|
+
CODE = "code" # Code analysis events
|
|
62
63
|
TOOL = "tool" # Tool events
|
|
63
64
|
SUBAGENT = "subagent" # Subagent events
|
|
64
65
|
|
|
@@ -351,6 +352,41 @@ class EventNormalizer:
|
|
|
351
352
|
event_type.value if isinstance(event_type, EventType) else event_type
|
|
352
353
|
), subtype
|
|
353
354
|
|
|
355
|
+
# Handle colon-separated event names (e.g., "code:analysis:queued", "code:progress")
|
|
356
|
+
# These are commonly used by the code analysis system
|
|
357
|
+
if ":" in event_name:
|
|
358
|
+
parts = event_name.split(":", 2) # Split into max 3 parts
|
|
359
|
+
if len(parts) >= 2:
|
|
360
|
+
type_part = parts[0].lower()
|
|
361
|
+
# For events like "code:analysis:queued", combine the last parts as subtype
|
|
362
|
+
# Replace colons with underscores for clean subtypes
|
|
363
|
+
if len(parts) == 3:
|
|
364
|
+
subtype_part = f"{parts[1]}_{parts[2]}"
|
|
365
|
+
else:
|
|
366
|
+
subtype_part = parts[1].replace(":", "_")
|
|
367
|
+
|
|
368
|
+
# Map the type part to known types
|
|
369
|
+
if type_part in [
|
|
370
|
+
"code", # Code analysis events
|
|
371
|
+
"hook",
|
|
372
|
+
"session",
|
|
373
|
+
"file",
|
|
374
|
+
"system",
|
|
375
|
+
"connection",
|
|
376
|
+
"memory",
|
|
377
|
+
"git",
|
|
378
|
+
"todo",
|
|
379
|
+
"ticket",
|
|
380
|
+
"agent",
|
|
381
|
+
"claude",
|
|
382
|
+
"error",
|
|
383
|
+
"performance",
|
|
384
|
+
"test",
|
|
385
|
+
"tool",
|
|
386
|
+
"subagent",
|
|
387
|
+
]:
|
|
388
|
+
return type_part, subtype_part
|
|
389
|
+
|
|
354
390
|
# Handle dotted event names (e.g., "connection.status", "session.started")
|
|
355
391
|
if "." in event_name:
|
|
356
392
|
parts = event_name.split(".", 1)
|
|
@@ -443,6 +479,34 @@ class EventNormalizer:
|
|
|
443
479
|
return EventType.MEMORY.value, "injected"
|
|
444
480
|
return EventType.MEMORY.value, "generic"
|
|
445
481
|
|
|
482
|
+
# Code analysis events - using underscores for clean subtypes
|
|
483
|
+
if "code" in event_lower:
|
|
484
|
+
if "analysis" in event_lower:
|
|
485
|
+
if "queue" in event_lower:
|
|
486
|
+
return EventType.CODE.value, "analysis_queued"
|
|
487
|
+
if "start" in event_lower:
|
|
488
|
+
return EventType.CODE.value, "analysis_start"
|
|
489
|
+
if "complete" in event_lower:
|
|
490
|
+
return EventType.CODE.value, "analysis_complete"
|
|
491
|
+
if "error" in event_lower:
|
|
492
|
+
return EventType.CODE.value, "analysis_error"
|
|
493
|
+
if "cancel" in event_lower:
|
|
494
|
+
return EventType.CODE.value, "analysis_cancelled"
|
|
495
|
+
return EventType.CODE.value, "analysis_generic"
|
|
496
|
+
if "progress" in event_lower:
|
|
497
|
+
return EventType.CODE.value, "progress"
|
|
498
|
+
if "file" in event_lower:
|
|
499
|
+
if "discovered" in event_lower:
|
|
500
|
+
return EventType.CODE.value, "file_discovered"
|
|
501
|
+
if "analyzed" in event_lower:
|
|
502
|
+
return EventType.CODE.value, "file_analyzed"
|
|
503
|
+
return EventType.CODE.value, "file_complete"
|
|
504
|
+
if "directory" in event_lower:
|
|
505
|
+
return EventType.CODE.value, "directory_discovered"
|
|
506
|
+
if "node" in event_lower:
|
|
507
|
+
return EventType.CODE.value, "node_found"
|
|
508
|
+
return EventType.CODE.value, "generic"
|
|
509
|
+
|
|
446
510
|
# Default to unknown with lowercase subtype
|
|
447
511
|
return "unknown", event_name.lower() if event_name else ""
|
|
448
512
|
|
|
@@ -7,6 +7,7 @@ and maintainability.
|
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
from .base import BaseEventHandler
|
|
10
|
+
from .code_analysis import CodeAnalysisEventHandler
|
|
10
11
|
from .connection import ConnectionEventHandler
|
|
11
12
|
from .file import FileEventHandler
|
|
12
13
|
from .git import GitEventHandler
|
|
@@ -16,6 +17,7 @@ from .registry import EventHandlerRegistry
|
|
|
16
17
|
|
|
17
18
|
__all__ = [
|
|
18
19
|
"BaseEventHandler",
|
|
20
|
+
"CodeAnalysisEventHandler",
|
|
19
21
|
"ConnectionEventHandler",
|
|
20
22
|
"EventHandlerRegistry",
|
|
21
23
|
"FileEventHandler",
|