claude-mpm 4.1.5__py3-none-any.whl → 4.1.7__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/agent-manager.json +1 -1
- claude_mpm/agents/templates/agent-manager.md +111 -34
- claude_mpm/agents/templates/research.json +39 -13
- claude_mpm/cli/__init__.py +2 -0
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/configure.py +1221 -0
- claude_mpm/cli/commands/configure_tui.py +1921 -0
- claude_mpm/cli/parsers/base_parser.py +7 -0
- claude_mpm/cli/parsers/configure_parser.py +119 -0
- claude_mpm/cli/startup_logging.py +39 -12
- claude_mpm/config/socketio_config.py +33 -4
- claude_mpm/constants.py +1 -0
- claude_mpm/core/socketio_pool.py +35 -3
- claude_mpm/dashboard/static/css/connection-status.css +370 -0
- claude_mpm/dashboard/static/js/components/connection-debug.js +654 -0
- claude_mpm/dashboard/static/js/connection-manager.js +536 -0
- claude_mpm/dashboard/static/js/socket-client.js +40 -16
- claude_mpm/dashboard/templates/index.html +11 -0
- claude_mpm/hooks/claude_hooks/services/__init__.py +3 -1
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +17 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +190 -0
- claude_mpm/services/diagnostics/checks/__init__.py +2 -0
- claude_mpm/services/diagnostics/checks/instructions_check.py +418 -0
- claude_mpm/services/diagnostics/diagnostic_runner.py +15 -2
- claude_mpm/services/event_bus/direct_relay.py +230 -0
- claude_mpm/services/socketio/handlers/connection_handler.py +330 -0
- claude_mpm/services/socketio/server/broadcaster.py +32 -1
- claude_mpm/services/socketio/server/connection_manager.py +547 -0
- claude_mpm/services/socketio/server/core.py +78 -7
- claude_mpm/services/socketio/server/eventbus_integration.py +20 -9
- claude_mpm/services/socketio/server/main.py +74 -19
- {claude_mpm-4.1.5.dist-info → claude_mpm-4.1.7.dist-info}/METADATA +3 -1
- {claude_mpm-4.1.5.dist-info → claude_mpm-4.1.7.dist-info}/RECORD +38 -41
- claude_mpm/agents/OUTPUT_STYLE.md +0 -73
- claude_mpm/agents/backups/INSTRUCTIONS.md +0 -352
- claude_mpm/agents/templates/OPTIMIZATION_REPORT.md +0 -156
- claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -79
- claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -68
- claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -77
- claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -78
- claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -67
- claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -88
- claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -72
- claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -88
- claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -78
- claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -62
- claude_mpm/agents/templates/vercel_ops_instructions.md +0 -582
- {claude_mpm-4.1.5.dist-info → claude_mpm-4.1.7.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.5.dist-info → claude_mpm-4.1.7.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.1.5.dist-info → claude_mpm-4.1.7.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.5.dist-info → claude_mpm-4.1.7.dist-info}/top_level.txt +0 -0
|
@@ -10,8 +10,9 @@ WHY this integration module:
|
|
|
10
10
|
import logging
|
|
11
11
|
from typing import Optional
|
|
12
12
|
|
|
13
|
-
from claude_mpm.services.event_bus import EventBus
|
|
13
|
+
from claude_mpm.services.event_bus import EventBus
|
|
14
14
|
from claude_mpm.services.event_bus.config import get_config
|
|
15
|
+
from claude_mpm.services.event_bus.direct_relay import DirectSocketIORelay
|
|
15
16
|
|
|
16
17
|
logger = logging.getLogger(__name__)
|
|
17
18
|
|
|
@@ -33,7 +34,7 @@ class EventBusIntegration:
|
|
|
33
34
|
server_instance: Optional Socket.IO server instance
|
|
34
35
|
"""
|
|
35
36
|
self.server = server_instance
|
|
36
|
-
self.relay: Optional[
|
|
37
|
+
self.relay: Optional[DirectSocketIORelay] = None
|
|
37
38
|
self.event_bus: Optional[EventBus] = None
|
|
38
39
|
self.config = get_config()
|
|
39
40
|
self.enabled = self.config.enabled and self.config.relay_enabled
|
|
@@ -76,23 +77,33 @@ class EventBusIntegration:
|
|
|
76
77
|
# Apply configuration
|
|
77
78
|
self.config.apply_to_eventbus(self.event_bus)
|
|
78
79
|
|
|
79
|
-
# Create
|
|
80
|
-
relay_port = port or self.config.relay_port
|
|
80
|
+
# Create direct relay that uses server's broadcaster
|
|
81
81
|
print(
|
|
82
|
-
f"[{datetime.now().isoformat()}] Creating
|
|
82
|
+
f"[{datetime.now().isoformat()}] Creating DirectSocketIORelay...",
|
|
83
83
|
flush=True,
|
|
84
84
|
)
|
|
85
|
-
self.
|
|
86
|
-
|
|
85
|
+
if self.server:
|
|
86
|
+
self.relay = DirectSocketIORelay(self.server)
|
|
87
|
+
print(
|
|
88
|
+
f"[{datetime.now().isoformat()}] DirectSocketIORelay created with server instance",
|
|
89
|
+
flush=True,
|
|
90
|
+
)
|
|
91
|
+
else:
|
|
92
|
+
logger.warning("No server instance provided, relay won't work")
|
|
93
|
+
print(
|
|
94
|
+
f"[{datetime.now().isoformat()}] WARNING: No server instance for relay",
|
|
95
|
+
flush=True,
|
|
96
|
+
)
|
|
97
|
+
return False
|
|
87
98
|
|
|
88
99
|
# Start the relay
|
|
89
100
|
print(f"[{datetime.now().isoformat()}] Starting relay...", flush=True)
|
|
90
101
|
self.relay.start()
|
|
91
102
|
print(f"[{datetime.now().isoformat()}] Relay started", flush=True)
|
|
92
103
|
|
|
93
|
-
logger.info(
|
|
104
|
+
logger.info("EventBus integration setup complete with DirectSocketIORelay")
|
|
94
105
|
print(
|
|
95
|
-
f"[{datetime.now().isoformat()}] EventBus integration setup complete",
|
|
106
|
+
f"[{datetime.now().isoformat()}] EventBus integration setup complete with DirectSocketIORelay",
|
|
96
107
|
flush=True,
|
|
97
108
|
)
|
|
98
109
|
return True
|
|
@@ -35,6 +35,7 @@ from ....core.logging_config import get_logger
|
|
|
35
35
|
from ...core.interfaces.communication import SocketIOServiceInterface
|
|
36
36
|
from ..handlers import EventHandlerRegistry, FileEventHandler, GitEventHandler
|
|
37
37
|
from .broadcaster import SocketIOEventBroadcaster
|
|
38
|
+
from .connection_manager import ConnectionManager
|
|
38
39
|
from .core import SocketIOServerCore
|
|
39
40
|
from .eventbus_integration import EventBusIntegration
|
|
40
41
|
|
|
@@ -91,6 +92,9 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
91
92
|
# EventBus integration
|
|
92
93
|
self.eventbus_integration = None
|
|
93
94
|
|
|
95
|
+
# Connection manager for robust connection tracking
|
|
96
|
+
self.connection_manager = None
|
|
97
|
+
|
|
94
98
|
def start_sync(self):
|
|
95
99
|
"""Start the Socket.IO server in a background thread (synchronous version)."""
|
|
96
100
|
if not SOCKETIO_AVAILABLE:
|
|
@@ -110,7 +114,13 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
110
114
|
# Start the core server
|
|
111
115
|
self.core.start_sync()
|
|
112
116
|
|
|
113
|
-
# Initialize
|
|
117
|
+
# Initialize connection manager for robust connection tracking
|
|
118
|
+
self.connection_manager = ConnectionManager(
|
|
119
|
+
max_buffer_size=getattr(SystemLimits, "MAX_EVENTS_BUFFER", 1000),
|
|
120
|
+
event_ttl=300, # 5 minutes TTL for buffered events
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
# Initialize broadcaster with core server components and connection manager
|
|
114
124
|
self.broadcaster = SocketIOEventBroadcaster(
|
|
115
125
|
sio=self.core.sio,
|
|
116
126
|
connected_clients=self.connected_clients,
|
|
@@ -119,6 +129,7 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
119
129
|
stats=self.stats,
|
|
120
130
|
logger=self.logger,
|
|
121
131
|
server=self, # Pass server reference for event history access
|
|
132
|
+
connection_manager=self.connection_manager, # Pass connection manager
|
|
122
133
|
)
|
|
123
134
|
|
|
124
135
|
# Wait for the event loop to be initialized in the background thread
|
|
@@ -146,6 +157,12 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
146
157
|
# Start the retry processor for resilient event delivery
|
|
147
158
|
self.broadcaster.start_retry_processor()
|
|
148
159
|
|
|
160
|
+
# Start connection health monitoring
|
|
161
|
+
if self.connection_manager:
|
|
162
|
+
asyncio.run_coroutine_threadsafe(
|
|
163
|
+
self.connection_manager.start_health_monitoring(), self.core.loop
|
|
164
|
+
)
|
|
165
|
+
|
|
149
166
|
# Register events
|
|
150
167
|
self._register_events()
|
|
151
168
|
|
|
@@ -156,35 +173,64 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
156
173
|
f"[{datetime.now().isoformat()}] Setting up EventBus integration...",
|
|
157
174
|
flush=True,
|
|
158
175
|
)
|
|
159
|
-
|
|
160
|
-
|
|
176
|
+
|
|
177
|
+
# CRITICAL: Ensure broadcaster is fully initialized before setting up EventBus
|
|
178
|
+
# The relay needs the broadcaster to be ready to relay events
|
|
179
|
+
if not self.broadcaster:
|
|
180
|
+
self.logger.error(
|
|
181
|
+
"Broadcaster not initialized - cannot setup EventBus integration"
|
|
182
|
+
)
|
|
183
|
+
print(
|
|
184
|
+
f"[{datetime.now().isoformat()}] ERROR: Broadcaster not initialized",
|
|
185
|
+
flush=True,
|
|
186
|
+
)
|
|
187
|
+
else:
|
|
161
188
|
print(
|
|
162
|
-
f"[{datetime.now().isoformat()}]
|
|
189
|
+
f"[{datetime.now().isoformat()}] Broadcaster ready, proceeding with EventBus setup",
|
|
163
190
|
flush=True,
|
|
164
191
|
)
|
|
165
192
|
|
|
166
|
-
|
|
167
|
-
self.
|
|
193
|
+
try:
|
|
194
|
+
self.eventbus_integration = EventBusIntegration(self)
|
|
168
195
|
print(
|
|
169
|
-
f"[{datetime.now().isoformat()}]
|
|
196
|
+
f"[{datetime.now().isoformat()}] EventBusIntegration instance created",
|
|
170
197
|
flush=True,
|
|
171
198
|
)
|
|
172
|
-
|
|
173
|
-
self.
|
|
199
|
+
|
|
200
|
+
if self.eventbus_integration.setup(self.port):
|
|
201
|
+
self.logger.info("EventBus integration setup successful")
|
|
202
|
+
print(
|
|
203
|
+
f"[{datetime.now().isoformat()}] EventBus integration setup successful",
|
|
204
|
+
flush=True,
|
|
205
|
+
)
|
|
206
|
+
|
|
207
|
+
# Verify relay is connected and has broadcaster
|
|
208
|
+
if (
|
|
209
|
+
hasattr(self.eventbus_integration, "relay")
|
|
210
|
+
and self.eventbus_integration.relay
|
|
211
|
+
):
|
|
212
|
+
relay_stats = self.eventbus_integration.relay.get_stats()
|
|
213
|
+
self.logger.info(f"EventBus relay stats: {relay_stats}")
|
|
214
|
+
print(
|
|
215
|
+
f"[{datetime.now().isoformat()}] EventBus relay stats: {relay_stats}",
|
|
216
|
+
flush=True,
|
|
217
|
+
)
|
|
218
|
+
else:
|
|
219
|
+
self.logger.warning("EventBus integration setup failed or disabled")
|
|
220
|
+
print(
|
|
221
|
+
f"[{datetime.now().isoformat()}] EventBus integration setup failed or disabled",
|
|
222
|
+
flush=True,
|
|
223
|
+
)
|
|
224
|
+
except Exception as e:
|
|
225
|
+
self.logger.error(f"Failed to setup EventBus integration: {e}")
|
|
174
226
|
print(
|
|
175
|
-
f"[{datetime.now().isoformat()}]
|
|
227
|
+
f"[{datetime.now().isoformat()}] Failed to setup EventBus integration: {e}",
|
|
176
228
|
flush=True,
|
|
177
229
|
)
|
|
178
|
-
|
|
179
|
-
self.logger.error(f"Failed to setup EventBus integration: {e}")
|
|
180
|
-
print(
|
|
181
|
-
f"[{datetime.now().isoformat()}] Failed to setup EventBus integration: {e}",
|
|
182
|
-
flush=True,
|
|
183
|
-
)
|
|
184
|
-
import traceback
|
|
230
|
+
import traceback
|
|
185
231
|
|
|
186
|
-
|
|
187
|
-
|
|
232
|
+
traceback.print_exc()
|
|
233
|
+
self.eventbus_integration = None
|
|
188
234
|
|
|
189
235
|
# Update running state
|
|
190
236
|
self.running = self.core.running
|
|
@@ -200,6 +246,15 @@ class SocketIOServer(SocketIOServiceInterface):
|
|
|
200
246
|
if self.broadcaster:
|
|
201
247
|
self.broadcaster.stop_retry_processor()
|
|
202
248
|
|
|
249
|
+
# Stop connection health monitoring
|
|
250
|
+
if self.connection_manager and self.core.loop:
|
|
251
|
+
try:
|
|
252
|
+
asyncio.run_coroutine_threadsafe(
|
|
253
|
+
self.connection_manager.stop_health_monitoring(), self.core.loop
|
|
254
|
+
).result(timeout=2)
|
|
255
|
+
except Exception as e:
|
|
256
|
+
self.logger.warning(f"Error stopping health monitoring: {e}")
|
|
257
|
+
|
|
203
258
|
# Teardown EventBus integration
|
|
204
259
|
if self.eventbus_integration:
|
|
205
260
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 4.1.
|
|
3
|
+
Version: 4.1.7
|
|
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
|
|
@@ -46,6 +46,8 @@ Requires-Dist: toml>=0.10.2
|
|
|
46
46
|
Requires-Dist: packaging>=21.0
|
|
47
47
|
Requires-Dist: pydantic>=2.0.0
|
|
48
48
|
Requires-Dist: pydantic-settings>=2.0.0
|
|
49
|
+
Requires-Dist: textual>=0.47.0
|
|
50
|
+
Requires-Dist: rich>=13.0.0
|
|
49
51
|
Requires-Dist: pyee>=13.0.0
|
|
50
52
|
Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
|
|
51
53
|
Provides-Extra: dev
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
|
|
2
|
-
claude_mpm/VERSION,sha256=
|
|
2
|
+
claude_mpm/VERSION,sha256=IL2PXQTVrQbwaRBS2I7XrtbIpLEqZiqKK8JTfEKKnxo,6
|
|
3
3
|
claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
|
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
|
5
|
-
claude_mpm/constants.py,sha256=
|
|
5
|
+
claude_mpm/constants.py,sha256=5-k9ZbfDRe3WpGfHx3R0iTXokuOaZY-NcWcx1xkLTws,5678
|
|
6
6
|
claude_mpm/init.py,sha256=mcBonXUyP9pxEFFYfFcQ4OFLWiICT1XnonM_EdjIhoI,15133
|
|
7
7
|
claude_mpm/ticket_wrapper.py,sha256=qe5xY579t7_7fK5nyeAfHN_fr7CXdeOD3jfXEc8-7yo,828
|
|
8
8
|
claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=aK9qxS1FRpm_8VaB5GI2I6YA9Wr8dGHuea_txMFe44M,5524
|
|
9
9
|
claude_mpm/agents/BASE_PM.md,sha256=OMWebRWA4ZDk9z3H9DxvksNYqfG4ZExFVNF2vUirUBo,9299
|
|
10
10
|
claude_mpm/agents/INSTRUCTIONS.md,sha256=bTTlGVJwcYjdQ51PMsJXPW6FIEg15wItyHY2u0BYJSU,10777
|
|
11
11
|
claude_mpm/agents/MEMORY.md,sha256=EeY1MwnrhaAij5_pUCt_lcOc2-coo3EYkWRyRbPyJmM,3181
|
|
12
|
-
claude_mpm/agents/OUTPUT_STYLE.md,sha256=HZ5GhiTwMWj9G_uefmMguH4Ukhs2CQqa8u5FQ6HBrbo,2538
|
|
13
12
|
claude_mpm/agents/WORKFLOW.md,sha256=y-tYNbSqJ4D4ND5TMc5bvcnq_mYw3Gwq9bnpz-LzwvQ,7972
|
|
14
13
|
claude_mpm/agents/__init__.py,sha256=jRFxvV_DIZ-NdENa-703Xu3YpwvlQj6yv-mQ6FgmldM,3220
|
|
15
14
|
claude_mpm/agents/agent-template.yaml,sha256=mRlz5Yd0SmknTeoJWgFkZXzEF5T7OmGBJGs2-KPT93k,1969
|
|
@@ -21,12 +20,10 @@ claude_mpm/agents/base_agent.json,sha256=FJKxaN3LveoofjliQ2jVlxCo9Q-qiOefySBPsXi
|
|
|
21
20
|
claude_mpm/agents/base_agent_loader.py,sha256=A8vHOTD0bavZpY3EH5QI8C6gU7aPQu16ZbLhqjEB1cs,21721
|
|
22
21
|
claude_mpm/agents/frontmatter_validator.py,sha256=GiCxr13b-SFwvZNbNHDO0lFH9dFhsQ_HvNiNelnKuAk,23513
|
|
23
22
|
claude_mpm/agents/system_agent_config.py,sha256=HBDrtRld1ruPqrThA0j4vtMr4cBt0fT7qjDeCR79bps,24105
|
|
24
|
-
claude_mpm/agents/backups/INSTRUCTIONS.md,sha256=tdekngpZ5RjECYZosOaDSBmXPZsVvZcwDQEmmlw7fOQ,14268
|
|
25
23
|
claude_mpm/agents/schema/agent_schema.json,sha256=3p-_vcEAz5Py0ik7LPSJB9CQyE9L_zHhC82J0eCfn78,8784
|
|
26
|
-
claude_mpm/agents/templates/OPTIMIZATION_REPORT.md,sha256=qSIZ77DARoOcR4pL-izYDFCgNmXO3m6tbJyAXuYX20E,5765
|
|
27
24
|
claude_mpm/agents/templates/__init__.py,sha256=kghxAWs3KvcAA9Esk3NI7caumYgW6fiW8vRO1-MEndU,2735
|
|
28
|
-
claude_mpm/agents/templates/agent-manager.json,sha256=
|
|
29
|
-
claude_mpm/agents/templates/agent-manager.md,sha256=
|
|
25
|
+
claude_mpm/agents/templates/agent-manager.json,sha256=4iBwEgIZLk54BAC5qzqBXUNmB6zB1fm-sqQJkMDAx-0,628
|
|
26
|
+
claude_mpm/agents/templates/agent-manager.md,sha256=evnX5dgSxxFmzOLV6K4aM4tgDFu7oPeNneMC_UqQQSs,11592
|
|
30
27
|
claude_mpm/agents/templates/api_qa.json,sha256=hTdeNOgA2tzADCb2V9ExguFSvAv267yQYqa26AnOQHk,5786
|
|
31
28
|
claude_mpm/agents/templates/code_analyzer.json,sha256=UOTXl6VTmzx1OoF5M4Bc9lQGriLf6Jq84rz30J77tEM,4718
|
|
32
29
|
claude_mpm/agents/templates/data_engineer.json,sha256=rP3ffuaHwe0xGVpXShhVHTn1jEVMV2aAlnNGZL8j3jc,5629
|
|
@@ -38,37 +35,28 @@ claude_mpm/agents/templates/ops.json,sha256=oC1pjdJrlRn4YBbP3RWFnmzpy-2ImabFR6Gj
|
|
|
38
35
|
claude_mpm/agents/templates/project_organizer.json,sha256=wFpdLeMgpTMWPpd7zHDgJq-0_fyph9VOXMoZkRgwD5c,5632
|
|
39
36
|
claude_mpm/agents/templates/qa.json,sha256=2JunnzgFNdz_HE6_S3W84gShPnMPzH1sT63eoO1-Ie8,9526
|
|
40
37
|
claude_mpm/agents/templates/refactoring_engineer.json,sha256=EArflslbK27cCYtBlLpprf6BxIj5YHDpMneW5rk3jCc,11877
|
|
41
|
-
claude_mpm/agents/templates/research.json,sha256=
|
|
38
|
+
claude_mpm/agents/templates/research.json,sha256=vH8fs7dHUVEJRgGD6-D0H85BOXEN_Vll83ITl5jhVRY,12446
|
|
42
39
|
claude_mpm/agents/templates/security.json,sha256=Y04JVClNb1iGuMtaRjzXz3abQ8o1hR1cEBp3HHNOj5Y,14833
|
|
43
40
|
claude_mpm/agents/templates/ticketing.json,sha256=1aWHb9ASS178VDcNCIAz-cxWnk_jmODmwg87SV7ZqJo,11514
|
|
44
41
|
claude_mpm/agents/templates/vercel_ops_agent.json,sha256=FAg-erdW4b0o7zs2uUiEHdFEymT8ENxWZH4bpvjCPKQ,7927
|
|
45
|
-
claude_mpm/agents/templates/vercel_ops_instructions.md,sha256=yDf5_2IEC22t6CqZaKCpbk1PIccHt3BbbnQ6IbAay38,15500
|
|
46
42
|
claude_mpm/agents/templates/version_control.json,sha256=QulRKPGVBvcCsvrQNdZWMcwyFhLMVzo3Lzy63cWwlrY,14430
|
|
47
43
|
claude_mpm/agents/templates/web_qa.json,sha256=Mykq_61giWYQWW30iU3zuRh9P8yOPvoXkp_x3vOVAR0,6344
|
|
48
44
|
claude_mpm/agents/templates/web_ui.json,sha256=l1DHRCrXpHDl01K5lkhiLYjPtv6i90lMRE_jZjPkifM,34852
|
|
49
|
-
claude_mpm/
|
|
50
|
-
claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json,sha256=SkaO4cDfV3rVMQX6awTVIZFpa2_KojzohPp32yIzRRo,2403
|
|
51
|
-
claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json,sha256=9p1_Ad4neaXI05eaIF7tyd2582zYin5H5Zvo_tNUios,8654
|
|
52
|
-
claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json,sha256=GZZE11TqEoo2EiA6e-ZYw2ZEIP4cJC_mj-QNb37iXZw,2425
|
|
53
|
-
claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json,sha256=P3JOCnlcO-lF-d_D9YmT12gDAGhUHjnF6nHbHmU7rWE,2294
|
|
54
|
-
claude_mpm/agents/templates/backup/research_agent_2025011_234551.json,sha256=3_Qo1ZBORi7xtroqh5_fXk1xUdG5LGKdaCf3yed8gF4,12337
|
|
55
|
-
claude_mpm/agents/templates/backup/research_agent_20250726_234551.json,sha256=mgajkxBOfzIWzPN0XkFW-4GeXZjhA7yLRz40tm02kC0,5774
|
|
56
|
-
claude_mpm/agents/templates/backup/research_memory_efficient.json,sha256=4ucuMNzAkL5XFFpxYuHH0Qei3ekAoQ8RKlkyO9zjgcQ,8420
|
|
57
|
-
claude_mpm/agents/templates/backup/security_agent_20250726_234551.json,sha256=sSMY54y7cEWjV1vEfFkIvL8UfNvC1u1Rd9znB6MSRmk,2520
|
|
58
|
-
claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json,sha256=2Xrc5FW5udGnzQC5uluvnw5qLcVswi9HVxse7BWhAl8,2244
|
|
59
|
-
claude_mpm/cli/__init__.py,sha256=Ld4NA9EoNj5SHeYFWU26Hdd1mCP4lrlSwss-tvnbfKA,15522
|
|
45
|
+
claude_mpm/cli/__init__.py,sha256=Y4eRlYvZl1xxZd_LIWuom4erw5xRmpVWH1_IrLYqgqU,15599
|
|
60
46
|
claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
|
|
61
47
|
claude_mpm/cli/parser.py,sha256=pG4B8kcROCNLF5-3YiZTXwDBs4EoKxTdhw8CHKezYHc,1362
|
|
62
|
-
claude_mpm/cli/startup_logging.py,sha256=
|
|
48
|
+
claude_mpm/cli/startup_logging.py,sha256=CWu43ecTJLLT-YHRL94c783XljpR8GKydycGJ1JFuXI,23462
|
|
63
49
|
claude_mpm/cli/ticket_cli.py,sha256=Cco0riIeo-PuzBslX3-5LAtLUcsLvexSRtVlheb7-cQ,916
|
|
64
50
|
claude_mpm/cli/utils.py,sha256=-ObCOxPff4CB6xYulsneC19Fwwb3UHn53UI7u-B_pJ8,7023
|
|
65
|
-
claude_mpm/cli/commands/__init__.py,sha256=
|
|
51
|
+
claude_mpm/cli/commands/__init__.py,sha256=Bh7SY9jnWkTXKoT36ltEcFLD2H5GAF2BEIPfGosOALA,1043
|
|
66
52
|
claude_mpm/cli/commands/agent_manager.py,sha256=BYyoyyTx06Oy-kN6EwDOc1aFqw_HKRFhn3XYaT99u-M,29642
|
|
67
53
|
claude_mpm/cli/commands/agents.py,sha256=Zz0UZF8t6KOsgMSehTDjEb39pevPwKCDhH-2WoYFq-Y,38064
|
|
68
54
|
claude_mpm/cli/commands/aggregate.py,sha256=rLwZxXmIyTPuDUYKTooVtTgiW4mU3vw4_383jK1nXHU,18065
|
|
69
55
|
claude_mpm/cli/commands/cleanup.py,sha256=c4QyAs9odx7__rSM9RDy2r9iwPlrfeIzx2vINbl7WaA,19694
|
|
70
56
|
claude_mpm/cli/commands/cleanup_orphaned_agents.py,sha256=JR8crvgrz7Sa6d-SI-gKywok5S9rwc_DzDVk_h85sVs,4467
|
|
71
57
|
claude_mpm/cli/commands/config.py,sha256=Yfi8WO-10_MYz2QipFw-yEzVvHKNQ6iSQXeyW5J85Cg,18559
|
|
58
|
+
claude_mpm/cli/commands/configure.py,sha256=IDZWyvvj04HCW6jpZovJhX0EgeGlp0FAsR0Ty3LhuPk,46684
|
|
59
|
+
claude_mpm/cli/commands/configure_tui.py,sha256=YOetibU9oNyc6xYwKdb9aiBJITemYFPHsZAzWxGtDQQ,66864
|
|
72
60
|
claude_mpm/cli/commands/doctor.py,sha256=bOZzDNxEMNMZYrJnu_V82tyZ12r5FiBRQNLVfSVvRIQ,5774
|
|
73
61
|
claude_mpm/cli/commands/info.py,sha256=_hWH7uNv9VLO0eZh9Ua6qc5L1Z66kYj9ATzU4Q8UkSM,7377
|
|
74
62
|
claude_mpm/cli/commands/mcp.py,sha256=f4PmzAt89cmXXHBJAul2nFh7-EStDY97_J4vaL690CE,7029
|
|
@@ -86,8 +74,9 @@ claude_mpm/cli/commands/tickets.py,sha256=kl2dklTBnG3Y4jUUJ_PcEVsTx4CtVJfkGWboWB
|
|
|
86
74
|
claude_mpm/cli/parsers/__init__.py,sha256=f0Fm1DDXorlVOZPLxUpjC-GIvLh01G-FZOK7TEV1L3I,1005
|
|
87
75
|
claude_mpm/cli/parsers/agent_manager_parser.py,sha256=8HuGpTnHSOnTOqOHriBTzi8EzKLMSfqH2eFHs0dEuu4,8009
|
|
88
76
|
claude_mpm/cli/parsers/agents_parser.py,sha256=DxAZMotptyaJbROqbRbTipOKLLJ96ATrXhwiFK6Dbm0,5450
|
|
89
|
-
claude_mpm/cli/parsers/base_parser.py,sha256=
|
|
77
|
+
claude_mpm/cli/parsers/base_parser.py,sha256=eIh4IOO8eSV971Z3paYmq10CBLRfm9ionv7Z1Hxg4FI,12346
|
|
90
78
|
claude_mpm/cli/parsers/config_parser.py,sha256=wp6NbV8_p9txP28MXFcQrri0JDIfGFM7u4aJbYJXcYQ,2699
|
|
79
|
+
claude_mpm/cli/parsers/configure_parser.py,sha256=8ZYCgnMo7zH5X44hdQe3af9655jNrjITXVk3s3B9tUc,3880
|
|
91
80
|
claude_mpm/cli/parsers/mcp_parser.py,sha256=zW4wClYOGf_o8yRediJkQRxgta2RI6S3IG_QDgAkp-k,5992
|
|
92
81
|
claude_mpm/cli/parsers/memory_parser.py,sha256=ZwCDxJEgp-w03L-1tZsWTgisiwamP42s424bA5bvDJc,4760
|
|
93
82
|
claude_mpm/cli/parsers/monitor_parser.py,sha256=Go78VOFQCts2fouv33tKfd303w0mVPpJiuBbRBGK5x0,4525
|
|
@@ -106,7 +95,7 @@ claude_mpm/config/__init__.py,sha256=V2dyJQ8_gVCpNiCg8zYTQqE1RSeON5Zm8n5Ndkqhp1g
|
|
|
106
95
|
claude_mpm/config/agent_config.py,sha256=d_cHE4HMkeZZrGjDGpBP655llV64p_E8DRDPPdsO1jg,14829
|
|
107
96
|
claude_mpm/config/experimental_features.py,sha256=ma-Va7CVqOYrUEGZW6A4gdMRLHOpovHf8pHgP_3-xr0,7481
|
|
108
97
|
claude_mpm/config/paths.py,sha256=Dl35_QF0kfC2I6Fy7ETcNjz7jlumNGt45qlRKqsPJrk,7611
|
|
109
|
-
claude_mpm/config/socketio_config.py,sha256=
|
|
98
|
+
claude_mpm/config/socketio_config.py,sha256=5R1zouAmG1Nz9UayHqx_OPEXvCwgI3OzIMOaFr2sgSo,11204
|
|
110
99
|
claude_mpm/core/__init__.py,sha256=QhEX_NpiCprUp87bV75FnMapblMeqC5soNVJXVvZObc,887
|
|
111
100
|
claude_mpm/core/agent_name_normalizer.py,sha256=_h92sTPltmvqevCjdKQ7EsOz-CAm1-hd8GOubWjuRgw,8907
|
|
112
101
|
claude_mpm/core/agent_registry.py,sha256=cPQsOSIyrspr3KpS-P9MQ6Dv_BLXa9BWhs9RM0iu4C4,18798
|
|
@@ -140,7 +129,7 @@ claude_mpm/core/output_style_manager.py,sha256=LjEADIvCZr8iGL1RGwh15EDDVdkOCgTep
|
|
|
140
129
|
claude_mpm/core/pm_hook_interceptor.py,sha256=vidXG7BSrsMH4eORrBrBGpiZZJGlJ8DjhK1JHqJrhlo,7099
|
|
141
130
|
claude_mpm/core/service_registry.py,sha256=l0vnKNsxZVlKH-_g-WXRAIoQRqyqsKdTyo5_EAwYW1c,11580
|
|
142
131
|
claude_mpm/core/session_manager.py,sha256=wlrPnoFJMDbFz1_J_FNTHmCL0WQwgA4jkdUYI3LWkBo,11943
|
|
143
|
-
claude_mpm/core/socketio_pool.py,sha256=
|
|
132
|
+
claude_mpm/core/socketio_pool.py,sha256=8yL4HMA2GWJOkFuOULp1XHE35um06OE-rxA409hTKmk,30961
|
|
144
133
|
claude_mpm/core/tool_access_control.py,sha256=9PiLGhe7bN9yMIqDPqIVIPUmxKsPwb5PUgcOFSl1QBk,6396
|
|
145
134
|
claude_mpm/core/types.py,sha256=RQ6MQlV_G3ohLPSdQRRAlQkoCt1BuLK-vnl2JbuFQYA,7835
|
|
146
135
|
claude_mpm/core/typing_utils.py,sha256=MXPPuTYT6uY-a2T-G8gouoDXn7rRPAqE3xNQ0vP1Lfo,13244
|
|
@@ -169,6 +158,7 @@ claude_mpm/dashboard/static/built/components/session-manager.js,sha256=NP8Lr14Sl
|
|
|
169
158
|
claude_mpm/dashboard/static/built/components/socket-manager.js,sha256=LEqCS0_EABAsQVUfb6WQk152mSicK2k039zne5cKR8A,131
|
|
170
159
|
claude_mpm/dashboard/static/built/components/ui-state-manager.js,sha256=PtZs6sxNhqMMFwdlr04kDKQbgOvxtMHdjSh56KR2ZBo,134
|
|
171
160
|
claude_mpm/dashboard/static/built/components/working-directory.js,sha256=7V1pBeuxWOxZVlDp3kZvivTHAfzucv2ceBXWP6SlZTY,15339
|
|
161
|
+
claude_mpm/dashboard/static/css/connection-status.css,sha256=nQiMLxIFjY5MDgrVCG58VR5H1PpE1vLlgXmnn01-P64,6729
|
|
172
162
|
claude_mpm/dashboard/static/css/dashboard.css,sha256=0Zit0U9lH8Ws-4yMztKvrDMQoyCeoFTadZ8hANPg3MA,61701
|
|
173
163
|
claude_mpm/dashboard/static/dist/dashboard.js,sha256=9uED3L-nBmrNhtAF8Vmvgc0xemYPvdxjzSKAW51005o,50245
|
|
174
164
|
claude_mpm/dashboard/static/dist/socket-client.js,sha256=tdsj_U4-7RujV2TMBXFoSgZ5MpgmqvxjQmNHxgiuDwI,23903
|
|
@@ -185,12 +175,14 @@ claude_mpm/dashboard/static/dist/components/session-manager.js,sha256=_guNR_Eo7e
|
|
|
185
175
|
claude_mpm/dashboard/static/dist/components/socket-manager.js,sha256=LEqCS0_EABAsQVUfb6WQk152mSicK2k039zne5cKR8A,131
|
|
186
176
|
claude_mpm/dashboard/static/dist/components/ui-state-manager.js,sha256=PtZs6sxNhqMMFwdlr04kDKQbgOvxtMHdjSh56KR2ZBo,134
|
|
187
177
|
claude_mpm/dashboard/static/dist/components/working-directory.js,sha256=7V1pBeuxWOxZVlDp3kZvivTHAfzucv2ceBXWP6SlZTY,15339
|
|
178
|
+
claude_mpm/dashboard/static/js/connection-manager.js,sha256=IJrtihUCQqkECXhiqy53vAJIdxNp7pJVIsV2ocos3As,17981
|
|
188
179
|
claude_mpm/dashboard/static/js/dashboard.js,sha256=bacYhLFaxQIVOeRaUZProQ0Px6CeZFZmgnwZoHjKWls,71535
|
|
189
180
|
claude_mpm/dashboard/static/js/extension-error-handler.js,sha256=DZHrJ3gbfv4nsjmZpNMj-Sc3GKjVJ5ds8lgoaLRnq5I,6274
|
|
190
|
-
claude_mpm/dashboard/static/js/socket-client.js,sha256=
|
|
181
|
+
claude_mpm/dashboard/static/js/socket-client.js,sha256=eXVTR3EQ6uK9PEjjmwT_8EpPDPPpCRbWiNBK5fS5CJk,37436
|
|
191
182
|
claude_mpm/dashboard/static/js/components/agent-hierarchy.js,sha256=Xihxog_vJrk8VBEkDogV_wbye2GIFWmH71VQ1lETOHk,28243
|
|
192
183
|
claude_mpm/dashboard/static/js/components/agent-inference.js,sha256=RUVZ_fLOyDkHYjrROen_Pzzay79Bh29eXp_GRIPbIRg,37493
|
|
193
184
|
claude_mpm/dashboard/static/js/components/build-tracker.js,sha256=IBfKpoSKWD5QMPN4tOZl-E84Q3QADYVsZ76ickrKW8E,11485
|
|
185
|
+
claude_mpm/dashboard/static/js/components/connection-debug.js,sha256=Qxr_ofDNkxDlZAwbLnhZkXVMyuO9jOe-NMWC9VHxNnA,22196
|
|
194
186
|
claude_mpm/dashboard/static/js/components/event-processor.js,sha256=_GnAz8pxN1iyXw0O4AIR482QFyQAigEKO9IDUOUbGqc,24844
|
|
195
187
|
claude_mpm/dashboard/static/js/components/event-viewer.js,sha256=TST6uDa6NsW-VTUf1FhibLgmjNJoPz_QjyGakOdBrqA,40915
|
|
196
188
|
claude_mpm/dashboard/static/js/components/export-manager.js,sha256=T1YtaR758FaB9aP_5V1xZC9EBIFQOG5H8f_sLopxR5A,11863
|
|
@@ -203,7 +195,7 @@ claude_mpm/dashboard/static/js/components/session-manager.js,sha256=O0if8L37IbDK
|
|
|
203
195
|
claude_mpm/dashboard/static/js/components/socket-manager.js,sha256=h9gIqMOwnxZcGuG1hK9Mo5e2m4aOjOy5P1remDu5XlY,12578
|
|
204
196
|
claude_mpm/dashboard/static/js/components/ui-state-manager.js,sha256=0C6sUyqhSmB6mzNYogtOI12FIpYx_AcWz-LJ_-wEF9M,12958
|
|
205
197
|
claude_mpm/dashboard/static/js/components/working-directory.js,sha256=SJ2SV6Ss-jyt-XNL7B5xT6T5Kq_H8DqN_q9oIA3NNdo,32719
|
|
206
|
-
claude_mpm/dashboard/templates/index.html,sha256=
|
|
198
|
+
claude_mpm/dashboard/templates/index.html,sha256=mWY7oCx1Lxg7pLdiP-mkoapxk7-5VV-PqFUgh01u7_w,14933
|
|
207
199
|
claude_mpm/experimental/cli_enhancements.py,sha256=rlYOMVlj8vQzuyCkHWQ7TtjcsDeFq3y1Ng5qty2fyY8,11486
|
|
208
200
|
claude_mpm/generators/__init__.py,sha256=rG8vwF_BjPmeMKvyMXpUA8uJ-7mtW2HTNfalZzgRlNk,153
|
|
209
201
|
claude_mpm/generators/agent_profile_generator.py,sha256=0C4Cziee6qqXOe1t0J7JO8L5cAudV-xJT_bPw1jS_9k,5695
|
|
@@ -223,8 +215,9 @@ claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=4lG3TlLVoVfTJipPj1X_ICUlS-K
|
|
|
223
215
|
claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=TXLavDM9eEoakPX_n2WtnfXyqGn80N-xgAvcYgvoW8s,8832
|
|
224
216
|
claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=4RcM54LyYeINf3A_toaSOPuD3oXS6jZtiRstHxgSOao,14990
|
|
225
217
|
claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=3_o2PP9D7wEMwLriCtIBOw0cj2fSZfepN7lI4P1meSQ,7862
|
|
226
|
-
claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=
|
|
227
|
-
claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=
|
|
218
|
+
claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=OIYOKsUNw1BHYawOCp-KFK5kmQKuj92cCqCEPO0nwo0,585
|
|
219
|
+
claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=brj_FrSRwusbzyQo8a8DRGruTRqucfNWZNSDiNkbLe8,8290
|
|
220
|
+
claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=-DZ2seh1tpdo_RQPo5qkkJBcbjEkSpIFWOMMij1V0So,7686
|
|
228
221
|
claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM9t0U1v2l_fuBwvNpVkl_0EF8Wu5KLHQ,3882
|
|
229
222
|
claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=c7OldfemaMU37YGJxgO2uEcTOuPc-C80SRhzEH07j7I,11072
|
|
230
223
|
claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=l8fPF5CgmYnj1GqZQs3D_611xuZkRq3bFeg9axl-EEg,15229
|
|
@@ -381,10 +374,10 @@ claude_mpm/services/core/interfaces/communication.py,sha256=evwtLbYCFa3Zb8kEfL10
|
|
|
381
374
|
claude_mpm/services/core/interfaces/infrastructure.py,sha256=eLtr_dFhA3Ux3mPOV_4DbWhGjHpfpGnj6xOhfQcgZGk,10037
|
|
382
375
|
claude_mpm/services/core/interfaces/service.py,sha256=hNfHXe45LcPCp_dToOmZCfnUZBF5axMf_TdxqCSm2-I,11536
|
|
383
376
|
claude_mpm/services/diagnostics/__init__.py,sha256=WTRucANR9EwNi53rotjkeE4k75s18RjHJ8s1BfBj7ic,614
|
|
384
|
-
claude_mpm/services/diagnostics/diagnostic_runner.py,sha256=
|
|
377
|
+
claude_mpm/services/diagnostics/diagnostic_runner.py,sha256=cpCZ7JBvRIpGEchiwYsojmiGaI99Wf-hGxk8eem7xXQ,9164
|
|
385
378
|
claude_mpm/services/diagnostics/doctor_reporter.py,sha256=Z8hYLqUbGC02gL7nX9kZKbLWRzOmTORRINfCr7EHbBI,10537
|
|
386
379
|
claude_mpm/services/diagnostics/models.py,sha256=nqOQLllZyZmw3Zt5eFJfE1Al7C3Vrn3REgFlARtT3jQ,3831
|
|
387
|
-
claude_mpm/services/diagnostics/checks/__init__.py,sha256=
|
|
380
|
+
claude_mpm/services/diagnostics/checks/__init__.py,sha256=7g45at1exmBqKmlc7rPnQk-LiYZgzN90Fa_EVBJsg8Q,923
|
|
388
381
|
claude_mpm/services/diagnostics/checks/agent_check.py,sha256=JZwqu4o4Q46uk2jKKU-AS0Y_n4AjVcmq2XR61t18UKE,14022
|
|
389
382
|
claude_mpm/services/diagnostics/checks/base_check.py,sha256=FdCPk4z5wdBVR5Y4bikwVY4P4BIIXBkYCmhr-qu1ChM,1574
|
|
390
383
|
claude_mpm/services/diagnostics/checks/claude_desktop_check.py,sha256=fRM-hZM5nkM4aB6PhbydSBLpM5u80xSyLXHu0AmI4qY,11337
|
|
@@ -392,11 +385,13 @@ claude_mpm/services/diagnostics/checks/common_issues_check.py,sha256=Yi73_1yGNcQ
|
|
|
392
385
|
claude_mpm/services/diagnostics/checks/configuration_check.py,sha256=mgqFsyr4W73gFGMF7kz5u4lloUMhTty5BHuErf0I0Uo,11176
|
|
393
386
|
claude_mpm/services/diagnostics/checks/filesystem_check.py,sha256=V5HoHDYlSuoK2lFv946Jhd81LrA0om71NWugnRxFvSE,8296
|
|
394
387
|
claude_mpm/services/diagnostics/checks/installation_check.py,sha256=beGk3r-Kwdy-DaodBl-7z0zA1hqLwBNNxAhYkDw7Qr8,16064
|
|
388
|
+
claude_mpm/services/diagnostics/checks/instructions_check.py,sha256=PzbJaDnX8fJDz2XJjbvFhDmy0efBgmTmw8KN6e8Se2Q,16339
|
|
395
389
|
claude_mpm/services/diagnostics/checks/mcp_check.py,sha256=_eM210SIyHwAcWi1AxUeRoessxumpTrSeVdHVJK5ja0,12191
|
|
396
390
|
claude_mpm/services/diagnostics/checks/monitor_check.py,sha256=NUx5G1yjHWlukZmwhUz4o8STRWgsQEx01YjIMReNC0A,10096
|
|
397
391
|
claude_mpm/services/diagnostics/checks/startup_log_check.py,sha256=DrXdml2rHvmhFBdb_sntE3xmwaP_DZIKjdVbCn8Dy7E,12258
|
|
398
392
|
claude_mpm/services/event_bus/__init__.py,sha256=ETCo4a6puIeyVWAv55uCDjjhzNyUwbVAHEcAVkVapx8,688
|
|
399
393
|
claude_mpm/services/event_bus/config.py,sha256=MJdOBK3XgLpW66N81tetThslnKsFIWYtbqRamyTDxlU,4943
|
|
394
|
+
claude_mpm/services/event_bus/direct_relay.py,sha256=jijHA13xnKDFVIvefLFlpX2KsnSXwdU1X5QfUXsWwIc,9951
|
|
400
395
|
claude_mpm/services/event_bus/event_bus.py,sha256=KQ8FpbHGsEVlygZj6CTYgugXL7Ht6KGlf1FAT4WJKEI,11920
|
|
401
396
|
claude_mpm/services/event_bus/relay.py,sha256=yQ6Ow2rOj3dtNtYi2Vh4ToTouo-1eOiigtjnBM2w2Wo,9352
|
|
402
397
|
claude_mpm/services/events/__init__.py,sha256=dna3DFYCxt9Y1jgK-0f2KPlX-jFo4n2dJyy9WKZkNlA,1092
|
|
@@ -500,6 +495,7 @@ claude_mpm/services/socketio/migration_utils.py,sha256=1pK_zGZ8Pd57pCg1O-3gKT8i7
|
|
|
500
495
|
claude_mpm/services/socketio/handlers/__init__.py,sha256=zc1eo5hR5xDtnOZCeX38JNo8j9Vs10kV1cxZF20ZS4A,789
|
|
501
496
|
claude_mpm/services/socketio/handlers/base.py,sha256=DjUODCOLTQSsC_-NP9yr-8g77arawmsRrM5KC06aDmw,4845
|
|
502
497
|
claude_mpm/services/socketio/handlers/connection.py,sha256=sa6Rg5Y9tcf-e4PEb6f4fNhFQcpZ9WbwdiGXmkzlFTs,26781
|
|
498
|
+
claude_mpm/services/socketio/handlers/connection_handler.py,sha256=DTY0pa--HQu4C6-WCgE1zskvHm3gVuEKWwaSFNBAoec,13287
|
|
503
499
|
claude_mpm/services/socketio/handlers/file.py,sha256=itpPa5OAow5_OXrTOXk0vsyuEYm4iVmxwN9xowy7jiY,8341
|
|
504
500
|
claude_mpm/services/socketio/handlers/git.py,sha256=xIjGGShyVNXzCtJfydbbnFTJhqzXwHLzGhLrqgy0JGQ,37934
|
|
505
501
|
claude_mpm/services/socketio/handlers/hook.py,sha256=JVQufL_u85z3r-n3fnKExuziheJ2lzY6d0GDoUB9iXs,7786
|
|
@@ -507,10 +503,11 @@ claude_mpm/services/socketio/handlers/memory.py,sha256=Ape6cCMe3uOgMiXRbgQttvgHU
|
|
|
507
503
|
claude_mpm/services/socketio/handlers/project.py,sha256=yYqWlPfPanA7zH7dgQnP3EpO6fqvvicBFeut5I5K1HI,776
|
|
508
504
|
claude_mpm/services/socketio/handlers/registry.py,sha256=f4eELY04c23F0S8A5cxm9PDfSiGFumnfNgg7Ua0TsGU,7946
|
|
509
505
|
claude_mpm/services/socketio/server/__init__.py,sha256=S486w-i-hBo3rNW_AtzxbasEgP32By-uI9zz7hzKz-o,640
|
|
510
|
-
claude_mpm/services/socketio/server/broadcaster.py,sha256=
|
|
511
|
-
claude_mpm/services/socketio/server/
|
|
512
|
-
claude_mpm/services/socketio/server/
|
|
513
|
-
claude_mpm/services/socketio/server/
|
|
506
|
+
claude_mpm/services/socketio/server/broadcaster.py,sha256=y_D-fDhSD2NZI0cP9wuoB2nlI7VkKjzW_EjVmP-xd5Y,21375
|
|
507
|
+
claude_mpm/services/socketio/server/connection_manager.py,sha256=sqOoORTFOXoUsW3_nrFfU4q-XYb4kEzP3TF6Dcrrh2o,19583
|
|
508
|
+
claude_mpm/services/socketio/server/core.py,sha256=QZZV9iB-0lWfVZ6u-Zj48MAW2xu9yCv2dMuYp4c2P3I,21921
|
|
509
|
+
claude_mpm/services/socketio/server/eventbus_integration.py,sha256=6LkK8W9wTiNd8d9KoAH2IY1b4osyGGgGaJ0DmwIwnVM,7790
|
|
510
|
+
claude_mpm/services/socketio/server/main.py,sha256=XyG5Bb3mtKpw5BNi8rRKaGB51Qmn_VtVU2km4ILFAVg,17820
|
|
514
511
|
claude_mpm/services/ticket_services/__init__.py,sha256=I01W25n-tBWwZ0TD-dPA63nqzCU2KnpOvbqeysmaa2E,798
|
|
515
512
|
claude_mpm/services/ticket_services/crud_service.py,sha256=4Ab1HONY219QSdRaLTgRInm6DNJXIUKiihyAree8y8A,11193
|
|
516
513
|
claude_mpm/services/ticket_services/formatter_service.py,sha256=MQ981yaFuvXWUDLpHHiasc8BIFdeIeMS7Us0CgZHJ0A,9101
|
|
@@ -545,9 +542,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
|
|
|
545
542
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
546
543
|
claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
|
|
547
544
|
claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
|
|
548
|
-
claude_mpm-4.1.
|
|
549
|
-
claude_mpm-4.1.
|
|
550
|
-
claude_mpm-4.1.
|
|
551
|
-
claude_mpm-4.1.
|
|
552
|
-
claude_mpm-4.1.
|
|
553
|
-
claude_mpm-4.1.
|
|
545
|
+
claude_mpm-4.1.7.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
|
546
|
+
claude_mpm-4.1.7.dist-info/METADATA,sha256=NRjI5Nj-63NxX5dxg-9ahfdecMqorEGJgd8D6XODx2I,13386
|
|
547
|
+
claude_mpm-4.1.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
548
|
+
claude_mpm-4.1.7.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
|
|
549
|
+
claude_mpm-4.1.7.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
550
|
+
claude_mpm-4.1.7.dist-info/RECORD,,
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Claude MPM
|
|
3
|
-
description: Multi-Agent Project Manager orchestration mode for delegation and coordination
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
You are Claude Multi-Agent PM, a PROJECT MANAGER whose SOLE PURPOSE is to delegate work to specialized agents.
|
|
7
|
-
|
|
8
|
-
## Core Operating Rules
|
|
9
|
-
|
|
10
|
-
**DEFAULT BEHAVIOR - ALWAYS DELEGATE**:
|
|
11
|
-
- 🔴 You MUST delegate 100% of ALL work to specialized agents by default
|
|
12
|
-
- 🔴 Direct action is STRICTLY FORBIDDEN without explicit user override
|
|
13
|
-
- 🔴 Even the simplest tasks MUST be delegated - NO EXCEPTIONS
|
|
14
|
-
- 🔴 When in doubt, ALWAYS DELEGATE - never act directly
|
|
15
|
-
|
|
16
|
-
**Allowed Tools**:
|
|
17
|
-
- **Task** for delegation (YOUR PRIMARY FUNCTION)
|
|
18
|
-
- **TodoWrite** for tracking delegation progress ONLY
|
|
19
|
-
- **WebSearch/WebFetch** for gathering context BEFORE delegation
|
|
20
|
-
- **Direct answers** ONLY for questions about PM capabilities
|
|
21
|
-
|
|
22
|
-
## Communication Standards
|
|
23
|
-
|
|
24
|
-
- **Tone**: Professional, neutral by default
|
|
25
|
-
- **Use**: "Understood", "Confirmed", "Noted"
|
|
26
|
-
- **No simplification** without explicit user request
|
|
27
|
-
- **No mocks** outside test environments
|
|
28
|
-
- **Complete implementations** only - no placeholders
|
|
29
|
-
- **FORBIDDEN**: Overeager enthusiasm ("Excellent!", "Perfect!", "Amazing!")
|
|
30
|
-
|
|
31
|
-
## Error Handling Protocol
|
|
32
|
-
|
|
33
|
-
**3-Attempt Process**:
|
|
34
|
-
1. **First Failure**: Re-delegate with enhanced context
|
|
35
|
-
2. **Second Failure**: Mark "ERROR - Attempt 2/3", escalate if needed
|
|
36
|
-
3. **Third Failure**: TodoWrite escalation with user decision required
|
|
37
|
-
|
|
38
|
-
## Standard Operating Procedure
|
|
39
|
-
|
|
40
|
-
1. **Analysis**: Parse request, assess context (NO TOOLS)
|
|
41
|
-
2. **Planning**: Agent selection, task breakdown, priority assignment
|
|
42
|
-
3. **Delegation**: Task Tool with enhanced format
|
|
43
|
-
4. **Monitoring**: Track progress via TodoWrite
|
|
44
|
-
5. **Integration**: Synthesize results, validate, report
|
|
45
|
-
|
|
46
|
-
## TodoWrite Requirements
|
|
47
|
-
|
|
48
|
-
### Mandatory [Agent] Prefix Rules
|
|
49
|
-
|
|
50
|
-
**ALWAYS use [Agent] prefix for delegated tasks**:
|
|
51
|
-
- ✅ `[Research] Analyze authentication patterns`
|
|
52
|
-
- ✅ `[Engineer] Implement user registration`
|
|
53
|
-
- ✅ `[QA] Test payment flow`
|
|
54
|
-
- ✅ `[Documentation] Update API docs`
|
|
55
|
-
|
|
56
|
-
**NEVER use [PM] prefix for implementation tasks**
|
|
57
|
-
|
|
58
|
-
### Task Status Management
|
|
59
|
-
|
|
60
|
-
- `pending` - Task not yet started
|
|
61
|
-
- `in_progress` - Currently being worked on (ONE at a time)
|
|
62
|
-
- `completed` - Task finished successfully
|
|
63
|
-
|
|
64
|
-
## Response Format
|
|
65
|
-
|
|
66
|
-
When completing delegations, provide structured summaries including:
|
|
67
|
-
- Request summary
|
|
68
|
-
- Agents used and task counts
|
|
69
|
-
- Tasks completed with [Agent] prefixes
|
|
70
|
-
- Files affected across all agents
|
|
71
|
-
- Blockers encountered and resolutions
|
|
72
|
-
- Next steps for user
|
|
73
|
-
- Key information to remember
|