claude-mpm 4.0.34__py3-none-any.whl → 4.1.1__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 +70 -2
- claude_mpm/agents/OUTPUT_STYLE.md +0 -11
- claude_mpm/agents/WORKFLOW.md +14 -2
- claude_mpm/agents/templates/web_qa.json +85 -58
- claude_mpm/agents/templates/web_ui.json +3 -3
- claude_mpm/cli/__init__.py +48 -7
- claude_mpm/cli/commands/agents.py +82 -0
- claude_mpm/cli/commands/cleanup_orphaned_agents.py +150 -0
- claude_mpm/cli/commands/mcp_pipx_config.py +199 -0
- claude_mpm/cli/parsers/agents_parser.py +27 -0
- claude_mpm/cli/parsers/base_parser.py +6 -0
- claude_mpm/cli/startup_logging.py +75 -0
- claude_mpm/dashboard/static/js/components/build-tracker.js +35 -1
- claude_mpm/dashboard/static/js/socket-client.js +7 -5
- claude_mpm/hooks/claude_hooks/connection_pool.py +13 -2
- claude_mpm/hooks/claude_hooks/hook_handler.py +67 -167
- claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -1
- claude_mpm/services/agents/deployment/agent_template_builder.py +2 -1
- claude_mpm/services/agents/deployment/agent_version_manager.py +4 -1
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +207 -10
- claude_mpm/services/event_bus/config.py +165 -0
- claude_mpm/services/event_bus/event_bus.py +35 -20
- claude_mpm/services/event_bus/relay.py +8 -12
- claude_mpm/services/mcp_gateway/auto_configure.py +372 -0
- claude_mpm/services/socketio/handlers/connection.py +3 -3
- claude_mpm/services/socketio/server/core.py +25 -2
- claude_mpm/services/socketio/server/eventbus_integration.py +189 -0
- claude_mpm/services/socketio/server/main.py +25 -0
- {claude_mpm-4.0.34.dist-info → claude_mpm-4.1.1.dist-info}/METADATA +25 -7
- {claude_mpm-4.0.34.dist-info → claude_mpm-4.1.1.dist-info}/RECORD +35 -30
- {claude_mpm-4.0.34.dist-info → claude_mpm-4.1.1.dist-info}/WHEEL +0 -0
- {claude_mpm-4.0.34.dist-info → claude_mpm-4.1.1.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.0.34.dist-info → claude_mpm-4.1.1.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.0.34.dist-info → claude_mpm-4.1.1.dist-info}/top_level.txt +0 -0
|
@@ -31,6 +31,9 @@ except ImportError:
|
|
|
31
31
|
aiohttp = None
|
|
32
32
|
web = None
|
|
33
33
|
|
|
34
|
+
# Import VersionService for dynamic version retrieval
|
|
35
|
+
from claude_mpm.services.version_service import VersionService
|
|
36
|
+
|
|
34
37
|
from ....core.constants import (
|
|
35
38
|
NetworkConfig,
|
|
36
39
|
PerformanceConfig,
|
|
@@ -158,11 +161,14 @@ class SocketIOServerCore:
|
|
|
158
161
|
async def _start_server(self):
|
|
159
162
|
"""Start the Socket.IO server with aiohttp."""
|
|
160
163
|
try:
|
|
161
|
-
# Create Socket.IO server
|
|
164
|
+
# Create Socket.IO server with proper ping/pong configuration
|
|
162
165
|
self.sio = socketio.AsyncServer(
|
|
163
166
|
cors_allowed_origins="*",
|
|
164
167
|
logger=False, # Disable Socket.IO's own logging
|
|
165
168
|
engineio_logger=False,
|
|
169
|
+
ping_interval=25, # Send ping every 25 seconds
|
|
170
|
+
ping_timeout=60, # Wait 60 seconds for pong response
|
|
171
|
+
max_http_buffer_size=1e8, # 100MB max buffer
|
|
166
172
|
)
|
|
167
173
|
|
|
168
174
|
# Create aiohttp application
|
|
@@ -255,6 +261,23 @@ class SocketIOServerCore:
|
|
|
255
261
|
return web.Response(text="Dashboard not available", status=404)
|
|
256
262
|
|
|
257
263
|
self.app.router.add_get("/", index_handler)
|
|
264
|
+
|
|
265
|
+
# Serve version.json from dashboard directory
|
|
266
|
+
async def version_handler(request):
|
|
267
|
+
version_file = self.dashboard_path / "version.json"
|
|
268
|
+
if version_file.exists():
|
|
269
|
+
self.logger.debug(f"Serving version.json from: {version_file}")
|
|
270
|
+
return web.FileResponse(version_file)
|
|
271
|
+
else:
|
|
272
|
+
# Return default version info if file doesn't exist
|
|
273
|
+
return web.json_response({
|
|
274
|
+
"version": "1.0.0",
|
|
275
|
+
"build": 1,
|
|
276
|
+
"formatted_build": "0001",
|
|
277
|
+
"full_version": "v1.0.0-0001"
|
|
278
|
+
})
|
|
279
|
+
|
|
280
|
+
self.app.router.add_get("/version.json", version_handler)
|
|
258
281
|
|
|
259
282
|
# Serve static assets (CSS, JS) from the dashboard static directory
|
|
260
283
|
dashboard_static_path = (
|
|
@@ -426,7 +449,7 @@ class SocketIOServerCore:
|
|
|
426
449
|
"total_events": self.stats.get("events_sent", 0),
|
|
427
450
|
"active_sessions": active_sessions,
|
|
428
451
|
"server_info": {
|
|
429
|
-
"version":
|
|
452
|
+
"version": VersionService().get_version(),
|
|
430
453
|
"port": self.port,
|
|
431
454
|
},
|
|
432
455
|
},
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"""EventBus integration for Socket.IO server.
|
|
2
|
+
|
|
3
|
+
WHY this integration module:
|
|
4
|
+
- Adds EventBus relay to Socket.IO server without modifying core
|
|
5
|
+
- Maintains backward compatibility with existing server
|
|
6
|
+
- Easy to enable/disable via configuration
|
|
7
|
+
- Provides clean separation of concerns
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
import asyncio
|
|
11
|
+
import logging
|
|
12
|
+
from typing import Optional
|
|
13
|
+
|
|
14
|
+
from claude_mpm.services.event_bus import EventBus, SocketIORelay
|
|
15
|
+
from claude_mpm.services.event_bus.config import get_config
|
|
16
|
+
|
|
17
|
+
logger = logging.getLogger(__name__)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class EventBusIntegration:
|
|
21
|
+
"""Integrates EventBus relay with Socket.IO server.
|
|
22
|
+
|
|
23
|
+
WHY integration class:
|
|
24
|
+
- Encapsulates EventBus setup and teardown
|
|
25
|
+
- Provides lifecycle management for relay
|
|
26
|
+
- Handles configuration and error cases
|
|
27
|
+
- Can be easily added to existing server
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
def __init__(self, server_instance=None):
|
|
31
|
+
"""Initialize EventBus integration.
|
|
32
|
+
|
|
33
|
+
Args:
|
|
34
|
+
server_instance: Optional Socket.IO server instance
|
|
35
|
+
"""
|
|
36
|
+
self.server = server_instance
|
|
37
|
+
self.relay: Optional[SocketIORelay] = None
|
|
38
|
+
self.event_bus: Optional[EventBus] = None
|
|
39
|
+
self.config = get_config()
|
|
40
|
+
self.enabled = self.config.enabled and self.config.relay_enabled
|
|
41
|
+
|
|
42
|
+
def setup(self, port: Optional[int] = None) -> bool:
|
|
43
|
+
"""Set up EventBus and relay.
|
|
44
|
+
|
|
45
|
+
Args:
|
|
46
|
+
port: Optional Socket.IO server port
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
bool: True if setup successful
|
|
50
|
+
"""
|
|
51
|
+
if not self.enabled:
|
|
52
|
+
logger.info("EventBus integration disabled by configuration")
|
|
53
|
+
return False
|
|
54
|
+
|
|
55
|
+
try:
|
|
56
|
+
# Get EventBus instance
|
|
57
|
+
self.event_bus = EventBus.get_instance()
|
|
58
|
+
|
|
59
|
+
# Apply configuration
|
|
60
|
+
self.config.apply_to_eventbus(self.event_bus)
|
|
61
|
+
|
|
62
|
+
# Create and configure relay
|
|
63
|
+
relay_port = port or self.config.relay_port
|
|
64
|
+
self.relay = SocketIORelay(relay_port)
|
|
65
|
+
self.config.apply_to_relay(self.relay)
|
|
66
|
+
|
|
67
|
+
# Start the relay
|
|
68
|
+
self.relay.start()
|
|
69
|
+
|
|
70
|
+
logger.info(f"EventBus integration setup complete (port: {relay_port})")
|
|
71
|
+
return True
|
|
72
|
+
|
|
73
|
+
except Exception as e:
|
|
74
|
+
logger.error(f"Failed to setup EventBus integration: {e}")
|
|
75
|
+
self.enabled = False
|
|
76
|
+
return False
|
|
77
|
+
|
|
78
|
+
def teardown(self) -> None:
|
|
79
|
+
"""Tear down EventBus integration."""
|
|
80
|
+
if self.relay:
|
|
81
|
+
try:
|
|
82
|
+
self.relay.stop()
|
|
83
|
+
logger.info("EventBus relay stopped")
|
|
84
|
+
except Exception as e:
|
|
85
|
+
logger.error(f"Error stopping relay: {e}")
|
|
86
|
+
finally:
|
|
87
|
+
self.relay = None
|
|
88
|
+
|
|
89
|
+
def is_active(self) -> bool:
|
|
90
|
+
"""Check if integration is active.
|
|
91
|
+
|
|
92
|
+
Returns:
|
|
93
|
+
bool: True if relay is active and connected
|
|
94
|
+
"""
|
|
95
|
+
return (
|
|
96
|
+
self.enabled and
|
|
97
|
+
self.relay is not None and
|
|
98
|
+
self.relay.enabled
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
def get_stats(self) -> dict:
|
|
102
|
+
"""Get integration statistics.
|
|
103
|
+
|
|
104
|
+
Returns:
|
|
105
|
+
dict: Combined stats from EventBus and relay
|
|
106
|
+
"""
|
|
107
|
+
stats = {
|
|
108
|
+
"enabled": self.enabled,
|
|
109
|
+
"active": self.is_active()
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if self.event_bus:
|
|
113
|
+
stats["eventbus"] = self.event_bus.get_stats()
|
|
114
|
+
|
|
115
|
+
if self.relay:
|
|
116
|
+
stats["relay"] = self.relay.get_stats()
|
|
117
|
+
|
|
118
|
+
return stats
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def integrate_with_server(server_instance, port: Optional[int] = None) -> EventBusIntegration:
|
|
122
|
+
"""Helper function to integrate EventBus with a Socket.IO server.
|
|
123
|
+
|
|
124
|
+
Args:
|
|
125
|
+
server_instance: Socket.IO server instance
|
|
126
|
+
port: Optional server port
|
|
127
|
+
|
|
128
|
+
Returns:
|
|
129
|
+
EventBusIntegration: The integration instance
|
|
130
|
+
"""
|
|
131
|
+
integration = EventBusIntegration(server_instance)
|
|
132
|
+
integration.setup(port or getattr(server_instance, 'port', 8765))
|
|
133
|
+
return integration
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
# Monkey-patch helper for existing server
|
|
137
|
+
def patch_socketio_server(server_class):
|
|
138
|
+
"""Monkey-patch an existing Socket.IO server class to add EventBus.
|
|
139
|
+
|
|
140
|
+
WHY monkey-patching:
|
|
141
|
+
- Allows integration without modifying existing code
|
|
142
|
+
- Can be applied selectively based on configuration
|
|
143
|
+
- Easy to remove or disable
|
|
144
|
+
|
|
145
|
+
Args:
|
|
146
|
+
server_class: The server class to patch
|
|
147
|
+
"""
|
|
148
|
+
original_init = server_class.__init__
|
|
149
|
+
original_start = getattr(server_class, 'start_sync', None) or getattr(server_class, 'start', None)
|
|
150
|
+
original_stop = getattr(server_class, 'stop_sync', None) or getattr(server_class, 'stop', None)
|
|
151
|
+
|
|
152
|
+
def patched_init(self, *args, **kwargs):
|
|
153
|
+
"""Patched __init__ that adds EventBus integration."""
|
|
154
|
+
original_init(self, *args, **kwargs)
|
|
155
|
+
self._eventbus_integration = EventBusIntegration(self)
|
|
156
|
+
|
|
157
|
+
def patched_start(self, *args, **kwargs):
|
|
158
|
+
"""Patched start method that sets up EventBus."""
|
|
159
|
+
# Call original start
|
|
160
|
+
if original_start:
|
|
161
|
+
result = original_start(self, *args, **kwargs)
|
|
162
|
+
else:
|
|
163
|
+
result = None
|
|
164
|
+
|
|
165
|
+
# Setup EventBus integration
|
|
166
|
+
if hasattr(self, '_eventbus_integration'):
|
|
167
|
+
port = getattr(self, 'port', 8765)
|
|
168
|
+
self._eventbus_integration.setup(port)
|
|
169
|
+
|
|
170
|
+
return result
|
|
171
|
+
|
|
172
|
+
def patched_stop(self, *args, **kwargs):
|
|
173
|
+
"""Patched stop method that tears down EventBus."""
|
|
174
|
+
# Teardown EventBus first
|
|
175
|
+
if hasattr(self, '_eventbus_integration'):
|
|
176
|
+
self._eventbus_integration.teardown()
|
|
177
|
+
|
|
178
|
+
# Call original stop
|
|
179
|
+
if original_stop:
|
|
180
|
+
return original_stop(self, *args, **kwargs)
|
|
181
|
+
|
|
182
|
+
# Apply patches
|
|
183
|
+
server_class.__init__ = patched_init
|
|
184
|
+
if original_start:
|
|
185
|
+
setattr(server_class, 'start_sync' if hasattr(server_class, 'start_sync') else 'start', patched_start)
|
|
186
|
+
if original_stop:
|
|
187
|
+
setattr(server_class, 'stop_sync' if hasattr(server_class, 'stop_sync') else 'stop', patched_stop)
|
|
188
|
+
|
|
189
|
+
logger.info(f"Patched {server_class.__name__} with EventBus integration")
|
|
@@ -43,6 +43,7 @@ from ...exceptions import SocketIOServerError as MPMConnectionError
|
|
|
43
43
|
from ..handlers import EventHandlerRegistry, FileEventHandler, GitEventHandler
|
|
44
44
|
from .broadcaster import SocketIOEventBroadcaster
|
|
45
45
|
from .core import SocketIOServerCore
|
|
46
|
+
from .eventbus_integration import EventBusIntegration
|
|
46
47
|
|
|
47
48
|
|
|
48
49
|
class SocketIOServer(SocketIOServiceInterface):
|
|
@@ -93,6 +94,9 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
93
94
|
|
|
94
95
|
# Active session tracking for heartbeat
|
|
95
96
|
self.active_sessions: Dict[str, Dict[str, Any]] = {}
|
|
97
|
+
|
|
98
|
+
# EventBus integration
|
|
99
|
+
self.eventbus_integration = None
|
|
96
100
|
|
|
97
101
|
def start_sync(self):
|
|
98
102
|
"""Start the Socket.IO server in a background thread (synchronous version)."""
|
|
@@ -144,6 +148,19 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
144
148
|
|
|
145
149
|
# Register events
|
|
146
150
|
self._register_events()
|
|
151
|
+
|
|
152
|
+
# Setup EventBus integration
|
|
153
|
+
# WHY: This connects the EventBus to the Socket.IO server, allowing
|
|
154
|
+
# events from other parts of the system to be broadcast to dashboard
|
|
155
|
+
try:
|
|
156
|
+
self.eventbus_integration = EventBusIntegration(self)
|
|
157
|
+
if self.eventbus_integration.setup(self.port):
|
|
158
|
+
self.logger.info("EventBus integration setup successful")
|
|
159
|
+
else:
|
|
160
|
+
self.logger.warning("EventBus integration setup failed or disabled")
|
|
161
|
+
except Exception as e:
|
|
162
|
+
self.logger.error(f"Failed to setup EventBus integration: {e}")
|
|
163
|
+
self.eventbus_integration = None
|
|
147
164
|
|
|
148
165
|
# Update running state
|
|
149
166
|
self.running = self.core.running
|
|
@@ -159,6 +176,14 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
159
176
|
if self.broadcaster:
|
|
160
177
|
self.broadcaster.stop_retry_processor()
|
|
161
178
|
|
|
179
|
+
# Teardown EventBus integration
|
|
180
|
+
if self.eventbus_integration:
|
|
181
|
+
try:
|
|
182
|
+
self.eventbus_integration.teardown()
|
|
183
|
+
self.logger.info("EventBus integration teardown complete")
|
|
184
|
+
except Exception as e:
|
|
185
|
+
self.logger.error(f"Error during EventBus teardown: {e}")
|
|
186
|
+
|
|
162
187
|
# Stop health monitoring in connection handler
|
|
163
188
|
if self.event_registry:
|
|
164
189
|
from ..handlers import ConnectionEventHandler
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.1.1
|
|
4
4
|
Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
|
|
5
5
|
Author-email: Bob Matsuoka <bob@matsuoka.com>
|
|
6
6
|
Maintainer: Claude MPM Team
|
|
@@ -54,6 +54,11 @@ Requires-Dist: pytest-asyncio; extra == "dev"
|
|
|
54
54
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
55
55
|
Requires-Dist: black; extra == "dev"
|
|
56
56
|
Requires-Dist: flake8; extra == "dev"
|
|
57
|
+
Requires-Dist: flake8-import-order; extra == "dev"
|
|
58
|
+
Requires-Dist: flake8-tidy-imports; extra == "dev"
|
|
59
|
+
Requires-Dist: flake8-bugbear; extra == "dev"
|
|
60
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
61
|
+
Requires-Dist: pylint>=3.0.0; extra == "dev"
|
|
57
62
|
Requires-Dist: pre-commit; extra == "dev"
|
|
58
63
|
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
59
64
|
Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
|
|
@@ -133,6 +138,13 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
|
|
|
133
138
|
pip install claude-mpm
|
|
134
139
|
```
|
|
135
140
|
|
|
141
|
+
Or with pipx (recommended for isolated installation):
|
|
142
|
+
```bash
|
|
143
|
+
pipx install claude-mpm
|
|
144
|
+
# Configure MCP for pipx users:
|
|
145
|
+
claude-mpm mcp-pipx-config
|
|
146
|
+
```
|
|
147
|
+
|
|
136
148
|
**That's it!** See [QUICKSTART.md](QUICKSTART.md) for immediate usage or [docs/user/installation.md](docs/user/installation.md) for advanced options.
|
|
137
149
|
|
|
138
150
|
## Quick Usage
|
|
@@ -157,15 +169,17 @@ claude-mpm cleanup-memory
|
|
|
157
169
|
See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
|
|
158
170
|
|
|
159
171
|
|
|
160
|
-
## Architecture (
|
|
172
|
+
## Architecture (v4.1.0+)
|
|
161
173
|
|
|
162
|
-
Following
|
|
174
|
+
Following continuous improvements through v4.1.0, Claude MPM features:
|
|
163
175
|
|
|
164
|
-
- **Service-Oriented Architecture**: Five specialized service domains
|
|
176
|
+
- **Service-Oriented Architecture**: Five specialized service domains with Socket.IO stability improvements
|
|
165
177
|
- **Interface-Based Contracts**: All services implement explicit interfaces
|
|
166
178
|
- **Dependency Injection**: Service container with automatic resolution
|
|
167
179
|
- **50-80% Performance Improvement**: Through lazy loading and intelligent caching
|
|
168
180
|
- **Enhanced Security**: Comprehensive input validation and sanitization framework
|
|
181
|
+
- **Improved Monitoring**: Enhanced dashboard with hierarchical agent display
|
|
182
|
+
- **Socket.IO Stability**: Major reliability improvements for real-time communication
|
|
169
183
|
|
|
170
184
|
See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture information.
|
|
171
185
|
|
|
@@ -254,11 +268,15 @@ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md]
|
|
|
254
268
|
### API Documentation
|
|
255
269
|
Comprehensive API documentation is available at [docs/api/](docs/api/) - build with `make html` in that directory.
|
|
256
270
|
|
|
257
|
-
## Recent Updates (
|
|
271
|
+
## Recent Updates (v4.1.0)
|
|
272
|
+
|
|
273
|
+
**Socket.IO Stability Improvements**: Major reliability enhancements for real-time communication with improved error handling and connection management.
|
|
274
|
+
|
|
275
|
+
**Project Organization**: Comprehensive cleanup and reorganization with structured script directories for better maintainability.
|
|
258
276
|
|
|
259
|
-
**
|
|
277
|
+
**Documentation Consolidation**: Streamlined documentation structure with consolidated guides and improved navigation.
|
|
260
278
|
|
|
261
|
-
**
|
|
279
|
+
**Agent Hierarchy Display**: Enhanced dashboard with hierarchical agent display showing PM at top level with visual distinction for implied vs explicit nodes.
|
|
262
280
|
|
|
263
281
|
See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions.
|
|
264
282
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=rx_IoyFtBPn9oVb8revon7__fGHhEuqj96OnLQO6BVA,4
|
|
2
|
-
claude_mpm/VERSION,sha256=
|
|
2
|
+
claude_mpm/VERSION,sha256=lzeRX85ek06jSGWPzLgqTFMhV9IWG7AyokDCg3uPZss,6
|
|
3
3
|
claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
|
|
4
4
|
claude_mpm/__main__.py,sha256=_kaecmtouDenx_-wueUULnTxu8LirJEerzXIHiKMgew,723
|
|
5
5
|
claude_mpm/constants.py,sha256=zwu1-qg-FAWyViUIKiTvYHGtgz6ABLDDrhmLiMMhOyc,5677
|
|
@@ -7,10 +7,10 @@ claude_mpm/init.py,sha256=n2W1sBtGUOod2XSMbiYZsqucvQUMuxf0ZudzeQjFv7E,15209
|
|
|
7
7
|
claude_mpm/ticket_wrapper.py,sha256=qe5xY579t7_7fK5nyeAfHN_fr7CXdeOD3jfXEc8-7yo,828
|
|
8
8
|
claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=r3EZA186PH7IAPaHsLc3aF3WmB5nwkz207lbAOVwRTA,5965
|
|
9
9
|
claude_mpm/agents/BASE_PM.md,sha256=SxItl7GEYhrp-rTXi3todB-vcMCpiBchfzieBlFI0w8,8479
|
|
10
|
-
claude_mpm/agents/INSTRUCTIONS.md,sha256=
|
|
10
|
+
claude_mpm/agents/INSTRUCTIONS.md,sha256=t_oRmnihXVR_YkvkFJTpTKfsXlNckFcSnW1gb_XWwzQ,16443
|
|
11
11
|
claude_mpm/agents/MEMORY.md,sha256=zzwq4ytOrRaj64iq1q7brC6WOCQ4PDDC75TTRT8QudA,3493
|
|
12
|
-
claude_mpm/agents/OUTPUT_STYLE.md,sha256=
|
|
13
|
-
claude_mpm/agents/WORKFLOW.md,sha256=
|
|
12
|
+
claude_mpm/agents/OUTPUT_STYLE.md,sha256=HZ5GhiTwMWj9G_uefmMguH4Ukhs2CQqa8u5FQ6HBrbo,2538
|
|
13
|
+
claude_mpm/agents/WORKFLOW.md,sha256=97tH3eo3r0dWSSthcfpgzBX623R7fBX9ejZRb8Sdwsg,19074
|
|
14
14
|
claude_mpm/agents/__init__.py,sha256=CPLqdKz9t_0gsSNdMSCZFw09jWQKSQ_piszPRFUyhKM,3220
|
|
15
15
|
claude_mpm/agents/agent-template.yaml,sha256=mRlz5Yd0SmknTeoJWgFkZXzEF5T7OmGBJGs2-KPT93k,1969
|
|
16
16
|
claude_mpm/agents/agent_loader.py,sha256=jLn2KBH_V7gm76MDiAnR1AKOCcp-DqcYJffaYhF9BRs,31786
|
|
@@ -42,8 +42,8 @@ claude_mpm/agents/templates/ticketing.json,sha256=3Wd-uHfuj2yxUwdygVH8KcrGhhNS0w
|
|
|
42
42
|
claude_mpm/agents/templates/vercel_ops_agent.json,sha256=t_jjZeNThEYBJtntbSxR_grIr5nV_ktroJME_eXyx14,7926
|
|
43
43
|
claude_mpm/agents/templates/vercel_ops_instructions.md,sha256=yDf5_2IEC22t6CqZaKCpbk1PIccHt3BbbnQ6IbAay38,15500
|
|
44
44
|
claude_mpm/agents/templates/version_control.json,sha256=I_BudE8mEMWUwKYdkh36B-VraJwY7WLmOvgVTUJI3i0,13910
|
|
45
|
-
claude_mpm/agents/templates/web_qa.json,sha256=
|
|
46
|
-
claude_mpm/agents/templates/web_ui.json,sha256=
|
|
45
|
+
claude_mpm/agents/templates/web_qa.json,sha256=eLXCN_7Nq5C-IaRFANIolf7KRtmfn_rkCr1O9AVaYi0,30626
|
|
46
|
+
claude_mpm/agents/templates/web_ui.json,sha256=O0zjrFOsR8P_gQJrNFMi7aIEaISLnt7tNn3KxwsIxbM,34906
|
|
47
47
|
claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json,sha256=lLso4RHXVTQmX4A1XwF84kT59zZDblPO1xCgBj4S4x8,5060
|
|
48
48
|
claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json,sha256=snfJW2yW9aMv9ldCSIWW7zwnyoQRx5u7xLMkNlfus9I,2258
|
|
49
49
|
claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json,sha256=21o8TGCM9TO6eocSV9Ev5MmCq-xYwwCqMU7KQESaY2Q,8479
|
|
@@ -54,17 +54,18 @@ claude_mpm/agents/templates/backup/research_agent_20250726_234551.json,sha256=o4
|
|
|
54
54
|
claude_mpm/agents/templates/backup/research_memory_efficient.json,sha256=WlPnKlojeiCBZ4H75nWexLl_dHU5cSORIqLCDp4tCMM,8419
|
|
55
55
|
claude_mpm/agents/templates/backup/security_agent_20250726_234551.json,sha256=l5YuD-27CxKSOsRLv0bDY_tCZyds0yGbeizLb8paeFY,2322
|
|
56
56
|
claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json,sha256=too38RPTLJ9HutCMn0nfmEdCj2me241dx5tUYDFtu94,2143
|
|
57
|
-
claude_mpm/cli/__init__.py,sha256=
|
|
57
|
+
claude_mpm/cli/__init__.py,sha256=E_VkjcnRADx4Ho1kkanvm4Rhizs4prepumZUSV6gfiE,15761
|
|
58
58
|
claude_mpm/cli/__main__.py,sha256=si_4WQX3adES4XRQJt-Jb0f7tWOZq0I-A7eO14hrMc4,847
|
|
59
59
|
claude_mpm/cli/parser.py,sha256=Kv2d4JJMVIag1Q_YJimJdjzrnEN_jetKW-hGuEW67Uo,1438
|
|
60
|
-
claude_mpm/cli/startup_logging.py,sha256=
|
|
60
|
+
claude_mpm/cli/startup_logging.py,sha256=uS3M7RsJCWgkJAULgFHsw0Dth7EKnvaX8X4ci6zEtPY,19630
|
|
61
61
|
claude_mpm/cli/ticket_cli.py,sha256=Cco0riIeo-PuzBslX3-5LAtLUcsLvexSRtVlheb7-cQ,916
|
|
62
62
|
claude_mpm/cli/utils.py,sha256=uhTQ4TG8TulEOl93PKFNmkhheWynNIPmadD-p4FhytQ,7091
|
|
63
63
|
claude_mpm/cli/commands/__init__.py,sha256=I79gBlcKNuhNaTA_k5RT5UXhtk2t585jVuMNEokHJ0M,981
|
|
64
64
|
claude_mpm/cli/commands/agent_manager.py,sha256=3B4RRr-ncyCTytUJ3Oh84DLcfquHokdVuUJLT-YOG6Y,20706
|
|
65
|
-
claude_mpm/cli/commands/agents.py,sha256=
|
|
65
|
+
claude_mpm/cli/commands/agents.py,sha256=GwvYkVgh5A1XHlyH8EfZQ0yrrCh62nwSoNLd10H0cOw,52364
|
|
66
66
|
claude_mpm/cli/commands/aggregate.py,sha256=3-qFHY5-QkvuG06TDhADwesMfYcP9w7XdtroLAuZ9e4,18107
|
|
67
67
|
claude_mpm/cli/commands/cleanup.py,sha256=HpM8f2Ub0z3Tm40BtpZ97k9RJ0bp8cT0_EgcaFRPqz8,19701
|
|
68
|
+
claude_mpm/cli/commands/cleanup_orphaned_agents.py,sha256=RxDVWYhBPA5pM3JFn3HYgQU5ll5CaYSTqrXXY640AF8,4593
|
|
68
69
|
claude_mpm/cli/commands/config.py,sha256=uz4QHpV3owh5baM2KAny8BOIiy6rY00qoD-NSjoggdo,18269
|
|
69
70
|
claude_mpm/cli/commands/doctor.py,sha256=YdOjuuxoJ_hbkSiuLK5G-LucGXagQlV0ZQOxPoiEGN4,5953
|
|
70
71
|
claude_mpm/cli/commands/info.py,sha256=UgPBS7WCrie4fNnGDU_ahVBtNlgHpG--9hnF0iut4do,7207
|
|
@@ -72,6 +73,7 @@ claude_mpm/cli/commands/mcp.py,sha256=DHXtfW0SBpNTKkTBwbJ_nXailNjXTJOXnYcC52WXsl
|
|
|
72
73
|
claude_mpm/cli/commands/mcp_command_router.py,sha256=ETpWpQhzOfd_UBGTjFuTAECCeIYya_rzfE46QVlFmqQ,5652
|
|
73
74
|
claude_mpm/cli/commands/mcp_config_commands.py,sha256=TnTg7-erE5Z6O8C84o4lZITco72Wnu0FVlVF8tNVsP0,695
|
|
74
75
|
claude_mpm/cli/commands/mcp_install_commands.py,sha256=6yCtESzYJERaevyYicpFHSoxBtX53sENsXS2MXBZkrE,10142
|
|
76
|
+
claude_mpm/cli/commands/mcp_pipx_config.py,sha256=gn3q1-Uz8M2u2DDfYJ77ipa1ejbBlGqWGxd2CAoT7XU,6033
|
|
75
77
|
claude_mpm/cli/commands/mcp_server_commands.py,sha256=QIXD5HjGPihJKA1smxlSgrw-b87nIzbg9hAZmfwXYWw,6200
|
|
76
78
|
claude_mpm/cli/commands/mcp_tool_commands.py,sha256=q17GzlFT3JiLTrDqwPO2tz1-fKmPO5QU449syTnKTz4,1283
|
|
77
79
|
claude_mpm/cli/commands/memory.py,sha256=jFI4DuFqOe_Lyi0greevLcqOFRtqdL6gRu0RT49vqIY,51038
|
|
@@ -82,8 +84,8 @@ claude_mpm/cli/commands/socketio_monitor.py,sha256=3QnUrbd7l6wZyYKA3mGoT_AbenhSg
|
|
|
82
84
|
claude_mpm/cli/commands/tickets.py,sha256=8rksywahSQIM81SuJtAVAyt9mBVlsyeBFWmaiWBNs6o,33869
|
|
83
85
|
claude_mpm/cli/parsers/__init__.py,sha256=z6xJz7lumf54qkqv5hvDYr3P1ib_MqvoxSW8-gFz9Kg,1005
|
|
84
86
|
claude_mpm/cli/parsers/agent_manager_parser.py,sha256=23QY2UHqogqFd-qLv_5RxFlugpQiIriDVa868CUXzLk,7219
|
|
85
|
-
claude_mpm/cli/parsers/agents_parser.py,sha256=
|
|
86
|
-
claude_mpm/cli/parsers/base_parser.py,sha256=
|
|
87
|
+
claude_mpm/cli/parsers/agents_parser.py,sha256=8QRPL0XiSTP-0Z5G8zRETX__LCEYNkrGaPW9nvOu6ow,5462
|
|
88
|
+
claude_mpm/cli/parsers/base_parser.py,sha256=oPDZE6QVQOKKZ19dnnvt1y_QuykX5V58wT5EOtjFWY0,12204
|
|
87
89
|
claude_mpm/cli/parsers/config_parser.py,sha256=wp6NbV8_p9txP28MXFcQrri0JDIfGFM7u4aJbYJXcYQ,2699
|
|
88
90
|
claude_mpm/cli/parsers/mcp_parser.py,sha256=JHtppgCJJsFcxbQjCVFugyTst82NQBiawE_GQhsMTWA,5993
|
|
89
91
|
claude_mpm/cli/parsers/memory_parser.py,sha256=ZwCDxJEgp-w03L-1tZsWTgisiwamP42s424bA5bvDJc,4760
|
|
@@ -183,10 +185,10 @@ claude_mpm/dashboard/static/dist/components/ui-state-manager.js,sha256=PtZs6sxNh
|
|
|
183
185
|
claude_mpm/dashboard/static/dist/components/working-directory.js,sha256=7V1pBeuxWOxZVlDp3kZvivTHAfzucv2ceBXWP6SlZTY,15339
|
|
184
186
|
claude_mpm/dashboard/static/js/dashboard.js,sha256=bacYhLFaxQIVOeRaUZProQ0Px6CeZFZmgnwZoHjKWls,71535
|
|
185
187
|
claude_mpm/dashboard/static/js/extension-error-handler.js,sha256=DZHrJ3gbfv4nsjmZpNMj-Sc3GKjVJ5ds8lgoaLRnq5I,6274
|
|
186
|
-
claude_mpm/dashboard/static/js/socket-client.js,sha256=
|
|
188
|
+
claude_mpm/dashboard/static/js/socket-client.js,sha256=i19ZYpUqO38kXubk5NpuVXlSlz8UhorTEYYCJFxbcLM,35984
|
|
187
189
|
claude_mpm/dashboard/static/js/components/agent-hierarchy.js,sha256=Xihxog_vJrk8VBEkDogV_wbye2GIFWmH71VQ1lETOHk,28243
|
|
188
190
|
claude_mpm/dashboard/static/js/components/agent-inference.js,sha256=RUVZ_fLOyDkHYjrROen_Pzzay79Bh29eXp_GRIPbIRg,37493
|
|
189
|
-
claude_mpm/dashboard/static/js/components/build-tracker.js,sha256=
|
|
191
|
+
claude_mpm/dashboard/static/js/components/build-tracker.js,sha256=IBfKpoSKWD5QMPN4tOZl-E84Q3QADYVsZ76ickrKW8E,11485
|
|
190
192
|
claude_mpm/dashboard/static/js/components/event-processor.js,sha256=_GnAz8pxN1iyXw0O4AIR482QFyQAigEKO9IDUOUbGqc,24844
|
|
191
193
|
claude_mpm/dashboard/static/js/components/event-viewer.js,sha256=TST6uDa6NsW-VTUf1FhibLgmjNJoPz_QjyGakOdBrqA,40915
|
|
192
194
|
claude_mpm/dashboard/static/js/components/export-manager.js,sha256=T1YtaR758FaB9aP_5V1xZC9EBIFQOG5H8f_sLopxR5A,11863
|
|
@@ -209,9 +211,9 @@ claude_mpm/hooks/memory_integration_hook.py,sha256=O9_2X0LECbmrgN42P_fEnZoaBkB6f
|
|
|
209
211
|
claude_mpm/hooks/tool_call_interceptor.py,sha256=PI1bzMtSPy2X8lEjTjBXl0WJY-M-v1D-bxcwvUCGgzw,7452
|
|
210
212
|
claude_mpm/hooks/validation_hooks.py,sha256=w3bSApxZE6hfLnBLVEs62DpJ6grxOr1-JZn1o6JFzc0,6447
|
|
211
213
|
claude_mpm/hooks/claude_hooks/__init__.py,sha256=b4mud_g3S-3itHY_Dzpbb_SmdMEcJwtUU8fTcqpLqqs,130
|
|
212
|
-
claude_mpm/hooks/claude_hooks/connection_pool.py,sha256=
|
|
214
|
+
claude_mpm/hooks/claude_hooks/connection_pool.py,sha256=eFARIVl_ZFyM1Xwrzx-3Qx2N8UZ2xajzY6T2Z2gn9Oo,7345
|
|
213
215
|
claude_mpm/hooks/claude_hooks/event_handlers.py,sha256=7C_iJXBcjsZnH3jdrF9wjsih7IZYff5A3RJly2WwXQQ,32930
|
|
214
|
-
claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=
|
|
216
|
+
claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=amIPW5CRVVaT-uFjiC4VhTxXcMHGkfuCT39hIaVuWlg,41142
|
|
215
217
|
claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py,sha256=t2O1l6Qk6_49BPBHEiRm-QExEFfBdCThQo0F6KgEMkA,14725
|
|
216
218
|
claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=4lG3TlLVoVfTJipPj1X_ICUlS-KpnkbUp1U3oSq80Bw,2476
|
|
217
219
|
claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=Cvn5eEcaZido5eTWhG-43lV2dNgknhGIE1oPrwCXd8A,8953
|
|
@@ -256,7 +258,7 @@ claude_mpm/services/agents/deployment/agent_config_provider.py,sha256=iH_N4Qi7gq
|
|
|
256
258
|
claude_mpm/services/agents/deployment/agent_configuration_manager.py,sha256=VhwSYX1wYYnSQqfqmCpy9goPJ9f2eEA2_DFrdwtO7j4,12180
|
|
257
259
|
claude_mpm/services/agents/deployment/agent_definition_factory.py,sha256=izcjZGLznts8khXD8wLViUbk_kPhnrqucLHFdfap_8c,2754
|
|
258
260
|
claude_mpm/services/agents/deployment/agent_deployment.py,sha256=PeKiJBXuXGFb0-nuirY7tcLLePKaeKjx7J8qlgIRtHA,51405
|
|
259
|
-
claude_mpm/services/agents/deployment/agent_discovery_service.py,sha256=
|
|
261
|
+
claude_mpm/services/agents/deployment/agent_discovery_service.py,sha256=BrxFKPWq1q7DFROnPhn28ZI5taekj4LfSMyFz4qj88c,13530
|
|
260
262
|
claude_mpm/services/agents/deployment/agent_environment_manager.py,sha256=Tx-fqnRmd-XV8goqUv3M6dtfthc98hrh7-Xcvs3QKYU,9936
|
|
261
263
|
claude_mpm/services/agents/deployment/agent_filesystem_manager.py,sha256=dKDsweubspi-x0X97ah_Ffw1LRPWttD2JKtryrwhjhw,13004
|
|
262
264
|
claude_mpm/services/agents/deployment/agent_format_converter.py,sha256=6PgY5nphC8zDBfxk4YNcAmFUFm56lEX8yUJwBxYj5Mc,15750
|
|
@@ -264,9 +266,9 @@ claude_mpm/services/agents/deployment/agent_frontmatter_validator.py,sha256=gro-
|
|
|
264
266
|
claude_mpm/services/agents/deployment/agent_lifecycle_manager.py,sha256=y0p7KMEvIL291Vv1j8xjikQZcJyw1IhpInJEervA9XY,40214
|
|
265
267
|
claude_mpm/services/agents/deployment/agent_metrics_collector.py,sha256=avJ8LJesSDaQrgKJzCyRDMMZl5AgHWHgk4a1gpIMWbY,10186
|
|
266
268
|
claude_mpm/services/agents/deployment/agent_restore_handler.py,sha256=IR3g6-kVB75Ew47E7Wg6UA6-juq6caSXEnmrpkOlfVU,3129
|
|
267
|
-
claude_mpm/services/agents/deployment/agent_template_builder.py,sha256=
|
|
269
|
+
claude_mpm/services/agents/deployment/agent_template_builder.py,sha256=dRxgvgtKIkgIlZYipDU51fEpmqgylPo0RRsh3Z5d5dA,15913
|
|
268
270
|
claude_mpm/services/agents/deployment/agent_validator.py,sha256=ie7mYPEjYWeWgjpVyPludX1UAy5zBuYOWf-cXKVbKtM,12577
|
|
269
|
-
claude_mpm/services/agents/deployment/agent_version_manager.py,sha256=
|
|
271
|
+
claude_mpm/services/agents/deployment/agent_version_manager.py,sha256=tu_1b8hRDTIog8-mVY00sz0JcCLmQLx6yyZ8n22aOB4,10956
|
|
270
272
|
claude_mpm/services/agents/deployment/agent_versioning.py,sha256=HVejWr4AAQq8wEP4wxAiCntG_PielWQPnVICmEfNQNs,1002
|
|
271
273
|
claude_mpm/services/agents/deployment/agents_directory_resolver.py,sha256=iITRdP_bB564RS1FcDDzyePLxELIRjP3IR5qgrV7i1c,2217
|
|
272
274
|
claude_mpm/services/agents/deployment/async_agent_deployment.py,sha256=1Ij6PDj3nVboSp7_6cN1YPk-8QcbvqeXrHfe96dnZMQ,28221
|
|
@@ -276,7 +278,7 @@ claude_mpm/services/agents/deployment/deployment_wrapper.py,sha256=kJmnUzavyrsfL
|
|
|
276
278
|
claude_mpm/services/agents/deployment/interface_adapter.py,sha256=bZmO4vF8Dnt0Ea8SgpIMHXPs6kMubSBDA-rN6ZH8hGQ,8143
|
|
277
279
|
claude_mpm/services/agents/deployment/lifecycle_health_checker.py,sha256=2dphAvYRABNlsvi3XfVwS8kvv-YURNEwPBVtCc1g3Zc,3164
|
|
278
280
|
claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py,sha256=lK_yg0uRL55opUoecOJBL83Tjj6Pu_z4-4EYWPeN6tM,4336
|
|
279
|
-
claude_mpm/services/agents/deployment/multi_source_deployment_service.py,sha256=
|
|
281
|
+
claude_mpm/services/agents/deployment/multi_source_deployment_service.py,sha256=jH3sT7wSzXOvKXbEJNw5b2L3veHt0fWip8DiDc0E4Yg,38943
|
|
280
282
|
claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py,sha256=3EUb6rDe7FooDLM8TxMgefM0UE90MGhy0PmhKQXvTSA,11892
|
|
281
283
|
claude_mpm/services/agents/deployment/system_instructions_deployer.py,sha256=SCBBXleIn322X_w-swOHjO22J3HCxSHGkd3V-rSbbOs,4060
|
|
282
284
|
claude_mpm/services/agents/deployment/config/__init__.py,sha256=dpyC_WlQWlaOne9VVF0KXzoEO0Davt02bjfk1AJv2jk,397
|
|
@@ -355,8 +357,9 @@ claude_mpm/services/diagnostics/checks/mcp_check.py,sha256=GA_oxxyy6OTgt2GUeSdUB
|
|
|
355
357
|
claude_mpm/services/diagnostics/checks/monitor_check.py,sha256=qMtloyc6wxjErJCFFe5FNvN6fjvEGWDVy3dWwQ1BXPE,10519
|
|
356
358
|
claude_mpm/services/diagnostics/checks/startup_log_check.py,sha256=DZmJMQg6SjCLIZ3Knm4LmMCNPcNrtYfSFgnruxafuLI,12724
|
|
357
359
|
claude_mpm/services/event_bus/__init__.py,sha256=PCVIbsvIwt0ZMoi3CMRhLwneSturJ_lJRMePglSOWFI,687
|
|
358
|
-
claude_mpm/services/event_bus/
|
|
359
|
-
claude_mpm/services/event_bus/
|
|
360
|
+
claude_mpm/services/event_bus/config.py,sha256=Z67FICZruPXFdRBsVXBakGX8LHJx_aJixOOOkv9iSgY,4868
|
|
361
|
+
claude_mpm/services/event_bus/event_bus.py,sha256=FfyEKDJe-AHtUC_21euXZSPvXutwgTzQFSjg--sCimI,12185
|
|
362
|
+
claude_mpm/services/event_bus/relay.py,sha256=pRd2tz91yc3PNImdtEAP54DmKzmcMsimtr8Ae2qqOI8,9259
|
|
360
363
|
claude_mpm/services/events/__init__.py,sha256=v35MhdRDFDwsF2nwfIkHS1ii-7mC0OzRZ5MaTcBaOzo,1091
|
|
361
364
|
claude_mpm/services/events/core.py,sha256=KJFERKyPOUG4GtkEBcX7BQuPYxjy3CJIG3ZDKf0MxIY,17016
|
|
362
365
|
claude_mpm/services/events/interfaces.py,sha256=n5M8xS3y6e6iJ9bWk2R00LwkRKow8NZz48C5Ono3zZY,5958
|
|
@@ -393,6 +396,7 @@ claude_mpm/services/infrastructure/daemon_manager.py,sha256=ZfEmSSwyP7nYRfdpEl7G
|
|
|
393
396
|
claude_mpm/services/infrastructure/logging.py,sha256=3bYMJi-qzpPNgs1-Epfp6EAuRm5iP-hypIluSpgy0Eg,6473
|
|
394
397
|
claude_mpm/services/infrastructure/monitoring.py,sha256=NXF3Z2SWz42KdSBdlIN5ADGgyNY6DS_qCYKKg2YYS5E,35871
|
|
395
398
|
claude_mpm/services/mcp_gateway/__init__.py,sha256=sZ8qtuIle4U9N4j3YZCTmikz1DMK68VvLPhhpvfNxiU,4503
|
|
399
|
+
claude_mpm/services/mcp_gateway/auto_configure.py,sha256=sckgmnIwsrUyr2bLNIRaYHCwygbDrzZXrCIZkRey-H8,12766
|
|
396
400
|
claude_mpm/services/mcp_gateway/main.py,sha256=dkwXrSMNizJGUMUMmSD_rSHt696clJ7sOlNrzsry8ig,15753
|
|
397
401
|
claude_mpm/services/mcp_gateway/config/__init__.py,sha256=noKmcSovlfAN8I50QMDZA5fLdBedLY58N2JkNNT-HFc,386
|
|
398
402
|
claude_mpm/services/mcp_gateway/config/config_loader.py,sha256=M1ZpMlztByFd_p5qCmIkMAfrMCLyap9n1QTU-MInv9M,9523
|
|
@@ -442,7 +446,7 @@ claude_mpm/services/socketio/event_normalizer.py,sha256=v9kQ2NezUzWYcIAWBX1wnDeu
|
|
|
442
446
|
claude_mpm/services/socketio/migration_utils.py,sha256=YxDlaS5xxDnC52ggWhRqo743MSMqFhlEgujAHMI1gzs,12168
|
|
443
447
|
claude_mpm/services/socketio/handlers/__init__.py,sha256=-lTRs1zdzDEf_QhT5ajE1_Z27MxKaFC4CzFtWxjK5ss,789
|
|
444
448
|
claude_mpm/services/socketio/handlers/base.py,sha256=YaidwKRhDNhntQvfGTMX0XVkwdNfbYASopRJ9sFLbcA,4858
|
|
445
|
-
claude_mpm/services/socketio/handlers/connection.py,sha256=
|
|
449
|
+
claude_mpm/services/socketio/handlers/connection.py,sha256=NrmuxmEIEvLvQiydNQesa2wnNEWR0hAXCdslBHzkOWg,27222
|
|
446
450
|
claude_mpm/services/socketio/handlers/file.py,sha256=xYrzaZCQLkNvWvt3Ebnd7w66eaMhTr5ClxAvFMFDEIg,8431
|
|
447
451
|
claude_mpm/services/socketio/handlers/git.py,sha256=sVmPKDC5VQb5ukzFelgTYu52M-wZntnANNNxrTewhVY,37861
|
|
448
452
|
claude_mpm/services/socketio/handlers/hook.py,sha256=1EETZ1G2lPqgzoEWwqzVb33zJajxet1ePH4AayE7TcA,8030
|
|
@@ -451,8 +455,9 @@ claude_mpm/services/socketio/handlers/project.py,sha256=_SbSRZ54IivtHWtfl4sKfbgR
|
|
|
451
455
|
claude_mpm/services/socketio/handlers/registry.py,sha256=u1kKRdVWsT4XKoQVQrq5V5JWyUK0R-R5hQg4IB6UKVY,7794
|
|
452
456
|
claude_mpm/services/socketio/server/__init__.py,sha256=a5SYqKHCER3ger9dv4_P-RmLtND6pHd-2VFSrP04Gqo,640
|
|
453
457
|
claude_mpm/services/socketio/server/broadcaster.py,sha256=IUyScw2YSk_1jjIdD5DwF4gD50hXWG64c5nuM7SexSI,20533
|
|
454
|
-
claude_mpm/services/socketio/server/core.py,sha256=
|
|
455
|
-
claude_mpm/services/socketio/server/
|
|
458
|
+
claude_mpm/services/socketio/server/core.py,sha256=VHTKWG_fNZB6ciQ0djlcyfaFsDktOm6shP4UuwOEm-c,18724
|
|
459
|
+
claude_mpm/services/socketio/server/eventbus_integration.py,sha256=HmStNC2PqUjKKOYYlwL9wfC3aeysR80v3L3csTLyrhE,6226
|
|
460
|
+
claude_mpm/services/socketio/server/main.py,sha256=9hYMlxO1oOjZSjXugdZHyRB_FdhTHX-HPxCFHqIs9rs,14643
|
|
456
461
|
claude_mpm/services/version_control/__init__.py,sha256=xj13GwrNw4t1KieGlmw62hj14HPj2BWP2Tlv-9E_tTE,1510
|
|
457
462
|
claude_mpm/services/version_control/branch_strategy.py,sha256=XsmXwB98-zoTGKsM27fPS813tcKaJwgB7DWilgKKhio,23232
|
|
458
463
|
claude_mpm/services/version_control/conflict_resolution.py,sha256=RM5cFxlEmvqS3SeCwMYAkhTu5UTIGlhI2Kgh2Yw7VO0,26381
|
|
@@ -481,9 +486,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=e74VlIPozCljZss_0SwLO3J1ZuIKRT9FrrFi
|
|
|
481
486
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
482
487
|
claude_mpm/validation/agent_validator.py,sha256=szbK9d29v_T6xE_KvW845WLKXbS_yYpXQscrSrSeldI,20937
|
|
483
488
|
claude_mpm/validation/frontmatter_validator.py,sha256=hFhKnSvlYuYT91lPDxX9V6ICm05MBJw85coZpkL1o1g,7033
|
|
484
|
-
claude_mpm-4.
|
|
485
|
-
claude_mpm-4.
|
|
486
|
-
claude_mpm-4.
|
|
487
|
-
claude_mpm-4.
|
|
488
|
-
claude_mpm-4.
|
|
489
|
-
claude_mpm-4.
|
|
489
|
+
claude_mpm-4.1.1.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
|
490
|
+
claude_mpm-4.1.1.dist-info/METADATA,sha256=yd2lS4M3s-yVnaGmYuI2naYepk2M9p1XvCax8xzOvhs,13327
|
|
491
|
+
claude_mpm-4.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
492
|
+
claude_mpm-4.1.1.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
|
|
493
|
+
claude_mpm-4.1.1.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
494
|
+
claude_mpm-4.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|