claude-mpm 4.3.14__py3-none-any.whl → 4.3.15__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.
Files changed (34) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/cli/commands/mcp.py +10 -5
  3. claude_mpm/cli/interactive/agent_wizard.py +2 -6
  4. claude_mpm/core/api_validator.py +1 -3
  5. claude_mpm/core/interactive_session.py +1 -3
  6. claude_mpm/models/agent_session.py +1 -3
  7. claude_mpm/scripts/mcp_server.py +0 -0
  8. claude_mpm/scripts/start_activity_logging.py +0 -0
  9. claude_mpm/services/cli/agent_listing_service.py +1 -3
  10. claude_mpm/services/mcp_gateway/server/stdio_server.py +1 -3
  11. claude_mpm/services/monitor/management/lifecycle.py +1 -3
  12. claude_mpm/services/port_manager.py +1 -3
  13. claude_mpm/services/visualization/mermaid_generator.py +1 -3
  14. claude_mpm/tools/code_tree_analyzer.py +2 -6
  15. claude_mpm/utils/agent_dependency_loader.py +2 -6
  16. {claude_mpm-4.3.14.dist-info → claude_mpm-4.3.15.dist-info}/METADATA +1 -1
  17. {claude_mpm-4.3.14.dist-info → claude_mpm-4.3.15.dist-info}/RECORD +19 -32
  18. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  19. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
  20. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
  21. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-313.pyc +0 -0
  22. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
  23. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
  24. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
  25. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
  26. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-313.pyc +0 -0
  27. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
  28. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
  29. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
  30. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
  31. {claude_mpm-4.3.14.dist-info → claude_mpm-4.3.15.dist-info}/WHEEL +0 -0
  32. {claude_mpm-4.3.14.dist-info → claude_mpm-4.3.15.dist-info}/entry_points.txt +0 -0
  33. {claude_mpm-4.3.14.dist-info → claude_mpm-4.3.15.dist-info}/licenses/LICENSE +0 -0
  34. {claude_mpm-4.3.14.dist-info → claude_mpm-4.3.15.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION CHANGED
@@ -1 +1 @@
1
- 4.3.13
1
+ 4.3.15
@@ -61,10 +61,10 @@ def manage_mcp(args):
61
61
 
62
62
  # Allow install command to proceed
63
63
  if args.mcp_command == MCPCommands.INSTALL.value:
64
- MCPConfiguration = None
65
- MCPServiceRegistry = None
66
- ToolRegistry = None
67
- MCPGateway = None
64
+ MCPConfiguration = None # noqa: N806
65
+ MCPServiceRegistry = None # noqa: N806
66
+ ToolRegistry = None # noqa: N806
67
+ MCPGateway = None # noqa: N806
68
68
  else:
69
69
  print(
70
70
  "\nError: MCP Gateway services not fully available",
@@ -115,7 +115,12 @@ def manage_mcp(args):
115
115
 
116
116
 
117
117
  def _show_status(
118
- args, logger, MCPConfiguration, MCPServiceRegistry, ToolRegistry, MCPGateway
118
+ args,
119
+ logger,
120
+ MCPConfiguration,
121
+ MCPServiceRegistry,
122
+ ToolRegistry,
123
+ MCPGateway, # noqa: N803
119
124
  ):
120
125
  """
121
126
  Show MCP Gateway status when no subcommand is provided.
@@ -600,9 +600,7 @@ class AgentWizard:
600
600
  tier="project",
601
601
  )
602
602
 
603
- def _manage_single_agent(
604
- self, template: LocalAgentTemplate
605
- ) -> Tuple[bool, str]:
603
+ def _manage_single_agent(self, template: LocalAgentTemplate) -> Tuple[bool, str]:
606
604
  """Manage a single agent."""
607
605
  print(f"\n🔧 Managing Agent: {template.agent_id}")
608
606
  print(f" Name: {template.metadata.get('name', template.agent_id)}")
@@ -817,9 +815,7 @@ class AgentWizard:
817
815
  return self.manager.project_agents_dir / f"{template.agent_id}.json"
818
816
  return self.manager.user_agents_dir / f"{template.agent_id}.json"
819
817
 
820
- def _interactive_delete_menu(
821
- self, templates: list
822
- ) -> Tuple[bool, str]:
818
+ def _interactive_delete_menu(self, templates: list) -> Tuple[bool, str]:
823
819
  """Interactive deletion menu for multiple agents."""
824
820
  print("\n🗑️ Delete Agents")
825
821
  print("=" * 50)
@@ -244,9 +244,7 @@ class APIKeyValidator:
244
244
  self.errors.append(f"❌ GitHub token validation failed with error: {e}")
245
245
  return False
246
246
 
247
- def _validate_custom_api(
248
- self, api_name: str, validation_config: Dict
249
- ) -> bool:
247
+ def _validate_custom_api(self, api_name: str, validation_config: Dict) -> bool:
250
248
  """Validate a custom API key based on configuration.
251
249
 
252
250
  Args:
@@ -154,9 +154,7 @@ class InteractiveSession:
154
154
  self.logger.error(error_msg)
155
155
  return False, {}
156
156
 
157
- def handle_interactive_input(
158
- self, environment: Dict[str, Any]
159
- ) -> bool:
157
+ def handle_interactive_input(self, environment: Dict[str, Any]) -> bool:
160
158
  """Handle the interactive input/output loop.
161
159
 
162
160
  Launches Claude and manages the interactive session using either
@@ -232,9 +232,7 @@ class AgentSession:
232
232
 
233
233
  return event
234
234
 
235
- def _categorize_event(
236
- self, event_type: str, data: Dict[str, Any]
237
- ) -> EventCategory:
235
+ def _categorize_event(self, event_type: str, data: Dict[str, Any]) -> EventCategory:
238
236
  """Categorize an event based on its type and data.
239
237
 
240
238
  WHY: Categories help with filtering and analysis of related events.
File without changes
File without changes
@@ -336,9 +336,7 @@ class AgentListingService(IAgentListingService):
336
336
  self.logger.error(f"Error listing agents by tier: {e}", exc_info=True)
337
337
  return AgentTierInfo(project=[], user=[], system=[])
338
338
 
339
- def get_agent_details(
340
- self, agent_name: str
341
- ) -> Optional[Dict[str, Any]]:
339
+ def get_agent_details(self, agent_name: str) -> Optional[Dict[str, Any]]:
342
340
  """Get detailed information for a specific agent."""
343
341
  cache_key = f"agent_details_{agent_name}"
344
342
  cached = self._get_from_cache(cache_key)
@@ -215,9 +215,7 @@ class SimpleMCPServer:
215
215
  # Default to brief
216
216
  return self._create_brief_summary(sentences, max_length)
217
217
 
218
- def _create_brief_summary(
219
- self, sentences: list[str], max_length: int
220
- ) -> str:
218
+ def _create_brief_summary(self, sentences: list[str], max_length: int) -> str:
221
219
  """Create a brief summary by selecting most important sentences."""
222
220
  if not sentences:
223
221
  return ""
@@ -514,9 +514,7 @@ class DaemonLifecycle:
514
514
  error_msg = f"Port {self.port} is already in use or cannot be bound: {e}"
515
515
  return False, error_msg
516
516
 
517
- def is_our_service(
518
- self, host: str = "localhost"
519
- ) -> Tuple[bool, Optional[int]]:
517
+ def is_our_service(self, host: str = "localhost") -> Tuple[bool, Optional[int]]:
520
518
  """Check if the service on the port is our Socket.IO service.
521
519
 
522
520
  This uses multiple detection methods:
@@ -243,9 +243,7 @@ class PortManager:
243
243
 
244
244
  return any(pattern in cmdline_lower for pattern in daemon_patterns)
245
245
 
246
- def kill_process_on_port(
247
- self, port: int, force: bool = False
248
- ) -> bool:
246
+ def kill_process_on_port(self, port: int, force: bool = False) -> bool:
249
247
  """Kill a process using a specific port if it's safe to do so.
250
248
 
251
249
  WHY: Automatically reclaim ports from our debug scripts while preserving
@@ -801,9 +801,7 @@ class MermaidGeneratorService(SyncBaseService):
801
801
 
802
802
  return False
803
803
 
804
- def validate_mermaid_syntax(
805
- self, diagram: str
806
- ) -> Tuple[bool, Optional[str]]:
804
+ def validate_mermaid_syntax(self, diagram: str) -> Tuple[bool, Optional[str]]:
807
805
  """
808
806
  Validate that the generated Mermaid syntax is correct.
809
807
 
@@ -273,9 +273,7 @@ class GitignoreManager:
273
273
 
274
274
  return patterns
275
275
 
276
- def _basic_should_ignore(
277
- self, path: Path, working_dir: Path
278
- ) -> bool:
276
+ def _basic_should_ignore(self, path: Path, working_dir: Path) -> bool:
279
277
  """Basic pattern matching fallback when pathspec is not available.
280
278
 
281
279
  Args:
@@ -611,9 +609,7 @@ class PythonAnalyzer:
611
609
 
612
610
  return nodes
613
611
 
614
- def _get_assignment_signature(
615
- self, node: ast.Assign, var_name: str
616
- ) -> str:
612
+ def _get_assignment_signature(self, node: ast.Assign, var_name: str) -> str:
617
613
  """Get assignment signature string."""
618
614
  try:
619
615
  # Try to get a simple representation of the value
@@ -107,9 +107,7 @@ class AgentDependencyLoader:
107
107
  logger.info(f"Loaded dependencies for {len(agent_dependencies)} agents")
108
108
  return agent_dependencies
109
109
 
110
- def check_python_dependency(
111
- self, package_spec: str
112
- ) -> Tuple[bool, Optional[str]]:
110
+ def check_python_dependency(self, package_spec: str) -> Tuple[bool, Optional[str]]:
113
111
  """
114
112
  Check if a Python package dependency is satisfied.
115
113
 
@@ -444,9 +442,7 @@ class AgentDependencyLoader:
444
442
 
445
443
  return compatible, incompatible
446
444
 
447
- def install_missing_dependencies(
448
- self, dependencies: List[str]
449
- ) -> Tuple[bool, str]:
445
+ def install_missing_dependencies(self, dependencies: List[str]) -> Tuple[bool, str]:
450
446
  """
451
447
  Install missing Python dependencies using robust retry logic.
452
448
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.3.14
3
+ Version: 4.3.15
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
@@ -1,5 +1,5 @@
1
1
  claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
2
- claude_mpm/VERSION,sha256=QRl8YeLK0lLJCFfzC02AOEm1mE9p0ZmpyNvIWUZrKKQ,7
2
+ claude_mpm/VERSION,sha256=UB3Uwi6xTDtISDugSuR8EU-3lyQUJHIpSupwqwW83rE,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=cChN3myrAcF3jC-6DvHnBFTEnwlDk-TAsIXPvUZr_yw,5953
@@ -80,7 +80,7 @@ claude_mpm/cli/commands/dashboard.py,sha256=0f8_JaXo854kZgcqzZ3cm3VG8muhSsV7JqIz
80
80
  claude_mpm/cli/commands/debug.py,sha256=qEfmBG9slmOY6a8snoytM1OWCdWwBALzN1lqV7ElIBU,47130
81
81
  claude_mpm/cli/commands/doctor.py,sha256=bOZzDNxEMNMZYrJnu_V82tyZ12r5FiBRQNLVfSVvRIQ,5774
82
82
  claude_mpm/cli/commands/info.py,sha256=uiZ2GMkfr-4aeme2l6QhzxyawuhtuyVulfCi66yyvOs,7404
83
- claude_mpm/cli/commands/mcp.py,sha256=zFfC6LYU8C6TP38ofxko8_0sB7-1uxLuHT9XqLxZ4VY,7130
83
+ claude_mpm/cli/commands/mcp.py,sha256=kgmJVTAi0G7SAnIpYHddU25HqAdIY9mMmTH-C3DSCsY,7221
84
84
  claude_mpm/cli/commands/mcp_command_router.py,sha256=8rTMZLxU3R3Izit9ia1Z_pIOq3bn2QjMPH4uvf1X9XY,6001
85
85
  claude_mpm/cli/commands/mcp_config.py,sha256=I-MQEJdL93Rj9lIkz-T4rZqxdy-ls1J7cfXIIKS3tys,4814
86
86
  claude_mpm/cli/commands/mcp_config_commands.py,sha256=TnTg7-erE5Z6O8C84o4lZITco72Wnu0FVlVF8tNVsP0,695
@@ -99,7 +99,7 @@ claude_mpm/cli/commands/search.py,sha256=_0qbUnop8v758MHsB0fAop8FVxwygD59tec_-iN
99
99
  claude_mpm/cli/commands/tickets.py,sha256=kl2dklTBnG3Y4jUUJ_PcEVsTx4CtVJfkGWboWBx_mQM,21234
100
100
  claude_mpm/cli/commands/uninstall.py,sha256=KGlVG6veEs1efLVjrZ3wSty7e1zVR9wpt-VXQA1RzWw,5945
101
101
  claude_mpm/cli/interactive/__init__.py,sha256=vQqUCgPFvLYA1Vkq-5pnY7Ow3A-IgdM0SByfNL1ZLTk,433
102
- claude_mpm/cli/interactive/agent_wizard.py,sha256=3HVV0xx7EVcP4i1U57UUlhTesVLbV9nTCq5iIULsWy4,36230
102
+ claude_mpm/cli/interactive/agent_wizard.py,sha256=PMSG6F3Jngb0Gm4nBA6X2PK9Iuuj-AuJd35-g4iE4tE,36202
103
103
  claude_mpm/cli/parsers/__init__.py,sha256=f0Fm1DDXorlVOZPLxUpjC-GIvLh01G-FZOK7TEV1L3I,1005
104
104
  claude_mpm/cli/parsers/agent_manager_parser.py,sha256=TQEIm638ELM4X_AAGcn6WrJxlti9wFLfEkHjr-6AtZA,13761
105
105
  claude_mpm/cli/parsers/agents_parser.py,sha256=R-9ESNXdjqr5iCEIcmbb2EPvcswW9UfJzMj5bAkgI4U,9042
@@ -144,7 +144,7 @@ claude_mpm/core/__init__.py,sha256=QhEX_NpiCprUp87bV75FnMapblMeqC5soNVJXVvZObc,8
144
144
  claude_mpm/core/agent_name_normalizer.py,sha256=_h92sTPltmvqevCjdKQ7EsOz-CAm1-hd8GOubWjuRgw,8907
145
145
  claude_mpm/core/agent_registry.py,sha256=8xHORhoArccLLbEL5nY0sLi8a_dYSNHR3CHh7-olrvc,18820
146
146
  claude_mpm/core/agent_session_manager.py,sha256=5vnrNUSGSSQOuhoq7OlhFvEnw0mKsmLeEB0_vXTI9BQ,11137
147
- claude_mpm/core/api_validator.py,sha256=u9x5Tn5HY-_oTte0l3uXTuY_3dhpFPIhiz8zsRa6Ek4,12345
147
+ claude_mpm/core/api_validator.py,sha256=4Hn1vJ8YnIgsvC0x75kMYG69OmbOOzYIzqahl_5Wtgo,12331
148
148
  claude_mpm/core/base_service.py,sha256=rbO4gpSOvnbfTVOCQ1uyDh9fNpnhfxARrpyAisedqXY,29300
149
149
  claude_mpm/core/cache.py,sha256=A90QpJi8eDyCB7mwDUq-E9lKj4qz9Sh7XsYVTel8NTU,17224
150
150
  claude_mpm/core/claude_runner.py,sha256=e6ob7FwcBzvhw9gnPvmL8Zw_BasdfzuV8b1dvqtvGKk,34787
@@ -162,7 +162,7 @@ claude_mpm/core/hook_manager.py,sha256=Cq3vwYW7-ffKw_HSFqtv1RJTxs8YUpD_qeTiWvua3
162
162
  claude_mpm/core/hook_performance_config.py,sha256=e7a7oFctkRhA3aPXMO5Wavr-E6ku7ikLxMzPU7P1-yg,5779
163
163
  claude_mpm/core/injectable_service.py,sha256=6MUqTVTBBw6legToIVj1C_BzdERO0zKYEPnFPVZJJfE,7398
164
164
  claude_mpm/core/instruction_reinforcement_hook.py,sha256=s9KGkdJO8E9ip3MB5PlXo52-dTocHXqsVy5TcxOK8-A,9487
165
- claude_mpm/core/interactive_session.py,sha256=RKcAmmMgrV2wzT5mnxEErugOwxG0RkGEKE54zlSNL5Y,21987
165
+ claude_mpm/core/interactive_session.py,sha256=OO0Oqv5hXfEtnAUNUc2WKd6BtxbT_p4Kcei-53GKxno,21973
166
166
  claude_mpm/core/interfaces.py,sha256=RNqXxUioEpV4vOaEoUJ38OvKYPMlpSb3V5Sb97l0w3Q,25625
167
167
  claude_mpm/core/lazy.py,sha256=pyCfEqGHyLz18yXTu_uG52-II-9nCaBcpzwwQGBrQro,14808
168
168
  claude_mpm/core/log_manager.py,sha256=_qsCFDHPxHSiC4NAKOAEKOcmSgNSQBimJZ2wEgALPI0,24225
@@ -366,28 +366,15 @@ claude_mpm/hooks/claude_hooks/installer.py,sha256=4QUZcnQWlQDH11BypvYs_JpQ-ojRF0
366
366
  claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=9PogijgklM7iSNRTK2Sdz3s9AOlxL8Rt5axtU71-J2M,8866
367
367
  claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=eMixPs2fOAqLn9WysTPgfIwwjwzZTdnAn0jpDjlOS6U,15024
368
368
  claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=t4CFrLldjD-akBY52su6Cl0cBmZCKRZbGbIE-Yg2Hhk,7896
369
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc,sha256=bRXmkaVByqCv8qmFpfSJOEeKUOzLNgFVgFc5GVZ1oGo,322
370
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc,sha256=W3pUVNdaDSE0ndQmQUSnGlBWaxOVnvjvZxCcmjLag-0,28937
371
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc,sha256=HTbwMv0BW8gMg9DxzH6UbEPRPZ8a0e_R7sNaRMJ6I1w,21336
372
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-313.pyc,sha256=_uQKOFHx2MA6Kp1o5SrHsvAFcao8Pq5jOT8sV89aXRI,28963
373
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc,sha256=qhDYC403V_m8NG2LHMXtcK_SH3qMuPADSp0sJ9D6YTo,8895
374
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc,sha256=MuqyPvXZuFph_xp1j1vtNLqLKRJT51oI2AmZ3SEn69c,14213
375
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc,sha256=OsljgmGIgSmKTyVRRrJmKvmoHdQFq0kBBGTRUrAdnrI,9137
376
369
  claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=OIYOKsUNw1BHYawOCp-KFK5kmQKuj92cCqCEPO0nwo0,585
377
370
  claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=6GSZ6lB0j6u7jE-w9ay-57YX-VVBFGfK_wmZNNM6hxE,8280
378
371
  claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=sEIWyV-3pfS6VM6_jQgnrKiepD-6DLrk5rr_KU80kHo,8832
379
372
  claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM9t0U1v2l_fuBwvNpVkl_0EF8Wu5KLHQ,3882
380
373
  claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=l50dVFt6eafeLCjlu6TH3qqt8tTBEof971U1OlrUxZ8,11166
381
374
  claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=f7a_vgo_kuG9MalDTka2UPXwDyCkqNgCvG8i1hp0oRo,15263
382
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc,sha256=bk04TMdGscqiVyfzkby3gPrW6DcSqzHJOCnclbO5Qrs,565
383
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-313.pyc,sha256=Symt433PpAF6qj4EWQmFXT9lMi46uNhIdNuQDO9_3_U,8512
384
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc,sha256=HvK-KUCBSg8J_0UTxNd98pMVa68_NYRkyoTgdATD_n4,9967
385
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc,sha256=87ROjkadSdZB1L24rVdjdOHggYRfaGZ2v0nnhLlUnJk,4722
386
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc,sha256=QoAQvuBn4xDlo_YXuHNgJ3vqXLhp4KzKunTOf9crJ70,11772
387
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc,sha256=svC-kX-MYT5YIbWrY_aNf-Biz-JL49noI--1D-dSx_Q,13821
388
375
  claude_mpm/models/__init__.py,sha256=GADyLAiF-1VVghYKI7Urz3zSnf2sjJUXlOEMuCOs7_g,468
389
376
  claude_mpm/models/agent_definition.py,sha256=LC7EwihixF2Gw4QqOxiCNchsEzzyQJPR6AgPrcTrWTM,6674
390
- claude_mpm/models/agent_session.py,sha256=Tqb3PSJJFMh83fo3oiQ1Mnrjnqy2DK8dIDqbzEM19HQ,20041
377
+ claude_mpm/models/agent_session.py,sha256=BEI9RsCnnSVMF3oOzWKY3a_NEmWI33J2nU_2O-WEyJQ,20027
391
378
  claude_mpm/schemas/__init__.py,sha256=2SLpkojJq34KnwPkVxrsVmw_cEI66872i75QBT1C2To,446
392
379
  claude_mpm/scripts/__init__.py,sha256=IffMdVD99Pxyw85yluRa0VDPi4dRQecIWce764pcfZE,553
393
380
  claude_mpm/scripts/claude-hook-handler.sh,sha256=xe6dKubrjK1JDO0SJdc1-tA6C7YSb5YazhwKhOYBQvw,7905
@@ -410,7 +397,7 @@ claude_mpm/services/hook_service.py,sha256=rZnMn_4qxX5g9KAn0IQdoG50WmySNfsTmfG0X
410
397
  claude_mpm/services/mcp_config_manager.py,sha256=IdcoIYdblk_NbpwcPcKS8RnrJMitfzhtZbTyYEE0kLM,16277
411
398
  claude_mpm/services/memory_hook_service.py,sha256=pRlTClkRcw30Jhwbha4BC8IMdzKZxF8aWqf52JlntgY,11600
412
399
  claude_mpm/services/monitor_build_service.py,sha256=8gWR9CaqgXdG6-OjOFXGpk28GCcJTlHhojkUYnMCebI,12160
413
- claude_mpm/services/port_manager.py,sha256=IfE0O-zA0jjIfwRIA_t3UZlWU8J1ff_YnFVEuPS_UGQ,22852
400
+ claude_mpm/services/port_manager.py,sha256=CYqLh8Ss_-aoYEXV3G6uZkGexpsRK_XTBL0bV4P3tSI,22838
414
401
  claude_mpm/services/recovery_manager.py,sha256=ptUYsguF6oKWnJnzPRSBuzUFVDXIcvsS3svT6MBTqCQ,25686
415
402
  claude_mpm/services/response_tracker.py,sha256=FxD3QKRxjXFPTv7TJIdb78cRxCuGQ45fyVozaR1r4V4,9185
416
403
  claude_mpm/services/runner_configuration_service.py,sha256=Qs84yrZfQv-DC0I2Xah1Qt9eunH4gS7LNMZ0mmymcqA,21311
@@ -519,7 +506,7 @@ claude_mpm/services/agents/registry/modification_tracker.py,sha256=qKiDdH9gidvyh
519
506
  claude_mpm/services/cli/__init__.py,sha256=6yavdruQywt9k39RBOrPxUTz6dEEJ6mHzjY4pl_Q3Do,559
520
507
  claude_mpm/services/cli/agent_cleanup_service.py,sha256=7wzbnoASqyEpeUgFMQZkzT8fCF7se23wPJ5feYbFD0E,14288
521
508
  claude_mpm/services/cli/agent_dependency_service.py,sha256=mu6RJIjEe_NrMzil3Wm6CvhQUIZ4pYn8tYpyXDBu2NI,13701
522
- claude_mpm/services/cli/agent_listing_service.py,sha256=Y4oxvYpXuib-f4UqsQf-bfRr0IfiGnB0X-111p4YxMQ,15971
509
+ claude_mpm/services/cli/agent_listing_service.py,sha256=8lzK7HKF7SsdlwA3DkhtsL6cFlHvbEwFxSkp2V5rYHc,15957
523
510
  claude_mpm/services/cli/agent_output_formatter.py,sha256=FcJ18m3CyeFr_wotJfEmIURHeZ71eomqO_vK7wsPWsM,20521
524
511
  claude_mpm/services/cli/agent_validation_service.py,sha256=g1mFZoITKGESWRYAvpbDXI8CFw68HP6Hsare86RiwvM,21739
525
512
  claude_mpm/services/cli/memory_crud_service.py,sha256=FLNJb0fo6H_bEboXayc2AoT9w2IoP1_cegZQ6s4SOas,22864
@@ -625,7 +612,7 @@ claude_mpm/services/mcp_gateway/registry/tool_registry.py,sha256=174SRGMmRlbxAAP
625
612
  claude_mpm/services/mcp_gateway/server/__init__.py,sha256=4OsKf4Eit4O8geWs-UNjVYqQ6GRwEh6frWnFXpK1ooI,294
626
613
  claude_mpm/services/mcp_gateway/server/mcp_gateway.py,sha256=fIwGCTRwzQh5YRoBptBFL-em2ZcgXiCuhrbFUWLsOdQ,13573
627
614
  claude_mpm/services/mcp_gateway/server/stdio_handler.py,sha256=6A7bg0TPr740Y9AD10ZeFvMQtKHockJrXUG47lmT_HI,11444
628
- claude_mpm/services/mcp_gateway/server/stdio_server.py,sha256=M-RquQ3yQdaNos1qKL2vN7yAOC6ljXx0OceiUPBT81o,26362
615
+ claude_mpm/services/mcp_gateway/server/stdio_server.py,sha256=zBPgUOCsX6zIQtvj_LVm4awcR3NQan77JW-owfZdglo,26348
629
616
  claude_mpm/services/mcp_gateway/tools/__init__.py,sha256=7_0IpRe7RKJTajajiUCqXxh71gj_P5gSCOMmAjKwVts,530
630
617
  claude_mpm/services/mcp_gateway/tools/base_adapter.py,sha256=na1MdyBCtVmKzgIcFJ5MuAUJ1LJrtA4yxkuqLnejiD8,16029
631
618
  claude_mpm/services/mcp_gateway/tools/document_summarizer.py,sha256=J0YNEu4GPxWm2nTMxD7CwWl-2k1UJk3tWCI2timGWbU,28230
@@ -654,7 +641,7 @@ claude_mpm/services/monitor/handlers/file.py,sha256=p3C4wffl0GIcN00b-KkrmZ8F-Amd
654
641
  claude_mpm/services/monitor/handlers/hooks.py,sha256=XS0h7FjdOMmrwJyaVE4Ku5HU3nzG12Xf7v-cEwrMe-I,17520
655
642
  claude_mpm/services/monitor/management/__init__.py,sha256=mxaEFRgvvgV85gUpXu_DsnHtywihdP14EisvISAVZuQ,525
656
643
  claude_mpm/services/monitor/management/health.py,sha256=Wm92Cli_4cWD6B89KX_CdpAvvevuEaGB8Ah59ILhFww,3772
657
- claude_mpm/services/monitor/management/lifecycle.py,sha256=VpJBLtHQM8lohilnp2kB1ngkO1w2e4HEn5Qeokr6EP0,27354
644
+ claude_mpm/services/monitor/management/lifecycle.py,sha256=WVs231EOEkMOx2ofWDdE8GdWazFS8NZ6xwi185szapI,27340
658
645
  claude_mpm/services/project/__init__.py,sha256=IUclN1L7ChHCNya7PJiVxu4nttxsrj3WRIpwyA1A_hw,512
659
646
  claude_mpm/services/project/analyzer.py,sha256=VHlLrP8-S5gr12w4Yzs7-6d7LWdJKISHPCFSG7SDiQU,38434
660
647
  claude_mpm/services/project/analyzer_refactored.py,sha256=USYEdPAhSoGPqZCpaT89Dw6ElFW_L1yXSURheQjAhLA,18243
@@ -706,17 +693,17 @@ claude_mpm/services/version_control/git_operations.py,sha256=BU3krxip2e6dGG-5Bn_
706
693
  claude_mpm/services/version_control/semantic_versioning.py,sha256=H4XxrA_O-1-8h2TxZ8W9iKFukatcUykSCRbAnR9jLcE,32669
707
694
  claude_mpm/services/version_control/version_parser.py,sha256=6ibCLS9iIkEf5bd1h_caHhINQtNMrP1SDJ_pg9zr9kM,19723
708
695
  claude_mpm/services/visualization/__init__.py,sha256=cTtWxRi07rSLXQKVZa7SKZsYfj6nRouw7HVO85Towfg,401
709
- claude_mpm/services/visualization/mermaid_generator.py,sha256=DsjeQ6X1VHsNiFBgw9t6MlDIH3mAXzdp8xkRm6l4tZ8,34291
696
+ claude_mpm/services/visualization/mermaid_generator.py,sha256=6QGgXtMg_N9rKeRn8wYs3IxuWGKdDVAwFMFWKfIw9s4,34277
710
697
  claude_mpm/storage/__init__.py,sha256=DXnmee6iGqC6ctFLW7_Ty1cVCjYDFuCMkwO4EV0i25k,274
711
698
  claude_mpm/storage/state_storage.py,sha256=_RcHrMDXG6a3rA6itLMTWYUnWGPCiRVHAR_8UPqICiA,16875
712
699
  claude_mpm/tools/__init__.py,sha256=T3GuCYNAHtjVcKCeivY674PaDm48WX96AriQfTKUknY,347
713
700
  claude_mpm/tools/__main__.py,sha256=MKDuxFuujqD5FZcLTqniDNQ2BI8yg5fDSLU3ElV6m6U,5709
714
- claude_mpm/tools/code_tree_analyzer.py,sha256=uNk8VuRwPQeWBuKwgoGtISbQqK1G1bwloyB9ArsSJHA,64739
701
+ claude_mpm/tools/code_tree_analyzer.py,sha256=pp6btHvuVcQ-v4asc04rmbh4XlyBOhTesm5k9mdJvHc,64711
715
702
  claude_mpm/tools/code_tree_builder.py,sha256=nz8Sj05QAOaWCXLmAjksBGqgZzQkO1P-I8qGbVXGLJM,18145
716
703
  claude_mpm/tools/code_tree_events.py,sha256=10tf9ZGkPIXzWqYvwq0SIJdIOwKNnxgKWYOmRzVGeLc,13396
717
704
  claude_mpm/tools/socketio_debug.py,sha256=mD9PZwcyQJwIndjRh1Lf64RuUTgvrx-Pcmy77Tzbe4Q,22246
718
705
  claude_mpm/utils/__init__.py,sha256=rkxNE0tDfKEN2lr2LLBuToNSvkF-yjF38607eUXL1vk,353
719
- claude_mpm/utils/agent_dependency_loader.py,sha256=uAxHyNAVk9o7sqrU8_TV2wTCE1v19MfSZb2SOYnjpXM,32241
706
+ claude_mpm/utils/agent_dependency_loader.py,sha256=FjWpyd7w03K4YOPF0VLy2wCUgMd8CtDhBamV6LODcGM,32213
720
707
  claude_mpm/utils/config_manager.py,sha256=tTnEGrN3H9kF02CzClt_fwlGelwF_mD3HxYb-y5L7wA,15771
721
708
  claude_mpm/utils/console.py,sha256=2Agd91xj5NSMgvfUFJIUwVnpghnKjrd8EYH7inF12M4,279
722
709
  claude_mpm/utils/dependency_cache.py,sha256=2ZHSZbBCpuSCzk745v9UZ2WD7zp3SHkOLBAZydj82i4,11780
@@ -736,9 +723,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=9mC9V6ThLUu48OMaYaSHwXnxG8BeH70kv7ys
736
723
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
737
724
  claude_mpm/validation/agent_validator.py,sha256=p6T0vpJaB-PyVxIA0hlsFs9lsbX7dvMPXG132AIl3AI,20884
738
725
  claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
739
- claude_mpm-4.3.14.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
740
- claude_mpm-4.3.14.dist-info/METADATA,sha256=tlk9SnY31GgoppF_xK_-wHLo1SceSjJZJZ_kBbIHt0Y,16150
741
- claude_mpm-4.3.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
742
- claude_mpm-4.3.14.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
743
- claude_mpm-4.3.14.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
744
- claude_mpm-4.3.14.dist-info/RECORD,,
726
+ claude_mpm-4.3.15.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
727
+ claude_mpm-4.3.15.dist-info/METADATA,sha256=VRsFSHnwI2Z5TzCprS45iYup0zFL33N2t-ED2oy_pcM,16150
728
+ claude_mpm-4.3.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
729
+ claude_mpm-4.3.15.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
730
+ claude_mpm-4.3.15.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
731
+ claude_mpm-4.3.15.dist-info/RECORD,,