claude-mpm 3.4.2__py3-none-any.whl → 3.4.5__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/agents/INSTRUCTIONS.md +20 -3
- claude_mpm/agents/backups/INSTRUCTIONS.md +119 -5
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +36 -0
- claude_mpm/cli/__init__.py +3 -1
- claude_mpm/cli/commands/__init__.py +3 -1
- claude_mpm/cli/commands/monitor.py +328 -0
- claude_mpm/cli/commands/run.py +9 -17
- claude_mpm/cli/parser.py +69 -1
- claude_mpm/constants.py +9 -0
- claude_mpm/services/memory_router.py +99 -6
- claude_mpm/ticket_wrapper.py +29 -0
- {claude_mpm-3.4.2.dist-info → claude_mpm-3.4.5.dist-info}/METADATA +1 -1
- {claude_mpm-3.4.2.dist-info → claude_mpm-3.4.5.dist-info}/RECORD +17 -24
- claude_mpm/scripts/__init__.py +0 -1
- claude_mpm/scripts/claude-mpm-socketio +0 -32
- claude_mpm/scripts/claude_mpm_monitor.html +0 -567
- claude_mpm/scripts/install_socketio_server.py +0 -407
- claude_mpm/scripts/launch_monitor.py +0 -132
- claude_mpm/scripts/launch_socketio_dashboard.py +0 -261
- claude_mpm/scripts/manage_version.py +0 -479
- claude_mpm/scripts/socketio_daemon.py +0 -221
- claude_mpm/scripts/socketio_server_manager.py +0 -753
- claude_mpm/scripts/ticket.py +0 -269
- {claude_mpm-3.4.2.dist-info → claude_mpm-3.4.5.dist-info}/WHEEL +0 -0
- {claude_mpm-3.4.2.dist-info → claude_mpm-3.4.5.dist-info}/entry_points.txt +0 -0
- {claude_mpm-3.4.2.dist-info → claude_mpm-3.4.5.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-3.4.2.dist-info → claude_mpm-3.4.5.dist-info}/top_level.txt +0 -0
claude_mpm/cli/parser.py
CHANGED
|
@@ -14,7 +14,7 @@ import argparse
|
|
|
14
14
|
from pathlib import Path
|
|
15
15
|
from typing import Optional, List
|
|
16
16
|
|
|
17
|
-
from ..constants import CLICommands, CLIPrefix, AgentCommands, MemoryCommands, LogLevel
|
|
17
|
+
from ..constants import CLICommands, CLIPrefix, AgentCommands, MemoryCommands, MonitorCommands, LogLevel
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
def add_common_arguments(parser: argparse.ArgumentParser, version: str = None) -> None:
|
|
@@ -481,6 +481,74 @@ def create_parser(prog_name: str = "claude-mpm", version: str = "0.0.0") -> argp
|
|
|
481
481
|
help="Output raw memory content in JSON format for programmatic processing"
|
|
482
482
|
)
|
|
483
483
|
|
|
484
|
+
# Monitor command with subcommands
|
|
485
|
+
monitor_parser = subparsers.add_parser(
|
|
486
|
+
CLICommands.MONITOR.value,
|
|
487
|
+
help="Manage Socket.IO monitoring server"
|
|
488
|
+
)
|
|
489
|
+
add_common_arguments(monitor_parser)
|
|
490
|
+
|
|
491
|
+
monitor_subparsers = monitor_parser.add_subparsers(
|
|
492
|
+
dest="monitor_command",
|
|
493
|
+
help="Monitor commands",
|
|
494
|
+
metavar="SUBCOMMAND"
|
|
495
|
+
)
|
|
496
|
+
|
|
497
|
+
# Start monitor
|
|
498
|
+
start_monitor_parser = monitor_subparsers.add_parser(
|
|
499
|
+
MonitorCommands.START.value,
|
|
500
|
+
help="Start Socket.IO monitoring server"
|
|
501
|
+
)
|
|
502
|
+
start_monitor_parser.add_argument(
|
|
503
|
+
"--port",
|
|
504
|
+
type=int,
|
|
505
|
+
default=8765,
|
|
506
|
+
help="Port to start server on (default: 8765)"
|
|
507
|
+
)
|
|
508
|
+
start_monitor_parser.add_argument(
|
|
509
|
+
"--host",
|
|
510
|
+
default="localhost",
|
|
511
|
+
help="Host to bind to (default: localhost)"
|
|
512
|
+
)
|
|
513
|
+
|
|
514
|
+
# Stop monitor
|
|
515
|
+
stop_monitor_parser = monitor_subparsers.add_parser(
|
|
516
|
+
MonitorCommands.STOP.value,
|
|
517
|
+
help="Stop Socket.IO monitoring server"
|
|
518
|
+
)
|
|
519
|
+
stop_monitor_parser.add_argument(
|
|
520
|
+
"--port",
|
|
521
|
+
type=int,
|
|
522
|
+
help="Port of server to stop (auto-detect if not specified)"
|
|
523
|
+
)
|
|
524
|
+
|
|
525
|
+
# Restart monitor
|
|
526
|
+
restart_monitor_parser = monitor_subparsers.add_parser(
|
|
527
|
+
MonitorCommands.RESTART.value,
|
|
528
|
+
help="Restart Socket.IO monitoring server"
|
|
529
|
+
)
|
|
530
|
+
restart_monitor_parser.add_argument(
|
|
531
|
+
"--port",
|
|
532
|
+
type=int,
|
|
533
|
+
help="Port of server to restart (auto-detect if not specified)"
|
|
534
|
+
)
|
|
535
|
+
|
|
536
|
+
# Port monitor - start/restart on specific port
|
|
537
|
+
port_monitor_parser = monitor_subparsers.add_parser(
|
|
538
|
+
MonitorCommands.PORT.value,
|
|
539
|
+
help="Start/restart Socket.IO monitoring server on specific port"
|
|
540
|
+
)
|
|
541
|
+
port_monitor_parser.add_argument(
|
|
542
|
+
"port",
|
|
543
|
+
type=int,
|
|
544
|
+
help="Port number to start/restart server on"
|
|
545
|
+
)
|
|
546
|
+
port_monitor_parser.add_argument(
|
|
547
|
+
"--host",
|
|
548
|
+
default="localhost",
|
|
549
|
+
help="Host to bind to (default: localhost)"
|
|
550
|
+
)
|
|
551
|
+
|
|
484
552
|
return parser
|
|
485
553
|
|
|
486
554
|
|
claude_mpm/constants.py
CHANGED
|
@@ -28,6 +28,7 @@ class CLICommands(str, Enum):
|
|
|
28
28
|
AGENTS = "agents"
|
|
29
29
|
UI = "ui"
|
|
30
30
|
MEMORY = "memory"
|
|
31
|
+
MONITOR = "monitor"
|
|
31
32
|
|
|
32
33
|
def with_prefix(self, prefix: CLIPrefix = CLIPrefix.MPM) -> str:
|
|
33
34
|
"""Get command with prefix."""
|
|
@@ -70,6 +71,14 @@ class MemoryCommands(str, Enum):
|
|
|
70
71
|
SHOW = "show"
|
|
71
72
|
|
|
72
73
|
|
|
74
|
+
class MonitorCommands(str, Enum):
|
|
75
|
+
"""Monitor subcommand constants."""
|
|
76
|
+
START = "start"
|
|
77
|
+
STOP = "stop"
|
|
78
|
+
RESTART = "restart"
|
|
79
|
+
PORT = "port"
|
|
80
|
+
|
|
81
|
+
|
|
73
82
|
class CLIFlags(str, Enum):
|
|
74
83
|
"""CLI flag constants (without prefix)."""
|
|
75
84
|
# Logging flags
|
|
@@ -118,6 +118,68 @@ class MemoryRouter(LoggerMixin):
|
|
|
118
118
|
'Project Coordination', 'Team Communication',
|
|
119
119
|
'Process Improvements', 'Risk Management'
|
|
120
120
|
]
|
|
121
|
+
},
|
|
122
|
+
'data_engineer': {
|
|
123
|
+
'keywords': [
|
|
124
|
+
'data', 'database', 'sql', 'pipeline', 'etl', 'elt', 'extract', 'transform',
|
|
125
|
+
'load', 'analytics', 'warehouse', 'lake', 'schema', 'migration',
|
|
126
|
+
'replication', 'streaming', 'batch', 'kafka', 'spark', 'hadoop',
|
|
127
|
+
'mongodb', 'postgres', 'mysql', 'redis', 'elasticsearch', 'index',
|
|
128
|
+
'query', 'optimization', 'performance', 'partitioning', 'sharding',
|
|
129
|
+
'normalization', 'denormalization', 'aggregation', 'cleansing',
|
|
130
|
+
'validation', 'quality', 'lineage', 'governance', 'backup', 'restore',
|
|
131
|
+
'ai api', 'openai', 'claude', 'llm', 'embedding', 'vector database'
|
|
132
|
+
],
|
|
133
|
+
'sections': [
|
|
134
|
+
'Database Architecture Patterns', 'Pipeline Design Strategies',
|
|
135
|
+
'Data Quality Standards', 'Performance Optimization Techniques'
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
'test_integration': {
|
|
139
|
+
'keywords': [
|
|
140
|
+
'integration', 'e2e', 'end-to-end', 'system test', 'workflow test',
|
|
141
|
+
'cross-system', 'api test', 'contract test', 'service test',
|
|
142
|
+
'boundary test', 'interface test', 'component test', 'smoke test',
|
|
143
|
+
'acceptance test', 'scenario test', 'user journey', 'flow test',
|
|
144
|
+
'regression', 'compatibility', 'interoperability', 'validation',
|
|
145
|
+
'verification', 'mock', 'stub', 'test data', 'test environment',
|
|
146
|
+
'test setup', 'teardown', 'isolation', 'coordination', 'synchronization',
|
|
147
|
+
'selenium', 'cypress', 'playwright', 'postman', 'newman'
|
|
148
|
+
],
|
|
149
|
+
'sections': [
|
|
150
|
+
'Integration Test Patterns', 'Cross-System Validation',
|
|
151
|
+
'Test Environment Management', 'End-to-End Workflow Testing'
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
'ops': {
|
|
155
|
+
'keywords': [
|
|
156
|
+
'deployment', 'infrastructure', 'devops', 'cicd', 'ci/cd', 'docker',
|
|
157
|
+
'container', 'kubernetes', 'helm', 'terraform', 'ansible', 'jenkins',
|
|
158
|
+
'pipeline', 'build', 'release', 'staging', 'production', 'environment',
|
|
159
|
+
'monitoring', 'logging', 'metrics', 'alerts', 'observability',
|
|
160
|
+
'scaling', 'load balancer', 'proxy', 'nginx', 'apache', 'server',
|
|
161
|
+
'network', 'firewall', 'vpc', 'aws', 'azure', 'gcp', 'cloud',
|
|
162
|
+
'backup', 'disaster recovery', 'failover', 'redundancy', 'uptime',
|
|
163
|
+
'prometheus', 'grafana', 'splunk', 'datadog', 'newrelic'
|
|
164
|
+
],
|
|
165
|
+
'sections': [
|
|
166
|
+
'Deployment Strategies', 'Infrastructure Patterns',
|
|
167
|
+
'Monitoring and Observability', 'Scaling and Performance'
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
'version_control': {
|
|
171
|
+
'keywords': [
|
|
172
|
+
'git', 'github', 'gitlab', 'bitbucket', 'branch', 'merge', 'commit',
|
|
173
|
+
'pull request', 'merge request', 'tag', 'release', 'version', 'changelog',
|
|
174
|
+
'semantic versioning', 'semver', 'workflow', 'gitflow', 'conflict',
|
|
175
|
+
'resolution', 'rebase', 'cherry-pick', 'stash', 'bisect', 'blame',
|
|
176
|
+
'diff', 'patch', 'submodule', 'hook', 'pre-commit', 'post-commit',
|
|
177
|
+
'repository', 'remote', 'origin', 'upstream', 'fork', 'clone'
|
|
178
|
+
],
|
|
179
|
+
'sections': [
|
|
180
|
+
'Branching Strategies', 'Release Management',
|
|
181
|
+
'Version Control Workflows', 'Collaboration Patterns'
|
|
182
|
+
]
|
|
121
183
|
}
|
|
122
184
|
}
|
|
123
185
|
|
|
@@ -133,6 +195,31 @@ class MemoryRouter(LoggerMixin):
|
|
|
133
195
|
super().__init__()
|
|
134
196
|
self.config = config or Config()
|
|
135
197
|
|
|
198
|
+
def get_supported_agents(self) -> List[str]:
|
|
199
|
+
"""Get list of supported agent types.
|
|
200
|
+
|
|
201
|
+
WHY: Other components need to know which agent types are supported
|
|
202
|
+
for validation and UI display purposes.
|
|
203
|
+
|
|
204
|
+
Returns:
|
|
205
|
+
List of supported agent type names
|
|
206
|
+
"""
|
|
207
|
+
return list(self.AGENT_PATTERNS.keys())
|
|
208
|
+
|
|
209
|
+
def is_agent_supported(self, agent_type: str) -> bool:
|
|
210
|
+
"""Check if an agent type is supported by the memory router.
|
|
211
|
+
|
|
212
|
+
WHY: Provides validation for agent types before attempting routing.
|
|
213
|
+
This prevents errors and provides clear feedback about unsupported types.
|
|
214
|
+
|
|
215
|
+
Args:
|
|
216
|
+
agent_type: Agent type to check
|
|
217
|
+
|
|
218
|
+
Returns:
|
|
219
|
+
True if agent type is supported, False otherwise
|
|
220
|
+
"""
|
|
221
|
+
return agent_type in self.AGENT_PATTERNS
|
|
222
|
+
|
|
136
223
|
def analyze_and_route(self, content: str, context: Optional[Dict] = None) -> Dict[str, Any]:
|
|
137
224
|
"""Analyze content and determine target agent for memory storage.
|
|
138
225
|
|
|
@@ -187,7 +274,9 @@ class MemoryRouter(LoggerMixin):
|
|
|
187
274
|
"section": "Recent Learnings",
|
|
188
275
|
"confidence": 0.1,
|
|
189
276
|
"reasoning": f"Error during analysis, defaulting to {self.DEFAULT_AGENT}",
|
|
190
|
-
"error": str(e)
|
|
277
|
+
"error": str(e),
|
|
278
|
+
"timestamp": datetime.now().isoformat(),
|
|
279
|
+
"content_length": len(content) if content else 0
|
|
191
280
|
}
|
|
192
281
|
|
|
193
282
|
def test_routing_patterns(self, test_cases: List[Dict[str, str]]) -> List[Dict[str, Any]]:
|
|
@@ -283,17 +372,20 @@ class MemoryRouter(LoggerMixin):
|
|
|
283
372
|
matched_keywords = []
|
|
284
373
|
|
|
285
374
|
for keyword in patterns['keywords']:
|
|
286
|
-
# Exact keyword match
|
|
375
|
+
# Exact keyword match gets higher score
|
|
287
376
|
if keyword in content:
|
|
288
|
-
|
|
377
|
+
# Multi-word keywords get bonus score
|
|
378
|
+
bonus = 1.5 if ' ' in keyword else 1.0
|
|
379
|
+
score += bonus
|
|
289
380
|
matched_keywords.append(keyword)
|
|
290
381
|
# Partial match (word contains keyword)
|
|
291
382
|
elif any(keyword in word for word in content.split()):
|
|
292
383
|
score += 0.5
|
|
293
384
|
|
|
294
|
-
# Normalize score by
|
|
385
|
+
# Normalize score by square root to avoid penalizing agents with many keywords
|
|
295
386
|
if patterns['keywords']:
|
|
296
|
-
|
|
387
|
+
import math
|
|
388
|
+
score = score / math.sqrt(len(patterns['keywords']))
|
|
297
389
|
|
|
298
390
|
scores[agent] = {
|
|
299
391
|
'score': score,
|
|
@@ -361,7 +453,8 @@ class MemoryRouter(LoggerMixin):
|
|
|
361
453
|
best_agent = agent
|
|
362
454
|
|
|
363
455
|
# If no clear winner, use default
|
|
364
|
-
|
|
456
|
+
# Lowered threshold to handle diverse agent patterns better
|
|
457
|
+
if best_score < 0.05:
|
|
365
458
|
return self.DEFAULT_AGENT, 0.1
|
|
366
459
|
|
|
367
460
|
# Convert score to confidence (0.0 to 1.0)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Ticket module wrapper for backward compatibility.
|
|
4
|
+
|
|
5
|
+
This module provides backward compatibility for the ticket functionality
|
|
6
|
+
that was moved to the scripts directory.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
import sys
|
|
10
|
+
import os
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
# Add scripts directory to path so we can import the ticket module
|
|
14
|
+
scripts_dir = Path(__file__).parent.parent.parent / "scripts"
|
|
15
|
+
sys.path.insert(0, str(scripts_dir))
|
|
16
|
+
|
|
17
|
+
# Import and re-export the main function
|
|
18
|
+
try:
|
|
19
|
+
from ticket import main
|
|
20
|
+
except ImportError:
|
|
21
|
+
# Fallback if direct import fails
|
|
22
|
+
import importlib.util
|
|
23
|
+
ticket_path = scripts_dir / "ticket.py"
|
|
24
|
+
spec = importlib.util.spec_from_file_location("ticket", ticket_path)
|
|
25
|
+
ticket_module = importlib.util.module_from_spec(spec)
|
|
26
|
+
spec.loader.exec_module(ticket_module)
|
|
27
|
+
main = ticket_module.main
|
|
28
|
+
|
|
29
|
+
__all__ = ["main"]
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
claude_mpm/__init__.py,sha256=uDX48EOBrmJbY8Xv3bBpd8kibulIlmZv5jmczAjHNb8,648
|
|
2
2
|
claude_mpm/__main__.py,sha256=8IcM9tEbTqSN_er04eKTPX3AGo6qzRiTnPI7KfIf7rw,641
|
|
3
|
-
claude_mpm/constants.py,sha256=
|
|
3
|
+
claude_mpm/constants.py,sha256=yOf-82f1HH6pL19dB3dWPUqU09dnXuAx3kDh3xWpc1U,4526
|
|
4
4
|
claude_mpm/deployment_paths.py,sha256=JO7-fhhp_AkVB7ZssggHDBbee-r2sokpkqjoqnQLTmM,9073
|
|
5
5
|
claude_mpm/init.py,sha256=gOreOf7BLXkT0_HrQk_As4Kz1OT_NJG_RG0i0hbY0z0,8088
|
|
6
|
+
claude_mpm/ticket_wrapper.py,sha256=bWjLReYyuHSBguuiRm1d52rHYNHqrPJAOLUbMt4CnuM,836
|
|
6
7
|
claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=TYgSd9jNBMWp4mAOBUl9dconX4RcGbvmMEScRy5uyko,3343
|
|
7
|
-
claude_mpm/agents/INSTRUCTIONS.md,sha256=
|
|
8
|
+
claude_mpm/agents/INSTRUCTIONS.md,sha256=tdekngpZ5RjECYZosOaDSBmXPZsVvZcwDQEmmlw7fOQ,14268
|
|
8
9
|
claude_mpm/agents/__init__.py,sha256=r-p7ervzjLPD7_8dm2tXX_fwvdTZy6KwKA03ofxN3sA,3275
|
|
9
10
|
claude_mpm/agents/agent_loader.py,sha256=P4h3qupJHvZL9dfb6ntB582xenYv9JbkMOVav_kNkAo,44030
|
|
10
11
|
claude_mpm/agents/agent_loader_integration.py,sha256=z_DXxAIeuUD71HBYdxxvcFKoQYQxITLo8oAdN_M4LTA,7610
|
|
@@ -12,7 +13,7 @@ claude_mpm/agents/agents_metadata.py,sha256=Xju9Yim6XSv2u1J_Swre5VJySbdxxC-9TzpO
|
|
|
12
13
|
claude_mpm/agents/base_agent.json,sha256=UDf5YgTwJWmHgBwdN0xIS11nZD16wa-j-9Vx44shNsg,5397
|
|
13
14
|
claude_mpm/agents/base_agent_loader.py,sha256=0cVD__2y-kPHr3G2YxqRazMGYUZvqKWp0O-VCFN6cxg,18993
|
|
14
15
|
claude_mpm/agents/system_agent_config.py,sha256=Lke4FFjU0Vq3LLo4O7KvtHxadP7agAwC-ljCXK40h_A,23526
|
|
15
|
-
claude_mpm/agents/backups/INSTRUCTIONS.md,sha256=
|
|
16
|
+
claude_mpm/agents/backups/INSTRUCTIONS.md,sha256=tdekngpZ5RjECYZosOaDSBmXPZsVvZcwDQEmmlw7fOQ,14268
|
|
16
17
|
claude_mpm/agents/schema/agent_schema.json,sha256=7zuSk4VfBNTlQN33AkfJp0Y1GltlviwengIM0mb7dGg,8741
|
|
17
18
|
claude_mpm/agents/templates/__init__.py,sha256=7UyIChghCnkrDctvmCRYr0Wrnn8Oj-eCdgL0KpFy1Mo,2668
|
|
18
19
|
claude_mpm/agents/templates/data_engineer.json,sha256=Z63nwhO3Bo3sUjSc4O0yGVFbJVdCmMLAgcBjKJmfc8Y,8793
|
|
@@ -25,6 +26,7 @@ claude_mpm/agents/templates/research.json,sha256=10XO-W7cV_SGP16SHboagjbNUlKUoGf
|
|
|
25
26
|
claude_mpm/agents/templates/security.json,sha256=DkiB98uJf5mo5nP7EIhu8hhsvwGhOnR_FA60EJGuNBk,6741
|
|
26
27
|
claude_mpm/agents/templates/test_integration.json,sha256=QqJtUABq23MlkldAaomTviopOvM7hqxNWbaYbUVCJpk,7620
|
|
27
28
|
claude_mpm/agents/templates/version_control.json,sha256=H9GzDk8Ys8KmOEgfTWGr1GakKFscbd_907ObmAqzlzc,6535
|
|
29
|
+
claude_mpm/agents/templates/.claude-mpm/memories/README.md,sha256=gDuLkzgcELaaoEB5Po70F0qabTu11vBi1PnUrYCK3fw,1098
|
|
28
30
|
claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json,sha256=lLso4RHXVTQmX4A1XwF84kT59zZDblPO1xCgBj4S4x8,5060
|
|
29
31
|
claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json,sha256=snfJW2yW9aMv9ldCSIWW7zwnyoQRx5u7xLMkNlfus9I,2258
|
|
30
32
|
claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json,sha256=21o8TGCM9TO6eocSV9Ev5MmCq-xYwwCqMU7KQESaY2Q,8479
|
|
@@ -33,14 +35,15 @@ claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json,sha256=_FHWnUeh
|
|
|
33
35
|
claude_mpm/agents/templates/backup/research_agent_20250726_234551.json,sha256=o4n_sqSbjnsFRELB2q501vgwm-o2tQNLJLYvnVP9LWU,5629
|
|
34
36
|
claude_mpm/agents/templates/backup/security_agent_20250726_234551.json,sha256=l5YuD-27CxKSOsRLv0bDY_tCZyds0yGbeizLb8paeFY,2322
|
|
35
37
|
claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json,sha256=too38RPTLJ9HutCMn0nfmEdCj2me241dx5tUYDFtu94,2143
|
|
36
|
-
claude_mpm/cli/__init__.py,sha256=
|
|
37
|
-
claude_mpm/cli/parser.py,sha256=
|
|
38
|
+
claude_mpm/cli/__init__.py,sha256=hJ5y5HzRqx6EkCaPYnH0h9amv7hzKXlEUdLVYbaKTPA,5577
|
|
39
|
+
claude_mpm/cli/parser.py,sha256=ajdlusfbfcY44756pdrkfROEVlTaVJyEBDJup78Q-yE,18270
|
|
38
40
|
claude_mpm/cli/utils.py,sha256=k_EHLcjDAzYhDeVeWvE-vqvHsEoG6Cc6Yk7fs3YoRVA,6022
|
|
39
|
-
claude_mpm/cli/commands/__init__.py,sha256=
|
|
41
|
+
claude_mpm/cli/commands/__init__.py,sha256=kUtBjfTYZnfAL_4QEPCBtFg2nWgJ2cxCPzIIsiFURXM,567
|
|
40
42
|
claude_mpm/cli/commands/agents.py,sha256=FqqEQcfAfCxjz_E7fGQUtLznloJLz8fWQtnjQhkbalQ,6795
|
|
41
43
|
claude_mpm/cli/commands/info.py,sha256=ETL6jC08OTQVTPjs219Y0m3FzfKOUlI0-yI81AI8FXY,2990
|
|
42
44
|
claude_mpm/cli/commands/memory.py,sha256=6jYD1bgfnWA0DvBpLJnZCPYMRoGAPBopAED8Qr-iIos,37357
|
|
43
|
-
claude_mpm/cli/commands/
|
|
45
|
+
claude_mpm/cli/commands/monitor.py,sha256=80_tmSdfn_2cYpzxxPu9GnvFW0eixlSJ4wCqbn8VSCM,12407
|
|
46
|
+
claude_mpm/cli/commands/run.py,sha256=j8kFTdx4fwCR400NH-I0ORMc76J62IxUeVDaaq_DG7E,28312
|
|
44
47
|
claude_mpm/cli/commands/tickets.py,sha256=SXyGtHSyGJwTeJwDAHf7kRbdiG1DlZkXkod5UoNy7Ik,2150
|
|
45
48
|
claude_mpm/cli/commands/ui.py,sha256=FhBQiOKW61cNduyryRu0UhC366d6o1eEkBgbPd7Au1w,1900
|
|
46
49
|
claude_mpm/cli_module/__init__.py,sha256=CkMp4gzWKoZZF_qKyBDi2sQaZw_GLWZYLtKouv-4f8s,390
|
|
@@ -110,16 +113,6 @@ claude_mpm/orchestration/archive/subprocess_orchestrator.py,sha256=TYTAHX6p4OpgB
|
|
|
110
113
|
claude_mpm/orchestration/archive/system_prompt_orchestrator.py,sha256=R16sc-94kQVeGjJzTYmvKn0aYgj_9qxyzShDy1E5zpE,12853
|
|
111
114
|
claude_mpm/orchestration/archive/wrapper_orchestrator.py,sha256=cvL0NJf9kCWf3QJl67ySwvtR1Hd9Rym28Ii8Rtsdi6Q,6806
|
|
112
115
|
claude_mpm/schemas/workflow_validator.py,sha256=qRgGodJoIZQaLfZ8OzWz3Y9eVNz3ckrQwkJ2RvccxAs,17175
|
|
113
|
-
claude_mpm/scripts/__init__.py,sha256=M2n9fQeyfILC8gogXvJv6ixnu7hwpqLEqLWJRaUN0MU,37
|
|
114
|
-
claude_mpm/scripts/claude-mpm-socketio,sha256=usdZgOQs0vjAKBhUcGJoRPnzJt3wYZDQM88t71TTVeY,1029
|
|
115
|
-
claude_mpm/scripts/claude_mpm_monitor.html,sha256=24g1YWNB8PZ2S_q2xLQycK0Z06e2C7yOTsEm6qQRVUI,17634
|
|
116
|
-
claude_mpm/scripts/install_socketio_server.py,sha256=Bx3BL48EF1peH111k_HU7tQdcUU6QVthAemGQcPsano,15522
|
|
117
|
-
claude_mpm/scripts/launch_monitor.py,sha256=fAgRFJknrYq31SEWD9oEAEH2xvR3Lh_bzRPGDKEAFGg,4437
|
|
118
|
-
claude_mpm/scripts/launch_socketio_dashboard.py,sha256=BaZv_nuNY8rIFu76YhKswnrJAdM1pA3xNpb5-hQfsiA,9274
|
|
119
|
-
claude_mpm/scripts/manage_version.py,sha256=5c86LD-_m0AlWqfgjRF6BH3Jc7n_nm5Z7hFVqB3iExQ,17524
|
|
120
|
-
claude_mpm/scripts/socketio_daemon.py,sha256=__6AQytLHclOmUpZ88-OTJUYuzmn1tyJPPxuBJkDL0c,7037
|
|
121
|
-
claude_mpm/scripts/socketio_server_manager.py,sha256=yTciMx45roXTN-j28hYiP1j0QCj4YliYC11387oWODY,30837
|
|
122
|
-
claude_mpm/scripts/ticket.py,sha256=GmFimtTJxc927cCzJvvJH3gvoxXQtAB-W-xnuclcvNs,9350
|
|
123
116
|
claude_mpm/services/__init__.py,sha256=dcZ5U4xQlk-zpAy8CLTuEcXzKDfHT0KdJf3bYSmZ1BM,1904
|
|
124
117
|
claude_mpm/services/agent_capabilities_generator.py,sha256=hWG0zV2InmzrDMxSbQzjVBBTzEaxg0bFxl8tmTMJ8qA,6565
|
|
125
118
|
claude_mpm/services/agent_deployment.py,sha256=DtK1BX2yCrutUkQdVPD01mYHm-ya36l3EPOnEcaDfog,67961
|
|
@@ -140,7 +133,7 @@ claude_mpm/services/health_monitor.py,sha256=utZf8RsiUWXRYIszAC9nHdMy3YSqzedIDBL
|
|
|
140
133
|
claude_mpm/services/hook_service.py,sha256=hkpN8mXXYCwzdLVJwsoVg_fw5seEmei-q0ZzQyNoCXA,14200
|
|
141
134
|
claude_mpm/services/memory_builder.py,sha256=Y_Gx0IIJhGjUx1NAjslC1MFPbRaXuoRdkQX69_zjrFg,34075
|
|
142
135
|
claude_mpm/services/memory_optimizer.py,sha256=uydUqx0Nd3ib7KNfKnlR9tPW5MLSUC5OAJg0GH2Jj4E,23638
|
|
143
|
-
claude_mpm/services/memory_router.py,sha256=
|
|
136
|
+
claude_mpm/services/memory_router.py,sha256=oki6D2ma1KWdgP6uSfu8xvLzRpk-k3PGw6CO5XDMGPY,22504
|
|
144
137
|
claude_mpm/services/project_analyzer.py,sha256=3Ub_Tpcxm0LnYgcAipebvWr6TfofVqZNMkANejA2C44,33564
|
|
145
138
|
claude_mpm/services/recovery_manager.py,sha256=K46vXbEWbxFUoS42s34OxN1rkddpisGG7E_ZdRyAZ-A,25792
|
|
146
139
|
claude_mpm/services/shared_prompt_cache.py,sha256=D04lrRWyg0lHyqGcAHy7IYvRHRKSg6EOpAJwBUPa2wk,29890
|
|
@@ -199,9 +192,9 @@ claude_mpm/utils/path_operations.py,sha256=6pLMnAWBVzHkgp6JyQHmHbGD-dWn-nX21yV4E
|
|
|
199
192
|
claude_mpm/utils/paths.py,sha256=Xv0SZWdZRkRjN9e6clBcA165ya00GNQxt7SwMz51tfA,10153
|
|
200
193
|
claude_mpm/validation/__init__.py,sha256=bJ19g9lnk7yIjtxzN8XPegp87HTFBzCrGQOpFgRTf3g,155
|
|
201
194
|
claude_mpm/validation/agent_validator.py,sha256=GCA2b2rKhKDeaNyUqWxTiWIs3sDdWjD9cgOFRp9K6ic,18227
|
|
202
|
-
claude_mpm-3.4.
|
|
203
|
-
claude_mpm-3.4.
|
|
204
|
-
claude_mpm-3.4.
|
|
205
|
-
claude_mpm-3.4.
|
|
206
|
-
claude_mpm-3.4.
|
|
207
|
-
claude_mpm-3.4.
|
|
195
|
+
claude_mpm-3.4.5.dist-info/licenses/LICENSE,sha256=cSdDfXjoTVhstrERrqme4zgxAu4GubU22zVEHsiXGxs,1071
|
|
196
|
+
claude_mpm-3.4.5.dist-info/METADATA,sha256=sCgjFZJw2ZU2PBxey_7EAhX23lisP9OGfL3yhcQM6rs,6523
|
|
197
|
+
claude_mpm-3.4.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
198
|
+
claude_mpm-3.4.5.dist-info/entry_points.txt,sha256=3_d7wLrg9sRmQ1SfrFGWoTNL8Wrd6lQb2XVSYbTwRIg,324
|
|
199
|
+
claude_mpm-3.4.5.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
200
|
+
claude_mpm-3.4.5.dist-info/RECORD,,
|
claude_mpm/scripts/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"""Scripts package for claude-mpm."""
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Wrapper script for Socket.IO server daemon management.
|
|
3
|
-
#
|
|
4
|
-
# This script provides a simple command-line interface for managing
|
|
5
|
-
# the Socket.IO server daemon that powers the monitoring dashboard.
|
|
6
|
-
#
|
|
7
|
-
# Usage:
|
|
8
|
-
# claude-mpm-socketio start - Start the server daemon
|
|
9
|
-
# claude-mpm-socketio stop - Stop the server daemon
|
|
10
|
-
# claude-mpm-socketio restart - Restart the server daemon
|
|
11
|
-
# claude-mpm-socketio status - Check server status
|
|
12
|
-
|
|
13
|
-
# Get the directory where this script is located
|
|
14
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
15
|
-
|
|
16
|
-
# Path to the Python daemon script
|
|
17
|
-
DAEMON_SCRIPT="${SCRIPT_DIR}/socketio_daemon.py"
|
|
18
|
-
|
|
19
|
-
# Check if the daemon script exists
|
|
20
|
-
if [ ! -f "$DAEMON_SCRIPT" ]; then
|
|
21
|
-
echo "Error: Socket.IO daemon script not found at $DAEMON_SCRIPT"
|
|
22
|
-
exit 1
|
|
23
|
-
fi
|
|
24
|
-
|
|
25
|
-
# Check if Python is available
|
|
26
|
-
if ! command -v python3 &> /dev/null; then
|
|
27
|
-
echo "Error: Python 3 is required but not found"
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
|
|
31
|
-
# Execute the Python daemon with all arguments
|
|
32
|
-
exec python3 "$DAEMON_SCRIPT" "$@"
|