claude-mpm 5.4.22__py3-none-any.whl → 5.4.48__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.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_AGENT.md +164 -0
- claude_mpm/agents/BASE_ENGINEER.md +658 -0
- claude_mpm/agents/MEMORY.md +1 -1
- claude_mpm/agents/PM_INSTRUCTIONS.md +739 -1052
- claude_mpm/agents/WORKFLOW.md +5 -254
- claude_mpm/agents/agent_loader.py +1 -1
- claude_mpm/agents/base_agent.json +31 -0
- claude_mpm/agents/frontmatter_validator.py +2 -2
- claude_mpm/cli/commands/agent_state_manager.py +10 -10
- claude_mpm/cli/commands/agents.py +9 -9
- claude_mpm/cli/commands/auto_configure.py +4 -4
- claude_mpm/cli/commands/configure.py +1 -1
- claude_mpm/cli/commands/configure_agent_display.py +10 -0
- claude_mpm/cli/commands/mpm_init/core.py +65 -0
- claude_mpm/cli/commands/postmortem.py +1 -1
- claude_mpm/cli/commands/profile.py +277 -0
- claude_mpm/cli/commands/skills.py +14 -18
- claude_mpm/cli/executor.py +10 -0
- claude_mpm/cli/interactive/agent_wizard.py +2 -2
- claude_mpm/cli/parsers/base_parser.py +7 -0
- claude_mpm/cli/parsers/profile_parser.py +148 -0
- claude_mpm/cli/parsers/skills_parser.py +0 -6
- claude_mpm/cli/startup.py +346 -75
- claude_mpm/commands/mpm-config.md +13 -250
- claude_mpm/commands/mpm-doctor.md +9 -22
- claude_mpm/commands/mpm-help.md +5 -206
- claude_mpm/commands/mpm-init.md +81 -507
- claude_mpm/commands/mpm-monitor.md +15 -402
- claude_mpm/commands/mpm-organize.md +61 -441
- claude_mpm/commands/mpm-postmortem.md +6 -108
- claude_mpm/commands/mpm-session-resume.md +12 -363
- claude_mpm/commands/mpm-status.md +5 -69
- claude_mpm/commands/mpm-ticket-view.md +52 -495
- claude_mpm/commands/mpm-version.md +5 -107
- claude_mpm/core/config.py +2 -4
- claude_mpm/core/framework/loaders/agent_loader.py +1 -1
- claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
- claude_mpm/core/optimized_startup.py +59 -0
- claude_mpm/core/shared/config_loader.py +1 -1
- claude_mpm/core/unified_agent_registry.py +1 -1
- claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DjhvlsAc.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/N4qtv3Hx.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/uj46x2Wr.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.CAGBuiOw.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
- claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
- claude_mpm/dashboard/static/svelte-build/index.html +36 -0
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/hook_handler.py +149 -1
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +26 -6
- claude_mpm/hooks/kuzu_memory_hook.py +5 -5
- claude_mpm/init.py +63 -0
- claude_mpm/models/git_repository.py +3 -3
- claude_mpm/scripts/start_activity_logging.py +0 -0
- claude_mpm/services/agents/agent_builder.py +3 -3
- claude_mpm/services/agents/cache_git_manager.py +6 -6
- claude_mpm/services/agents/deployment/agent_deployment.py +29 -7
- claude_mpm/services/agents/deployment/agent_discovery_service.py +2 -2
- claude_mpm/services/agents/deployment/agent_format_converter.py +23 -13
- claude_mpm/services/agents/deployment/agent_template_builder.py +29 -19
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
- claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
- claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +169 -26
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +98 -75
- claude_mpm/services/agents/git_source_manager.py +19 -4
- claude_mpm/services/agents/recommender.py +5 -3
- claude_mpm/services/agents/single_tier_deployment_service.py +2 -2
- claude_mpm/services/agents/sources/git_source_sync_service.py +112 -6
- claude_mpm/services/agents/startup_sync.py +22 -2
- claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +1 -1
- claude_mpm/services/git/git_operations_service.py +8 -8
- claude_mpm/services/monitor/management/lifecycle.py +8 -1
- claude_mpm/services/monitor/server.py +473 -3
- claude_mpm/services/pm_skills_deployer.py +711 -0
- claude_mpm/services/profile_manager.py +331 -0
- claude_mpm/services/skills/git_skill_source_manager.py +101 -3
- claude_mpm/services/skills_deployer.py +4 -3
- claude_mpm/services/socketio/dashboard_server.py +1 -0
- claude_mpm/services/socketio/event_normalizer.py +37 -6
- claude_mpm/services/socketio/server/core.py +262 -123
- claude_mpm/skills/skill_manager.py +92 -3
- claude_mpm/utils/agent_dependency_loader.py +14 -2
- claude_mpm/utils/agent_filters.py +1 -1
- claude_mpm/utils/migration.py +4 -4
- claude_mpm/utils/robust_installer.py +47 -3
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.4.48.dist-info}/METADATA +7 -4
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.4.48.dist-info}/RECORD +118 -79
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.4.48.dist-info}/WHEEL +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.4.48.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.4.48.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.4.48.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.4.22.dist-info → claude_mpm-5.4.48.dist-info}/top_level.txt +0 -0
claude_mpm/utils/migration.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
WHY: Phase 3 of 1M-486 requires migrating from old single-tier deployment
|
|
4
4
|
(~/.claude/agents/, ~/.claude/skills/) to new two-phase architecture:
|
|
5
|
-
- Cache: ~/.claude-mpm/cache/
|
|
5
|
+
- Cache: ~/.claude-mpm/cache/agents/, ~/.claude-mpm/cache/skills/
|
|
6
6
|
- Deployment: .claude-mpm/agents/, .claude-mpm/skills/
|
|
7
7
|
|
|
8
8
|
DESIGN DECISIONS:
|
|
@@ -41,7 +41,7 @@ class MigrationUtility:
|
|
|
41
41
|
self.old_agent_dir = Path.home() / ".claude" / "agents"
|
|
42
42
|
self.old_skill_dir = Path.home() / ".claude" / "skills"
|
|
43
43
|
|
|
44
|
-
self.new_agent_cache = Path.home() / ".claude-mpm" / "cache" / "
|
|
44
|
+
self.new_agent_cache = Path.home() / ".claude-mpm" / "cache" / "agents"
|
|
45
45
|
self.new_skill_cache = Path.home() / ".claude-mpm" / "cache" / "skills"
|
|
46
46
|
|
|
47
47
|
def detect_old_locations(self) -> Dict[str, bool]:
|
|
@@ -80,7 +80,7 @@ class MigrationUtility:
|
|
|
80
80
|
def migrate_agents(
|
|
81
81
|
self, dry_run: bool = False, auto_confirm: bool = False
|
|
82
82
|
) -> Dict[str, any]:
|
|
83
|
-
"""Migrate agents from ~/.claude/agents/ to ~/.claude-mpm/cache/
|
|
83
|
+
"""Migrate agents from ~/.claude/agents/ to ~/.claude-mpm/cache/agents/.
|
|
84
84
|
|
|
85
85
|
Args:
|
|
86
86
|
dry_run: Preview migration without making changes
|
|
@@ -329,7 +329,7 @@ class MigrationUtility:
|
|
|
329
329
|
|
|
330
330
|
warning += "\nThe deployment architecture has changed:\n"
|
|
331
331
|
warning += " OLD: ~/.claude/agents/ (single-tier, global)\n"
|
|
332
|
-
warning += " NEW: ~/.claude-mpm/cache/
|
|
332
|
+
warning += " NEW: ~/.claude-mpm/cache/agents/ → .claude-mpm/agents/ (two-phase, per-project)\n\n"
|
|
333
333
|
|
|
334
334
|
warning += "To migrate:\n"
|
|
335
335
|
warning += " claude-mpm migrate\n\n"
|
|
@@ -82,6 +82,7 @@ class RobustPackageInstaller:
|
|
|
82
82
|
self.attempts: List[InstallAttempt] = []
|
|
83
83
|
self.success_cache: Dict[str, bool] = {}
|
|
84
84
|
self.in_virtualenv = self._check_virtualenv()
|
|
85
|
+
self.is_uv_tool = self._check_uv_tool_installation()
|
|
85
86
|
self.is_pep668_managed = self._check_pep668_managed()
|
|
86
87
|
self.pep668_warning_shown = False
|
|
87
88
|
|
|
@@ -261,6 +262,36 @@ class RobustPackageInstaller:
|
|
|
261
262
|
|
|
262
263
|
return False
|
|
263
264
|
|
|
265
|
+
def _check_uv_tool_installation(self) -> bool:
|
|
266
|
+
"""
|
|
267
|
+
Check if running in UV tool environment (no pip available).
|
|
268
|
+
|
|
269
|
+
WHY: UV tool environments don't have pip installed. The executable
|
|
270
|
+
path typically contains ".local/share/uv/tools/" and the UV_TOOL_DIR
|
|
271
|
+
environment variable is set. In such environments, we need to use
|
|
272
|
+
'uv pip' instead of 'python -m pip'.
|
|
273
|
+
|
|
274
|
+
Returns:
|
|
275
|
+
True if UV tool environment, False otherwise
|
|
276
|
+
"""
|
|
277
|
+
import os
|
|
278
|
+
|
|
279
|
+
# Check UV_TOOL_DIR environment variable
|
|
280
|
+
uv_tool_dir = os.environ.get("UV_TOOL_DIR", "")
|
|
281
|
+
if uv_tool_dir and "claude-mpm" in uv_tool_dir:
|
|
282
|
+
logger.debug(f"UV tool environment detected via UV_TOOL_DIR: {uv_tool_dir}")
|
|
283
|
+
return True
|
|
284
|
+
|
|
285
|
+
# Check executable path for UV tool patterns
|
|
286
|
+
executable = sys.executable
|
|
287
|
+
if ".local/share/uv/tools/" in executable or "/uv/tools/" in executable:
|
|
288
|
+
logger.debug(
|
|
289
|
+
f"UV tool environment detected via executable path: {executable}"
|
|
290
|
+
)
|
|
291
|
+
return True
|
|
292
|
+
|
|
293
|
+
return False
|
|
294
|
+
|
|
264
295
|
def _show_pep668_warning(self) -> None:
|
|
265
296
|
"""
|
|
266
297
|
Show warning about PEP 668 managed environment.
|
|
@@ -301,7 +332,12 @@ class RobustPackageInstaller:
|
|
|
301
332
|
Returns:
|
|
302
333
|
Command as list of arguments
|
|
303
334
|
"""
|
|
304
|
-
|
|
335
|
+
# UV tool environments don't have pip; use uv pip instead
|
|
336
|
+
if self.is_uv_tool:
|
|
337
|
+
base_cmd = ["uv", "pip", "install"]
|
|
338
|
+
logger.debug("Using 'uv pip install' for UV tool environment")
|
|
339
|
+
else:
|
|
340
|
+
base_cmd = [sys.executable, "-m", "pip", "install"]
|
|
305
341
|
|
|
306
342
|
# Determine appropriate flags based on environment
|
|
307
343
|
if self.in_virtualenv:
|
|
@@ -651,7 +687,12 @@ class RobustPackageInstaller:
|
|
|
651
687
|
Tuple of (success, error_message)
|
|
652
688
|
"""
|
|
653
689
|
try:
|
|
654
|
-
|
|
690
|
+
# UV tool environments don't have pip; use uv pip instead
|
|
691
|
+
if self.is_uv_tool:
|
|
692
|
+
cmd = ["uv", "pip", "install"]
|
|
693
|
+
logger.debug("Using 'uv pip install' for batch installation")
|
|
694
|
+
else:
|
|
695
|
+
cmd = [sys.executable, "-m", "pip", "install"]
|
|
655
696
|
|
|
656
697
|
# Add appropriate flags based on environment
|
|
657
698
|
if self.in_virtualenv:
|
|
@@ -702,7 +743,10 @@ class RobustPackageInstaller:
|
|
|
702
743
|
|
|
703
744
|
# Add environment status
|
|
704
745
|
lines.append("")
|
|
705
|
-
if self.
|
|
746
|
+
if self.is_uv_tool:
|
|
747
|
+
lines.append("✓ Environment: UV Tool Environment")
|
|
748
|
+
lines.append(" Using 'uv pip' command (pip not available)")
|
|
749
|
+
elif self.in_virtualenv:
|
|
706
750
|
lines.append("✓ Environment: Virtual Environment (isolated)")
|
|
707
751
|
lines.append(" No special pip flags needed")
|
|
708
752
|
elif self.is_pep668_managed:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.48
|
|
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
|
|
@@ -49,7 +49,6 @@ Requires-Dist: rich>=13.0.0
|
|
|
49
49
|
Requires-Dist: questionary>=2.0.0
|
|
50
50
|
Requires-Dist: pyee>=13.0.0
|
|
51
51
|
Requires-Dist: pathspec>=0.11.0
|
|
52
|
-
Requires-Dist: kuzu-memory>=1.1.5
|
|
53
52
|
Provides-Extra: mcp
|
|
54
53
|
Requires-Dist: mcp>=0.1.0; extra == "mcp"
|
|
55
54
|
Requires-Dist: mcp-vector-search>=0.1.0; extra == "mcp"
|
|
@@ -101,6 +100,8 @@ Requires-Dist: pymongo>=4.5.0; extra == "data-processing"
|
|
|
101
100
|
Requires-Dist: redis>=5.0.0; extra == "data-processing"
|
|
102
101
|
Requires-Dist: beautifulsoup4>=4.12.0; extra == "data-processing"
|
|
103
102
|
Requires-Dist: jsonschema>=4.19.0; extra == "data-processing"
|
|
103
|
+
Provides-Extra: memory
|
|
104
|
+
Requires-Dist: kuzu-memory>=1.1.5; extra == "memory"
|
|
104
105
|
Dynamic: license-file
|
|
105
106
|
|
|
106
107
|
# Claude MPM - Multi-Agent Project Manager
|
|
@@ -387,12 +388,12 @@ claude-mpm verify
|
|
|
387
388
|
|
|
388
389
|
## Cache Management
|
|
389
390
|
|
|
390
|
-
Claude MPM maintains a local cache of agent templates at `~/.claude-mpm/cache/
|
|
391
|
+
Claude MPM maintains a local cache of agent templates at `~/.claude-mpm/cache/agents/`.
|
|
391
392
|
|
|
392
393
|
### Cache Structure
|
|
393
394
|
|
|
394
395
|
```
|
|
395
|
-
~/.claude-mpm/cache/
|
|
396
|
+
~/.claude-mpm/cache/agents/
|
|
396
397
|
└── bobmatnyc/
|
|
397
398
|
└── claude-mpm-agents/
|
|
398
399
|
├── .git/ # Git repository
|
|
@@ -400,6 +401,8 @@ Claude MPM maintains a local cache of agent templates at `~/.claude-mpm/cache/re
|
|
|
400
401
|
└── docs/
|
|
401
402
|
```
|
|
402
403
|
|
|
404
|
+
> **Note**: Prior to v5.4.23, agents were cached to `~/.claude-mpm/cache/remote-agents/`. This has been standardized to `~/.claude-mpm/cache/agents/`. Existing caches are automatically migrated.
|
|
405
|
+
|
|
403
406
|
### Git Workflow (Optional)
|
|
404
407
|
|
|
405
408
|
If your cache is a git repository, you can manage agents with git operations:
|