claude-mpm 5.6.4__py3-none-any.whl → 5.6.8__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 (73) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/base_agent.json +1 -1
  3. claude_mpm/cli/commands/skill_source.py +51 -2
  4. claude_mpm/cli/commands/skills.py +5 -3
  5. claude_mpm/cli/parsers/skill_source_parser.py +4 -0
  6. claude_mpm/cli/parsers/skills_parser.py +5 -0
  7. claude_mpm/config/skill_sources.py +16 -0
  8. claude_mpm/core/config.py +27 -19
  9. claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -1
  10. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +16 -16
  11. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  12. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
  13. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-314.pyc +0 -0
  14. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
  15. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-312.pyc +0 -0
  16. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-314.pyc +0 -0
  17. claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
  18. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  19. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-312.pyc +0 -0
  20. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-314.pyc +0 -0
  21. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  22. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-312.pyc +0 -0
  23. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-314.pyc +0 -0
  24. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
  25. claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-314.pyc +0 -0
  26. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  27. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-312.pyc +0 -0
  28. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-314.pyc +0 -0
  29. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  30. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-312.pyc +0 -0
  31. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-314.pyc +0 -0
  32. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
  33. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-312.pyc +0 -0
  34. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-314.pyc +0 -0
  35. claude_mpm/hooks/claude_hooks/auto_pause_handler.py +29 -30
  36. claude_mpm/hooks/claude_hooks/installer.py +41 -0
  37. claude_mpm/hooks/claude_hooks/memory_integration.py +30 -21
  38. claude_mpm/hooks/claude_hooks/response_tracking.py +39 -58
  39. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  40. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-312.pyc +0 -0
  41. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-314.pyc +0 -0
  42. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  43. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-312.pyc +0 -0
  44. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-314.pyc +0 -0
  45. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
  46. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-312.pyc +0 -0
  47. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-314.pyc +0 -0
  48. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  49. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-312.pyc +0 -0
  50. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-314.pyc +0 -0
  51. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  52. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-312.pyc +0 -0
  53. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-314.pyc +0 -0
  54. claude_mpm/hooks/claude_hooks/services/connection_manager.py +23 -28
  55. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +22 -26
  56. claude_mpm/hooks/claude_hooks/services/state_manager.py +23 -36
  57. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +47 -73
  58. claude_mpm/hooks/session_resume_hook.py +22 -18
  59. claude_mpm/hooks/templates/pre_tool_use_template.py +10 -2
  60. claude_mpm/scripts/claude-hook-handler.sh +5 -5
  61. claude_mpm/services/agents/agent_selection_service.py +2 -2
  62. claude_mpm/services/agents/single_tier_deployment_service.py +4 -4
  63. claude_mpm/services/skills/git_skill_source_manager.py +79 -8
  64. claude_mpm/services/skills/selective_skill_deployer.py +28 -0
  65. claude_mpm/services/skills/skill_discovery_service.py +17 -1
  66. claude_mpm/services/skills_deployer.py +31 -5
  67. {claude_mpm-5.6.4.dist-info → claude_mpm-5.6.8.dist-info}/METADATA +1 -1
  68. {claude_mpm-5.6.4.dist-info → claude_mpm-5.6.8.dist-info}/RECORD +73 -34
  69. {claude_mpm-5.6.4.dist-info → claude_mpm-5.6.8.dist-info}/WHEEL +0 -0
  70. {claude_mpm-5.6.4.dist-info → claude_mpm-5.6.8.dist-info}/entry_points.txt +0 -0
  71. {claude_mpm-5.6.4.dist-info → claude_mpm-5.6.8.dist-info}/licenses/LICENSE +0 -0
  72. {claude_mpm-5.6.4.dist-info → claude_mpm-5.6.8.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  73. {claude_mpm-5.6.4.dist-info → claude_mpm-5.6.8.dist-info}/top_level.txt +0 -0
@@ -50,6 +50,22 @@ logger = get_logger(__name__)
50
50
  # Deployment tracking index file
51
51
  DEPLOYED_INDEX_FILE = ".mpm-deployed-skills.json"
52
52
 
53
+ # Core PM skills that should always be deployed
54
+ # These are referenced in PM_INSTRUCTIONS.md with [SKILL: name] markers
55
+ # Without these skills, PM only sees placeholders, not actual content
56
+ PM_CORE_SKILLS = {
57
+ "mpm-delegation-patterns",
58
+ "mpm-verification-protocols",
59
+ "mpm-tool-usage-guide",
60
+ "mpm-git-file-tracking",
61
+ "mpm-pr-workflow",
62
+ "mpm-ticketing-integration",
63
+ "mpm-teaching-mode",
64
+ "mpm-bug-reporting",
65
+ "mpm-circuit-breaker-enforcement",
66
+ "mpm-session-management",
67
+ }
68
+
53
69
  # Core skills that are universally useful across all projects
54
70
  # These are deployed when skill mapping returns too many skills (>60)
55
71
  # Target: ~25-30 core skills for balanced functionality
@@ -376,6 +392,18 @@ def get_required_skills_from_agents(agents_dir: Path) -> Set[str]:
376
392
  "(converted slashes to dashes)"
377
393
  )
378
394
 
395
+ # Always include PM core skills to ensure PM_INSTRUCTIONS.md markers are resolved
396
+ # These skills are referenced in PM_INSTRUCTIONS.md and must be deployed
397
+ # for PM to see actual content instead of [SKILL: name] placeholders
398
+ before_pm_skills = len(normalized_skills)
399
+ normalized_skills = normalized_skills | PM_CORE_SKILLS
400
+ pm_skills_added = len(normalized_skills) - before_pm_skills
401
+
402
+ if pm_skills_added > 0:
403
+ logger.info(
404
+ f"Added {pm_skills_added} PM core skills to ensure PM_INSTRUCTIONS.md markers resolve"
405
+ )
406
+
379
407
  return normalized_skills
380
408
 
381
409
 
@@ -188,6 +188,15 @@ class SkillDiscoveryService:
188
188
  f"and {len(legacy_md_files)} legacy .md files in {self.skills_dir}"
189
189
  )
190
190
 
191
+ # Log first few file paths for debugging
192
+ if all_skill_files:
193
+ sample_files = [
194
+ str(f.relative_to(self.skills_dir)) for f in all_skill_files[:5]
195
+ ]
196
+ self.logger.debug(f"Sample skill files: {sample_files}")
197
+ else:
198
+ self.logger.debug(f"No SKILL.md or .md files found in {self.skills_dir}")
199
+
191
200
  # Track deployment names to detect collisions
192
201
  deployment_names = {}
193
202
 
@@ -226,7 +235,14 @@ class SkillDiscoveryService:
226
235
  except Exception as e:
227
236
  self.logger.warning(f"Failed to parse skill {skill_file}: {e}")
228
237
 
229
- self.logger.info(f"Discovered {len(skills)} skills from {self.skills_dir.name}")
238
+ # Summary logging
239
+ parsed_count = len(skills)
240
+ failed_count = len(all_skill_files) - parsed_count
241
+ self.logger.info(
242
+ f"Discovered {parsed_count} skills from {self.skills_dir.name} "
243
+ f"({len(all_skill_files)} files found, {failed_count} failed to parse)"
244
+ )
245
+
230
246
  return skills
231
247
 
232
248
  def _parse_skill_file(self, skill_file: Path) -> Optional[Dict[str, Any]]:
@@ -28,7 +28,7 @@ References:
28
28
  import json
29
29
  import platform
30
30
  import shutil
31
- import subprocess
31
+ import subprocess # nosec B404 - subprocess needed for safe git operations
32
32
  from pathlib import Path
33
33
  from typing import Any, Dict, List, Optional
34
34
 
@@ -653,7 +653,7 @@ class SkillsDeployerService(LoggerMixin):
653
653
  f"Updating existing collection '{collection_name}' at {target_dir}"
654
654
  )
655
655
  try:
656
- result = subprocess.run(
656
+ result = subprocess.run( # nosec B603 B607 - Safe: hardcoded git command
657
657
  ["git", "pull"],
658
658
  cwd=target_dir,
659
659
  capture_output=True,
@@ -684,7 +684,7 @@ class SkillsDeployerService(LoggerMixin):
684
684
  f"Installing new collection '{collection_name}' to {target_dir}"
685
685
  )
686
686
  try:
687
- result = subprocess.run(
687
+ result = subprocess.run( # nosec B603 B607 - Safe: hardcoded git command
688
688
  ["git", "clone", repo_url, str(target_dir)],
689
689
  capture_output=True,
690
690
  text=True,
@@ -773,6 +773,32 @@ class SkillsDeployerService(LoggerMixin):
773
773
  if isinstance(skills_data, dict):
774
774
  flat_skills = []
775
775
 
776
+ # Define valid top-level categories
777
+ VALID_CATEGORIES = {"universal", "toolchains"}
778
+
779
+ # Check for unknown categories and warn user
780
+ unknown_categories = set(skills_data.keys()) - VALID_CATEGORIES
781
+ if unknown_categories:
782
+ # Count skills in unknown categories
783
+ skipped_count = 0
784
+ for cat in unknown_categories:
785
+ cat_data = skills_data.get(cat, [])
786
+ if isinstance(cat_data, list):
787
+ skipped_count += len(cat_data)
788
+ elif isinstance(cat_data, dict):
789
+ # If it's a dict like toolchains, count nested skills
790
+ for skills_list in cat_data.values():
791
+ if isinstance(skills_list, list):
792
+ skipped_count += len(skills_list)
793
+
794
+ self.logger.warning(
795
+ f"Unknown categories in manifest will be skipped: "
796
+ f"{', '.join(sorted(unknown_categories))} ({skipped_count} skills)"
797
+ )
798
+ self.logger.info(
799
+ f"Valid top-level categories: {', '.join(sorted(VALID_CATEGORIES))}"
800
+ )
801
+
776
802
  # Add universal skills
777
803
  universal_skills = skills_data.get("universal", [])
778
804
  if isinstance(universal_skills, list):
@@ -1022,12 +1048,12 @@ class SkillsDeployerService(LoggerMixin):
1022
1048
  """
1023
1049
  try:
1024
1050
  if platform.system() == "Windows":
1025
- result = subprocess.run(
1051
+ result = subprocess.run( # nosec B603 B607 - Safe: hardcoded tasklist command
1026
1052
  ["tasklist"], check=False, capture_output=True, text=True, timeout=5
1027
1053
  )
1028
1054
  return "claude" in result.stdout.lower()
1029
1055
  # macOS and Linux
1030
- result = subprocess.run(
1056
+ result = subprocess.run( # nosec B603 B607 - Safe: hardcoded ps command
1031
1057
  ["ps", "aux"], check=False, capture_output=True, text=True, timeout=5
1032
1058
  )
1033
1059
  # Look for "Claude Code" or "claude-code" process
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 5.6.4
3
+ Version: 5.6.8
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=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
2
- claude_mpm/VERSION,sha256=Oqgs7rfIqUTkwLUznw-1vfEEF2PD1vAqz2KSQ7W0t8E,6
2
+ claude_mpm/VERSION,sha256=TPELZ4bSYPd1-ct4QNuu3EP8d8XmrNtWst8upoSOwfY,6
3
3
  claude_mpm/__init__.py,sha256=AGfh00BHKvLYD-UVFw7qbKtl7NMRIzRXOWw7vEuZ-h4,2214
4
4
  claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
5
5
  claude_mpm/constants.py,sha256=pz3lTrZZR5HhV3eZzYtIbtBwWo7iM6pkBHP_ixxmI6Y,6827
@@ -19,7 +19,7 @@ claude_mpm/agents/agent_loader.py,sha256=lrE6IMmvFeGVFguNTmi8d6WYyMb8goqcXj6RmiP
19
19
  claude_mpm/agents/agent_loader_integration.py,sha256=cU1LKCYvopZn66UefwzZxJUdTSxn6HLxdbukTjmP-KM,7280
20
20
  claude_mpm/agents/agents_metadata.py,sha256=XklRSaYxKt8_2hnGn9xr-V15RMcm57Fi-QzPbAe4ZR4,9867
21
21
  claude_mpm/agents/async_agent_loader.py,sha256=w9zk88SZUBycQeTHKrUiUez0CY_BrWZi13-EF6IOwWU,14597
22
- claude_mpm/agents/base_agent.json,sha256=9bWj1sL1AjGcvXdF8AiFZy0S6q_sJa2Zo_NGg9v8wkM,27614
22
+ claude_mpm/agents/base_agent.json,sha256=CTy670tMO_U7KiVuqtjk4LNU-TDociRNHX_J6hfEcH4,27615
23
23
  claude_mpm/agents/frontmatter_validator.py,sha256=H0R7rCrNdaok5q7yCxEX2uiIcELU286tgGbTK05tRf0,27471
24
24
  claude_mpm/agents/system_agent_config.py,sha256=19axX46jzvY6svETjfMaFyAYtgbQO2PRXKJ-VYnCPDk,24137
25
25
  claude_mpm/agents/templates/README.md,sha256=qqhKh10y2CGuoytQmqlQtXCa_RD1ZmeT0m24S5VPQnI,18511
@@ -98,8 +98,8 @@ claude_mpm/cli/commands/postmortem.py,sha256=QkEymFR43IyN2dHBlaEHxsrDVrmhApLNJCp
98
98
  claude_mpm/cli/commands/profile.py,sha256=heXuBrrpIsu3JEsl7k-apUbxV0sVeDENF9Ct9aCJ5NM,10610
99
99
  claude_mpm/cli/commands/run.py,sha256=fWDwyJ6huzG0nyTkbwfxb8IL4UUWGG5HRl2TJWLnWPA,47973
100
100
  claude_mpm/cli/commands/search.py,sha256=alv6udvKcn-xkqeBlLuPRvfSDV1yxEX4n9mjjRT5uLM,16581
101
- claude_mpm/cli/commands/skill_source.py,sha256=UlEA7O3rGT14zmqifMclSXyDJvp7lDUBc1pbZ4qp_0k,22436
102
- claude_mpm/cli/commands/skills.py,sha256=Q6VIPNgGCIB_YGYR7_lna78OIJSnYFS-SEaX6NDCsHM,58232
101
+ claude_mpm/cli/commands/skill_source.py,sha256=qhP2gtr-cnnoVABv84y_XRqktfG5n52zcjLZ-zmZvWE,24227
102
+ claude_mpm/cli/commands/skills.py,sha256=pcsbqD2vkql9gyDr01mZmeXOUiFcgRd9UXWFUwMDs1E,58300
103
103
  claude_mpm/cli/commands/summarize.py,sha256=1eb6i3IEZ3DqLNBT_HRzEygQ3NPHvrLOTdvQI0pURso,12460
104
104
  claude_mpm/cli/commands/tickets.py,sha256=kl2dklTBnG3Y4jUUJ_PcEVsTx4CtVJfkGWboWBx_mQM,21234
105
105
  claude_mpm/cli/commands/uninstall.py,sha256=KGlVG6veEs1efLVjrZ3wSty7e1zVR9wpt-VXQA1RzWw,5945
@@ -138,8 +138,8 @@ claude_mpm/cli/parsers/mpm_init_parser.py,sha256=yIqsUeOtXsUTOD-pJCAEr3euSGxmN3w
138
138
  claude_mpm/cli/parsers/profile_parser.py,sha256=HlPRekiPeDxqRYSpXoR3NlbOtupXww0mCSrRohHedzs,4414
139
139
  claude_mpm/cli/parsers/run_parser.py,sha256=oUB5k3VmIxmsMUlOacfWJxesDw8h4ISf1WkikZLLyzQ,5249
140
140
  claude_mpm/cli/parsers/search_parser.py,sha256=L8-65kndg-zutSKpzj-eCvTNkeySCZ-WlSHdhk7pEak,6916
141
- claude_mpm/cli/parsers/skill_source_parser.py,sha256=D1fMXfL-BDbuLOlznJ8zmwNuo9ixj_rERz6npLwla0Q,4874
142
- claude_mpm/cli/parsers/skills_parser.py,sha256=FGKuDzZkoOyW4vRsUYjd5B-Vqlm6LLrDP0BtDW9jRKM,8741
141
+ claude_mpm/cli/parsers/skill_source_parser.py,sha256=82-ysrXTHJcJI_nOD5FdAUAMU5WeqXLU3Euia8_oojU,5012
142
+ claude_mpm/cli/parsers/skills_parser.py,sha256=rtpmBm-wMZiwvSluV_K3Efz7BVjwTl3ZpJM4J8Du53U,8908
143
143
  claude_mpm/cli/parsers/source_parser.py,sha256=NUYpN6hh-yvL1IQ7or4Y8fs8kDX5Sw7E_rMLVjwwkpo,4023
144
144
  claude_mpm/cli/parsers/tickets_parser.py,sha256=FYl-VNH7PrZzfZUCcjnf6F7g6JXnL8YDxwrmR5svIcg,6966
145
145
  claude_mpm/cli/shared/__init__.py,sha256=c3Ff46Az3U-YpYgcjOowMcNUkSzDngflAJotv6Bs8TE,1019
@@ -245,7 +245,7 @@ claude_mpm/config/experimental_features.py,sha256=cH95HqMUEQL-_Hs833dAAC33GHMUE5
245
245
  claude_mpm/config/model_config.py,sha256=34JnIb_U19UYns3yLX-jjpuNywDnVZhiUSvvDzGzx0g,12410
246
246
  claude_mpm/config/paths.py,sha256=wTZxXt6LjD-gK9lG4i2QSuSnFRXe5lFaVU4dIr22ap8,7643
247
247
  claude_mpm/config/skill_presets.py,sha256=CReZz9CAGQnXdfSBIa0fN5S1vM5dDxh-9S-tG0WiY5M,13919
248
- claude_mpm/config/skill_sources.py,sha256=z9JIUfoE9zipAy2OSaLbjD0sk-Du8rSO--BbolhtXaM,19746
248
+ claude_mpm/config/skill_sources.py,sha256=apZDFdSlUFsewhDQWIjC_zwSMkmG2SGdf1go7pb55eo,20504
249
249
  claude_mpm/config/socketio_config.py,sha256=Z8O438z2taOPX2Eh_so-WOvvv-IHiM_WFbf4UBQ4iqg,11342
250
250
  claude_mpm/core/__init__.py,sha256=2bufzjbIXffZnSg5k-JH9czMDTkmtz-Jb9opgHmQY-0,2598
251
251
  claude_mpm/core/agent_name_normalizer.py,sha256=ZvdQsToFqxLWEPbf8gU1Hl8h3M47DBPmZ8zSAkEp-fc,8939
@@ -255,7 +255,7 @@ claude_mpm/core/api_validator.py,sha256=zxeUykC2asy1KwHBDu5w3Eoo64E51PJyNe4PT7CT
255
255
  claude_mpm/core/base_service.py,sha256=4Zrt-vQ6g_KVk4hEfvd4QccuItYoOf7wUHCimIW6zJQ,29953
256
256
  claude_mpm/core/cache.py,sha256=orh8B40oYnRRGmXdANR4P4f-KVMIHV0vg7vrsemk0no,17232
257
257
  claude_mpm/core/claude_runner.py,sha256=Wle-wI-ag25oC0EYX3n8dDC56I5GIdbpi5NtvT4IgBw,34263
258
- claude_mpm/core/config.py,sha256=IGhNAkq8qtoIcayrIqGH0GY64S_J4nzQ1xN4p4LDpNw,42748
258
+ claude_mpm/core/config.py,sha256=0R1ZLdwxTM2N3-uIBgcbr37jDiEe-G7h7x4YmYIVit0,43385
259
259
  claude_mpm/core/config_aliases.py,sha256=QpNNECkTY4TYYAhVlFZvB-msPnZrui90g19u0-v0HDE,9703
260
260
  claude_mpm/core/config_constants.py,sha256=MEF35Y2Lj5FMzRdhgSgZrZeTzHfCzistPGZVY8INta4,10073
261
261
  claude_mpm/core/constants.py,sha256=tm6IkmDxnsEqdEImtdQOeWvvGEHrThWCgAz5FMjckCQ,11557
@@ -320,7 +320,7 @@ claude_mpm/dashboard/__init__.py,sha256=b5QKcz0kt_ZMCFkac7caRzA8DlMiICG9VzmunmxH
320
320
  claude_mpm/dashboard/api/simple_directory.py,sha256=b-ExWd9wutYIYa4dTYBW0y1s0hsElPn4_LLJglahUEY,7140
321
321
  claude_mpm/dashboard/static/svelte-build/favicon.svg,sha256=8WC8JPrjCWsajGxiyBr7WA7Sj896PtUZbYkVjNwd2K0,395
322
322
  claude_mpm/dashboard/static/svelte-build/index.html,sha256=QBZs_8cByu6lVPp5Upp1gxXDblACI74nlRjWIGqK6Pk,1173
323
- claude_mpm/dashboard/static/svelte-build/_app/env.js,sha256=PFiLdc3lIpkAIqcK3hezpttwaPaFrEy4sxoQT34lhwY,19
323
+ claude_mpm/dashboard/static/svelte-build/_app/env.js,sha256=Iu6wbiiLCcW1n9HhTsju7Y83nmMPQC3Myj_B4dOvWXM,20
324
324
  claude_mpm/dashboard/static/svelte-build/_app/version.json,sha256=SqUDoSw125-s8xi_Diq0Oy3VjnesiIuCvs7CTZgjwIE,28
325
325
  claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css,sha256=BLNxSTDsHOlvyrjeUgRzDhb4A3kPpI1pnIayA6UNBPM,28444
326
326
  claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css,sha256=HC7G-CRMmKQWPd26CLlZAL1pa0oUXXQbZ6A88CbTqvg,15985
@@ -332,7 +332,7 @@ claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js,sha25
332
332
  claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js,sha256=roecan2HnDRdCpfyDiBPgrwlIi5l5IEWT-CTweT5jDI,29257
333
333
  claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js,sha256=7kfWcHYrVg1L5QidpYuUJJvy1YdmERs_srdTBnEad34,27498
334
334
  claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js,sha256=LAuNlMt2us_gAtGKbVup7j2MXE8emIrHx0I82WAe9Hk,571
335
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js,sha256=3VAewprLyc27yeOkKh16A3YpviIhZ_ZQr2pw0Kfs7Rs,442442
335
+ claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js,sha256=bc2Upkbz5NyfLBmTs6l1D25pzEVLAaFVnCglNqBdPqA,442400
336
336
  claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js,sha256=n6_iC4k_7w0Rxpw3zt0p6KoyL3_2S0EOJ_Nw7MmEH2Y,11160
337
337
  claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BSNlmTZj.js,sha256=Pcz47MBoSVumz-ilxfVzQOSz67t1FtEb0lADSpVoad0,523
338
338
  claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js,sha256=GNpl2Q76B1KopKPiIz6MrmyucF0eoqMzRhQjeZ2bJ3w,5891
@@ -402,34 +402,73 @@ claude_mpm/hooks/kuzu_enrichment_hook.py,sha256=jghoEZX8fA6HZ1kM_5l93cuCyy-AMBjW
402
402
  claude_mpm/hooks/kuzu_memory_hook.py,sha256=PK7AABvk5SHqmLyjIBEGl5nrsExJK1IVQvcXG8xeorM,12639
403
403
  claude_mpm/hooks/kuzu_response_hook.py,sha256=1eJ4WjME5eRN-7TdFD3nNsXm7nE16BjkhlvycaYvngM,6119
404
404
  claude_mpm/hooks/memory_integration_hook.py,sha256=MWy2NjbovTnBleTt-6JO6EqkYDP3PGai1HUK4pHLL0o,18517
405
- claude_mpm/hooks/session_resume_hook.py,sha256=GTxH4LBl_bjPfxyf4nLZiyVsMmK63g9nBQp1QqVQCkM,7386
405
+ claude_mpm/hooks/session_resume_hook.py,sha256=mUkH2zsqrF_MCLT2wfRnPpv7Dp0Qx3YCdaMB4pdWfag,7305
406
406
  claude_mpm/hooks/tool_call_interceptor.py,sha256=tYUBJHjbtaI5-HSWcz0aeUW0CaiQPypuDOTULQ0BCNI,7506
407
407
  claude_mpm/hooks/validation_hooks.py,sha256=i5uOaXifItwJfIdjjLCxAwrkKdkmo2Qa4qMc5-dwsKw,6465
408
408
  claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md,sha256=w21pg7JRuOLdg28f1A7EcyPxkRH_SXLgbQTKdfBCNsU,7484
409
409
  claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md,sha256=l7A6f-yi-Z1s1t3vlNmjgZjcGVxwSUt1ZDNuUuF4cJ0,12449
410
410
  claude_mpm/hooks/claude_hooks/__init__.py,sha256=b4mud_g3S-3itHY_Dzpbb_SmdMEcJwtUU8fTcqpLqqs,130
411
- claude_mpm/hooks/claude_hooks/auto_pause_handler.py,sha256=xDAQZ33I5OhGvtWvA9mxwVSoir9tM-aCvrWkSRdnVmU,17465
411
+ claude_mpm/hooks/claude_hooks/auto_pause_handler.py,sha256=Iy80whkkPFJpn1z7u8PY57r9LC5BvEg3wfDlyknv0a0,17184
412
412
  claude_mpm/hooks/claude_hooks/connection_pool.py,sha256=vpi-XbVf61GWhh85tHBzubbOgbJly_I-5-QmsleND2M,8658
413
413
  claude_mpm/hooks/claude_hooks/correlation_manager.py,sha256=3n-RxzqE8egG4max_NcpJgL9gzrBY6Ti529LrjleI1g,2033
414
414
  claude_mpm/hooks/claude_hooks/event_handlers.py,sha256=u7qkfthzAJxE5X4vAp5dCYhVDsadfC--vsqZVlmcrvE,45768
415
415
  claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=UOl5IVvz0Ro8Z0Owx4sKUWCxoIhvQpt7VTJ8lRC7Y8o,28266
416
416
  claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=XYkdYtcM0nfnwYvMdyIFCasr80ry3uI5-fLYsLtDGw4,2214
417
- claude_mpm/hooks/claude_hooks/installer.py,sha256=X6m0CQ9mjaESqUu9RF00uOopZx1u5VOeR0-ilyaP6Xg,33275
418
- claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=ggPUpSLOp1fUu8cfHR7oyeGZINoeh_eKx85iKeNmnIQ,10436
419
- claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=bgX4iVQqmX0L3_GHyKs1q4CSIjnavdxYnJZT0GaT4gs,17148
417
+ claude_mpm/hooks/claude_hooks/installer.py,sha256=GgXqRjm_LpukrMl-eLw3cVDJqwwemNAaEKZvKM0QDYQ,34919
418
+ claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=fj_d9N7aytLELomdphLLwYApXzmbhBxtwSK4xkmd55o,10759
419
+ claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=2dyDOK9u-N4KcqWF7qq2T17bkps0grbs8MeWBRSC8vE,16323
420
420
  claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=3_o2PP9D7wEMwLriCtIBOw0cj2fSZfepN7lI4P1meSQ,7862
421
+ claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc,sha256=EGpgXqhPM0iRRZtCqHaLVQ6wDH42OH_M7Gt5GiFLyro,346
422
+ claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-312.pyc,sha256=RdPlaoNPDoSlTFV36Ku4vxs7xYqh7t2038D4pyULy-g,322
423
+ claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-314.pyc,sha256=tBzcQ_3WxkmgPTQAPd7uKgFGtz-Yb6r2hEgF9Y_Flwc,319
424
+ claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc,sha256=7YbusOM2EaL4NqIuNsLTJRCRJWRxo0DhVLXm9ZVFc7Y,20829
425
+ claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-312.pyc,sha256=aUV7xCwxrzM4iW4Jf0RbUskIs2whf7lXt6HppAEMp1g,18982
426
+ claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-314.pyc,sha256=vo_mPXj0KTtBz2_SAU4NZ7TEWPfgBZtLeXD3CMAvJ3M,21381
427
+ claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc,sha256=SQX5iiP9bQZkLL-cj_2tlGH7lpAzarO0mYal7btj3tc,3521
428
+ claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc,sha256=43y-O3fzE07cyJx1we9DfLeaIkL0GQR4KKpnzh_94uk,44526
429
+ claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-312.pyc,sha256=3ezkq2yC1cejVa-II4cl335SWCJhD8dv_NEDtVsCpUo,39235
430
+ claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-314.pyc,sha256=DC4owkvPyhcCT7ScUxlKS6pUygaUYEMj0k3eVYZHdMk,42528
431
+ claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc,sha256=vhJjvAMTdDWkB_qWaWr_PeDb4I8-h7UymR1wDVHeyYM,30789
432
+ claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-312.pyc,sha256=bj168CD_Md4vpYJfS9YvPafP7-nw1hAUnuuEpzSQNKY,27815
433
+ claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-314.pyc,sha256=RVz6WvW-sD7kLbh6S5a96WarpPvZv4_qfFMR5SN8WUo,30603
434
+ claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc,sha256=Tt3L5Ye7RJCLvIAaz6uLwKe3WGEaMLx6WElvqK60G0Q,38428
435
+ claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-314.pyc,sha256=hxxLzkAFGV4sBK3NiYZ6zVlc1Cq9yTc8YPzp-mf5sxo,37219
436
+ claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc,sha256=Xu_hwOf9AG0mZthl5gcDcVv68FiSo5KgZ6lDxdZXCfU,11185
437
+ claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-312.pyc,sha256=w9SKmvg60p6kvNzuOIddYE-X9LYt-ZQzX3LWiKs4nZY,10055
438
+ claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-314.pyc,sha256=oJhMGouqaFI1u3NZryHoRh6ucfPKHPe8GufcsPzi89o,11081
439
+ claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc,sha256=qJ5xY8yYwo8ZO7P-Gem_GK4VZdqyNeYvs8ANvC45jnw,16228
440
+ claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-312.pyc,sha256=uyjnluDUFQql1N2oYP6IYP8dxhxnHoSvrmUubEMRNXI,14000
441
+ claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-314.pyc,sha256=yu70SIPNsdECY8l_P971JPFuUPXqD4HmjuuGMU-nSAU,15820
442
+ claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc,sha256=ZjcNfNY5Ht6FhalPeh7M7OzMffcey5iF4AVjDDg9kak,10694
443
+ claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-312.pyc,sha256=T98zonvVkllflFNw_pptXXAXbDrIgeBfY6aXvSY8el8,9071
444
+ claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-314.pyc,sha256=ck8ifVIoVPaMVVRcMgvsM8RfIHnQbwGBUVs25A-yQBw,10771
421
445
  claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=OIYOKsUNw1BHYawOCp-KFK5kmQKuj92cCqCEPO0nwo0,585
422
- claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=6MhoPiSQSkG5Xsb9KjPk_eu60h6-v5uNXjn6ry255aA,10452
423
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=7YKEsD45us5SNnj-jpSyFBYbU0KrZ8FWoIdZDUeU2gI,7795
446
+ claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=shpoCLJpM9qoCDMUuUhk6L9WEKdzLB_OsPtwtDyJMdk,10197
447
+ claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=rdwUhK7DoPqDSRGPHW1uiaE8McsnmggvCQGZ2x_vX-o,7583
424
448
  claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM9t0U1v2l_fuBwvNpVkl_0EF8Wu5KLHQ,3882
425
- claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=QB0JPJQThTVg0TGRO3Dc_3y3bac-hkulgMqqzo_71ng,11189
426
- claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=nJw1ERCMxq23ioZ5DKwprmwO0fuvuqpdFHJ03XaMiDo,16052
449
+ claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=PcEpAzwEnZRjw6JnbtbekDRdhIoaKql5VhhZJCEPNt4,10899
450
+ claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=unHGeU6PJxc00_3xnLyyZHeLa47x98knxn6cl-i8ALA,15040
451
+ claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc,sha256=xBfLBSqnpcKfcQBWfh7xUm454g1lq1LvbO7SxGvcOPc,644
452
+ claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-312.pyc,sha256=75pkmoqE7CeBOc2ZHTYfgSR-mtVjKrcKaOA6PxFGW64,565
453
+ claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-314.pyc,sha256=nZDxNz67tIFwbZNRqyCRX8cSi0v3JKCZS5U5FhwwApA,562
454
+ claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc,sha256=SydGEQ9oUWs161Ro4ULHfnPB0wiZgiB7V628B3V6N2U,9613
455
+ claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-312.pyc,sha256=qdBU-mDyJxcwjwxfGhqzvo_s7YMO4mva-8hdObDAOcY,8616
456
+ claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-314.pyc,sha256=PjdPDUyUQWm0FqYRdG2knPoZDSKS0g1vk-BDAXfzCi8,9627
457
+ claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc,sha256=Yy_REAUhJCiFjOhxeDb4v0qyEvEbUtCmXD9PAz40dhw,5321
458
+ claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-312.pyc,sha256=ef_Tx9Uv1CvS18tC_PXmGVvIoMDsRnEUhKRUZaUdGBw,4751
459
+ claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-314.pyc,sha256=Xy9iNAtQMfXC_eW9rvumG9rFqK5t-QlLPmUahlqza_I,5341
460
+ claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc,sha256=P-Au2P5H0enEeKm7sP1eQv-SU6AAnCqjjOE5jhXcrgs,12352
461
+ claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-312.pyc,sha256=g_Lo7LUYOEgIqS_Rz-6hy_caraHW9nzVJ6f0W4Y14rg,11378
462
+ claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-314.pyc,sha256=2QqT8edjLqG8-9q446zpLJ347lzkgvJxPJG-A8u_HAU,13101
463
+ claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc,sha256=4SfbElFMcQK07Frewl9mQ0eB5yCqZUe-CGfGYNUUMh0,14931
464
+ claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-312.pyc,sha256=Cky-0tvyWmn9I44WdupIdJ4Qml0k-qlCs5E0x0Y130Q,13301
465
+ claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-314.pyc,sha256=o6Dc1-yyZjUdVh_JWZmEIvVt0qG0R1-aLhr7XTt-oX0,15104
427
466
  claude_mpm/hooks/failure_learning/__init__.py,sha256=iJ80AKFHiT8DjIH2a72DQVJvL6nAFrizNA2yTKwZ4rw,1805
428
467
  claude_mpm/hooks/failure_learning/failure_detection_hook.py,sha256=KENoB5N-dBm5hb0SxeIZtCvNKbmG2BKHOJSrSO-3Z_I,7500
429
468
  claude_mpm/hooks/failure_learning/fix_detection_hook.py,sha256=XUk1bnBVLdfhQ9AMQSvGsTSeFQsKsVud2wbWX-Jjor8,7164
430
469
  claude_mpm/hooks/failure_learning/learning_extraction_hook.py,sha256=vAOwVuZa_bBBSrFvM9v3wt7T1frZO_Yb5iNGOCgWVuk,9981
431
470
  claude_mpm/hooks/templates/pre_tool_use_simple.py,sha256=E7EIiX0ERjgQ5-hzPeZnT18NBdU5hJHxXq0LH7K984M,2156
432
- claude_mpm/hooks/templates/pre_tool_use_template.py,sha256=MBeU-e3wdq_Uf2kKjn-Q9gU7bUQuNIYTX0eUNOh9IFY,10026
471
+ claude_mpm/hooks/templates/pre_tool_use_template.py,sha256=y-FrEg04X1BAaMfhXO3ITLPg3j-aSmI7UwLpZRWzAK0,10230
433
472
  claude_mpm/models/__init__.py,sha256=GADyLAiF-1VVghYKI7Urz3zSnf2sjJUXlOEMuCOs7_g,468
434
473
  claude_mpm/models/agent_definition.py,sha256=rMCVu4qYpHvw0wSmr5KPyNf8p6Hne049w2erb2Ba_20,7122
435
474
  claude_mpm/models/agent_session.py,sha256=Tc-0OfAorb5BCmOpoZmC7jMdbtm6zZKF1Wtj16MO27s,20054
@@ -437,7 +476,7 @@ claude_mpm/models/git_repository.py,sha256=Lp2I5tv4fu6idIXCTW50MCTWgjuIE-rwsgVIr
437
476
  claude_mpm/models/resume_log.py,sha256=aDiFC_2FR7tue_Kn46ZDUiKmuw9a_W9yE9zE7gA6Hys,12515
438
477
  claude_mpm/schemas/__init__.py,sha256=2SLpkojJq34KnwPkVxrsVmw_cEI66872i75QBT1C2To,446
439
478
  claude_mpm/scripts/__init__.py,sha256=IffMdVD99Pxyw85yluRa0VDPi4dRQecIWce764pcfZE,553
440
- claude_mpm/scripts/claude-hook-handler.sh,sha256=B5DbrOcHNX4xUC5kqftsLaGLQXs64WxVjDue7yMAwsU,10824
479
+ claude_mpm/scripts/claude-hook-handler.sh,sha256=1e5ZsZJQdp9lKLwEmmAtqnEGZPf5UIAG2ReGfwmXtOE,10907
441
480
  claude_mpm/scripts/launch_monitor.py,sha256=M0CSAYJp5UnoyXKnICZgrAFwqqP5XAWDCiii_IIcrCk,5348
442
481
  claude_mpm/scripts/mpm_doctor.py,sha256=98vBiTIB4xpaSgOvTP9N3EU22V2Odxd9DivhQizG0VM,8822
443
482
  claude_mpm/scripts/socketio_daemon.py,sha256=wWFcvKkHa_oR-NQwhvV-O8s3m1TgicBp9UQ-NR8AQmU,6041
@@ -471,7 +510,7 @@ claude_mpm/services/self_upgrade_service.py,sha256=O5-uqjdt9BHt0bxLNzuYdzlwgtWF_
471
510
  claude_mpm/services/session_management_service.py,sha256=za_ljDawCJjOq5ezEdxw71MFFFFIbWlV6ujlWL3vImg,10723
472
511
  claude_mpm/services/session_manager.py,sha256=ddVdINaHzBol24KvFCLOyM5SuBG_-Vd8_iT2YTBlGiU,12328
473
512
  claude_mpm/services/skills_config.py,sha256=R9F3BV3BEVmjqlxBy2mZycH4cCH4Ieh3K1n_8w9a5zQ,18005
474
- claude_mpm/services/skills_deployer.py,sha256=TecmqbRPvC7-gZewAwcp8Mjjna_nr6eUFdadwHZMv00,45761
513
+ claude_mpm/services/skills_deployer.py,sha256=iNT939b6akNEe0libu00fyYSceSKh4YYeu7ehb3v5F0,47270
475
514
  claude_mpm/services/socketio_client_manager.py,sha256=cZjIsnoi2VPXFA-5pNhoz5Vv3qv0iuSTy510TgAJU4U,18179
476
515
  claude_mpm/services/socketio_server.py,sha256=yE14_4pHERXBC5L1WQCpIBHuy0tpklsUY_icyl-nLkg,3033
477
516
  claude_mpm/services/subprocess_launcher_service.py,sha256=lYSlg2G_oDAv1dHrOdHaOEIppDwisANCASuNFdp0WqY,11226
@@ -484,7 +523,7 @@ claude_mpm/services/agents/agent_builder.py,sha256=ehnzIgQ3OcF5ThqvbmS4c4ZyA-hbp
484
523
  claude_mpm/services/agents/agent_preset_service.py,sha256=YpIKwaq52Pi4ox6ha3L9qTT4GHc-1nPeGgV0MWGRIAs,8588
485
524
  claude_mpm/services/agents/agent_recommendation_service.py,sha256=f3F6LkPG1S42ZE52o8QnSdFwZFsv_7vgegJ6bCNbWWk,9846
486
525
  claude_mpm/services/agents/agent_review_service.py,sha256=1meV6u8FGbYMx1vhSsCX8OembWbF3gXfl26hRdGd95Y,10001
487
- claude_mpm/services/agents/agent_selection_service.py,sha256=ItCXMuFv3XzBuZAVUvx74gMeRbXTCOBFh5vLlgurJKg,17951
526
+ claude_mpm/services/agents/agent_selection_service.py,sha256=rhbLrwuNsofH-U6sfJIn7Zp0Ek3YDmznNEIQUlJe1tM,17943
488
527
  claude_mpm/services/agents/auto_config_manager.py,sha256=WdrOaosxmK1iD-1Me7eZ-VJzMW-p8liei6iEjGkbodA,30706
489
528
  claude_mpm/services/agents/auto_deploy_index_parser.py,sha256=-29NBjr6u8QEcFYfygt2CqqGtS1XEN6NoJtsM6cDUAU,19465
490
529
  claude_mpm/services/agents/cache_git_manager.py,sha256=gfrcAZULY-oZDBuf20ubUE1STYLBu4c-UIjIu5cYsCA,23583
@@ -492,7 +531,7 @@ claude_mpm/services/agents/git_source_manager.py,sha256=SRGX4T-dUuLn2PDe1EkTL493
492
531
  claude_mpm/services/agents/local_template_manager.py,sha256=v1vlukIVEpiw5u11KseJhEMkhi1tlm6FTp0FYwK9YFU,27980
493
532
  claude_mpm/services/agents/observers.py,sha256=2OUEMc2TzHrME2AHHnBmquWmbhGEMTNpTc08sIoHno0,18484
494
533
  claude_mpm/services/agents/recommender.py,sha256=TC8iLNi_uP0byj8w9jXHhl0PYn0JDfAgRMjbTgSwafE,23756
495
- claude_mpm/services/agents/single_tier_deployment_service.py,sha256=PDkTJmtBdNMzvdlONzUgQ53ymAFTqOsL06vg4NuqpnQ,25396
534
+ claude_mpm/services/agents/single_tier_deployment_service.py,sha256=M1ep-yTcwk8OLhnkg5p2vNsqynpP49rRAxPxvpsG7ac,25380
496
535
  claude_mpm/services/agents/startup_sync.py,sha256=VoTSFtYF-BZZSCzoeAF6LpQ-tq3BjE4Ua-N9sdRikak,9310
497
536
  claude_mpm/services/agents/toolchain_detector.py,sha256=eGzMprsD1M7DXHGN0RhhUz3diITbiXtHZw0uK7rZ6Nk,16854
498
537
  claude_mpm/services/agents/deployment/__init__.py,sha256=iprW-Ww3LBtWu9pVFjAX45_CswfSqnPMoG0QoFPd1Dg,539
@@ -777,9 +816,9 @@ claude_mpm/services/shared/lifecycle_service_base.py,sha256=YJZHs2sUrnIsbHHjrd8l
777
816
  claude_mpm/services/shared/manager_base.py,sha256=kmjhpVqgfYC1N4YQnPAilCfdrSpAh9Qz7wcQ602L4x4,9296
778
817
  claude_mpm/services/shared/service_factory.py,sha256=9yvnD62urrNQCGmtk_3OcR5tVUCnoS6wHkaI5PK34mg,9891
779
818
  claude_mpm/services/skills/__init__.py,sha256=X1fPRCGZjteLd35HlhWv2M6tAJ_WbYrEv84kbaqBAiU,742
780
- claude_mpm/services/skills/git_skill_source_manager.py,sha256=DQ-Zw7O9_a9YWdRT3Os4Jzq2m7ihw2pyUMqOiNHE374,53990
781
- claude_mpm/services/skills/selective_skill_deployer.py,sha256=yUiciVynJ3WDTO-l7Oz6_y9NaqeQS4xwNVp3KXDOtgA,29565
782
- claude_mpm/services/skills/skill_discovery_service.py,sha256=guul1xME46hzHqTRIJeTDIKQz55AQlOX1CRALWvfnoI,22403
819
+ claude_mpm/services/skills/git_skill_source_manager.py,sha256=92fz9I7zYemQ7tV3-s0wzmU5wV7KCMnd-MzKXq6ssfY,56857
820
+ claude_mpm/services/skills/selective_skill_deployer.py,sha256=tWWs2RLatD1cP4MnDcVN6J2-hk6GuYPKg9chTXyDXGM,30639
821
+ claude_mpm/services/skills/skill_discovery_service.py,sha256=uJUdjB54N6w9g8KFi7WmobA-R-pBh3ND12qA2HYxd5I,23003
783
822
  claude_mpm/services/skills/skill_to_agent_mapper.py,sha256=4PRwcSDSNGS55lg4t-VmBK2ottE_cGFq1zsvjiumAlI,14847
784
823
  claude_mpm/services/socketio/__init__.py,sha256=PS-2twllga-2mhSfKdu4MgpikfKp_730gMLAqU_9YX4,556
785
824
  claude_mpm/services/socketio/client_proxy.py,sha256=DFPO5OIl-cHusldHPYWKSbnL0dxSLz8h07D9307FfzY,8853
@@ -1070,10 +1109,10 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
1070
1109
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
1071
1110
  claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
1072
1111
  claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
1073
- claude_mpm-5.6.4.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
1074
- claude_mpm-5.6.4.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
1075
- claude_mpm-5.6.4.dist-info/METADATA,sha256=wv0oC9soogBs5j04eGyZDNvTVXAzs68eOOCtnFvC_eE,14983
1076
- claude_mpm-5.6.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1077
- claude_mpm-5.6.4.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
1078
- claude_mpm-5.6.4.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
1079
- claude_mpm-5.6.4.dist-info/RECORD,,
1112
+ claude_mpm-5.6.8.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
1113
+ claude_mpm-5.6.8.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
1114
+ claude_mpm-5.6.8.dist-info/METADATA,sha256=8lS7j7tnOGNu9c1kzaDSZwcUK-D84gQbbCb_MoncT_4,14983
1115
+ claude_mpm-5.6.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1116
+ claude_mpm-5.6.8.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
1117
+ claude_mpm-5.6.8.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
1118
+ claude_mpm-5.6.8.dist-info/RECORD,,