claude-mpm 4.0.13__tar.gz → 4.0.14__tar.gz
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-4.0.13 → claude_mpm-4.0.14}/PKG-INFO +2 -1
- claude_mpm-4.0.14/VERSION +1 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/pyproject.toml +41 -3
- claude_mpm-4.0.14/src/claude_mpm/agents/agent-template.yaml +83 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/run.py +7 -7
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/run_config_checker.py +3 -3
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/base_parser.py +2 -2
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/run_parser.py +2 -2
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/framework_loader.py +175 -37
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/unified_paths.py +5 -1
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm.egg-info/PKG-INFO +2 -1
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm.egg-info/SOURCES.txt +1 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm.egg-info/requires.txt +3 -0
- claude_mpm-4.0.13/src/claude_mpm/VERSION +0 -1
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/BUILD_NUMBER +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/CLAUDE.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/LICENSE +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/MANIFEST.in +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/README.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/claude-mpm +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/requirements.txt +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/scripts/ticket +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/setup.cfg +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/setup.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/BUILD_NUMBER +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14/src/claude_mpm}/VERSION +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/BASE_PM.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/MEMORY.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/WORKFLOW.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/async_agent_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/research.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/ticketing.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/web_qa.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/agents/templates/web_ui.json +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/__main__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/agents.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/aggregate.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/cleanup.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/mcp.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/memory.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/monitor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/socketio_monitor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/ticket_cli.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/config/agent_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/config/experimental_features.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/config/paths.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/constants.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/cache.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/claude_runner.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/config_constants.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/constants.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/exceptions.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/hook_performance_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/interactive_session.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/lazy.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/logging_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/oneshot_session.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/optimized_startup.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/types.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/typing_utils.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/unified_agent_registry.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/core/unified_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/index.html +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/templates/index.html +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/init.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/models/agent_session.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/scripts/socketio_server_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/management/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/memory/analyzer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/async_session_logger.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/claude_session_logger.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/command_handler_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/communication/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/base.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/interfaces/service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/core/interfaces.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/event_aggregator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/exceptions.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/infrastructure/logging.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/builder.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/optimizer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory/router.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/memory_hook_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/port_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/project/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/project/analyzer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/project/registry.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/recovery_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/response_tracker.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/runner_configuration_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/session_management_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/server/core.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio/server/main.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/socketio_server.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/system_instructions_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/utility_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/version_control/version_parser.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/services/version_service.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/storage/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/storage/state_storage.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/ticket_wrapper.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/console.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/dependency_cache.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/dependency_strategies.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/environment_context.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/file_utils.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/robust_installer.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/session_logging.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/utils/subprocess_utils.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-4.0.13 → claude_mpm-4.0.14}/src/claude_mpm.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.14
|
|
4
4
|
Summary: Claude Multi-agent Project Manager - Clean orchestration with ticket management
|
|
5
5
|
Home-page: https://github.com/bobmatnyc/claude-mpm
|
|
6
6
|
Author: Claude MPM Team
|
|
@@ -39,6 +39,7 @@ Requires-Dist: mistune>=3.0.0
|
|
|
39
39
|
Requires-Dist: aiofiles>=23.0.0
|
|
40
40
|
Requires-Dist: mcp>=0.1.0
|
|
41
41
|
Requires-Dist: ijson>=3.2.0
|
|
42
|
+
Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
|
|
42
43
|
Provides-Extra: dev
|
|
43
44
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
44
45
|
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.0.14
|
|
@@ -10,7 +10,29 @@ readme = "README.md"
|
|
|
10
10
|
requires-python = ">=3.8"
|
|
11
11
|
keywords = [ "claude", "orchestration", "multi-agent", "ticket-management",]
|
|
12
12
|
classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12",]
|
|
13
|
-
dependencies = [
|
|
13
|
+
dependencies = [
|
|
14
|
+
"ai-trackdown-pytools>=1.4.0",
|
|
15
|
+
"pyyaml>=6.0",
|
|
16
|
+
"python-dotenv>=0.19.0",
|
|
17
|
+
"click>=8.0.0",
|
|
18
|
+
"pexpect>=4.8.0",
|
|
19
|
+
"psutil>=5.9.0",
|
|
20
|
+
"requests>=2.25.0",
|
|
21
|
+
"flask>=3.0.0",
|
|
22
|
+
"flask-cors>=4.0.0",
|
|
23
|
+
"watchdog>=3.0.0",
|
|
24
|
+
"tree-sitter>=0.21.0",
|
|
25
|
+
"python-socketio>=5.11.0",
|
|
26
|
+
"aiohttp>=3.9.0",
|
|
27
|
+
"aiohttp-cors>=0.7.0,<0.8.0",
|
|
28
|
+
"python-engineio>=4.8.0",
|
|
29
|
+
"python-frontmatter>=1.0.0",
|
|
30
|
+
"mistune>=3.0.0",
|
|
31
|
+
"aiofiles>=23.0.0",
|
|
32
|
+
"mcp>=0.1.0",
|
|
33
|
+
"ijson>=3.2.0",
|
|
34
|
+
"importlib-resources>=5.0; python_version < '3.9'",
|
|
35
|
+
]
|
|
14
36
|
[[project.authors]]
|
|
15
37
|
name = "Claude MPM Team"
|
|
16
38
|
|
|
@@ -51,7 +73,23 @@ warn_unused_configs = true
|
|
|
51
73
|
disallow_untyped_defs = true
|
|
52
74
|
|
|
53
75
|
[tool.setuptools.package-data]
|
|
54
|
-
claude_mpm = [
|
|
76
|
+
claude_mpm = [
|
|
77
|
+
"VERSION",
|
|
78
|
+
"BUILD_NUMBER",
|
|
79
|
+
"scripts/*",
|
|
80
|
+
"dashboard/*.html",
|
|
81
|
+
"dashboard/templates/*.html",
|
|
82
|
+
"dashboard/static/*.css",
|
|
83
|
+
"dashboard/static/*.js",
|
|
84
|
+
"dashboard/static/css/*.css",
|
|
85
|
+
"dashboard/static/js/*.js",
|
|
86
|
+
"dashboard/static/js/components/*.js",
|
|
87
|
+
"agents/*.md",
|
|
88
|
+
"agents/*.json",
|
|
89
|
+
"agents/*.yaml",
|
|
90
|
+
"agents/templates/*.json",
|
|
91
|
+
"agents/schema/*.json",
|
|
92
|
+
]
|
|
55
93
|
|
|
56
94
|
[tool.setuptools.packages.find]
|
|
57
95
|
where = [ "src",]
|
|
@@ -80,7 +118,7 @@ asyncio_mode = "auto"
|
|
|
80
118
|
|
|
81
119
|
[tool.commitizen]
|
|
82
120
|
name = "cz_conventional_commits"
|
|
83
|
-
version = "4.0.
|
|
121
|
+
version = "4.0.14"
|
|
84
122
|
version_files = [
|
|
85
123
|
"VERSION",
|
|
86
124
|
"package.json:version"
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Agent Profile Template Configuration
|
|
2
|
+
# Inspired by awesome-claude-code's template system
|
|
3
|
+
|
|
4
|
+
profile:
|
|
5
|
+
name: "{{AGENT_NAME}}"
|
|
6
|
+
version: "{{VERSION}}"
|
|
7
|
+
description: "{{DESCRIPTION}}"
|
|
8
|
+
author: "{{AUTHOR}}"
|
|
9
|
+
created: "{{CREATED_DATE}}"
|
|
10
|
+
|
|
11
|
+
# Categories for organizing agents
|
|
12
|
+
categories:
|
|
13
|
+
- id: analysis
|
|
14
|
+
title: "Code Analysis Agents"
|
|
15
|
+
description: |
|
|
16
|
+
> Agents specialized in analyzing codebases, identifying patterns, and providing insights
|
|
17
|
+
icon: "🔍"
|
|
18
|
+
|
|
19
|
+
- id: implementation
|
|
20
|
+
title: "Implementation Agents"
|
|
21
|
+
description: |
|
|
22
|
+
> Agents focused on writing and modifying code
|
|
23
|
+
icon: "🛠️"
|
|
24
|
+
|
|
25
|
+
- id: testing
|
|
26
|
+
title: "Testing & QA Agents"
|
|
27
|
+
description: |
|
|
28
|
+
> Agents dedicated to testing, quality assurance, and validation
|
|
29
|
+
icon: "🧪"
|
|
30
|
+
|
|
31
|
+
- id: security
|
|
32
|
+
title: "Security Agents"
|
|
33
|
+
description: |
|
|
34
|
+
> Agents specialized in security analysis and vulnerability detection
|
|
35
|
+
icon: "🔒"
|
|
36
|
+
|
|
37
|
+
agents:
|
|
38
|
+
- name: "{{AGENT_ID}}"
|
|
39
|
+
category: "{{CATEGORY}}"
|
|
40
|
+
role: "{{ROLE}}"
|
|
41
|
+
description: "{{AGENT_DESCRIPTION}}"
|
|
42
|
+
|
|
43
|
+
capabilities:
|
|
44
|
+
- "{{CAPABILITY_1}}"
|
|
45
|
+
- "{{CAPABILITY_2}}"
|
|
46
|
+
- "{{CAPABILITY_3}}"
|
|
47
|
+
|
|
48
|
+
constraints:
|
|
49
|
+
- "{{CONSTRAINT_1}}"
|
|
50
|
+
- "{{CONSTRAINT_2}}"
|
|
51
|
+
|
|
52
|
+
tools:
|
|
53
|
+
- name: "{{TOOL_NAME}}"
|
|
54
|
+
description: "{{TOOL_DESCRIPTION}}"
|
|
55
|
+
required: true
|
|
56
|
+
|
|
57
|
+
prompt_template: |
|
|
58
|
+
You are a {{ROLE}} agent specializing in {{SPECIALIZATION}}.
|
|
59
|
+
|
|
60
|
+
## Your Capabilities:
|
|
61
|
+
{{CAPABILITIES_LIST}}
|
|
62
|
+
|
|
63
|
+
## Your Constraints:
|
|
64
|
+
{{CONSTRAINTS_LIST}}
|
|
65
|
+
|
|
66
|
+
## Context:
|
|
67
|
+
{context}
|
|
68
|
+
|
|
69
|
+
## Task:
|
|
70
|
+
{task}
|
|
71
|
+
|
|
72
|
+
## Additional Instructions:
|
|
73
|
+
{{ADDITIONAL_INSTRUCTIONS}}
|
|
74
|
+
|
|
75
|
+
examples:
|
|
76
|
+
- scenario: "{{EXAMPLE_SCENARIO}}"
|
|
77
|
+
input: "{{EXAMPLE_INPUT}}"
|
|
78
|
+
expected_output: "{{EXAMPLE_OUTPUT}}"
|
|
79
|
+
|
|
80
|
+
best_practices:
|
|
81
|
+
- "{{BEST_PRACTICE_1}}"
|
|
82
|
+
- "{{BEST_PRACTICE_2}}"
|
|
83
|
+
- "{{BEST_PRACTICE_3}}"
|
|
@@ -55,7 +55,7 @@ def filter_claude_mpm_args(claude_args):
|
|
|
55
55
|
"--intercept-commands",
|
|
56
56
|
"--no-native-agents",
|
|
57
57
|
"--launch-method",
|
|
58
|
-
"--resume",
|
|
58
|
+
"--mpm-resume",
|
|
59
59
|
# Dependency checking flags (MPM-specific)
|
|
60
60
|
"--no-check-dependencies",
|
|
61
61
|
"--force-check-dependencies",
|
|
@@ -99,7 +99,7 @@ def filter_claude_mpm_args(claude_args):
|
|
|
99
99
|
"--input",
|
|
100
100
|
}
|
|
101
101
|
optional_value_flags = {
|
|
102
|
-
"--resume"
|
|
102
|
+
"--mpm-resume"
|
|
103
103
|
} # These flags can have optional values (nargs="?")
|
|
104
104
|
|
|
105
105
|
if arg in value_expecting_flags and i < len(claude_args):
|
|
@@ -205,8 +205,8 @@ def run_session(args):
|
|
|
205
205
|
resume_session_id = None
|
|
206
206
|
resume_context = None
|
|
207
207
|
|
|
208
|
-
if hasattr(args, "
|
|
209
|
-
if args.
|
|
208
|
+
if hasattr(args, "mpm_resume") and args.mpm_resume:
|
|
209
|
+
if args.mpm_resume == "last":
|
|
210
210
|
# Resume the last interactive session
|
|
211
211
|
resume_session_id = session_manager.get_last_interactive_session()
|
|
212
212
|
if resume_session_id:
|
|
@@ -226,7 +226,7 @@ def run_session(args):
|
|
|
226
226
|
print("ℹ️ No recent interactive sessions found to resume")
|
|
227
227
|
else:
|
|
228
228
|
# Resume specific session by ID
|
|
229
|
-
resume_session_id = args.
|
|
229
|
+
resume_session_id = args.mpm_resume
|
|
230
230
|
session_data = session_manager.get_session_by_id(resume_session_id)
|
|
231
231
|
if session_data:
|
|
232
232
|
resume_context = session_data.get("context", "default")
|
|
@@ -728,8 +728,8 @@ def _check_claude_json_memory(args, logger):
|
|
|
728
728
|
args: Parsed command line arguments
|
|
729
729
|
logger: Logger instance for output
|
|
730
730
|
"""
|
|
731
|
-
# Only check if using --resume
|
|
732
|
-
if not hasattr(args, "
|
|
731
|
+
# Only check if using --mpm-resume
|
|
732
|
+
if not hasattr(args, "mpm_resume") or not args.mpm_resume:
|
|
733
733
|
return
|
|
734
734
|
|
|
735
735
|
claude_json_path = Path.home() / ".claude.json"
|
|
@@ -25,8 +25,8 @@ class RunConfigChecker:
|
|
|
25
25
|
memory, leading to 2GB+ memory consumption.
|
|
26
26
|
"""
|
|
27
27
|
try:
|
|
28
|
-
# Only check if --resume is being used
|
|
29
|
-
if not getattr(args, "
|
|
28
|
+
# Only check if --mpm-resume is being used
|
|
29
|
+
if not getattr(args, "mpm_resume", False):
|
|
30
30
|
return
|
|
31
31
|
|
|
32
32
|
claude_json_path = Path.cwd() / ".claude.json"
|
|
@@ -50,7 +50,7 @@ class RunConfigChecker:
|
|
|
50
50
|
print(
|
|
51
51
|
f"\n⚠️ WARNING: Large .claude.json file detected ({format_size(file_size)})"
|
|
52
52
|
)
|
|
53
|
-
print(" This may cause memory issues when using --resume")
|
|
53
|
+
print(" This may cause memory issues when using --mpm-resume")
|
|
54
54
|
print(
|
|
55
55
|
" 💡 Consider running 'claude-mpm cleanup-memory' to archive old conversations\n"
|
|
56
56
|
)
|
|
@@ -181,11 +181,11 @@ def add_top_level_run_arguments(parser: argparse.ArgumentParser) -> None:
|
|
|
181
181
|
help="WebSocket server port (default: 8765)",
|
|
182
182
|
)
|
|
183
183
|
run_group.add_argument(
|
|
184
|
-
"--resume",
|
|
184
|
+
"--mpm-resume",
|
|
185
185
|
type=str,
|
|
186
186
|
nargs="?",
|
|
187
187
|
const="last",
|
|
188
|
-
help="Resume
|
|
188
|
+
help="Resume an MPM session (last session if no ID specified, or specific session ID)",
|
|
189
189
|
)
|
|
190
190
|
run_group.add_argument(
|
|
191
191
|
"--force",
|
|
@@ -69,11 +69,11 @@ def add_run_arguments(parser: argparse.ArgumentParser) -> None:
|
|
|
69
69
|
help="Force operations even with warnings (e.g., large .claude.json file)",
|
|
70
70
|
)
|
|
71
71
|
run_group.add_argument(
|
|
72
|
-
"--resume",
|
|
72
|
+
"--mpm-resume",
|
|
73
73
|
type=str,
|
|
74
74
|
nargs="?",
|
|
75
75
|
const="last",
|
|
76
|
-
help="Resume
|
|
76
|
+
help="Resume an MPM session (last session if no ID specified, or specific session ID)",
|
|
77
77
|
)
|
|
78
78
|
|
|
79
79
|
# Dependency checking options
|
|
@@ -2,10 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
|
+
import sys
|
|
5
6
|
from datetime import datetime
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from typing import Any, Dict, Optional
|
|
8
9
|
|
|
10
|
+
# Import resource handling for packaged installations
|
|
11
|
+
try:
|
|
12
|
+
# Python 3.9+
|
|
13
|
+
from importlib.resources import files
|
|
14
|
+
except ImportError:
|
|
15
|
+
# Python 3.8 fallback
|
|
16
|
+
try:
|
|
17
|
+
from importlib_resources import files
|
|
18
|
+
except ImportError:
|
|
19
|
+
# Final fallback for development environments
|
|
20
|
+
files = None
|
|
21
|
+
|
|
9
22
|
from ..utils.imports import safe_import
|
|
10
23
|
|
|
11
24
|
# Import with fallback support - using absolute imports as primary since we're at module level
|
|
@@ -47,8 +60,53 @@ class FrameworkLoader:
|
|
|
47
60
|
self.agent_registry = AgentRegistryAdapter(self.framework_path)
|
|
48
61
|
|
|
49
62
|
def _detect_framework_path(self) -> Optional[Path]:
|
|
50
|
-
"""Auto-detect claude-mpm framework."""
|
|
51
|
-
|
|
63
|
+
"""Auto-detect claude-mpm framework using unified path management."""
|
|
64
|
+
try:
|
|
65
|
+
# Use the unified path manager for consistent detection
|
|
66
|
+
from ..core.unified_paths import get_path_manager, DeploymentContext
|
|
67
|
+
|
|
68
|
+
path_manager = get_path_manager()
|
|
69
|
+
deployment_context = path_manager._deployment_context
|
|
70
|
+
|
|
71
|
+
# Check if we're in a packaged installation
|
|
72
|
+
if deployment_context in [DeploymentContext.PIP_INSTALL, DeploymentContext.PIPX_INSTALL, DeploymentContext.SYSTEM_PACKAGE]:
|
|
73
|
+
self.logger.info(f"Running from packaged installation (context: {deployment_context})")
|
|
74
|
+
# Return a marker path to indicate packaged installation
|
|
75
|
+
return Path("__PACKAGED__")
|
|
76
|
+
elif deployment_context == DeploymentContext.DEVELOPMENT:
|
|
77
|
+
# Development mode - use framework root
|
|
78
|
+
framework_root = path_manager.framework_root
|
|
79
|
+
if (framework_root / "src" / "claude_mpm" / "agents").exists():
|
|
80
|
+
self.logger.info(f"Using claude-mpm development installation at: {framework_root}")
|
|
81
|
+
return framework_root
|
|
82
|
+
elif deployment_context == DeploymentContext.EDITABLE_INSTALL:
|
|
83
|
+
# Editable install - similar to development
|
|
84
|
+
framework_root = path_manager.framework_root
|
|
85
|
+
if (framework_root / "src" / "claude_mpm" / "agents").exists():
|
|
86
|
+
self.logger.info(f"Using claude-mpm editable installation at: {framework_root}")
|
|
87
|
+
return framework_root
|
|
88
|
+
|
|
89
|
+
except Exception as e:
|
|
90
|
+
self.logger.warning(f"Failed to use unified path manager for framework detection: {e}")
|
|
91
|
+
# Fall back to original detection logic
|
|
92
|
+
pass
|
|
93
|
+
|
|
94
|
+
# Fallback: Original detection logic for compatibility
|
|
95
|
+
try:
|
|
96
|
+
# Check if the package is installed
|
|
97
|
+
import claude_mpm
|
|
98
|
+
package_file = Path(claude_mpm.__file__)
|
|
99
|
+
|
|
100
|
+
# For packaged installations, we don't need a framework path
|
|
101
|
+
# since we'll use importlib.resources to load files
|
|
102
|
+
if 'site-packages' in str(package_file) or 'dist-packages' in str(package_file):
|
|
103
|
+
self.logger.info(f"Running from packaged installation at: {package_file.parent}")
|
|
104
|
+
# Return a marker path to indicate packaged installation
|
|
105
|
+
return Path("__PACKAGED__")
|
|
106
|
+
except ImportError:
|
|
107
|
+
pass
|
|
108
|
+
|
|
109
|
+
# Then check if we're in claude-mpm project (development mode)
|
|
52
110
|
current_file = Path(__file__)
|
|
53
111
|
if "claude-mpm" in str(current_file):
|
|
54
112
|
# We're running from claude-mpm, use its agents
|
|
@@ -110,7 +168,7 @@ class FrameworkLoader:
|
|
|
110
168
|
if self.agents_dir and self.agents_dir.exists():
|
|
111
169
|
agents_dir = self.agents_dir
|
|
112
170
|
self.logger.info(f"Using custom agents directory: {agents_dir}")
|
|
113
|
-
elif self.framework_path:
|
|
171
|
+
elif self.framework_path and self.framework_path != Path("__PACKAGED__"):
|
|
114
172
|
# Prioritize templates directory over main agents directory
|
|
115
173
|
templates_dir = (
|
|
116
174
|
self.framework_path / "src" / "claude_mpm" / "agents" / "templates"
|
|
@@ -190,7 +248,7 @@ class FrameworkLoader:
|
|
|
190
248
|
|
|
191
249
|
Precedence:
|
|
192
250
|
1. Project-specific: .claude-mpm/agents/WORKFLOW.md
|
|
193
|
-
2. System default: src/claude_mpm/agents/WORKFLOW.md
|
|
251
|
+
2. System default: src/claude_mpm/agents/WORKFLOW.md or packaged
|
|
194
252
|
|
|
195
253
|
Args:
|
|
196
254
|
content: Dictionary to update with workflow instructions
|
|
@@ -208,7 +266,7 @@ class FrameworkLoader:
|
|
|
208
266
|
return
|
|
209
267
|
|
|
210
268
|
# Fall back to system workflow
|
|
211
|
-
if self.framework_path:
|
|
269
|
+
if self.framework_path and self.framework_path != Path("__PACKAGED__"):
|
|
212
270
|
system_workflow_path = (
|
|
213
271
|
self.framework_path / "src" / "claude_mpm" / "agents" / "WORKFLOW.md"
|
|
214
272
|
)
|
|
@@ -227,7 +285,7 @@ class FrameworkLoader:
|
|
|
227
285
|
|
|
228
286
|
Precedence:
|
|
229
287
|
1. Project-specific: .claude-mpm/agents/MEMORY.md
|
|
230
|
-
2. System default: src/claude_mpm/agents/MEMORY.md
|
|
288
|
+
2. System default: src/claude_mpm/agents/MEMORY.md or packaged
|
|
231
289
|
|
|
232
290
|
Args:
|
|
233
291
|
content: Dictionary to update with memory instructions
|
|
@@ -245,7 +303,7 @@ class FrameworkLoader:
|
|
|
245
303
|
return
|
|
246
304
|
|
|
247
305
|
# Fall back to system memory instructions
|
|
248
|
-
if self.framework_path:
|
|
306
|
+
if self.framework_path and self.framework_path != Path("__PACKAGED__"):
|
|
249
307
|
system_memory_path = (
|
|
250
308
|
self.framework_path / "src" / "claude_mpm" / "agents" / "MEMORY.md"
|
|
251
309
|
)
|
|
@@ -448,38 +506,44 @@ class FrameworkLoader:
|
|
|
448
506
|
|
|
449
507
|
if not self.framework_path:
|
|
450
508
|
return content
|
|
451
|
-
|
|
452
|
-
#
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
509
|
+
|
|
510
|
+
# Check if this is a packaged installation
|
|
511
|
+
if self.framework_path == Path("__PACKAGED__"):
|
|
512
|
+
# Load files using importlib.resources for packaged installations
|
|
513
|
+
self._load_packaged_framework_content(content)
|
|
514
|
+
else:
|
|
515
|
+
# Load from filesystem for development mode
|
|
516
|
+
# Load framework's INSTRUCTIONS.md
|
|
517
|
+
framework_instructions_path = (
|
|
518
|
+
self.framework_path / "src" / "claude_mpm" / "agents" / "INSTRUCTIONS.md"
|
|
459
519
|
)
|
|
460
|
-
if
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
if
|
|
465
|
-
content["
|
|
466
|
-
content[
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
520
|
+
if framework_instructions_path.exists():
|
|
521
|
+
loaded_content = self._try_load_file(
|
|
522
|
+
framework_instructions_path, "framework INSTRUCTIONS.md"
|
|
523
|
+
)
|
|
524
|
+
if loaded_content:
|
|
525
|
+
content["framework_instructions"] = loaded_content
|
|
526
|
+
content["loaded"] = True
|
|
527
|
+
# Add framework version to content
|
|
528
|
+
if self.framework_version:
|
|
529
|
+
content["instructions_version"] = self.framework_version
|
|
530
|
+
content[
|
|
531
|
+
"version"
|
|
532
|
+
] = self.framework_version # Update main version key
|
|
533
|
+
# Add modification timestamp to content
|
|
534
|
+
if self.framework_last_modified:
|
|
535
|
+
content["instructions_last_modified"] = self.framework_last_modified
|
|
536
|
+
|
|
537
|
+
# Load BASE_PM.md for core framework requirements
|
|
538
|
+
base_pm_path = (
|
|
539
|
+
self.framework_path / "src" / "claude_mpm" / "agents" / "BASE_PM.md"
|
|
480
540
|
)
|
|
481
|
-
if
|
|
482
|
-
|
|
541
|
+
if base_pm_path.exists():
|
|
542
|
+
base_pm_content = self._try_load_file(
|
|
543
|
+
base_pm_path, "BASE_PM framework requirements"
|
|
544
|
+
)
|
|
545
|
+
if base_pm_content:
|
|
546
|
+
content["base_pm_instructions"] = base_pm_content
|
|
483
547
|
|
|
484
548
|
# Load WORKFLOW.md - check for project-specific first, then system
|
|
485
549
|
self._load_workflow_instructions(content)
|
|
@@ -497,6 +561,80 @@ class FrameworkLoader:
|
|
|
497
561
|
self._load_agents_directory(content, agents_dir, templates_dir, main_dir)
|
|
498
562
|
|
|
499
563
|
return content
|
|
564
|
+
|
|
565
|
+
def _load_packaged_framework_content(self, content: Dict[str, Any]) -> None:
|
|
566
|
+
"""Load framework content from packaged installation using importlib.resources."""
|
|
567
|
+
if not files:
|
|
568
|
+
self.logger.warning("importlib.resources not available, cannot load packaged framework")
|
|
569
|
+
return
|
|
570
|
+
|
|
571
|
+
try:
|
|
572
|
+
# Load INSTRUCTIONS.md
|
|
573
|
+
instructions_content = self._load_packaged_file("INSTRUCTIONS.md")
|
|
574
|
+
if instructions_content:
|
|
575
|
+
content["framework_instructions"] = instructions_content
|
|
576
|
+
content["loaded"] = True
|
|
577
|
+
# Extract and store version/timestamp metadata
|
|
578
|
+
self._extract_metadata_from_content(instructions_content, "INSTRUCTIONS.md")
|
|
579
|
+
if self.framework_version:
|
|
580
|
+
content["instructions_version"] = self.framework_version
|
|
581
|
+
content["version"] = self.framework_version
|
|
582
|
+
if self.framework_last_modified:
|
|
583
|
+
content["instructions_last_modified"] = self.framework_last_modified
|
|
584
|
+
|
|
585
|
+
# Load BASE_PM.md
|
|
586
|
+
base_pm_content = self._load_packaged_file("BASE_PM.md")
|
|
587
|
+
if base_pm_content:
|
|
588
|
+
content["base_pm_instructions"] = base_pm_content
|
|
589
|
+
|
|
590
|
+
# Load WORKFLOW.md
|
|
591
|
+
workflow_content = self._load_packaged_file("WORKFLOW.md")
|
|
592
|
+
if workflow_content:
|
|
593
|
+
content["workflow_instructions"] = workflow_content
|
|
594
|
+
content["project_workflow"] = "system"
|
|
595
|
+
|
|
596
|
+
# Load MEMORY.md
|
|
597
|
+
memory_content = self._load_packaged_file("MEMORY.md")
|
|
598
|
+
if memory_content:
|
|
599
|
+
content["memory_instructions"] = memory_content
|
|
600
|
+
content["project_memory"] = "system"
|
|
601
|
+
|
|
602
|
+
except Exception as e:
|
|
603
|
+
self.logger.error(f"Failed to load packaged framework content: {e}")
|
|
604
|
+
|
|
605
|
+
def _load_packaged_file(self, filename: str) -> Optional[str]:
|
|
606
|
+
"""Load a file from the packaged installation."""
|
|
607
|
+
try:
|
|
608
|
+
# Use importlib.resources to load file from package
|
|
609
|
+
agents_package = files('claude_mpm.agents')
|
|
610
|
+
file_path = agents_package / filename
|
|
611
|
+
|
|
612
|
+
if file_path.is_file():
|
|
613
|
+
content = file_path.read_text()
|
|
614
|
+
self.logger.info(f"Loaded {filename} from package")
|
|
615
|
+
return content
|
|
616
|
+
else:
|
|
617
|
+
self.logger.warning(f"File {filename} not found in package")
|
|
618
|
+
return None
|
|
619
|
+
except Exception as e:
|
|
620
|
+
self.logger.error(f"Failed to load {filename} from package: {e}")
|
|
621
|
+
return None
|
|
622
|
+
|
|
623
|
+
def _extract_metadata_from_content(self, content: str, filename: str) -> None:
|
|
624
|
+
"""Extract metadata from content string."""
|
|
625
|
+
import re
|
|
626
|
+
|
|
627
|
+
# Extract version
|
|
628
|
+
version_match = re.search(r"<!-- FRAMEWORK_VERSION: (\d+) -->", content)
|
|
629
|
+
if version_match and "INSTRUCTIONS.md" in filename:
|
|
630
|
+
self.framework_version = version_match.group(1)
|
|
631
|
+
self.logger.info(f"Framework version: {self.framework_version}")
|
|
632
|
+
|
|
633
|
+
# Extract timestamp
|
|
634
|
+
timestamp_match = re.search(r"<!-- LAST_MODIFIED: ([^>]+) -->", content)
|
|
635
|
+
if timestamp_match and "INSTRUCTIONS.md" in filename:
|
|
636
|
+
self.framework_last_modified = timestamp_match.group(1).strip()
|
|
637
|
+
self.logger.info(f"Last modified: {self.framework_last_modified}")
|
|
500
638
|
|
|
501
639
|
def get_framework_instructions(self) -> str:
|
|
502
640
|
"""
|
|
@@ -74,7 +74,11 @@ class PathContext:
|
|
|
74
74
|
module_path = Path(claude_mpm.__file__).parent
|
|
75
75
|
|
|
76
76
|
# Check for development mode
|
|
77
|
-
|
|
77
|
+
# module_path is typically /path/to/project/src/claude_mpm
|
|
78
|
+
# So we need to check if /path/to/project/src exists (module_path.parent)
|
|
79
|
+
# and if /path/to/project/src/claude_mpm exists (module_path itself)
|
|
80
|
+
if (module_path.parent.name == "src" and
|
|
81
|
+
(module_path.parent.parent / "src" / "claude_mpm").exists()):
|
|
78
82
|
return DeploymentContext.DEVELOPMENT
|
|
79
83
|
|
|
80
84
|
# Check for editable install
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 4.0.
|
|
3
|
+
Version: 4.0.14
|
|
4
4
|
Summary: Claude Multi-agent Project Manager - Clean orchestration with ticket management
|
|
5
5
|
Home-page: https://github.com/bobmatnyc/claude-mpm
|
|
6
6
|
Author: Claude MPM Team
|
|
@@ -39,6 +39,7 @@ Requires-Dist: mistune>=3.0.0
|
|
|
39
39
|
Requires-Dist: aiofiles>=23.0.0
|
|
40
40
|
Requires-Dist: mcp>=0.1.0
|
|
41
41
|
Requires-Dist: ijson>=3.2.0
|
|
42
|
+
Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
|
|
42
43
|
Provides-Extra: dev
|
|
43
44
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
44
45
|
Requires-Dist: pytest-asyncio; extra == "dev"
|
|
@@ -28,6 +28,7 @@ src/claude_mpm/agents/INSTRUCTIONS.md
|
|
|
28
28
|
src/claude_mpm/agents/MEMORY.md
|
|
29
29
|
src/claude_mpm/agents/WORKFLOW.md
|
|
30
30
|
src/claude_mpm/agents/__init__.py
|
|
31
|
+
src/claude_mpm/agents/agent-template.yaml
|
|
31
32
|
src/claude_mpm/agents/agent_loader.py
|
|
32
33
|
src/claude_mpm/agents/agent_loader_integration.py
|
|
33
34
|
src/claude_mpm/agents/agents_metadata.py
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.0.12
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|