claude-mpm 3.4.3__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/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
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 3.4.3
3
+ Version: 3.4.5
4
4
  Summary: Claude Multi-agent Project Manager - Clean orchestration with ticket management
5
5
  Home-page: https://github.com/bobmatnyc/claude-mpm
6
6
  Author: Claude MPM Team
@@ -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=Fh8shwtbNnmCchaN-mNbjbvkRkV1EuCqxSkiK5rmduo,4346
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=7CzaIBCf85rYCufZuOo4KjJGyWRrMd1AkN-Zzun93pE,13245
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=3iMs6KyLJ5HzCmzqze1FasWKLKevhqpqwb8PlYiJ7Gw,9155
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
@@ -34,14 +35,15 @@ claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json,sha256=_FHWnUeh
34
35
  claude_mpm/agents/templates/backup/research_agent_20250726_234551.json,sha256=o4n_sqSbjnsFRELB2q501vgwm-o2tQNLJLYvnVP9LWU,5629
35
36
  claude_mpm/agents/templates/backup/security_agent_20250726_234551.json,sha256=l5YuD-27CxKSOsRLv0bDY_tCZyds0yGbeizLb8paeFY,2322
36
37
  claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json,sha256=too38RPTLJ9HutCMn0nfmEdCj2me241dx5tUYDFtu94,2143
37
- claude_mpm/cli/__init__.py,sha256=OBcyg1xLPddsPURZPCvVhUfHkeak7Ph2qTvhOGYL7rQ,5506
38
- claude_mpm/cli/parser.py,sha256=Z6AOBnTi5QwB5MMDuxuWEbHB0HL5RVwLxSfXSPIQnX0,16232
38
+ claude_mpm/cli/__init__.py,sha256=hJ5y5HzRqx6EkCaPYnH0h9amv7hzKXlEUdLVYbaKTPA,5577
39
+ claude_mpm/cli/parser.py,sha256=ajdlusfbfcY44756pdrkfROEVlTaVJyEBDJup78Q-yE,18270
39
40
  claude_mpm/cli/utils.py,sha256=k_EHLcjDAzYhDeVeWvE-vqvHsEoG6Cc6Yk7fs3YoRVA,6022
40
- claude_mpm/cli/commands/__init__.py,sha256=6Oh31iPNWcAehZWIIkX2hoSUBTcvFU733P7Q8Ssf56g,509
41
+ claude_mpm/cli/commands/__init__.py,sha256=kUtBjfTYZnfAL_4QEPCBtFg2nWgJ2cxCPzIIsiFURXM,567
41
42
  claude_mpm/cli/commands/agents.py,sha256=FqqEQcfAfCxjz_E7fGQUtLznloJLz8fWQtnjQhkbalQ,6795
42
43
  claude_mpm/cli/commands/info.py,sha256=ETL6jC08OTQVTPjs219Y0m3FzfKOUlI0-yI81AI8FXY,2990
43
44
  claude_mpm/cli/commands/memory.py,sha256=6jYD1bgfnWA0DvBpLJnZCPYMRoGAPBopAED8Qr-iIos,37357
44
- claude_mpm/cli/commands/run.py,sha256=ArHaNBr2_jnZL5FuQdyOU1zySL27u6zdFOBGxkz3xcQ,28761
45
+ claude_mpm/cli/commands/monitor.py,sha256=80_tmSdfn_2cYpzxxPu9GnvFW0eixlSJ4wCqbn8VSCM,12407
46
+ claude_mpm/cli/commands/run.py,sha256=j8kFTdx4fwCR400NH-I0ORMc76J62IxUeVDaaq_DG7E,28312
45
47
  claude_mpm/cli/commands/tickets.py,sha256=SXyGtHSyGJwTeJwDAHf7kRbdiG1DlZkXkod5UoNy7Ik,2150
46
48
  claude_mpm/cli/commands/ui.py,sha256=FhBQiOKW61cNduyryRu0UhC366d6o1eEkBgbPd7Au1w,1900
47
49
  claude_mpm/cli_module/__init__.py,sha256=CkMp4gzWKoZZF_qKyBDi2sQaZw_GLWZYLtKouv-4f8s,390
@@ -111,16 +113,6 @@ claude_mpm/orchestration/archive/subprocess_orchestrator.py,sha256=TYTAHX6p4OpgB
111
113
  claude_mpm/orchestration/archive/system_prompt_orchestrator.py,sha256=R16sc-94kQVeGjJzTYmvKn0aYgj_9qxyzShDy1E5zpE,12853
112
114
  claude_mpm/orchestration/archive/wrapper_orchestrator.py,sha256=cvL0NJf9kCWf3QJl67ySwvtR1Hd9Rym28Ii8Rtsdi6Q,6806
113
115
  claude_mpm/schemas/workflow_validator.py,sha256=qRgGodJoIZQaLfZ8OzWz3Y9eVNz3ckrQwkJ2RvccxAs,17175
114
- claude_mpm/scripts/__init__.py,sha256=M2n9fQeyfILC8gogXvJv6ixnu7hwpqLEqLWJRaUN0MU,37
115
- claude_mpm/scripts/claude-mpm-socketio,sha256=usdZgOQs0vjAKBhUcGJoRPnzJt3wYZDQM88t71TTVeY,1029
116
- claude_mpm/scripts/claude_mpm_monitor.html,sha256=24g1YWNB8PZ2S_q2xLQycK0Z06e2C7yOTsEm6qQRVUI,17634
117
- claude_mpm/scripts/install_socketio_server.py,sha256=Bx3BL48EF1peH111k_HU7tQdcUU6QVthAemGQcPsano,15522
118
- claude_mpm/scripts/launch_monitor.py,sha256=fAgRFJknrYq31SEWD9oEAEH2xvR3Lh_bzRPGDKEAFGg,4437
119
- claude_mpm/scripts/launch_socketio_dashboard.py,sha256=BaZv_nuNY8rIFu76YhKswnrJAdM1pA3xNpb5-hQfsiA,9274
120
- claude_mpm/scripts/manage_version.py,sha256=5c86LD-_m0AlWqfgjRF6BH3Jc7n_nm5Z7hFVqB3iExQ,17524
121
- claude_mpm/scripts/socketio_daemon.py,sha256=__6AQytLHclOmUpZ88-OTJUYuzmn1tyJPPxuBJkDL0c,7037
122
- claude_mpm/scripts/socketio_server_manager.py,sha256=yTciMx45roXTN-j28hYiP1j0QCj4YliYC11387oWODY,30837
123
- claude_mpm/scripts/ticket.py,sha256=GmFimtTJxc927cCzJvvJH3gvoxXQtAB-W-xnuclcvNs,9350
124
116
  claude_mpm/services/__init__.py,sha256=dcZ5U4xQlk-zpAy8CLTuEcXzKDfHT0KdJf3bYSmZ1BM,1904
125
117
  claude_mpm/services/agent_capabilities_generator.py,sha256=hWG0zV2InmzrDMxSbQzjVBBTzEaxg0bFxl8tmTMJ8qA,6565
126
118
  claude_mpm/services/agent_deployment.py,sha256=DtK1BX2yCrutUkQdVPD01mYHm-ya36l3EPOnEcaDfog,67961
@@ -200,9 +192,9 @@ claude_mpm/utils/path_operations.py,sha256=6pLMnAWBVzHkgp6JyQHmHbGD-dWn-nX21yV4E
200
192
  claude_mpm/utils/paths.py,sha256=Xv0SZWdZRkRjN9e6clBcA165ya00GNQxt7SwMz51tfA,10153
201
193
  claude_mpm/validation/__init__.py,sha256=bJ19g9lnk7yIjtxzN8XPegp87HTFBzCrGQOpFgRTf3g,155
202
194
  claude_mpm/validation/agent_validator.py,sha256=GCA2b2rKhKDeaNyUqWxTiWIs3sDdWjD9cgOFRp9K6ic,18227
203
- claude_mpm-3.4.3.dist-info/licenses/LICENSE,sha256=cSdDfXjoTVhstrERrqme4zgxAu4GubU22zVEHsiXGxs,1071
204
- claude_mpm-3.4.3.dist-info/METADATA,sha256=1u1MKvFLOd_muZGOI_8X6ZUhzDfuvl5urySla3SMMzw,6523
205
- claude_mpm-3.4.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
206
- claude_mpm-3.4.3.dist-info/entry_points.txt,sha256=3_d7wLrg9sRmQ1SfrFGWoTNL8Wrd6lQb2XVSYbTwRIg,324
207
- claude_mpm-3.4.3.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
208
- claude_mpm-3.4.3.dist-info/RECORD,,
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,,
@@ -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" "$@"