claude-mpm 5.6.26__py3-none-any.whl → 5.6.27__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 (22) hide show
  1. claude_mpm/cli/commands/commander.py +6 -6
  2. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-314.pyc +0 -0
  3. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-314.pyc +0 -0
  4. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-314.pyc +0 -0
  5. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-314.pyc +0 -0
  6. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-314.pyc +0 -0
  7. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-314.pyc +0 -0
  8. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-314.pyc +0 -0
  9. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-314.pyc +0 -0
  10. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-314.pyc +0 -0
  11. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-314.pyc +0 -0
  12. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-314.pyc +0 -0
  13. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-314.pyc +0 -0
  14. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-314.pyc +0 -0
  15. claude_mpm/services/command_deployment_service.py +44 -26
  16. {claude_mpm-5.6.26.dist-info → claude_mpm-5.6.27.dist-info}/METADATA +1 -1
  17. {claude_mpm-5.6.26.dist-info → claude_mpm-5.6.27.dist-info}/RECORD +22 -9
  18. {claude_mpm-5.6.26.dist-info → claude_mpm-5.6.27.dist-info}/WHEEL +0 -0
  19. {claude_mpm-5.6.26.dist-info → claude_mpm-5.6.27.dist-info}/entry_points.txt +0 -0
  20. {claude_mpm-5.6.26.dist-info → claude_mpm-5.6.27.dist-info}/licenses/LICENSE +0 -0
  21. {claude_mpm-5.6.26.dist-info → claude_mpm-5.6.27.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  22. {claude_mpm-5.6.26.dist-info → claude_mpm-5.6.27.dist-info}/top_level.txt +0 -0
@@ -43,12 +43,12 @@ def display_commander_banner():
43
43
 
44
44
  # Commander ASCII art banner
45
45
  banner = f"""
46
- {CYAN}╭{'' * (width - 2)}╮{RESET}
47
- {CYAN}│{RESET}{BOLD} ⚡ MPM Commander {RESET}{DIM}v{version}{RESET}{' ' * (width - 24 - len(version))}│
48
- {CYAN}│{RESET}{DIM} Multi-Project AI Orchestration{RESET}{' ' * (width - 36)}│
49
- {CYAN}├{'' * (width - 2)}┤{RESET}
50
- {CYAN}│{RESET} {YELLOW}ALPHA{RESET} - APIs may change {' ' * (width - 55)}│
51
- {CYAN}╰{'' * (width - 2)}╯{RESET}
46
+ {CYAN}╭{"" * (width - 2)}╮{RESET}
47
+ {CYAN}│{RESET}{BOLD} ⚡ MPM Commander {RESET}{DIM}v{version}{RESET}{" " * (width - 24 - len(version))}│
48
+ {CYAN}│{RESET}{DIM} Multi-Project AI Orchestration{RESET}{" " * (width - 36)}│
49
+ {CYAN}├{"" * (width - 2)}┤{RESET}
50
+ {CYAN}│{RESET} {YELLOW}ALPHA{RESET} - APIs may change {" " * (width - 55)}│
51
+ {CYAN}╰{"" * (width - 2)}╯{RESET}
52
52
  """
53
53
  print(banner)
54
54
 
@@ -1,10 +1,14 @@
1
- """Service for deploying MPM slash commands to user's Claude configuration.
1
+ """Service for managing MPM slash commands in user's Claude configuration.
2
2
 
3
- This service handles:
4
- 1. Copying command markdown files from source to user's ~/.claude/commands directory
5
- 2. Creating the commands directory if it doesn't exist
6
- 3. Overwriting existing commands to ensure they're up-to-date
7
- 4. Parsing and validating YAML frontmatter for namespace metadata (Phase 1 - 1M-400)
3
+ DEPRECATED: User-level commands in ~/.claude/commands/ are deprecated.
4
+ Project-level skills (.claude/skills/) are now the only source for commands.
5
+
6
+ This service now only handles:
7
+ 1. Cleanup of deprecated commands from previous versions
8
+ 2. Cleanup of stale commands that no longer exist in source
9
+ 3. Parsing and validating YAML frontmatter (for internal use)
10
+
11
+ New command deployment is intentionally disabled - see deploy_commands_on_startup().
8
12
  """
9
13
 
10
14
  from pathlib import Path
@@ -17,20 +21,34 @@ from claude_mpm.core.logger import get_logger
17
21
 
18
22
 
19
23
  class CommandDeploymentService(BaseService):
20
- """Service for deploying MPM slash commands."""
24
+ """Service for managing MPM slash commands (cleanup only - deployment deprecated)."""
21
25
 
22
- # Deprecated commands that have been replaced (cleanup on startup)
26
+ # Deprecated commands that should be removed from ~/.claude/commands/
27
+ # ALL user-level commands are now deprecated - project-level skills are the only source
23
28
  DEPRECATED_COMMANDS = [
29
+ # Legacy deprecated commands (historical)
24
30
  "mpm-agents.md", # Replaced by mpm-agents-list.md
25
31
  "mpm-auto-configure.md", # Replaced by mpm-agents-auto-configure.md
26
32
  "mpm-config-view.md", # Replaced by mpm-config.md
27
33
  "mpm-resume.md", # Replaced by mpm-session-resume.md
28
34
  "mpm-ticket.md", # Replaced by mpm-ticket-view.md
29
- # Removed - consolidated into /mpm-configure
30
35
  "mpm-agents-list.md", # Consolidated into /mpm-configure
31
36
  "mpm-agents-detect.md", # Consolidated into /mpm-configure
32
37
  "mpm-agents-auto-configure.md", # Consolidated into /mpm-configure
33
38
  "mpm-agents-recommend.md", # Consolidated into /mpm-configure
39
+ # ALL user-level commands are now deprecated (use project-level skills)
40
+ "mpm.md",
41
+ "mpm-config.md",
42
+ "mpm-doctor.md",
43
+ "mpm-help.md",
44
+ "mpm-init.md",
45
+ "mpm-monitor.md",
46
+ "mpm-organize.md",
47
+ "mpm-postmortem.md",
48
+ "mpm-session-resume.md",
49
+ "mpm-status.md",
50
+ "mpm-ticket-view.md",
51
+ "mpm-version.md",
34
52
  ]
35
53
 
36
54
  def __init__(self):
@@ -414,33 +432,33 @@ class CommandDeploymentService(BaseService):
414
432
  def deploy_commands_on_startup(force: bool = False) -> None:
415
433
  """Convenience function to deploy commands during startup.
416
434
 
417
- This function:
418
- 1. Removes deprecated commands that have been replaced
419
- 2. Removes stale commands that no longer exist in source
420
- 3. Deploys current command files
435
+ DEPRECATED: User-level commands in ~/.claude/commands/ are deprecated.
436
+ Project-level skills should be the only source for commands.
437
+
438
+ This function now only cleans up any existing deprecated/stale commands
439
+ without deploying new ones.
421
440
 
422
441
  Args:
423
- force: Force deployment even if files exist
442
+ force: Force deployment even if files exist (ignored - deployment disabled)
424
443
  """
425
- service = CommandDeploymentService()
426
444
  logger = get_logger("startup")
445
+ logger.debug(
446
+ "User-level command deployment is deprecated - "
447
+ "project-level skills are the only command source"
448
+ )
427
449
 
428
- # Clean up deprecated commands FIRST (known old commands)
450
+ # Still clean up any lingering deprecated/stale commands from previous versions
451
+ service = CommandDeploymentService()
452
+
453
+ # Clean up deprecated commands
429
454
  deprecated_count = service.remove_deprecated_commands()
430
455
  if deprecated_count > 0:
431
456
  logger.info(f"Cleaned up {deprecated_count} deprecated command(s)")
432
457
 
433
- # Clean up stale commands SECOND (deployed but not in source anymore)
458
+ # Clean up stale commands
434
459
  stale_count = service.remove_stale_commands()
435
460
  if stale_count > 0:
436
461
  logger.info(f"Cleaned up {stale_count} stale command(s)")
437
462
 
438
- # Deploy current commands LAST
439
- result = service.deploy_commands(force=force)
440
-
441
- if result["deployed"]:
442
- logger.info(f"MPM commands deployed: {', '.join(result['deployed'])}")
443
-
444
- if result["errors"]:
445
- for error in result["errors"]:
446
- logger.warning(f"Command deployment issue: {error}")
463
+ # NOTE: Deployment of new commands is intentionally disabled.
464
+ # Project-level skills (.claude/skills/) are the only source for commands.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 5.6.26
3
+ Version: 5.6.27
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
@@ -61,7 +61,7 @@ claude_mpm/cli/commands/auto_configure.py,sha256=0Suzil6O0SBNeHUCwHOkt2q7gfuXRTy
61
61
  claude_mpm/cli/commands/autotodos.py,sha256=mm2R6dIfHOjAMCgFkjfjBzdFQ-ou19b_R3Lo0Vi8vCI,19428
62
62
  claude_mpm/cli/commands/cleanup.py,sha256=RQikOGLuLFWXzjeoHArdr5FA4Pf7tSK9w2NXL4vCrok,19769
63
63
  claude_mpm/cli/commands/cleanup_orphaned_agents.py,sha256=JR8crvgrz7Sa6d-SI-gKywok5S9rwc_DzDVk_h85sVs,4467
64
- claude_mpm/cli/commands/commander.py,sha256=jumK9ctW50WL-YPzQYxkBUhmS0phwmxcxcXPYg_P4Xk,7243
64
+ claude_mpm/cli/commands/commander.py,sha256=iZ8DCb3bxdWKuIGRlDu24ERdKPyYaWYro2MpwKGtKJU,7243
65
65
  claude_mpm/cli/commands/config.py,sha256=2M9VUPYcQkBUCIyyB-v1qTL3xYvao9YI2l_JGBUDauA,23374
66
66
  claude_mpm/cli/commands/configure.py,sha256=VUokhUcV90GzEEivV3xNmfQHogM94mdDadW3S4mp83M,136509
67
67
  claude_mpm/cli/commands/configure_agent_display.py,sha256=oSvUhR861o_Pyqmop4ACAQNjwL02-Rf6TMqFvmQNh24,10575
@@ -437,13 +437,21 @@ claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=fj_d9N7aytLELomdphLLw
437
437
  claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=2dyDOK9u-N4KcqWF7qq2T17bkps0grbs8MeWBRSC8vE,16323
438
438
  claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=3_o2PP9D7wEMwLriCtIBOw0cj2fSZfepN7lI4P1meSQ,7862
439
439
  claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc,sha256=EGpgXqhPM0iRRZtCqHaLVQ6wDH42OH_M7Gt5GiFLyro,346
440
+ claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-314.pyc,sha256=tBzcQ_3WxkmgPTQAPd7uKgFGtz-Yb6r2hEgF9Y_Flwc,319
440
441
  claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc,sha256=7YbusOM2EaL4NqIuNsLTJRCRJWRxo0DhVLXm9ZVFc7Y,20829
442
+ claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-314.pyc,sha256=vo_mPXj0KTtBz2_SAU4NZ7TEWPfgBZtLeXD3CMAvJ3M,21381
441
443
  claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc,sha256=SQX5iiP9bQZkLL-cj_2tlGH7lpAzarO0mYal7btj3tc,3521
442
444
  claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc,sha256=72KlsOUX_pQDIl36j7sQukPRarsLIsjINtzsBIpxCtw,45568
445
+ claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-314.pyc,sha256=zoDVrDzFnxGtDHqH20seS7KhA-9rmtFqttD-sqINBQI,43516
443
446
  claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc,sha256=vhJjvAMTdDWkB_qWaWr_PeDb4I8-h7UymR1wDVHeyYM,30789
447
+ claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-314.pyc,sha256=RVz6WvW-sD7kLbh6S5a96WarpPvZv4_qfFMR5SN8WUo,30603
448
+ claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-314.pyc,sha256=Mlynkrh8uwlSOTCEH0LYbDM0gxqJmaCL9Gb5DIt_rJ4,38836
444
449
  claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc,sha256=Xu_hwOf9AG0mZthl5gcDcVv68FiSo5KgZ6lDxdZXCfU,11185
450
+ claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-314.pyc,sha256=oJhMGouqaFI1u3NZryHoRh6ucfPKHPe8GufcsPzi89o,11081
445
451
  claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc,sha256=qJ5xY8yYwo8ZO7P-Gem_GK4VZdqyNeYvs8ANvC45jnw,16228
452
+ claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-314.pyc,sha256=yu70SIPNsdECY8l_P971JPFuUPXqD4HmjuuGMU-nSAU,15820
446
453
  claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc,sha256=ZjcNfNY5Ht6FhalPeh7M7OzMffcey5iF4AVjDDg9kak,10694
454
+ claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-314.pyc,sha256=ck8ifVIoVPaMVVRcMgvsM8RfIHnQbwGBUVs25A-yQBw,10771
447
455
  claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=OIYOKsUNw1BHYawOCp-KFK5kmQKuj92cCqCEPO0nwo0,585
448
456
  claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=shpoCLJpM9qoCDMUuUhk6L9WEKdzLB_OsPtwtDyJMdk,10197
449
457
  claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=rdwUhK7DoPqDSRGPHW1uiaE8McsnmggvCQGZ2x_vX-o,7583
@@ -451,10 +459,15 @@ claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM
451
459
  claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=PcEpAzwEnZRjw6JnbtbekDRdhIoaKql5VhhZJCEPNt4,10899
452
460
  claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=unHGeU6PJxc00_3xnLyyZHeLa47x98knxn6cl-i8ALA,15040
453
461
  claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc,sha256=xBfLBSqnpcKfcQBWfh7xUm454g1lq1LvbO7SxGvcOPc,644
462
+ claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-314.pyc,sha256=nZDxNz67tIFwbZNRqyCRX8cSi0v3JKCZS5U5FhwwApA,562
454
463
  claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc,sha256=SydGEQ9oUWs161Ro4ULHfnPB0wiZgiB7V628B3V6N2U,9613
464
+ claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-314.pyc,sha256=PjdPDUyUQWm0FqYRdG2knPoZDSKS0g1vk-BDAXfzCi8,9627
455
465
  claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc,sha256=Yy_REAUhJCiFjOhxeDb4v0qyEvEbUtCmXD9PAz40dhw,5321
466
+ claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-314.pyc,sha256=Xy9iNAtQMfXC_eW9rvumG9rFqK5t-QlLPmUahlqza_I,5341
456
467
  claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc,sha256=P-Au2P5H0enEeKm7sP1eQv-SU6AAnCqjjOE5jhXcrgs,12352
468
+ claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-314.pyc,sha256=2QqT8edjLqG8-9q446zpLJ347lzkgvJxPJG-A8u_HAU,13101
457
469
  claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc,sha256=4SfbElFMcQK07Frewl9mQ0eB5yCqZUe-CGfGYNUUMh0,14931
470
+ claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-314.pyc,sha256=o6Dc1-yyZjUdVh_JWZmEIvVt0qG0R1-aLhr7XTt-oX0,15104
458
471
  claude_mpm/hooks/failure_learning/__init__.py,sha256=iJ80AKFHiT8DjIH2a72DQVJvL6nAFrizNA2yTKwZ4rw,1805
459
472
  claude_mpm/hooks/failure_learning/failure_detection_hook.py,sha256=KENoB5N-dBm5hb0SxeIZtCvNKbmG2BKHOJSrSO-3Z_I,7500
460
473
  claude_mpm/hooks/failure_learning/fix_detection_hook.py,sha256=XUk1bnBVLdfhQ9AMQSvGsTSeFQsKsVud2wbWX-Jjor8,7164
@@ -477,7 +490,7 @@ claude_mpm/services/__init__.py,sha256=a9gM6IlUDHWPy_lFhkb5jpSuuooowACnYG25zit6B
477
490
  claude_mpm/services/agent_capabilities_service.py,sha256=uWSI7mTZvlJAYjDnyKUPczRX5uTXN0KgUp0_1J-Qsrs,10759
478
491
  claude_mpm/services/async_session_logger.py,sha256=u8yw3EAhOEvuZfky3Snb9JOaZ9TWQgznh08O0Zf4GfM,23881
479
492
  claude_mpm/services/claude_session_logger.py,sha256=c2SPLhAq0JaUIyCmg6RsylZ2upaaqlb88ETneuYo8O0,11162
480
- claude_mpm/services/command_deployment_service.py,sha256=GgSxRehQY-PR-yeztz9WP8w6cT5_8NO9bXfn0aTN1Lc,16685
493
+ claude_mpm/services/command_deployment_service.py,sha256=ocYm3ZuGtkRjdsy8Py-jqYrMEc_03lJsdgbU8Z245sA,17422
481
494
  claude_mpm/services/command_handler_service.py,sha256=8iru6eRdQloXrGiE75E1zoUbD_Ajldu3sw17Yx772Lw,7280
482
495
  claude_mpm/services/delegation_detector.py,sha256=ZpElqjhTbuEeeTjTMUsl-G1lHMJ9m1g-6orM3t7wNfM,6168
483
496
  claude_mpm/services/event_aggregator.py,sha256=V_5Wln1RzozLMDZawIPl5gSjIN5KHniNPaaSP11Lihc,20251
@@ -1102,10 +1115,10 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
1102
1115
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
1103
1116
  claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
1104
1117
  claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
1105
- claude_mpm-5.6.26.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
1106
- claude_mpm-5.6.26.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
1107
- claude_mpm-5.6.26.dist-info/METADATA,sha256=_bMw1FGBOX_c6AW9zBMhHLzY5z8QmyezmAUph-ogCO4,15245
1108
- claude_mpm-5.6.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1109
- claude_mpm-5.6.26.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
1110
- claude_mpm-5.6.26.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
1111
- claude_mpm-5.6.26.dist-info/RECORD,,
1118
+ claude_mpm-5.6.27.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
1119
+ claude_mpm-5.6.27.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
1120
+ claude_mpm-5.6.27.dist-info/METADATA,sha256=tp_yg68-FI9dl6nmX6GvV2TGMyIOxsXcKDcGtz56JHI,15245
1121
+ claude_mpm-5.6.27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1122
+ claude_mpm-5.6.27.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
1123
+ claude_mpm-5.6.27.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
1124
+ claude_mpm-5.6.27.dist-info/RECORD,,