claude-mpm 4.2.39__py3-none-any.whl → 4.2.42__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/BASE_ENGINEER.md +114 -1
- claude_mpm/agents/BASE_OPS.md +156 -1
- claude_mpm/agents/INSTRUCTIONS.md +120 -11
- claude_mpm/agents/WORKFLOW.md +160 -10
- claude_mpm/agents/templates/agentic-coder-optimizer.json +17 -12
- claude_mpm/agents/templates/react_engineer.json +217 -0
- claude_mpm/agents/templates/web_qa.json +40 -4
- claude_mpm/cli/__init__.py +3 -5
- claude_mpm/commands/mpm-browser-monitor.md +370 -0
- claude_mpm/commands/mpm-monitor.md +177 -0
- claude_mpm/dashboard/static/built/components/code-viewer.js +1076 -2
- claude_mpm/dashboard/static/built/components/ui-state-manager.js +465 -2
- claude_mpm/dashboard/static/css/dashboard.css +2 -0
- claude_mpm/dashboard/static/js/browser-console-monitor.js +495 -0
- claude_mpm/dashboard/static/js/components/browser-log-viewer.js +763 -0
- claude_mpm/dashboard/static/js/components/code-viewer.js +931 -340
- claude_mpm/dashboard/static/js/components/diff-viewer.js +891 -0
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +443 -0
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +690 -0
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +307 -19
- claude_mpm/dashboard/static/js/socket-client.js +2 -2
- claude_mpm/dashboard/static/test-browser-monitor.html +470 -0
- claude_mpm/dashboard/templates/index.html +62 -99
- claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
- claude_mpm/services/monitor/daemon.py +69 -36
- claude_mpm/services/monitor/daemon_manager.py +186 -29
- claude_mpm/services/monitor/handlers/browser.py +451 -0
- claude_mpm/services/monitor/server.py +272 -5
- {claude_mpm-4.2.39.dist-info → claude_mpm-4.2.42.dist-info}/METADATA +1 -1
- {claude_mpm-4.2.39.dist-info → claude_mpm-4.2.42.dist-info}/RECORD +35 -29
- claude_mpm/agents/templates/agentic-coder-optimizer.md +0 -44
- claude_mpm/agents/templates/agentic_coder_optimizer.json +0 -238
- claude_mpm/agents/templates/test-non-mpm.json +0 -20
- claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
- {claude_mpm-4.2.39.dist-info → claude_mpm-4.2.42.dist-info}/WHEEL +0 -0
- {claude_mpm-4.2.39.dist-info → claude_mpm-4.2.42.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.2.39.dist-info → claude_mpm-4.2.42.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.2.39.dist-info → claude_mpm-4.2.42.dist-info}/top_level.txt +0 -0
@@ -28,6 +28,7 @@ from aiohttp import web
|
|
28
28
|
from ...core.logging_config import get_logger
|
29
29
|
from ...dashboard.api.simple_directory import list_directory
|
30
30
|
from .event_emitter import get_event_emitter
|
31
|
+
from .handlers.browser import BrowserHandler
|
31
32
|
from .handlers.code_analysis import CodeAnalysisHandler
|
32
33
|
from .handlers.dashboard import DashboardHandler
|
33
34
|
from .handlers.file import FileHandler
|
@@ -68,6 +69,7 @@ class UnifiedMonitorServer:
|
|
68
69
|
self.site = None
|
69
70
|
|
70
71
|
# Event handlers
|
72
|
+
self.browser_handler = None
|
71
73
|
self.code_analysis_handler = None
|
72
74
|
self.dashboard_handler = None
|
73
75
|
self.file_handler = None
|
@@ -198,9 +200,13 @@ class UnifiedMonitorServer:
|
|
198
200
|
async def _start_async_server(self):
|
199
201
|
"""Start the async server components."""
|
200
202
|
try:
|
201
|
-
# Create Socket.IO server
|
203
|
+
# Create Socket.IO server with proper ping configuration
|
202
204
|
self.sio = socketio.AsyncServer(
|
203
|
-
cors_allowed_origins="*",
|
205
|
+
cors_allowed_origins="*",
|
206
|
+
logger=False,
|
207
|
+
engineio_logger=False,
|
208
|
+
ping_interval=30, # 30 seconds ping interval (matches client expectation)
|
209
|
+
ping_timeout=60, # 60 seconds ping timeout (generous for stability)
|
204
210
|
)
|
205
211
|
|
206
212
|
# Create aiohttp application
|
@@ -239,7 +245,11 @@ class UnifiedMonitorServer:
|
|
239
245
|
except OSError as e:
|
240
246
|
# Port binding error - make sure it's reported clearly
|
241
247
|
# Check for common port binding errors
|
242
|
-
if
|
248
|
+
if (
|
249
|
+
"Address already in use" in str(e)
|
250
|
+
or "[Errno 48]" in str(e)
|
251
|
+
or "[Errno 98]" in str(e)
|
252
|
+
):
|
243
253
|
error_msg = f"Port {self.port} is already in use. Another process may be using this port."
|
244
254
|
self.logger.error(error_msg)
|
245
255
|
self.startup_error = error_msg
|
@@ -262,12 +272,14 @@ class UnifiedMonitorServer:
|
|
262
272
|
"""Setup Socket.IO event handlers."""
|
263
273
|
try:
|
264
274
|
# Create event handlers
|
275
|
+
self.browser_handler = BrowserHandler(self.sio)
|
265
276
|
self.code_analysis_handler = CodeAnalysisHandler(self.sio)
|
266
277
|
self.dashboard_handler = DashboardHandler(self.sio)
|
267
278
|
self.file_handler = FileHandler(self.sio)
|
268
279
|
self.hook_handler = HookHandler(self.sio)
|
269
280
|
|
270
281
|
# Register handlers
|
282
|
+
self.browser_handler.register()
|
271
283
|
self.code_analysis_handler.register()
|
272
284
|
self.dashboard_handler.register()
|
273
285
|
self.file_handler.register()
|
@@ -493,19 +505,273 @@ class UnifiedMonitorServer:
|
|
493
505
|
|
494
506
|
return web.json_response(config)
|
495
507
|
|
508
|
+
# Working directory endpoint
|
509
|
+
async def working_directory_handler(request):
|
510
|
+
"""Return the current working directory."""
|
511
|
+
return web.json_response(
|
512
|
+
{"working_directory": os.getcwd(), "success": True}
|
513
|
+
)
|
514
|
+
|
515
|
+
# Browser monitor script endpoint
|
516
|
+
async def browser_monitor_script_handler(request):
|
517
|
+
"""Serve the browser console monitoring script with dynamic port injection."""
|
518
|
+
try:
|
519
|
+
# Read the browser monitor script template
|
520
|
+
script_path = (
|
521
|
+
dashboard_dir / "static" / "js" / "browser-console-monitor.js"
|
522
|
+
)
|
523
|
+
|
524
|
+
if not script_path.exists():
|
525
|
+
return web.Response(
|
526
|
+
text="Browser monitor script not found",
|
527
|
+
status=404,
|
528
|
+
content_type="text/javascript",
|
529
|
+
)
|
530
|
+
|
531
|
+
# Read script content
|
532
|
+
with open(script_path, encoding="utf-8") as f:
|
533
|
+
script_content = f.read()
|
534
|
+
|
535
|
+
# Replace the port placeholder with actual monitor port
|
536
|
+
script_content = script_content.replace(
|
537
|
+
"__MONITOR_PORT__", str(self.port)
|
538
|
+
)
|
539
|
+
|
540
|
+
# Set appropriate headers for JavaScript
|
541
|
+
headers = {
|
542
|
+
"Content-Type": "application/javascript; charset=utf-8",
|
543
|
+
"Access-Control-Allow-Origin": "*",
|
544
|
+
"Access-Control-Allow-Methods": "GET, OPTIONS",
|
545
|
+
"Access-Control-Allow-Headers": "Content-Type",
|
546
|
+
"Cache-Control": "no-cache, no-store, must-revalidate",
|
547
|
+
"Pragma": "no-cache",
|
548
|
+
"Expires": "0",
|
549
|
+
}
|
550
|
+
|
551
|
+
return web.Response(text=script_content, headers=headers)
|
552
|
+
|
553
|
+
except Exception as e:
|
554
|
+
self.logger.error(f"Error serving browser monitor script: {e}")
|
555
|
+
return web.Response(
|
556
|
+
text=f"// Error loading browser monitor script: {e}",
|
557
|
+
status=500,
|
558
|
+
content_type="application/javascript",
|
559
|
+
)
|
560
|
+
|
561
|
+
# Browser log endpoints
|
562
|
+
async def api_browser_logs_handler(request):
|
563
|
+
"""Return list of browser log files."""
|
564
|
+
try:
|
565
|
+
from pathlib import Path
|
566
|
+
|
567
|
+
# Get browser log directory
|
568
|
+
log_dir = Path.home() / ".claude-mpm" / "logs" / "client"
|
569
|
+
|
570
|
+
if not log_dir.exists():
|
571
|
+
return web.json_response({"files": [], "total": 0})
|
572
|
+
|
573
|
+
# Get all log files
|
574
|
+
log_files = []
|
575
|
+
for file_path in log_dir.glob("*.log"):
|
576
|
+
stat = file_path.stat()
|
577
|
+
log_files.append(
|
578
|
+
{
|
579
|
+
"name": file_path.name,
|
580
|
+
"size": stat.st_size,
|
581
|
+
"modified": stat.st_mtime,
|
582
|
+
"modified_iso": datetime.fromtimestamp(
|
583
|
+
stat.st_mtime
|
584
|
+
).isoformat(),
|
585
|
+
}
|
586
|
+
)
|
587
|
+
|
588
|
+
# Sort by modification time (newest first)
|
589
|
+
log_files.sort(key=lambda x: x["modified"], reverse=True)
|
590
|
+
|
591
|
+
return web.json_response(
|
592
|
+
{
|
593
|
+
"files": log_files,
|
594
|
+
"total": len(log_files),
|
595
|
+
"directory": str(log_dir),
|
596
|
+
}
|
597
|
+
)
|
598
|
+
|
599
|
+
except Exception as e:
|
600
|
+
self.logger.error(f"Error listing browser logs: {e}")
|
601
|
+
return web.json_response(
|
602
|
+
{"error": str(e), "files": [], "total": 0}, status=500
|
603
|
+
)
|
604
|
+
|
605
|
+
async def api_browser_log_file_handler(request):
|
606
|
+
"""Return contents of specific browser log file."""
|
607
|
+
try:
|
608
|
+
import json
|
609
|
+
from pathlib import Path
|
610
|
+
|
611
|
+
filename = request.match_info.get("filename", "")
|
612
|
+
|
613
|
+
# Security: ensure filename is safe (no path traversal)
|
614
|
+
if (
|
615
|
+
not filename
|
616
|
+
or "/" in filename
|
617
|
+
or "\\" in filename
|
618
|
+
or ".." in filename
|
619
|
+
):
|
620
|
+
return web.json_response(
|
621
|
+
{"error": "Invalid filename"}, status=400
|
622
|
+
)
|
623
|
+
|
624
|
+
# Get log file path
|
625
|
+
log_dir = Path.home() / ".claude-mpm" / "logs" / "client"
|
626
|
+
log_file = log_dir / filename
|
627
|
+
|
628
|
+
# Check if file exists and is within log directory
|
629
|
+
if not log_file.exists() or not log_file.is_file():
|
630
|
+
return web.json_response(
|
631
|
+
{"error": "Log file not found"}, status=404
|
632
|
+
)
|
633
|
+
|
634
|
+
# Ensure file is within the log directory (security check)
|
635
|
+
try:
|
636
|
+
log_file.resolve().relative_to(log_dir.resolve())
|
637
|
+
except ValueError:
|
638
|
+
return web.json_response(
|
639
|
+
{"error": "Invalid file path"}, status=403
|
640
|
+
)
|
641
|
+
|
642
|
+
# Read log entries
|
643
|
+
entries = []
|
644
|
+
with open(log_file, encoding="utf-8") as f:
|
645
|
+
for line in f:
|
646
|
+
line = line.strip()
|
647
|
+
if line:
|
648
|
+
try:
|
649
|
+
entry = json.loads(line)
|
650
|
+
entries.append(entry)
|
651
|
+
except json.JSONDecodeError:
|
652
|
+
# If not JSON, treat as plain text log
|
653
|
+
entries.append(
|
654
|
+
{
|
655
|
+
"timestamp": "",
|
656
|
+
"level": "INFO",
|
657
|
+
"message": line,
|
658
|
+
}
|
659
|
+
)
|
660
|
+
|
661
|
+
# Limit entries for performance
|
662
|
+
max_entries = 1000
|
663
|
+
if len(entries) > max_entries:
|
664
|
+
entries = entries[-max_entries:] # Get last N entries
|
665
|
+
|
666
|
+
return web.json_response(
|
667
|
+
{
|
668
|
+
"filename": filename,
|
669
|
+
"entries": entries,
|
670
|
+
"total": len(entries),
|
671
|
+
"truncated": len(entries) == max_entries,
|
672
|
+
}
|
673
|
+
)
|
674
|
+
|
675
|
+
except Exception as e:
|
676
|
+
self.logger.error(f"Error reading browser log file: {e}")
|
677
|
+
return web.json_response(
|
678
|
+
{"error": str(e), "entries": []}, status=500
|
679
|
+
)
|
680
|
+
|
681
|
+
async def api_browser_log_handler(request):
|
682
|
+
"""Handle browser log submissions from injected monitoring script."""
|
683
|
+
try:
|
684
|
+
import json
|
685
|
+
from pathlib import Path
|
686
|
+
|
687
|
+
data = await request.json()
|
688
|
+
|
689
|
+
# Extract log data
|
690
|
+
browser_id = data.get("browser_id", "unknown")
|
691
|
+
timestamp = data.get("timestamp", datetime.utcnow().isoformat())
|
692
|
+
level = data.get("level", "INFO")
|
693
|
+
message = data.get("message", "")
|
694
|
+
url = data.get("url", "")
|
695
|
+
user_agent = data.get("userAgent", "")
|
696
|
+
|
697
|
+
# Create log entry
|
698
|
+
log_entry = {
|
699
|
+
"browser_id": browser_id,
|
700
|
+
"timestamp": timestamp,
|
701
|
+
"level": level,
|
702
|
+
"message": message,
|
703
|
+
"url": url,
|
704
|
+
"user_agent": user_agent,
|
705
|
+
}
|
706
|
+
|
707
|
+
# Save to file
|
708
|
+
log_dir = Path.home() / ".claude-mpm" / "logs" / "client"
|
709
|
+
log_dir.mkdir(parents=True, exist_ok=True)
|
710
|
+
|
711
|
+
# Use browser ID in filename for easy filtering
|
712
|
+
log_file = log_dir / f"{browser_id}.log"
|
713
|
+
|
714
|
+
# Append to log file
|
715
|
+
with open(log_file, "a", encoding="utf-8") as f:
|
716
|
+
f.write(json.dumps(log_entry) + "\n")
|
717
|
+
|
718
|
+
# Also emit to Socket.IO for real-time viewing
|
719
|
+
if self.sio:
|
720
|
+
await self.sio.emit("browser_log", log_entry)
|
721
|
+
|
722
|
+
return web.Response(status=204) # No content
|
723
|
+
|
724
|
+
except Exception as e:
|
725
|
+
self.logger.error(f"Error handling browser log: {e}")
|
726
|
+
return web.Response(text=str(e), status=500)
|
727
|
+
|
496
728
|
# Register routes
|
497
729
|
self.app.router.add_get("/", dashboard_index)
|
498
730
|
self.app.router.add_get("/health", health_check)
|
499
731
|
self.app.router.add_get("/version.json", version_handler)
|
500
732
|
self.app.router.add_get("/api/config", config_handler)
|
733
|
+
self.app.router.add_get("/api/working-directory", working_directory_handler)
|
501
734
|
self.app.router.add_get("/api/directory", list_directory)
|
735
|
+
self.app.router.add_get(
|
736
|
+
"/api/browser-monitor.js", browser_monitor_script_handler
|
737
|
+
)
|
738
|
+
self.app.router.add_get("/api/browser-logs", api_browser_logs_handler)
|
739
|
+
self.app.router.add_get(
|
740
|
+
"/api/browser-logs/{filename}", api_browser_log_file_handler
|
741
|
+
)
|
742
|
+
self.app.router.add_post("/api/browser-log", api_browser_log_handler)
|
502
743
|
self.app.router.add_post("/api/events", api_events_handler)
|
503
744
|
self.app.router.add_post("/api/file", api_file_handler)
|
504
745
|
|
505
|
-
# Static files
|
746
|
+
# Static files with cache busting headers for development
|
506
747
|
static_dir = dashboard_dir / "static"
|
507
748
|
if static_dir.exists():
|
508
|
-
|
749
|
+
|
750
|
+
async def static_handler(request):
|
751
|
+
"""Serve static files with cache-control headers for development."""
|
752
|
+
|
753
|
+
from aiohttp.web_fileresponse import FileResponse
|
754
|
+
|
755
|
+
# Get the relative path from the request
|
756
|
+
rel_path = request.match_info["filepath"]
|
757
|
+
file_path = static_dir / rel_path
|
758
|
+
|
759
|
+
if not file_path.exists() or not file_path.is_file():
|
760
|
+
raise web.HTTPNotFound()
|
761
|
+
|
762
|
+
# Create file response
|
763
|
+
response = FileResponse(file_path)
|
764
|
+
|
765
|
+
# Add cache-busting headers for development
|
766
|
+
response.headers["Cache-Control"] = (
|
767
|
+
"no-cache, no-store, must-revalidate"
|
768
|
+
)
|
769
|
+
response.headers["Pragma"] = "no-cache"
|
770
|
+
response.headers["Expires"] = "0"
|
771
|
+
|
772
|
+
return response
|
773
|
+
|
774
|
+
self.app.router.add_get("/static/{filepath:.*}", static_handler)
|
509
775
|
|
510
776
|
# Templates
|
511
777
|
templates_dir = dashboard_dir / "templates"
|
@@ -695,6 +961,7 @@ class UnifiedMonitorServer:
|
|
695
961
|
"host": self.host,
|
696
962
|
"port": self.port,
|
697
963
|
"handlers": {
|
964
|
+
"browser": self.browser_handler is not None,
|
698
965
|
"code_analysis": self.code_analysis_handler is not None,
|
699
966
|
"dashboard": self.dashboard_handler is not None,
|
700
967
|
"file": self.file_handler is not None,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
|
2
|
-
claude_mpm/VERSION,sha256=
|
2
|
+
claude_mpm/VERSION,sha256=zC7UOoYmJUCNn9YwF48MdZUMOMuqU5LzVZ2X-3RjNmI,7
|
3
3
|
claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
5
5
|
claude_mpm/constants.py,sha256=I946iCQzIIPRZVVJ8aO7lA4euiyDnNw2IX7EelAOkIE,5915
|
@@ -7,15 +7,15 @@ 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_DOCUMENTATION.md,sha256=iGub94w3IRURz2PwT0YrfNegMlEzgZ9mzeWa_WBk1rA,1504
|
10
|
-
claude_mpm/agents/BASE_ENGINEER.md,sha256=
|
11
|
-
claude_mpm/agents/BASE_OPS.md,sha256=
|
10
|
+
claude_mpm/agents/BASE_ENGINEER.md,sha256=lXkA6KoCopsRTWS1LOx2s5m6S0hT5UT0s3l5owBo0Hc,7491
|
11
|
+
claude_mpm/agents/BASE_OPS.md,sha256=vKtjqJm_mwTVBv07qnAKf56dC06AQLbJEd9f6Wa4ekA,6468
|
12
12
|
claude_mpm/agents/BASE_PM.md,sha256=4vrUcddIIiZIr6sr0O4KSV8bDyvTRdZTxcJo62q9TEM,13724
|
13
13
|
claude_mpm/agents/BASE_QA.md,sha256=tR4RH63IwxidDXlSnSIRRaoGtmVpJp-0_GkQkmFUbjM,1590
|
14
14
|
claude_mpm/agents/BASE_RESEARCH.md,sha256=2DZhDd5XxWWtsyNTBIwvtNWBu1JpFy5R5SAZDHh0otU,1690
|
15
|
-
claude_mpm/agents/INSTRUCTIONS.md,sha256=
|
15
|
+
claude_mpm/agents/INSTRUCTIONS.md,sha256=tq0m84TJBldR_jePPMOR5auv7pv0WzNIaaf7GYhVvHo,19703
|
16
16
|
claude_mpm/agents/MEMORY.md,sha256=KbRwY_RYdOvTvFC2DD-ATfwjHkQWJ5PIjlGws_7RmjI,3307
|
17
17
|
claude_mpm/agents/OUTPUT_STYLE.md,sha256=2UzQvboIn5Zt18Rotorua8tQsGrvIJp1bcjCYvA2QcY,1875
|
18
|
-
claude_mpm/agents/WORKFLOW.md,sha256=
|
18
|
+
claude_mpm/agents/WORKFLOW.md,sha256=sYenQFFnSZ3IGF0N5bH9-5Dv06icmMBFQxoX74v38kY,15217
|
19
19
|
claude_mpm/agents/__init__.py,sha256=jRFxvV_DIZ-NdENa-703Xu3YpwvlQj6yv-mQ6FgmldM,3220
|
20
20
|
claude_mpm/agents/agent-template.yaml,sha256=mRlz5Yd0SmknTeoJWgFkZXzEF5T7OmGBJGs2-KPT93k,1969
|
21
21
|
claude_mpm/agents/agent_loader.py,sha256=sEoM3076qTOx9Rtk_HugK6X7T-dIVF8brHFpDbiXnzU,31817
|
@@ -29,9 +29,7 @@ claude_mpm/agents/system_agent_config.py,sha256=HBDrtRld1ruPqrThA0j4vtMr4cBt0fT7
|
|
29
29
|
claude_mpm/agents/templates/__init__.py,sha256=kghxAWs3KvcAA9Esk3NI7caumYgW6fiW8vRO1-MEndU,2735
|
30
30
|
claude_mpm/agents/templates/agent-manager.json,sha256=vj2-wdvtTpCrN9qpj_xTwcPxbJBARPc00ojFNSXd0PU,15482
|
31
31
|
claude_mpm/agents/templates/agent-manager.md,sha256=rWQ7MREoMdQtJhMujEPVYud6N-fGvicMuBvYIdRo22w,19418
|
32
|
-
claude_mpm/agents/templates/agentic-coder-optimizer.json,sha256=
|
33
|
-
claude_mpm/agents/templates/agentic-coder-optimizer.md,sha256=tlQngiRr9yX6J41t8BqoEYRZwrnB92ZzcG4k8I4cH9k,1071
|
34
|
-
claude_mpm/agents/templates/agentic_coder_optimizer.json,sha256=JBgPNDczgefU9iqoih12o8A52_-SLJembH2gn46OkrY,15403
|
32
|
+
claude_mpm/agents/templates/agentic-coder-optimizer.json,sha256=JBgPNDczgefU9iqoih12o8A52_-SLJembH2gn46OkrY,15403
|
35
33
|
claude_mpm/agents/templates/api_qa.json,sha256=5kPwahK5QlbDV-dxWTmso2EkWTCw9e332gEGaTvDzP8,5786
|
36
34
|
claude_mpm/agents/templates/code_analyzer.json,sha256=ZxjJxtioSwfv8ELme4eUqazoJTsORVOLad_0_bQqZb8,7411
|
37
35
|
claude_mpm/agents/templates/data_engineer.json,sha256=LjUVQe8VgoX5898Ustugy1zsb03U_lb51dyiRRUK3F8,5629
|
@@ -43,20 +41,20 @@ claude_mpm/agents/templates/memory_manager.json,sha256=b6bTMLFShY4-884pgjc6wsfLI
|
|
43
41
|
claude_mpm/agents/templates/ops.json,sha256=zp1uBfxdp7Atja0oLcNr8TAv-CQuK4mAnbfnLQMFIF4,10904
|
44
42
|
claude_mpm/agents/templates/project_organizer.json,sha256=p-4-7bLQk2RBAKglxWDcFR-U23uB7aTDcTep8WOOjGo,5632
|
45
43
|
claude_mpm/agents/templates/qa.json,sha256=pHdf-N4k2FJLczuQcBONV1lo8hUXut9tpknyDal3C4A,9590
|
44
|
+
claude_mpm/agents/templates/react_engineer.json,sha256=8sFzkVNN-Rf6X8Dbg3FcsbYJ2oJs9HCBPn-C-dzzacY,10641
|
46
45
|
claude_mpm/agents/templates/refactoring_engineer.json,sha256=PjaJx7AP-pRqZhZmbkHpZmD-ApeHy934cvq6SeJMk5A,11877
|
47
46
|
claude_mpm/agents/templates/research.json,sha256=f-IsmrKFbSJmpaGUOuqJBc0CbWi9Zz29e2cwFlYyWA0,10679
|
48
47
|
claude_mpm/agents/templates/security.json,sha256=KneO6U4jMGX8Oh-ViQVtnNOOvsUgmrkqZhiyrh9p7HE,14833
|
49
|
-
claude_mpm/agents/templates/test-non-mpm.json,sha256=WZTZADYSGSfxTm7gyByeaHPC4CaclbORkSmiBmDKcXs,592
|
50
48
|
claude_mpm/agents/templates/ticketing.json,sha256=MaLL7xBpZoqghVJ-cQNQOKHoGTkdiaJgE8ysZJqTiwM,11514
|
51
49
|
claude_mpm/agents/templates/vercel_ops_agent.json,sha256=cOUo-QOx7MCEZpn3v50GTZk4EVLgu56NGP2di7Pm_-w,10077
|
52
50
|
claude_mpm/agents/templates/version_control.json,sha256=fv4pCG-6DeFjB5cFnlC9otVmHUCl-9cJ9vgkQE0MOcw,14430
|
53
|
-
claude_mpm/agents/templates/web_qa.json,sha256=
|
51
|
+
claude_mpm/agents/templates/web_qa.json,sha256=oMMyZTpg8J4ylmWqqUajjV2ogz92e3nbnniK_1KVqhk,15326
|
54
52
|
claude_mpm/agents/templates/web_ui.json,sha256=tqdNRMP8EgBL-yNSQ06WxMTyAziSbWVVqjqm6rLzmdw,34852
|
55
53
|
claude_mpm/agents/templates/.claude-mpm/memories/README.md,sha256=vEiG7cPjHRZfwX2IQB-i30ArO8zJyuxMJzHh8hnVZ6A,483
|
56
54
|
claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md,sha256=KMZSJrQi-wHOwfl2C0m3A4PpC4QuBtDolAtVybGahKc,77
|
57
55
|
claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md,sha256=UBm4BycXtdaa-_l1VCh0alTGGOUSsnCbpKwbFuI-mUY,2219
|
58
56
|
claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md,sha256=oPvFSYFnmJ4TkbTe4AZnNHWaJMJ-xqZP2WM6scUKQKo,13089
|
59
|
-
claude_mpm/cli/__init__.py,sha256=
|
57
|
+
claude_mpm/cli/__init__.py,sha256=hbDc2PSEJHNRMhAYVAk1qPNCL5bTDOvU808VYBJEJgs,16670
|
60
58
|
claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
|
61
59
|
claude_mpm/cli/parser.py,sha256=Vqx9n-6Xo1uNhXR4rThmgWpZXTr0nOtkgDf3oMS9b0g,5855
|
62
60
|
claude_mpm/cli/startup_logging.py,sha256=CWu43ecTJLLT-YHRL94c783XljpR8GKydycGJ1JFuXI,23462
|
@@ -120,10 +118,12 @@ claude_mpm/cli_module/commands.py,sha256=zZmjP4J19i9PNMA7gCI5Dl--R1u_H4sCt5ZtOad
|
|
120
118
|
claude_mpm/cli_module/migration_example.py,sha256=DtQ59RyoBD6r8FIfrjKXCQ8-xnUiOqP5McBiS6_W1Qc,5183
|
121
119
|
claude_mpm/commands/__init__.py,sha256=paX5Ub5-UmRgiQ8UgKWIKwU2-RjLu67OmNJND-fVtjg,588
|
122
120
|
claude_mpm/commands/mpm-agents.md,sha256=JnYPJ-eWvIEEtiCB6iPu182P2xDBRvU3ArVXQ7h32kU,1341
|
121
|
+
claude_mpm/commands/mpm-browser-monitor.md,sha256=NPm-nqeK_xhC6eL-Oaqqud-2EcreVS4LLT4h9lxc0Vg,13219
|
123
122
|
claude_mpm/commands/mpm-config.md,sha256=F-9kKUC30gT6QXvOr5OTpYOq6L97iA2-SXVGxXjyF8M,547
|
124
123
|
claude_mpm/commands/mpm-doctor.md,sha256=ut5LhFKVRw-2ecjMSPsnaTiRuFXa6Q9t-Wgl3CCnQvk,590
|
125
124
|
claude_mpm/commands/mpm-help.md,sha256=gUMhJ1aTWyNeNMLZJeDJMN2sPuL-ugUFalmrNDEP5bI,282
|
126
125
|
claude_mpm/commands/mpm-init.md,sha256=G-SIbbU9X4bzumsCwL3kMG6Nn2MgSwV7ualtDm64tUw,5180
|
126
|
+
claude_mpm/commands/mpm-monitor.md,sha256=TUmlQFatPwt4js2kbpHTuaISIBYO7elP9fsWEaMntjE,6164
|
127
127
|
claude_mpm/commands/mpm-status.md,sha256=zY9toecba_UZTEY3JEKV1EvENQ-FPPvZk4dZwLyZ3LM,351
|
128
128
|
claude_mpm/commands/mpm-tickets.md,sha256=a2_mW56QDhw7-jMU92ycGaxvSSYpNoQFGhkWbr3MJ88,2356
|
129
129
|
claude_mpm/commands/mpm.md,sha256=tv_Mr6p2olRKIltKui4ljfCNG69VokkyIg951CeMBas,559
|
@@ -187,6 +187,7 @@ claude_mpm/dashboard/open_dashboard.py,sha256=i4OHdjeQLtZX4UnLVMiFlq6iSENvlCcdcm
|
|
187
187
|
claude_mpm/dashboard/test_dashboard.html,sha256=Aakmm9O-pWld_CCXLuUBOJC81Ix9D1avytTN93u0zfc,15090
|
188
188
|
claude_mpm/dashboard/.claude-mpm/socketio-instances.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
189
189
|
claude_mpm/dashboard/api/simple_directory.py,sha256=ZeYVPaACsCGfjNLGlo3nHGVQSsg3l-89xLRRbbZMeA8,7160
|
190
|
+
claude_mpm/dashboard/static/test-browser-monitor.html,sha256=_1FepA54mfYOQLYWt9D-FBRmaoiQ5ToZbgS0rjCAfr4,17479
|
190
191
|
claude_mpm/dashboard/static/test-simple.html,sha256=PMLrT6yLSCUt1N-nsOTttHEIiy9b9-25ZAkxGJ3JeqY,3428
|
191
192
|
claude_mpm/dashboard/static/test_debug.html,sha256=XZ0tcKA57VnlE_OLGusb0UWh8Hs4SgeD-wsc4neh8Zw,815
|
192
193
|
claude_mpm/dashboard/static/built/dashboard.js,sha256=X0UbZB0SkqdBPWZdIVygwEXbPrl-jS_OPExHww3CB7s,48106
|
@@ -194,7 +195,7 @@ claude_mpm/dashboard/static/built/socket-client.js,sha256=qT9K5LsrcScj4w1WjSMBJY
|
|
194
195
|
claude_mpm/dashboard/static/built/components/activity-tree.js,sha256=c7vYmCvMgq7irVrX-EFbNqVMgVuDJ_cwcvsZ4LSO3bU,29594
|
195
196
|
claude_mpm/dashboard/static/built/components/agent-inference.js,sha256=fXK7kzvAXzYzOGdLw_APbDiEN51OX1I4-InnN2iZlu0,12978
|
196
197
|
claude_mpm/dashboard/static/built/components/code-tree.js,sha256=TxTyCUdmilFH_QYmClk-hN0_QHmtNroZ3Ovxi7KImjc,96245
|
197
|
-
claude_mpm/dashboard/static/built/components/code-viewer.js,sha256=
|
198
|
+
claude_mpm/dashboard/static/built/components/code-viewer.js,sha256=VYQVD59tVFovoRC8fKsyO-Bi_2ZwczffYuYqhUtbjRg,41074
|
198
199
|
claude_mpm/dashboard/static/built/components/event-processor.js,sha256=JycF1KIAmxhsNBCsne9CzRFPHMcnQz0WhTABpvuCWSc,131
|
199
200
|
claude_mpm/dashboard/static/built/components/event-viewer.js,sha256=oyfvK8VO1RNSyN1CRoZiB22cNJ4D05p_ahM8WPCH27k,24902
|
200
201
|
claude_mpm/dashboard/static/built/components/export-manager.js,sha256=iEbnirtMJ5bLpKbgBJfMI2bPC1Lf3_UrQntl04OUKEk,4196
|
@@ -206,19 +207,18 @@ claude_mpm/dashboard/static/built/components/hud-visualizer.js,sha256=igUUu1OLKO
|
|
206
207
|
claude_mpm/dashboard/static/built/components/module-viewer.js,sha256=eRpKOFuwPeb8SZycpH4IZF8pE04edS3LH0h06s3GdPg,51575
|
207
208
|
claude_mpm/dashboard/static/built/components/session-manager.js,sha256=FHLvnEH8PYoZJS6zR9qbzWxp52fdd8jGiSiprLun8Cc,8928
|
208
209
|
claude_mpm/dashboard/static/built/components/socket-manager.js,sha256=LEqCS0_EABAsQVUfb6WQk152mSicK2k039zne5cKR8A,131
|
209
|
-
claude_mpm/dashboard/static/built/components/ui-state-manager.js,sha256=
|
210
|
+
claude_mpm/dashboard/static/built/components/ui-state-manager.js,sha256=kGDSb8AcAp0DrNPdKj2nOu0Dq7D5k0hoeHO_SpcTY3E,14753
|
210
211
|
claude_mpm/dashboard/static/built/components/unified-data-viewer.js,sha256=pMA1iYfpmDObyySbGCUT2240fSrcqZmgfjxXrnHsnlM,36759
|
211
212
|
claude_mpm/dashboard/static/built/components/working-directory.js,sha256=eiZk4C1tNAA5JfKO9XbE7VI-CTI9AjN49kxfkRk320k,15937
|
212
213
|
claude_mpm/dashboard/static/css/activity.css,sha256=0SJUwGB6fr4OlVqMwhvVKrPndg2R3QTZPnN6DkAo4aU,37987
|
213
214
|
claude_mpm/dashboard/static/css/code-tree.css,sha256=Sx74ilt7exGOdxCBEtjP9gZ74lB5e8QWr3_SIcl_0hw,30708
|
214
215
|
claude_mpm/dashboard/static/css/connection-status.css,sha256=nQiMLxIFjY5MDgrVCG58VR5H1PpE1vLlgXmnn01-P64,6729
|
215
|
-
claude_mpm/dashboard/static/css/dashboard.css,sha256=
|
216
|
+
claude_mpm/dashboard/static/css/dashboard.css,sha256=dDZQ5sno4_c0vrX5Pwgeo8Vin9dhJNhdAMDalQbMfps,85828
|
216
217
|
claude_mpm/dashboard/static/dist/dashboard.js,sha256=X0UbZB0SkqdBPWZdIVygwEXbPrl-jS_OPExHww3CB7s,48106
|
217
218
|
claude_mpm/dashboard/static/dist/socket-client.js,sha256=qT9K5LsrcScj4w1WjSMBJY-eWAN8Np05Xw4CenOIiJE,29244
|
218
219
|
claude_mpm/dashboard/static/dist/components/activity-tree.js,sha256=c7vYmCvMgq7irVrX-EFbNqVMgVuDJ_cwcvsZ4LSO3bU,29594
|
219
220
|
claude_mpm/dashboard/static/dist/components/agent-inference.js,sha256=fXK7kzvAXzYzOGdLw_APbDiEN51OX1I4-InnN2iZlu0,12978
|
220
221
|
claude_mpm/dashboard/static/dist/components/code-tree.js,sha256=TxTyCUdmilFH_QYmClk-hN0_QHmtNroZ3Ovxi7KImjc,96245
|
221
|
-
claude_mpm/dashboard/static/dist/components/code-viewer.js,sha256=wMggEwMt2RrBuXJO-WYZ5_HHDODfWLm_IS9lS5LLR7M,8495
|
222
222
|
claude_mpm/dashboard/static/dist/components/event-processor.js,sha256=JycF1KIAmxhsNBCsne9CzRFPHMcnQz0WhTABpvuCWSc,131
|
223
223
|
claude_mpm/dashboard/static/dist/components/event-viewer.js,sha256=oyfvK8VO1RNSyN1CRoZiB22cNJ4D05p_ahM8WPCH27k,24902
|
224
224
|
claude_mpm/dashboard/static/dist/components/export-manager.js,sha256=iEbnirtMJ5bLpKbgBJfMI2bPC1Lf3_UrQntl04OUKEk,4196
|
@@ -233,21 +233,26 @@ claude_mpm/dashboard/static/dist/components/socket-manager.js,sha256=LEqCS0_EABA
|
|
233
233
|
claude_mpm/dashboard/static/dist/components/ui-state-manager.js,sha256=PtZs6sxNhqMMFwdlr04kDKQbgOvxtMHdjSh56KR2ZBo,134
|
234
234
|
claude_mpm/dashboard/static/dist/components/unified-data-viewer.js,sha256=pMA1iYfpmDObyySbGCUT2240fSrcqZmgfjxXrnHsnlM,36759
|
235
235
|
claude_mpm/dashboard/static/dist/components/working-directory.js,sha256=l0E7R5iJpNX2dyWb5oG_InKFje31cO8om2ykzda0Jlg,16587
|
236
|
+
claude_mpm/dashboard/static/js/browser-console-monitor.js,sha256=_YLo3r0VOd_-RC7DEJXUQ2Z2vce6m8vU-ja1GTiBLXs,16377
|
236
237
|
claude_mpm/dashboard/static/js/connection-manager.js,sha256=nn7x1jmwEnBClcChbFk1uMhRPu5U1xmXz3sjuo0LNm4,17981
|
237
238
|
claude_mpm/dashboard/static/js/dashboard.js,sha256=VDnf-LdAKFOD08NCzZlMIWJW3EcDI_ZRo74_OX4FUxY,68876
|
238
239
|
claude_mpm/dashboard/static/js/extension-error-handler.js,sha256=DZHrJ3gbfv4nsjmZpNMj-Sc3GKjVJ5ds8lgoaLRnq5I,6274
|
239
|
-
claude_mpm/dashboard/static/js/socket-client.js,sha256=
|
240
|
+
claude_mpm/dashboard/static/js/socket-client.js,sha256=1XxJ6U0H9NxzaWQrL8amECpAiv8d8sbWGM9p-sPMHLQ,57264
|
240
241
|
claude_mpm/dashboard/static/js/components/activity-tree.js,sha256=1j46X0qjYReP6gwv0WGRpJSJNuBwuj6bKmumWrCZKUo,72740
|
241
242
|
claude_mpm/dashboard/static/js/components/agent-hierarchy.js,sha256=Xihxog_vJrk8VBEkDogV_wbye2GIFWmH71VQ1lETOHk,28243
|
242
243
|
claude_mpm/dashboard/static/js/components/agent-inference.js,sha256=RUVZ_fLOyDkHYjrROen_Pzzay79Bh29eXp_GRIPbIRg,37493
|
244
|
+
claude_mpm/dashboard/static/js/components/browser-log-viewer.js,sha256=L2M0CRmlmDvxbYlQ87V0WZUdGJItTEo8KArj2chWMNA,30136
|
243
245
|
claude_mpm/dashboard/static/js/components/build-tracker.js,sha256=iouv35tNhnyx9UKtD7X1eakJkpCnvZVCrAJ_VdzsKUY,11251
|
244
246
|
claude_mpm/dashboard/static/js/components/code-simple.js,sha256=2yOEr5ziM0rKlsE65cemZIlFK31ylmcJeXAQZFHQF5Y,33797
|
245
247
|
claude_mpm/dashboard/static/js/components/code-tree.js,sha256=Fi3s9Psojgj2lH9cXPAINc4n-Z_y9KLjiCkM9VpYyoo,223576
|
246
|
-
claude_mpm/dashboard/static/js/components/code-viewer.js,sha256=
|
248
|
+
claude_mpm/dashboard/static/js/components/code-viewer.js,sha256=ZZsL_7y9XdH0XwAQD0gU4CMhf6eeO3DcAl5D0DKGKOI,40331
|
247
249
|
claude_mpm/dashboard/static/js/components/connection-debug.js,sha256=Qxr_ofDNkxDlZAwbLnhZkXVMyuO9jOe-NMWC9VHxNnA,22196
|
250
|
+
claude_mpm/dashboard/static/js/components/diff-viewer.js,sha256=5Jyj1gYBkBawHG2EAEXwJE31S41Yhv-5QGjBHUXrOik,30329
|
248
251
|
claude_mpm/dashboard/static/js/components/event-processor.js,sha256=pP15JIf2yEh7gqEdam42m_B1B4hDlfKbkDcGmQhyjM8,20567
|
249
252
|
claude_mpm/dashboard/static/js/components/event-viewer.js,sha256=Ahl9eTxCYMhDC_533Gf4O96S04W5O_Ts0PAGWSVivkI,43672
|
250
253
|
claude_mpm/dashboard/static/js/components/export-manager.js,sha256=T1YtaR758FaB9aP_5V1xZC9EBIFQOG5H8f_sLopxR5A,11863
|
254
|
+
claude_mpm/dashboard/static/js/components/file-change-tracker.js,sha256=r8jfHD_uSNrqQtX1iD-2tGy1I8YW16SB-Y3Aek92Rto,14991
|
255
|
+
claude_mpm/dashboard/static/js/components/file-change-viewer.js,sha256=UvJo6NcwUJAtLg6-DUoathauZ3Lkj5dvKuufwYagLoU,22910
|
251
256
|
claude_mpm/dashboard/static/js/components/file-tool-tracker.js,sha256=y8O7kW5uP6KBT2gWvjRoH1aJG-7o1qzyrVnvShsNAK0,28620
|
252
257
|
claude_mpm/dashboard/static/js/components/file-viewer.js,sha256=Q9twY64RJD4ozcsI9k0foUvDCCsDMWCX-ojywqImhNY,19777
|
253
258
|
claude_mpm/dashboard/static/js/components/hud-library-loader.js,sha256=SK6tY8TL88lnewi4M-i092HdgYondv_lVfHoQ-A_cWU,7170
|
@@ -256,7 +261,7 @@ claude_mpm/dashboard/static/js/components/hud-visualizer.js,sha256=crgq3eA4xiXDE
|
|
256
261
|
claude_mpm/dashboard/static/js/components/module-viewer.js,sha256=Ndw3ZDLRP4xaMw2akEH5Dvkof4Vp9umk8yFQzQntLkI,109010
|
257
262
|
claude_mpm/dashboard/static/js/components/session-manager.js,sha256=1J6XdWJPZ_ykrK7y5S3p4Y3HyWGcYoLo69XudeG66nU,22769
|
258
263
|
claude_mpm/dashboard/static/js/components/socket-manager.js,sha256=KC-aOJDEPSiMPYk0ABgvCC1xmO7TVQ4SVqohi2GNsWQ,13303
|
259
|
-
claude_mpm/dashboard/static/js/components/ui-state-manager.js,sha256=
|
264
|
+
claude_mpm/dashboard/static/js/components/ui-state-manager.js,sha256=LulX3DH7I5j0Zxc8slVHF_fcwj-IKw6OqhYh-xvBss4,28486
|
260
265
|
claude_mpm/dashboard/static/js/components/unified-data-viewer.js,sha256=afHCGAg7v3PVhmOr77Bzx3TTZlzHI_5pq16ut3xEYWk,65302
|
261
266
|
claude_mpm/dashboard/static/js/components/working-directory.js,sha256=q8CAvvqCLBIGNkdo-pVF4UmLr-ZvRjy9bLLofmgQZVI,35415
|
262
267
|
claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js,sha256=oijL6R5JFqSm9aHEbh46D7rgK_EDSmAGW-PO2vmacGM,10481
|
@@ -268,7 +273,7 @@ claude_mpm/dashboard/static/js/shared/event-bus.js,sha256=aV2QMt8Ris1BFxuFUYoOvM
|
|
268
273
|
claude_mpm/dashboard/static/js/shared/logger.js,sha256=nQE-6b8pAAhWsafgon6UT-ueyOmhukrNFaGkcT77RS0,10431
|
269
274
|
claude_mpm/dashboard/static/js/shared/tooltip-service.js,sha256=T0_0koY2SNHTlctzU4Z5VBH0EWRXmO-ODo9WvO2HUto,7588
|
270
275
|
claude_mpm/dashboard/templates/code_simple.html,sha256=xrmTLFow0M5NWFlk4ci1eLWML-IHr35i5pqIVaEg2TU,4329
|
271
|
-
claude_mpm/dashboard/templates/index.html,sha256=
|
276
|
+
claude_mpm/dashboard/templates/index.html,sha256=YxLBy1nybGbc1AAElfZHu-vA8a3_Hk5QDB0YhU0dj9c,30593
|
272
277
|
claude_mpm/experimental/__init__.py,sha256=R_aclOvWpvSTHWAx9QXyg9OIPVK2dXT5tQJhxLQN11Y,369
|
273
278
|
claude_mpm/experimental/cli_enhancements.py,sha256=rlYOMVlj8vQzuyCkHWQ7TtjcsDeFq3y1Ng5qty2fyY8,11486
|
274
279
|
claude_mpm/generators/__init__.py,sha256=rG8vwF_BjPmeMKvyMXpUA8uJ-7mtW2HTNfalZzgRlNk,153
|
@@ -436,7 +441,7 @@ claude_mpm/services/cli/memory_crud_service.py,sha256=ciN9Pl_12iDAqF9zPBWOzu-iXi
|
|
436
441
|
claude_mpm/services/cli/memory_output_formatter.py,sha256=nbf7VsjGvH4e9fLv9c7PzjuO9COZhbK5P2fNZ79055w,24783
|
437
442
|
claude_mpm/services/cli/session_manager.py,sha256=rla_Stbcvt93wa9G9MCMu9UqB3FLGqlPt_eN5lQb3Gg,16599
|
438
443
|
claude_mpm/services/cli/startup_checker.py,sha256=efhuvu8ns5G16jcQ0nQZKVddmD2AktUEdlvjNcXjAuk,12232
|
439
|
-
claude_mpm/services/cli/unified_dashboard_manager.py,sha256=
|
444
|
+
claude_mpm/services/cli/unified_dashboard_manager.py,sha256=XOXC7mlfmqwKrNDDbxu3q8qPn0oAUvPkQY7e_SwTTIA,15433
|
440
445
|
claude_mpm/services/communication/__init__.py,sha256=b4qc7_Rqy4DE9q7BAUlfUZjoYG4uimAyUnE0irPcXyU,560
|
441
446
|
claude_mpm/services/core/__init__.py,sha256=evEayLlBqJvxMZhrhuK6aagXmNrKGSj8Jm9OOxKzqvU,2195
|
442
447
|
claude_mpm/services/core/base.py,sha256=iA-F7DgGp-FJIMvQTiHQ68RkG_k-AtUWlArJPMw6ZPk,7297
|
@@ -552,11 +557,12 @@ claude_mpm/services/memory/cache/__init__.py,sha256=6M6-P8ParyxX8vOgp_IxHgLMvacr
|
|
552
557
|
claude_mpm/services/memory/cache/shared_prompt_cache.py,sha256=crnYPUT8zcS7TvoE1vW7pyaf4T77N5rJ1wUf_YQ2vvo,28704
|
553
558
|
claude_mpm/services/memory/cache/simple_cache.py,sha256=qsTjbcsPxj-kNfaod9VN_uE5NioIwpfkUin_mMVUJCg,10218
|
554
559
|
claude_mpm/services/monitor/__init__.py,sha256=X7gxSLUm9Fg_zEsX6LtCHP2ipF0qj6Emkun20h2So7g,745
|
555
|
-
claude_mpm/services/monitor/daemon.py,sha256=
|
556
|
-
claude_mpm/services/monitor/daemon_manager.py,sha256=
|
560
|
+
claude_mpm/services/monitor/daemon.py,sha256=ZeFZPoLKd8PGShNA-mRpFkQkQBbsP7iaDDlNJGCbFe0,25964
|
561
|
+
claude_mpm/services/monitor/daemon_manager.py,sha256=fAcrRh-zBAHXP5_9s5WKCZ-V5EhTEijHPvrSJWwU7Yc,34238
|
557
562
|
claude_mpm/services/monitor/event_emitter.py,sha256=JzRLNg8PUJ5s3ulNnq_D4yqCPItvidJzu8DmFxriieQ,12224
|
558
|
-
claude_mpm/services/monitor/server.py,sha256=
|
563
|
+
claude_mpm/services/monitor/server.py,sha256=CSyfbRrDTyTDpuClMsusRFCwsHJ85u4TDQfoYXx57e8,40128
|
559
564
|
claude_mpm/services/monitor/handlers/__init__.py,sha256=jgPIf4IJVERm_tAeD9834tfx9IcxtlHj5r9rhEWpkfM,701
|
565
|
+
claude_mpm/services/monitor/handlers/browser.py,sha256=xtUustTAWtNs35HdwdP1wDOrbS-P403xv5DmV3qtklU,15485
|
560
566
|
claude_mpm/services/monitor/handlers/code_analysis.py,sha256=mHyI27Wp6WVmUBc0m0i991ogyFZBTvkrfR7Kf3EAk5U,11474
|
561
567
|
claude_mpm/services/monitor/handlers/dashboard.py,sha256=uGBhb-6RG6u4WLipUXgdx7RCW-vb_qek5dIfHIwAC7o,9805
|
562
568
|
claude_mpm/services/monitor/handlers/file.py,sha256=p3C4wffl0GIcN00b-KkrmZ8F-AmdZlGqLzBqQcqZ9Ns,9729
|
@@ -644,9 +650,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
|
|
644
650
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
645
651
|
claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
|
646
652
|
claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
|
647
|
-
claude_mpm-4.2.
|
648
|
-
claude_mpm-4.2.
|
649
|
-
claude_mpm-4.2.
|
650
|
-
claude_mpm-4.2.
|
651
|
-
claude_mpm-4.2.
|
652
|
-
claude_mpm-4.2.
|
653
|
+
claude_mpm-4.2.42.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
654
|
+
claude_mpm-4.2.42.dist-info/METADATA,sha256=5WZcbus1yGmtWOIozWezvJ1X0CvJRYHvrR_UY5L3crA,14451
|
655
|
+
claude_mpm-4.2.42.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
656
|
+
claude_mpm-4.2.42.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
|
657
|
+
claude_mpm-4.2.42.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
658
|
+
claude_mpm-4.2.42.dist-info/RECORD,,
|
@@ -1,44 +0,0 @@
|
|
1
|
-
# Agentic Coder Optimizer
|
2
|
-
|
3
|
-
## Core Identity
|
4
|
-
|
5
|
-
You are Agentic Coder Optimizer, a specialized agent in the Claude MPM framework.
|
6
|
-
|
7
|
-
## Purpose
|
8
|
-
|
9
|
-
None
|
10
|
-
|
11
|
-
## Responsibilities
|
12
|
-
|
13
|
-
- Primary focus on your specialized domain
|
14
|
-
- Collaborate with other agents as needed
|
15
|
-
- Follow Claude MPM framework conventions
|
16
|
-
- Maintain high quality standards
|
17
|
-
|
18
|
-
## Operating Principles
|
19
|
-
|
20
|
-
1. **Expertise**: Apply deep knowledge in your domain
|
21
|
-
2. **Efficiency**: Complete tasks effectively and quickly
|
22
|
-
3. **Communication**: Provide clear, actionable responses
|
23
|
-
4. **Collaboration**: Work well with other agents
|
24
|
-
5. **Quality**: Maintain high standards in all outputs
|
25
|
-
|
26
|
-
## Output Format
|
27
|
-
|
28
|
-
Provide structured responses with:
|
29
|
-
- Clear summaries of actions taken
|
30
|
-
- Detailed results when appropriate
|
31
|
-
- Any issues or blockers encountered
|
32
|
-
- Recommendations for next steps
|
33
|
-
|
34
|
-
## Integration
|
35
|
-
|
36
|
-
- Follow framework patterns and conventions
|
37
|
-
- Use appropriate tools for the task
|
38
|
-
- Coordinate with PM for complex workflows
|
39
|
-
- Report completion status clearly
|
40
|
-
|
41
|
-
---
|
42
|
-
|
43
|
-
*Agent ID: agentic-coder-optimizer*
|
44
|
-
*Generated by Agent Manager*
|