claude-mpm 3.4.10__py3-none-any.whl → 3.4.13__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.
@@ -580,18 +580,18 @@ def _start_standalone_socketio_server(port, logger):
580
580
  logger.error(f"Failed to start Socket.IO daemon: {result.stderr}")
581
581
  return False
582
582
 
583
- # Wait for server to be ready with longer timeouts and progressive delays
584
- # WHY: Socket.IO server startup involves complex async initialization:
583
+ # Wait for server to be ready with reasonable timeouts and progressive delays
584
+ # WHY: Socket.IO server startup involves async initialization:
585
585
  # 1. Thread creation (~0.1s)
586
- # 2. Event loop setup (~1s)
586
+ # 2. Event loop setup (~0.5s)
587
587
  # 3. aiohttp server binding (~2-5s)
588
588
  # 4. Socket.IO service initialization (~1-3s)
589
- # Total: up to 15+ seconds for full readiness (especially on Python 3.13)
590
- max_attempts = 30 # Increased from 20 to handle Python 3.13 slower initialization
591
- initial_delay = 1.0 # Increased from 0.5s to give daemon more time to fork
592
- max_delay = 3.0 # Increased from 2.0s for slower systems
589
+ # Total: typically 2-5 seconds, up to 15 seconds max
590
+ max_attempts = 12 # Reduced from 30 - provides ~15 second total timeout
591
+ initial_delay = 0.75 # Reduced from 1.0s - balanced startup time
592
+ max_delay = 2.0 # Reduced from 3.0s - sufficient for binding delays
593
593
 
594
- logger.info(f"Waiting up to {max_attempts * max_delay} seconds for server to be fully ready...")
594
+ logger.info(f"Waiting up to ~15 seconds for server to be fully ready...")
595
595
 
596
596
  # Give the daemon initial time to fork and start before checking
597
597
  logger.debug("Allowing initial daemon startup time...")
@@ -617,8 +617,8 @@ def _start_standalone_socketio_server(port, logger):
617
617
  else:
618
618
  logger.debug(f"Server not yet accepting connections on attempt {attempt + 1}")
619
619
 
620
- logger.error(f"❌ Socket.IO server health check failed after {max_attempts} attempts ({max_attempts * max_delay:.1f}s)")
621
- logger.warning(f"⏱️ Server may still be starting - initialization can take 15+ seconds on some systems")
620
+ logger.error(f"❌ Socket.IO server health check failed after {max_attempts} attempts (~15s timeout)")
621
+ logger.warning(f"⏱️ Server may still be starting - try waiting a few more seconds")
622
622
  logger.warning(f"💡 The daemon process might be running but not yet accepting HTTP connections")
623
623
  logger.error(f"🔧 Troubleshooting steps:")
624
624
  logger.error(f" - Wait a few more seconds and try again")
@@ -19,12 +19,57 @@ try:
19
19
  # When installed as package, this should work directly
20
20
  from claude_mpm.services.socketio_server import SocketIOServer
21
21
  except ImportError:
22
- # When in development, add src to path
23
- project_root = script_dir.parent.parent.parent # from scripts -> claude_mpm -> src -> project_root
24
- src_path = project_root / "src"
25
- if src_path.exists():
26
- sys.path.insert(0, str(src_path))
27
- from claude_mpm.services.socketio_server import SocketIOServer
22
+ # Need to add the appropriate directory to sys.path
23
+ import sys
24
+
25
+ # Get the absolute path of this script
26
+ script_path = Path(__file__).resolve()
27
+
28
+ # Determine if we're in development or installed environment
29
+ if "site-packages" in str(script_path):
30
+ # Installed environment: ~/.local/pipx/venvs/claude-mpm/lib/python3.13/site-packages/claude_mpm/scripts/socketio_daemon.py
31
+ # Need to add site-packages directory to path
32
+ parts = script_path.parts
33
+ site_packages_idx = next(i for i, part in enumerate(parts) if part == "site-packages")
34
+ site_packages_path = Path(*parts[:site_packages_idx + 1])
35
+
36
+ if site_packages_path.exists() and str(site_packages_path) not in sys.path:
37
+ sys.path.insert(0, str(site_packages_path))
38
+ else:
39
+ # Development environment: Project/src/claude_mpm/scripts/socketio_daemon.py
40
+ # Need to add src directory to path
41
+ # Go up: scripts -> claude_mpm -> src
42
+ src_path = script_path.parent.parent.parent
43
+
44
+ if src_path.exists() and (src_path / "claude_mpm").exists() and str(src_path) not in sys.path:
45
+ sys.path.insert(0, str(src_path))
46
+
47
+ # Try importing again after path modification
48
+ try:
49
+ from claude_mpm.services.socketio_server import SocketIOServer
50
+ except ImportError as e:
51
+ print(f"❌ Failed to import SocketIOServer after path adjustment: {e}")
52
+ print(f"📍 Script path: {script_path}")
53
+ print(f"🐍 Python path entries: {len(sys.path)}")
54
+ for i, path in enumerate(sys.path):
55
+ print(f" [{i}] {path}")
56
+
57
+ # Check if claude_mpm directory exists in any path
58
+ claude_mpm_found = False
59
+ for path_str in sys.path:
60
+ claude_mpm_path = Path(path_str) / "claude_mpm"
61
+ if claude_mpm_path.exists():
62
+ print(f"✅ Found claude_mpm at: {claude_mpm_path}")
63
+ claude_mpm_found = True
64
+
65
+ if not claude_mpm_found:
66
+ print("❌ claude_mpm directory not found in any sys.path entry")
67
+
68
+ print("\n💡 Troubleshooting tips:")
69
+ print(" 1. Ensure claude-mpm is properly installed: pip install claude-mpm")
70
+ print(" 2. If in development, ensure you're in the project root directory")
71
+ print(" 3. Check that PYTHONPATH includes the package location")
72
+ sys.exit(1)
28
73
 
29
74
  PID_FILE = Path.home() / ".claude-mpm" / "socketio-server.pid"
30
75
  LOG_FILE = Path.home() / ".claude-mpm" / "socketio-server.log"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 3.4.10
3
+ Version: 3.4.13
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
@@ -43,7 +43,7 @@ claude_mpm/cli/commands/agents.py,sha256=FqqEQcfAfCxjz_E7fGQUtLznloJLz8fWQtnjQhk
43
43
  claude_mpm/cli/commands/info.py,sha256=ETL6jC08OTQVTPjs219Y0m3FzfKOUlI0-yI81AI8FXY,2990
44
44
  claude_mpm/cli/commands/memory.py,sha256=6jYD1bgfnWA0DvBpLJnZCPYMRoGAPBopAED8Qr-iIos,37357
45
45
  claude_mpm/cli/commands/monitor.py,sha256=80_tmSdfn_2cYpzxxPu9GnvFW0eixlSJ4wCqbn8VSCM,12407
46
- claude_mpm/cli/commands/run.py,sha256=Rv6RT2S9WN8KcqX5e9rtmALP8yiOSw8ojl_Qp7gugqg,30234
46
+ claude_mpm/cli/commands/run.py,sha256=xgiffMozZucZ4ELk6-sTQBn6FWC059OHsXx4vsZgyOc,30139
47
47
  claude_mpm/cli/commands/tickets.py,sha256=SXyGtHSyGJwTeJwDAHf7kRbdiG1DlZkXkod5UoNy7Ik,2150
48
48
  claude_mpm/cli/commands/ui.py,sha256=FhBQiOKW61cNduyryRu0UhC366d6o1eEkBgbPd7Au1w,1900
49
49
  claude_mpm/cli_module/__init__.py,sha256=CkMp4gzWKoZZF_qKyBDi2sQaZw_GLWZYLtKouv-4f8s,390
@@ -113,7 +113,7 @@ claude_mpm/orchestration/archive/subprocess_orchestrator.py,sha256=TYTAHX6p4OpgB
113
113
  claude_mpm/orchestration/archive/system_prompt_orchestrator.py,sha256=R16sc-94kQVeGjJzTYmvKn0aYgj_9qxyzShDy1E5zpE,12853
114
114
  claude_mpm/orchestration/archive/wrapper_orchestrator.py,sha256=cvL0NJf9kCWf3QJl67ySwvtR1Hd9Rym28Ii8Rtsdi6Q,6806
115
115
  claude_mpm/schemas/workflow_validator.py,sha256=qRgGodJoIZQaLfZ8OzWz3Y9eVNz3ckrQwkJ2RvccxAs,17175
116
- claude_mpm/scripts/socketio_daemon.py,sha256=xV2COFBtj2DZ2-hixfCw5beqz2dh4CEgynOtgmVsUdA,7459
116
+ claude_mpm/scripts/socketio_daemon.py,sha256=-vS7A55BQZCTbqcB7QAgWvZrcBqtIxcyriFcekgKIBU,9568
117
117
  claude_mpm/services/__init__.py,sha256=dcZ5U4xQlk-zpAy8CLTuEcXzKDfHT0KdJf3bYSmZ1BM,1904
118
118
  claude_mpm/services/agent_capabilities_generator.py,sha256=hWG0zV2InmzrDMxSbQzjVBBTzEaxg0bFxl8tmTMJ8qA,6565
119
119
  claude_mpm/services/agent_deployment.py,sha256=DtK1BX2yCrutUkQdVPD01mYHm-ya36l3EPOnEcaDfog,67961
@@ -193,9 +193,9 @@ claude_mpm/utils/path_operations.py,sha256=6pLMnAWBVzHkgp6JyQHmHbGD-dWn-nX21yV4E
193
193
  claude_mpm/utils/paths.py,sha256=Xv0SZWdZRkRjN9e6clBcA165ya00GNQxt7SwMz51tfA,10153
194
194
  claude_mpm/validation/__init__.py,sha256=bJ19g9lnk7yIjtxzN8XPegp87HTFBzCrGQOpFgRTf3g,155
195
195
  claude_mpm/validation/agent_validator.py,sha256=GCA2b2rKhKDeaNyUqWxTiWIs3sDdWjD9cgOFRp9K6ic,18227
196
- claude_mpm-3.4.10.dist-info/licenses/LICENSE,sha256=cSdDfXjoTVhstrERrqme4zgxAu4GubU22zVEHsiXGxs,1071
197
- claude_mpm-3.4.10.dist-info/METADATA,sha256=IEX7hJ0U89JTyyFHps19mQ7qVFBENPk0z-nEGVIVOXU,6464
198
- claude_mpm-3.4.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
199
- claude_mpm-3.4.10.dist-info/entry_points.txt,sha256=3_d7wLrg9sRmQ1SfrFGWoTNL8Wrd6lQb2XVSYbTwRIg,324
200
- claude_mpm-3.4.10.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
201
- claude_mpm-3.4.10.dist-info/RECORD,,
196
+ claude_mpm-3.4.13.dist-info/licenses/LICENSE,sha256=cSdDfXjoTVhstrERrqme4zgxAu4GubU22zVEHsiXGxs,1071
197
+ claude_mpm-3.4.13.dist-info/METADATA,sha256=pwQp4ScPXDl8ER7DnVWAVF88FqLn1XxTPkp_THy21Z8,6464
198
+ claude_mpm-3.4.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
199
+ claude_mpm-3.4.13.dist-info/entry_points.txt,sha256=3_d7wLrg9sRmQ1SfrFGWoTNL8Wrd6lQb2XVSYbTwRIg,324
200
+ claude_mpm-3.4.13.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
201
+ claude_mpm-3.4.13.dist-info/RECORD,,