claude-mpm 4.7.4__py3-none-any.whl → 4.18.2__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.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_AGENT_TEMPLATE.md +118 -0
- claude_mpm/agents/BASE_ENGINEER.md +286 -0
- claude_mpm/agents/BASE_PM.md +106 -1
- claude_mpm/agents/OUTPUT_STYLE.md +329 -11
- claude_mpm/agents/PM_INSTRUCTIONS.md +397 -459
- claude_mpm/agents/agent_loader.py +17 -5
- claude_mpm/agents/frontmatter_validator.py +284 -253
- claude_mpm/agents/templates/README.md +465 -0
- claude_mpm/agents/templates/agent-manager.json +4 -1
- claude_mpm/agents/templates/agentic-coder-optimizer.json +13 -3
- claude_mpm/agents/templates/api_qa.json +11 -2
- claude_mpm/agents/templates/circuit_breakers.md +638 -0
- claude_mpm/agents/templates/clerk-ops.json +12 -2
- claude_mpm/agents/templates/code_analyzer.json +8 -2
- claude_mpm/agents/templates/content-agent.json +358 -0
- claude_mpm/agents/templates/dart_engineer.json +15 -2
- claude_mpm/agents/templates/data_engineer.json +15 -2
- claude_mpm/agents/templates/documentation.json +10 -2
- claude_mpm/agents/templates/engineer.json +21 -1
- claude_mpm/agents/templates/gcp_ops_agent.json +12 -2
- claude_mpm/agents/templates/git_file_tracking.md +584 -0
- claude_mpm/agents/templates/golang_engineer.json +270 -0
- claude_mpm/agents/templates/imagemagick.json +4 -1
- claude_mpm/agents/templates/java_engineer.json +346 -0
- claude_mpm/agents/templates/local_ops_agent.json +1227 -6
- claude_mpm/agents/templates/memory_manager.json +4 -1
- claude_mpm/agents/templates/nextjs_engineer.json +141 -133
- claude_mpm/agents/templates/ops.json +12 -2
- claude_mpm/agents/templates/php-engineer.json +270 -174
- claude_mpm/agents/templates/pm_examples.md +474 -0
- claude_mpm/agents/templates/pm_red_flags.md +240 -0
- claude_mpm/agents/templates/product_owner.json +338 -0
- claude_mpm/agents/templates/project_organizer.json +14 -4
- claude_mpm/agents/templates/prompt-engineer.json +13 -2
- claude_mpm/agents/templates/python_engineer.json +174 -81
- claude_mpm/agents/templates/qa.json +11 -2
- claude_mpm/agents/templates/react_engineer.json +16 -3
- claude_mpm/agents/templates/refactoring_engineer.json +12 -2
- claude_mpm/agents/templates/research.json +34 -21
- claude_mpm/agents/templates/response_format.md +583 -0
- claude_mpm/agents/templates/ruby-engineer.json +129 -192
- claude_mpm/agents/templates/rust_engineer.json +270 -0
- claude_mpm/agents/templates/security.json +10 -2
- claude_mpm/agents/templates/svelte-engineer.json +225 -0
- claude_mpm/agents/templates/ticketing.json +10 -2
- claude_mpm/agents/templates/typescript_engineer.json +116 -125
- claude_mpm/agents/templates/validation_templates.md +312 -0
- claude_mpm/agents/templates/vercel_ops_agent.json +12 -2
- claude_mpm/agents/templates/version_control.json +12 -2
- claude_mpm/agents/templates/web_qa.json +11 -2
- claude_mpm/agents/templates/web_ui.json +15 -2
- claude_mpm/cli/__init__.py +34 -614
- claude_mpm/cli/commands/agent_manager.py +25 -12
- claude_mpm/cli/commands/agent_state_manager.py +186 -0
- claude_mpm/cli/commands/agents.py +235 -148
- claude_mpm/cli/commands/agents_detect.py +380 -0
- claude_mpm/cli/commands/agents_recommend.py +309 -0
- claude_mpm/cli/commands/aggregate.py +7 -3
- claude_mpm/cli/commands/analyze.py +9 -4
- claude_mpm/cli/commands/analyze_code.py +7 -2
- claude_mpm/cli/commands/auto_configure.py +570 -0
- claude_mpm/cli/commands/config.py +47 -13
- claude_mpm/cli/commands/configure.py +419 -1571
- claude_mpm/cli/commands/configure_agent_display.py +261 -0
- claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
- claude_mpm/cli/commands/configure_hook_manager.py +225 -0
- claude_mpm/cli/commands/configure_models.py +18 -0
- claude_mpm/cli/commands/configure_navigation.py +167 -0
- claude_mpm/cli/commands/configure_paths.py +104 -0
- claude_mpm/cli/commands/configure_persistence.py +254 -0
- claude_mpm/cli/commands/configure_startup_manager.py +646 -0
- claude_mpm/cli/commands/configure_template_editor.py +497 -0
- claude_mpm/cli/commands/configure_validators.py +73 -0
- claude_mpm/cli/commands/local_deploy.py +537 -0
- claude_mpm/cli/commands/memory.py +54 -20
- claude_mpm/cli/commands/mpm_init.py +585 -196
- claude_mpm/cli/commands/mpm_init_handler.py +37 -3
- claude_mpm/cli/commands/search.py +170 -4
- claude_mpm/cli/commands/upgrade.py +152 -0
- claude_mpm/cli/executor.py +202 -0
- claude_mpm/cli/helpers.py +105 -0
- claude_mpm/cli/interactive/__init__.py +3 -0
- claude_mpm/cli/interactive/skills_wizard.py +491 -0
- claude_mpm/cli/parsers/__init__.py +7 -1
- claude_mpm/cli/parsers/agents_parser.py +9 -0
- claude_mpm/cli/parsers/auto_configure_parser.py +245 -0
- claude_mpm/cli/parsers/base_parser.py +110 -3
- claude_mpm/cli/parsers/local_deploy_parser.py +227 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +65 -5
- claude_mpm/cli/shared/output_formatters.py +28 -19
- claude_mpm/cli/startup.py +481 -0
- claude_mpm/cli/utils.py +52 -1
- claude_mpm/commands/mpm-agents-detect.md +168 -0
- claude_mpm/commands/mpm-agents-recommend.md +214 -0
- claude_mpm/commands/mpm-agents.md +75 -1
- claude_mpm/commands/mpm-auto-configure.md +217 -0
- claude_mpm/commands/mpm-help.md +163 -0
- claude_mpm/commands/mpm-init.md +148 -3
- claude_mpm/commands/mpm-version.md +113 -0
- claude_mpm/commands/mpm.md +1 -0
- claude_mpm/config/agent_config.py +2 -2
- claude_mpm/config/model_config.py +428 -0
- claude_mpm/constants.py +1 -0
- claude_mpm/core/base_service.py +13 -12
- claude_mpm/core/enums.py +452 -0
- claude_mpm/core/factories.py +1 -1
- claude_mpm/core/instruction_reinforcement_hook.py +2 -1
- claude_mpm/core/interactive_session.py +9 -3
- claude_mpm/core/log_manager.py +2 -0
- claude_mpm/core/logging_config.py +6 -2
- claude_mpm/core/oneshot_session.py +8 -4
- claude_mpm/core/optimized_agent_loader.py +3 -3
- claude_mpm/core/output_style_manager.py +12 -192
- claude_mpm/core/service_registry.py +5 -1
- claude_mpm/core/types.py +2 -9
- claude_mpm/core/typing_utils.py +7 -6
- claude_mpm/dashboard/static/js/dashboard.js +0 -14
- claude_mpm/dashboard/templates/index.html +3 -41
- claude_mpm/hooks/__init__.py +20 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +4 -2
- claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +23 -2
- claude_mpm/hooks/failure_learning/__init__.py +60 -0
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +235 -0
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +217 -0
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +286 -0
- claude_mpm/hooks/instruction_reinforcement.py +7 -2
- claude_mpm/hooks/kuzu_enrichment_hook.py +263 -0
- claude_mpm/hooks/kuzu_memory_hook.py +37 -12
- claude_mpm/hooks/kuzu_response_hook.py +183 -0
- claude_mpm/models/resume_log.py +340 -0
- claude_mpm/services/agents/__init__.py +18 -5
- claude_mpm/services/agents/auto_config_manager.py +796 -0
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
- claude_mpm/services/agents/deployment/agent_validator.py +17 -1
- claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
- claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
- claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +7 -6
- claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +7 -16
- claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +4 -3
- claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +5 -3
- claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +6 -5
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +9 -6
- claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
- claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
- claude_mpm/services/agents/local_template_manager.py +1 -1
- claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
- claude_mpm/services/agents/observers.py +547 -0
- claude_mpm/services/agents/recommender.py +568 -0
- claude_mpm/services/agents/registry/modification_tracker.py +5 -2
- claude_mpm/services/command_handler_service.py +11 -5
- claude_mpm/services/core/__init__.py +33 -1
- claude_mpm/services/core/interfaces/__init__.py +90 -3
- claude_mpm/services/core/interfaces/agent.py +184 -0
- claude_mpm/services/core/interfaces/health.py +172 -0
- claude_mpm/services/core/interfaces/model.py +281 -0
- claude_mpm/services/core/interfaces/process.py +372 -0
- claude_mpm/services/core/interfaces/project.py +121 -0
- claude_mpm/services/core/interfaces/restart.py +307 -0
- claude_mpm/services/core/interfaces/stability.py +260 -0
- claude_mpm/services/core/memory_manager.py +11 -24
- claude_mpm/services/core/models/__init__.py +79 -0
- claude_mpm/services/core/models/agent_config.py +381 -0
- claude_mpm/services/core/models/health.py +162 -0
- claude_mpm/services/core/models/process.py +235 -0
- claude_mpm/services/core/models/restart.py +302 -0
- claude_mpm/services/core/models/stability.py +264 -0
- claude_mpm/services/core/models/toolchain.py +306 -0
- claude_mpm/services/core/path_resolver.py +23 -7
- claude_mpm/services/diagnostics/__init__.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_check.py +25 -24
- claude_mpm/services/diagnostics/checks/claude_code_check.py +24 -23
- claude_mpm/services/diagnostics/checks/common_issues_check.py +25 -24
- claude_mpm/services/diagnostics/checks/configuration_check.py +24 -23
- claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
- claude_mpm/services/diagnostics/checks/installation_check.py +30 -29
- claude_mpm/services/diagnostics/checks/instructions_check.py +20 -19
- claude_mpm/services/diagnostics/checks/mcp_check.py +50 -36
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +38 -33
- claude_mpm/services/diagnostics/checks/monitor_check.py +23 -22
- claude_mpm/services/diagnostics/checks/startup_log_check.py +9 -8
- claude_mpm/services/diagnostics/diagnostic_runner.py +6 -5
- claude_mpm/services/diagnostics/doctor_reporter.py +28 -25
- claude_mpm/services/diagnostics/models.py +19 -24
- claude_mpm/services/infrastructure/monitoring/__init__.py +1 -1
- claude_mpm/services/infrastructure/monitoring/aggregator.py +12 -12
- claude_mpm/services/infrastructure/monitoring/base.py +5 -13
- claude_mpm/services/infrastructure/monitoring/network.py +7 -6
- claude_mpm/services/infrastructure/monitoring/process.py +13 -12
- claude_mpm/services/infrastructure/monitoring/resources.py +7 -6
- claude_mpm/services/infrastructure/monitoring/service.py +16 -15
- claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
- claude_mpm/services/local_ops/__init__.py +163 -0
- claude_mpm/services/local_ops/crash_detector.py +257 -0
- claude_mpm/services/local_ops/health_checks/__init__.py +28 -0
- claude_mpm/services/local_ops/health_checks/http_check.py +224 -0
- claude_mpm/services/local_ops/health_checks/process_check.py +236 -0
- claude_mpm/services/local_ops/health_checks/resource_check.py +255 -0
- claude_mpm/services/local_ops/health_manager.py +430 -0
- claude_mpm/services/local_ops/log_monitor.py +396 -0
- claude_mpm/services/local_ops/memory_leak_detector.py +294 -0
- claude_mpm/services/local_ops/process_manager.py +595 -0
- claude_mpm/services/local_ops/resource_monitor.py +331 -0
- claude_mpm/services/local_ops/restart_manager.py +401 -0
- claude_mpm/services/local_ops/restart_policy.py +387 -0
- claude_mpm/services/local_ops/state_manager.py +372 -0
- claude_mpm/services/local_ops/unified_manager.py +600 -0
- claude_mpm/services/mcp_config_manager.py +9 -4
- claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
- claude_mpm/services/mcp_gateway/core/base.py +18 -31
- claude_mpm/services/mcp_gateway/main.py +30 -0
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +206 -32
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +30 -28
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +25 -5
- claude_mpm/services/mcp_service_verifier.py +1 -1
- claude_mpm/services/memory/failure_tracker.py +563 -0
- claude_mpm/services/memory_hook_service.py +165 -4
- claude_mpm/services/model/__init__.py +147 -0
- claude_mpm/services/model/base_provider.py +365 -0
- claude_mpm/services/model/claude_provider.py +412 -0
- claude_mpm/services/model/model_router.py +453 -0
- claude_mpm/services/model/ollama_provider.py +415 -0
- claude_mpm/services/monitor/daemon_manager.py +3 -2
- claude_mpm/services/monitor/handlers/dashboard.py +2 -1
- claude_mpm/services/monitor/handlers/hooks.py +2 -1
- claude_mpm/services/monitor/management/lifecycle.py +3 -2
- claude_mpm/services/monitor/server.py +2 -1
- claude_mpm/services/project/__init__.py +23 -0
- claude_mpm/services/project/detection_strategies.py +719 -0
- claude_mpm/services/project/toolchain_analyzer.py +581 -0
- claude_mpm/services/self_upgrade_service.py +342 -0
- claude_mpm/services/session_management_service.py +3 -2
- claude_mpm/services/session_manager.py +205 -1
- claude_mpm/services/shared/async_service_base.py +16 -27
- claude_mpm/services/shared/lifecycle_service_base.py +1 -14
- claude_mpm/services/socketio/handlers/__init__.py +5 -2
- claude_mpm/services/socketio/handlers/hook.py +13 -2
- claude_mpm/services/socketio/handlers/registry.py +4 -2
- claude_mpm/services/socketio/server/main.py +10 -8
- claude_mpm/services/subprocess_launcher_service.py +14 -5
- claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +8 -7
- claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +6 -5
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +8 -7
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +7 -6
- claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +5 -4
- claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
- claude_mpm/services/unified/deployment_strategies/local.py +6 -5
- claude_mpm/services/unified/deployment_strategies/utils.py +6 -5
- claude_mpm/services/unified/deployment_strategies/vercel.py +7 -6
- claude_mpm/services/unified/interfaces.py +3 -1
- claude_mpm/services/unified/unified_analyzer.py +14 -10
- claude_mpm/services/unified/unified_config.py +2 -1
- claude_mpm/services/unified/unified_deployment.py +9 -4
- claude_mpm/services/version_service.py +104 -1
- claude_mpm/skills/__init__.py +21 -0
- claude_mpm/skills/bundled/__init__.py +6 -0
- claude_mpm/skills/bundled/api-documentation.md +393 -0
- claude_mpm/skills/bundled/async-testing.md +571 -0
- claude_mpm/skills/bundled/code-review.md +143 -0
- claude_mpm/skills/bundled/database-migration.md +199 -0
- claude_mpm/skills/bundled/docker-containerization.md +194 -0
- claude_mpm/skills/bundled/express-local-dev.md +1429 -0
- claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
- claude_mpm/skills/bundled/git-workflow.md +414 -0
- claude_mpm/skills/bundled/imagemagick.md +204 -0
- claude_mpm/skills/bundled/json-data-handling.md +223 -0
- claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
- claude_mpm/skills/bundled/pdf.md +141 -0
- claude_mpm/skills/bundled/performance-profiling.md +567 -0
- claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
- claude_mpm/skills/bundled/security-scanning.md +327 -0
- claude_mpm/skills/bundled/systematic-debugging.md +473 -0
- claude_mpm/skills/bundled/test-driven-development.md +378 -0
- claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
- claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
- claude_mpm/skills/bundled/xlsx.md +157 -0
- claude_mpm/skills/registry.py +286 -0
- claude_mpm/skills/skill_manager.py +310 -0
- claude_mpm/storage/state_storage.py +15 -15
- claude_mpm/tools/code_tree_analyzer.py +177 -141
- claude_mpm/tools/code_tree_events.py +4 -2
- claude_mpm/utils/agent_dependency_loader.py +40 -20
- claude_mpm/utils/display_helper.py +260 -0
- claude_mpm/utils/git_analyzer.py +407 -0
- claude_mpm/utils/robust_installer.py +73 -19
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/METADATA +129 -12
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/RECORD +295 -193
- claude_mpm/dashboard/static/css/code-tree.css +0 -1639
- claude_mpm/dashboard/static/index-hub-backup.html +0 -713
- claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -353
- claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -235
- claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -409
- claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -435
- claude_mpm/dashboard/static/js/components/code-tree.js +0 -5869
- claude_mpm/dashboard/static/js/components/code-viewer.js +0 -1386
- claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
- claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
- claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
- claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
- claude_mpm/services/project/analyzer_refactored.py +0 -450
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/WHEEL +0 -0
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/top_level.txt +0 -0
|
@@ -9,6 +9,7 @@ DESIGN DECISION: We implement exponential backoff for retries and provide
|
|
|
9
9
|
multiple installation strategies (pip, conda, source) to maximize success rate.
|
|
10
10
|
"""
|
|
11
11
|
|
|
12
|
+
import os
|
|
12
13
|
import re
|
|
13
14
|
import subprocess
|
|
14
15
|
import sys
|
|
@@ -80,6 +81,7 @@ class RobustPackageInstaller:
|
|
|
80
81
|
self.use_cache = use_cache
|
|
81
82
|
self.attempts: List[InstallAttempt] = []
|
|
82
83
|
self.success_cache: Dict[str, bool] = {}
|
|
84
|
+
self.in_virtualenv = self._check_virtualenv()
|
|
83
85
|
self.is_pep668_managed = self._check_pep668_managed()
|
|
84
86
|
self.pep668_warning_shown = False
|
|
85
87
|
|
|
@@ -201,6 +203,35 @@ class RobustPackageInstaller:
|
|
|
201
203
|
except Exception as e:
|
|
202
204
|
return False, f"Unexpected error: {e!s}"
|
|
203
205
|
|
|
206
|
+
def _check_virtualenv(self) -> bool:
|
|
207
|
+
"""
|
|
208
|
+
Check if running inside a virtual environment.
|
|
209
|
+
|
|
210
|
+
WHY: Virtual environments are already isolated and don't need
|
|
211
|
+
--user or --break-system-packages flags. In fact, using --user
|
|
212
|
+
in a virtualenv causes errors.
|
|
213
|
+
|
|
214
|
+
Returns:
|
|
215
|
+
True if in a virtualenv, False otherwise
|
|
216
|
+
"""
|
|
217
|
+
# Multiple ways to detect virtualenv
|
|
218
|
+
return (
|
|
219
|
+
(
|
|
220
|
+
# venv creates sys.base_prefix
|
|
221
|
+
hasattr(sys, "base_prefix")
|
|
222
|
+
and sys.base_prefix != sys.prefix
|
|
223
|
+
)
|
|
224
|
+
or (
|
|
225
|
+
# virtualenv creates sys.real_prefix
|
|
226
|
+
hasattr(sys, "real_prefix")
|
|
227
|
+
)
|
|
228
|
+
or (
|
|
229
|
+
# VIRTUAL_ENV environment variable
|
|
230
|
+
os.environ.get("VIRTUAL_ENV")
|
|
231
|
+
is not None
|
|
232
|
+
)
|
|
233
|
+
)
|
|
234
|
+
|
|
204
235
|
def _check_pep668_managed(self) -> bool:
|
|
205
236
|
"""
|
|
206
237
|
Check if Python environment is PEP 668 externally managed.
|
|
@@ -211,6 +242,11 @@ class RobustPackageInstaller:
|
|
|
211
242
|
Returns:
|
|
212
243
|
True if PEP 668 managed, False otherwise
|
|
213
244
|
"""
|
|
245
|
+
# If in virtualenv, PEP 668 doesn't apply
|
|
246
|
+
if self.in_virtualenv:
|
|
247
|
+
logger.debug("Running in virtualenv, PEP 668 restrictions don't apply")
|
|
248
|
+
return False
|
|
249
|
+
|
|
214
250
|
# Check for EXTERNALLY-MANAGED marker file
|
|
215
251
|
stdlib_path = sysconfig.get_path("stdlib")
|
|
216
252
|
marker_file = Path(stdlib_path) / "EXTERNALLY-MANAGED"
|
|
@@ -240,7 +276,7 @@ class RobustPackageInstaller:
|
|
|
240
276
|
"Your Python installation is marked as externally managed (PEP 668).\n"
|
|
241
277
|
"This typically means you're using a system Python managed by Homebrew, apt, etc.\n"
|
|
242
278
|
"\n"
|
|
243
|
-
"Installing packages with --break-system-packages
|
|
279
|
+
"Installing packages with --break-system-packages flag...\n"
|
|
244
280
|
"\n"
|
|
245
281
|
"RECOMMENDED: Use a virtual environment instead:\n"
|
|
246
282
|
" python -m venv .venv\n"
|
|
@@ -255,8 +291,10 @@ class RobustPackageInstaller:
|
|
|
255
291
|
"""
|
|
256
292
|
Build the installation command for a given strategy.
|
|
257
293
|
|
|
258
|
-
WHY:
|
|
259
|
-
|
|
294
|
+
WHY: Proper environment detection ensures we use the right pip flags:
|
|
295
|
+
- Virtualenv: No special flags needed (already isolated)
|
|
296
|
+
- PEP 668 system: Use --break-system-packages only
|
|
297
|
+
- Normal system: Use --user for user-local install
|
|
260
298
|
|
|
261
299
|
Args:
|
|
262
300
|
package_spec: Package specification
|
|
@@ -267,14 +305,19 @@ class RobustPackageInstaller:
|
|
|
267
305
|
"""
|
|
268
306
|
base_cmd = [sys.executable, "-m", "pip", "install"]
|
|
269
307
|
|
|
270
|
-
#
|
|
271
|
-
if self.
|
|
308
|
+
# Determine appropriate flags based on environment
|
|
309
|
+
if self.in_virtualenv:
|
|
310
|
+
# In virtualenv - no special flags needed
|
|
311
|
+
logger.debug("Installing in virtualenv (no special flags)")
|
|
312
|
+
elif self.is_pep668_managed:
|
|
313
|
+
# System Python with PEP 668 - use --break-system-packages only
|
|
272
314
|
self._show_pep668_warning()
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
)
|
|
315
|
+
base_cmd.append("--break-system-packages")
|
|
316
|
+
logger.debug("Added --break-system-packages flag for PEP 668 environment")
|
|
317
|
+
else:
|
|
318
|
+
# Normal system Python - use --user for user-local install
|
|
319
|
+
base_cmd.append("--user")
|
|
320
|
+
logger.debug("Added --user flag for user-local installation")
|
|
278
321
|
|
|
279
322
|
# Add cache control
|
|
280
323
|
if not self.use_cache:
|
|
@@ -612,11 +655,16 @@ class RobustPackageInstaller:
|
|
|
612
655
|
try:
|
|
613
656
|
cmd = [sys.executable, "-m", "pip", "install"]
|
|
614
657
|
|
|
615
|
-
# Add
|
|
616
|
-
if self.
|
|
658
|
+
# Add appropriate flags based on environment
|
|
659
|
+
if self.in_virtualenv:
|
|
660
|
+
logger.debug("Batch install in virtualenv (no special flags)")
|
|
661
|
+
elif self.is_pep668_managed:
|
|
617
662
|
self._show_pep668_warning()
|
|
618
|
-
cmd.
|
|
619
|
-
logger.debug("Added
|
|
663
|
+
cmd.append("--break-system-packages")
|
|
664
|
+
logger.debug("Added --break-system-packages for batch installation")
|
|
665
|
+
else:
|
|
666
|
+
cmd.append("--user")
|
|
667
|
+
logger.debug("Added --user flag for batch installation")
|
|
620
668
|
|
|
621
669
|
cmd.extend(packages)
|
|
622
670
|
|
|
@@ -654,12 +702,18 @@ class RobustPackageInstaller:
|
|
|
654
702
|
lines.append("INSTALLATION REPORT")
|
|
655
703
|
lines.append("=" * 60)
|
|
656
704
|
|
|
657
|
-
# Add
|
|
658
|
-
|
|
659
|
-
|
|
705
|
+
# Add environment status
|
|
706
|
+
lines.append("")
|
|
707
|
+
if self.in_virtualenv:
|
|
708
|
+
lines.append("✓ Environment: Virtual Environment (isolated)")
|
|
709
|
+
lines.append(" No special pip flags needed")
|
|
710
|
+
elif self.is_pep668_managed:
|
|
660
711
|
lines.append("⚠️ PEP 668 Managed Environment: YES")
|
|
661
|
-
lines.append(" Installations used --break-system-packages
|
|
712
|
+
lines.append(" Installations used --break-system-packages flag")
|
|
662
713
|
lines.append(" Consider using a virtual environment for better isolation")
|
|
714
|
+
else:
|
|
715
|
+
lines.append("Environment: System Python")
|
|
716
|
+
lines.append(" Installations used --user flag for user-local install")
|
|
663
717
|
|
|
664
718
|
# Summary
|
|
665
719
|
total_attempts = len(self.attempts)
|
|
@@ -672,7 +726,7 @@ class RobustPackageInstaller:
|
|
|
672
726
|
lines.append("")
|
|
673
727
|
|
|
674
728
|
# Details by package
|
|
675
|
-
packages = {}
|
|
729
|
+
packages: Dict[str, List[InstallAttempt]] = {}
|
|
676
730
|
for attempt in self.attempts:
|
|
677
731
|
if attempt.package not in packages:
|
|
678
732
|
packages[attempt.package] = []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.18.2
|
|
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,12 +49,12 @@ Requires-Dist: rich>=13.0.0
|
|
|
49
49
|
Requires-Dist: pyee>=13.0.0
|
|
50
50
|
Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
|
|
51
51
|
Requires-Dist: pathspec>=0.11.0
|
|
52
|
+
Requires-Dist: kuzu-memory>=1.1.5
|
|
52
53
|
Provides-Extra: mcp
|
|
53
54
|
Requires-Dist: mcp>=0.1.0; extra == "mcp"
|
|
54
55
|
Requires-Dist: mcp-vector-search>=0.1.0; extra == "mcp"
|
|
55
56
|
Requires-Dist: mcp-browser>=0.1.0; extra == "mcp"
|
|
56
57
|
Requires-Dist: mcp-ticketer>=0.1.0; extra == "mcp"
|
|
57
|
-
Requires-Dist: kuzu-memory>=1.1.5; extra == "mcp"
|
|
58
58
|
Provides-Extra: dev
|
|
59
59
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
60
60
|
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
@@ -157,10 +157,13 @@ A powerful orchestration framework for **Claude Code (CLI)** that enables multi-
|
|
|
157
157
|
## Features
|
|
158
158
|
|
|
159
159
|
- 🤖 **Multi-Agent System**: 15 specialized agents for comprehensive project management
|
|
160
|
+
- 🎯 **Skills System**: 20 bundled skills with auto-linking, three-tier organization (bundled/user/project), and interactive configuration
|
|
160
161
|
- 🧠 **Persistent Knowledge System**: Project-specific kuzu-memory integration for intelligent context retention
|
|
161
162
|
- 🔄 **Session Management**: Resume previous sessions with `--resume`
|
|
163
|
+
- 📋 **Resume Log System**: Proactive context management with automatic 10k-token session logs at 70%/85%/95% thresholds
|
|
162
164
|
- 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
|
|
163
|
-
- 🔌 **
|
|
165
|
+
- 🔌 **Smart MCP Services**: Interactive auto-install for mcp-vector-search on first use (pip/pipx choice)
|
|
166
|
+
- 🔍 **Semantic Code Search**: Optional vector search with graceful fallback to grep/glob
|
|
164
167
|
- 📁 **Multi-Project Support**: Per-session working directories with persistent knowledge graphs
|
|
165
168
|
- 🔍 **Git Integration**: View diffs and track changes across projects
|
|
166
169
|
- 🎯 **Smart Task Orchestration**: PM agent intelligently routes work to specialists
|
|
@@ -193,10 +196,12 @@ claude-mpm mcp-pipx-config
|
|
|
193
196
|
```
|
|
194
197
|
|
|
195
198
|
**💡 Optional Dependencies**:
|
|
196
|
-
- `[mcp]` - Include MCP services (mcp-vector-search, mcp-browser, mcp-ticketer
|
|
199
|
+
- `[mcp]` - Include MCP services (mcp-vector-search, mcp-browser, mcp-ticketer)
|
|
197
200
|
- `[monitor]` - Full monitoring dashboard with Socket.IO and async web server components
|
|
198
201
|
- **Combine both**: Use `"claude-mpm[mcp,monitor]"` to install all features
|
|
199
|
-
-
|
|
202
|
+
- **Note**: kuzu-memory is now a required dependency, always included with Claude MPM
|
|
203
|
+
- **Auto-Install**: mcp-vector-search offers interactive installation on first use (pip/pipx choice)
|
|
204
|
+
- Without pre-installed MCP dependencies, services install on-demand with user confirmation
|
|
200
205
|
|
|
201
206
|
**🎉 Pipx Support Now Fully Functional!** Recent improvements ensure complete compatibility:
|
|
202
207
|
- ✅ Socket.IO daemon script path resolution (fixed)
|
|
@@ -215,6 +220,11 @@ claude-mpm
|
|
|
215
220
|
# Start with monitoring dashboard
|
|
216
221
|
claude-mpm run --monitor
|
|
217
222
|
|
|
223
|
+
# Use semantic code search (auto-installs mcp-vector-search on first use)
|
|
224
|
+
claude-mpm search "authentication logic"
|
|
225
|
+
# or inside Claude Code session:
|
|
226
|
+
/mpm-search "authentication logic"
|
|
227
|
+
|
|
218
228
|
# Use MCP Gateway for external tool integration
|
|
219
229
|
claude-mpm mcp
|
|
220
230
|
|
|
@@ -297,6 +307,41 @@ Claude MPM includes 15 specialized agents:
|
|
|
297
307
|
### Agent Memory System
|
|
298
308
|
Agents learn project-specific patterns using a simple list format and can update memories via JSON response fields (`remember` for incremental updates, `MEMORIES` for complete replacement). Initialize with `claude-mpm memory init`.
|
|
299
309
|
|
|
310
|
+
### Skills System
|
|
311
|
+
|
|
312
|
+
Claude MPM includes a powerful skills system that eliminates redundant agent guidance through reusable skill modules:
|
|
313
|
+
|
|
314
|
+
**20 Bundled Skills** covering essential development workflows (all versioned starting at 0.1.0):
|
|
315
|
+
- Git workflow, TDD, code review, systematic debugging
|
|
316
|
+
- API documentation, refactoring patterns, performance profiling
|
|
317
|
+
- Docker containerization, database migrations, security scanning
|
|
318
|
+
- JSON/PDF/XLSX handling, async testing, ImageMagick operations
|
|
319
|
+
- Local development servers: Next.js, FastAPI, Vite, Express
|
|
320
|
+
- Web performance: Lighthouse metrics, Core Web Vitals optimization
|
|
321
|
+
|
|
322
|
+
**Three-Tier Organization:**
|
|
323
|
+
- **Bundled**: Core skills included with Claude MPM (~15,000 lines of reusable guidance)
|
|
324
|
+
- **User**: Custom skills in `~/.config/claude-mpm/skills/`
|
|
325
|
+
- **Project**: Project-specific skills in `.claude-mpm/skills/`
|
|
326
|
+
|
|
327
|
+
**Version Tracking:**
|
|
328
|
+
- All skills support semantic versioning (MAJOR.MINOR.PATCH)
|
|
329
|
+
- Check versions with `/mpm-version` command in Claude Code
|
|
330
|
+
- See [Skills Versioning Guide](docs/user/skills-versioning.md) for details
|
|
331
|
+
|
|
332
|
+
**Quick Access:**
|
|
333
|
+
```bash
|
|
334
|
+
# Interactive skills management
|
|
335
|
+
claude-mpm configure
|
|
336
|
+
# Choose option 2: Skills Management
|
|
337
|
+
|
|
338
|
+
# Auto-link skills to agents based on their roles
|
|
339
|
+
# Configure custom skill assignments
|
|
340
|
+
# View current skill mappings
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Skills are automatically injected into agent prompts, reducing template size by 85% while maintaining full capability coverage.
|
|
344
|
+
|
|
300
345
|
### MCP Gateway (Model Context Protocol)
|
|
301
346
|
|
|
302
347
|
Claude MPM includes a powerful MCP Gateway that enables:
|
|
@@ -319,6 +364,72 @@ claude-mpm cleanup-memory
|
|
|
319
364
|
claude-mpm cleanup-memory --days 7
|
|
320
365
|
```
|
|
321
366
|
|
|
367
|
+
### Resume Log System
|
|
368
|
+
|
|
369
|
+
**NEW in v4.17.2** - Proactive context management for seamless session continuity.
|
|
370
|
+
|
|
371
|
+
The Resume Log System automatically generates structured 10k-token logs when approaching Claude's context window limits, enabling you to resume work without losing important context.
|
|
372
|
+
|
|
373
|
+
**Key Features**:
|
|
374
|
+
- 🎯 **Graduated Thresholds**: Warnings at 70% (60k buffer), 85% (30k buffer), and 95% (10k buffer)
|
|
375
|
+
- 📋 **Structured Logs**: 10k-token budget intelligently distributed across 7 key sections
|
|
376
|
+
- 🔄 **Seamless Resumption**: Automatically loads previous session context on startup
|
|
377
|
+
- 📁 **Human-Readable**: Markdown format for both Claude and human review
|
|
378
|
+
- ⚙️ **Zero-Configuration**: Works automatically with sensible defaults
|
|
379
|
+
|
|
380
|
+
**How It Works**:
|
|
381
|
+
1. Monitor token usage continuously throughout session
|
|
382
|
+
2. Display proactive warnings at 70%, 85%, and 95% thresholds
|
|
383
|
+
3. Automatically generate resume log when approaching limits
|
|
384
|
+
4. Load previous resume log when starting new session
|
|
385
|
+
5. Continue work seamlessly with full context preservation
|
|
386
|
+
|
|
387
|
+
**Example Resume Log Structure**:
|
|
388
|
+
```markdown
|
|
389
|
+
# Session Resume Log: 20251101_115000
|
|
390
|
+
|
|
391
|
+
## Context Metrics (500 tokens)
|
|
392
|
+
- Token usage and percentage
|
|
393
|
+
|
|
394
|
+
## Mission Summary (1,000 tokens)
|
|
395
|
+
- Overall goal and purpose
|
|
396
|
+
|
|
397
|
+
## Accomplishments (2,000 tokens)
|
|
398
|
+
- What was completed
|
|
399
|
+
|
|
400
|
+
## Key Findings (2,500 tokens)
|
|
401
|
+
- Important discoveries
|
|
402
|
+
|
|
403
|
+
## Decisions & Rationale (1,500 tokens)
|
|
404
|
+
- Why choices were made
|
|
405
|
+
|
|
406
|
+
## Next Steps (1,500 tokens)
|
|
407
|
+
- What to do next
|
|
408
|
+
|
|
409
|
+
## Critical Context (1,000 tokens)
|
|
410
|
+
- Essential state, IDs, paths
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
**Configuration** (`.claude-mpm/configuration.yaml`):
|
|
414
|
+
```yaml
|
|
415
|
+
context_management:
|
|
416
|
+
enabled: true
|
|
417
|
+
budget_total: 200000
|
|
418
|
+
thresholds:
|
|
419
|
+
caution: 0.70 # First warning - plan transition
|
|
420
|
+
warning: 0.85 # Strong warning - wrap up
|
|
421
|
+
critical: 0.95 # Urgent - stop new work
|
|
422
|
+
resume_logs:
|
|
423
|
+
enabled: true
|
|
424
|
+
auto_generate: true
|
|
425
|
+
max_tokens: 10000
|
|
426
|
+
storage_dir: ".claude-mpm/resume-logs"
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
**QA Status**: 40/41 tests passing (97.6% coverage), APPROVED FOR PRODUCTION ✅
|
|
430
|
+
|
|
431
|
+
See [docs/user/resume-logs.md](docs/user/resume-logs.md) for complete documentation.
|
|
432
|
+
|
|
322
433
|
### Real-Time Monitoring
|
|
323
434
|
The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
|
|
324
435
|
|
|
@@ -357,19 +468,25 @@ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md]
|
|
|
357
468
|
- **Single Entry Point**: [docs/README.md](docs/README.md) is your navigation hub
|
|
358
469
|
- **Clear User Paths**: Organized by user type and experience level
|
|
359
470
|
- **Cross-Referenced**: Links between related topics and sections
|
|
360
|
-
- **Up-to-Date**: Version 4.
|
|
471
|
+
- **Up-to-Date**: Version 4.16.3 with web performance optimization skill
|
|
472
|
+
|
|
473
|
+
## Recent Updates (v4.16.3)
|
|
474
|
+
|
|
475
|
+
**Web Performance Optimization**: New `web-performance-optimization` skill for Lighthouse metrics, Core Web Vitals (LCP, INP, CLS), and framework-specific optimization patterns.
|
|
476
|
+
|
|
477
|
+
## Previous Updates (v4.16.1)
|
|
361
478
|
|
|
362
|
-
|
|
479
|
+
**Local Development Skills**: Added 4 new toolchain-specific skills: `nextjs-local-dev`, `fastapi-local-dev`, `vite-local-dev`, and `express-local-dev` for professional local server management with PM2, HMR, and production-grade patterns.
|
|
363
480
|
|
|
364
|
-
**
|
|
481
|
+
**Skills System Integration**: 20 bundled skills with auto-linking, three-tier organization, and interactive configuration. Eliminates 85% of redundant guidance across agent templates (~15,000 lines of reusable content).
|
|
365
482
|
|
|
366
|
-
**
|
|
483
|
+
**Enhanced Documentation**: Complete documentation suite with PDF guides, reorganized structure, and comprehensive design documents for skills integration.
|
|
367
484
|
|
|
368
|
-
**
|
|
485
|
+
**Agent Template Improvements**: Cleaned agent templates with skills integration, removing redundant guidance while maintaining full capability coverage.
|
|
369
486
|
|
|
370
|
-
**
|
|
487
|
+
**Interactive Skills Management**: New skills wizard accessible via `claude-mpm configure` for viewing, configuring, and auto-linking skills to agents.
|
|
371
488
|
|
|
372
|
-
**
|
|
489
|
+
**Bug Fixes**: Resolved agent template inconsistencies and improved configuration management.
|
|
373
490
|
|
|
374
491
|
See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/user/MIGRATION.md](docs/user/MIGRATION.md) for upgrade instructions.
|
|
375
492
|
|