claude-mpm 4.2.11__tar.gz → 4.2.13__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.2.13/BUILD_NUMBER +1 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/PKG-INFO +1 -1
- claude_mpm-4.2.13/VERSION +1 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/pyproject.toml +2 -2
- claude_mpm-4.2.13/src/claude_mpm/VERSION +1 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/monitor.py +17 -6
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/monitor_parser.py +12 -2
- claude_mpm-4.2.13/src/claude_mpm/commands/mpm-agents.md +48 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/daemon.py +131 -9
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/event_emitter.py +69 -6
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/management/lifecycle.py +42 -2
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/server.py +164 -10
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm.egg-info/PKG-INFO +1 -1
- claude_mpm-4.2.11/BUILD_NUMBER +0 -1
- claude_mpm-4.2.11/VERSION +0 -1
- claude_mpm-4.2.11/src/claude_mpm/VERSION +0 -1
- claude_mpm-4.2.11/src/claude_mpm/commands/mpm-agents.md +0 -12
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/CLAUDE.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/LICENSE +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/MANIFEST.in +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/README.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/scripts/ticket +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/setup.cfg +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/BUILD_NUMBER +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/BASE_DOCUMENTATION.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/BASE_ENGINEER.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/BASE_OPS.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/BASE_PM.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/BASE_QA.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/BASE_RESEARCH.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/MEMORY.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/WORKFLOW.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/agent-template.yaml +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/async_agent_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/agent-manager.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/agentic_coder_optimizer.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/api_qa.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/gcp_ops_agent.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/imagemagick.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/research.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/test-non-mpm.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/ticketing.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/web_qa.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/agents/templates/web_ui.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/__main__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/agents.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/aggregate.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/analyze.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/analyze_code.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/cleanup.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/configure.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/configure_tui.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/dashboard.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/debug.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/doctor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mcp.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mcp_pipx_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/memory.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mpm_init.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/mpm_init_handler.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/run.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/analyze_code_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/analyze_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/configure_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/dashboard_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/debug_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/mpm_init_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/shared/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/shared/base_command.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/shared/error_handling.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/startup_logging.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/ticket_cli.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/mpm-config.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/mpm-doctor.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/mpm-help.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/mpm-init.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/mpm-status.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/mpm-tickets.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/commands/mpm.md +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/config/agent_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/config/experimental_features.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/config/paths.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/constants.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/cache.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/claude_runner.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/config_constants.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/constants.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/exceptions.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/framework_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/hook_performance_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/instruction_reinforcement_hook.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/interactive_session.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/lazy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/log_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/logging_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/oneshot_session.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/optimized_startup.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/output_style_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/shared/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/shared/config_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/shared/path_resolver.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/types.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/typing_utils.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/unified_agent_registry.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/unified_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/core/unified_paths.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/analysis_runner.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/api/simple_directory.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/index.html +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/activity-tree.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/code-tree.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/code-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/css/activity.css +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/css/code-tree.css +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/css/connection-status.css +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/code-tree.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/activity-tree.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/code-simple.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/code-tree.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/code-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/connection-debug.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/file-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/connection-manager.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/test-simple.html +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/static/test_debug.html +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/templates/code_simple.html +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/templates/index.html +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/experimental/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/installer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/services/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/services/connection_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/services/state_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/services/subagent_processor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/init.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/models/agent_session.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/schemas/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/scripts/claude-hook-handler.sh +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/scripts/mcp_server.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/scripts/mpm_doctor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/agent_builder.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_operation_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_record_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_state_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/base_agent_locator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/deployment_results_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/single_agent_deployer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/management/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/memory_categorization_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/memory_file_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/memory_format_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/memory_limits_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/async_session_logger.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/claude_session_logger.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/agent_cleanup_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/agent_dependency_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/agent_listing_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/agent_output_formatter.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/agent_validation_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/memory_crud_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/memory_output_formatter.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/session_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/startup_checker.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/cli/unified_dashboard_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/command_deployment_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/command_handler_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/communication/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/cache_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/interfaces/service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/interfaces.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/memory_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/path_resolver.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/service_container.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/core/service_interfaces.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/instructions_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/diagnostics/models.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/event_aggregator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/event_bus/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/event_bus/config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/event_bus/direct_relay.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/event_bus/event_bus.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/event_bus/relay.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/consumers/logging.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/core.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/interfaces.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/producers/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/producers/hook.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/events/producers/system.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/exceptions.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/logging.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/aggregator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/legacy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/network.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/process.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/resources.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring/service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/auto_configure.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/builder.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/optimizer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory/router.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/memory_hook_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/handlers/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/handlers/code_analysis.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/handlers/dashboard.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/handlers/hooks.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/management/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/management/health.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor_build_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/port_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/analyzer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/analyzer_refactored.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/analyzer_v2.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/architecture_analyzer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/dependency_analyzer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/language_analyzer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/metrics_collector.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/project/registry.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/recovery_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/response_tracker.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/runner_configuration_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/session_management_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/shared/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/shared/async_service_base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/shared/config_service_base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/shared/manager_base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/shared/service_factory.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/dashboard_server.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/code_analysis.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/connection_handler.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/monitor_client.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/server/connection_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/server/core.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/server/eventbus_integration.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio/server/main.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/socketio_server.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/system_instructions_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/ticket_services/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/ticket_services/crud_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/ticket_services/formatter_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/ticket_services/search_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/ticket_services/validation_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/ticket_services/workflow_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/utility_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/version_control/version_parser.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/version_service.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/visualization/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/visualization/mermaid_generator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/storage/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/storage/state_storage.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/ticket_wrapper.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/tools/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/tools/__main__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/tools/code_tree_analyzer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/tools/code_tree_builder.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/tools/code_tree_events.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/tools/socketio_debug.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/console.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/dependency_cache.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/dependency_strategies.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/environment_context.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/file_utils.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/robust_installer.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/session_logging.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/utils/subprocess_utils.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm.egg-info/SOURCES.txt +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm.egg-info/requires.txt +0 -0
- {claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
342
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.2.13
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-mpm"
|
|
7
|
-
version = "4.2.
|
|
7
|
+
version = "4.2.13"
|
|
8
8
|
description = "Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
@@ -248,7 +248,7 @@ ignore-imports = false
|
|
|
248
248
|
|
|
249
249
|
[tool.commitizen]
|
|
250
250
|
name = "cz_conventional_commits"
|
|
251
|
-
version = "4.2.
|
|
251
|
+
version = "4.2.13"
|
|
252
252
|
version_files = [
|
|
253
253
|
"VERSION",
|
|
254
254
|
"src/claude_mpm/VERSION",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.2.13
|
|
@@ -70,10 +70,20 @@ class MonitorCommand(BaseCommand):
|
|
|
70
70
|
if port is None:
|
|
71
71
|
port = 8765 # Default to 8765 for unified monitor
|
|
72
72
|
host = getattr(args, "host", "localhost")
|
|
73
|
-
daemon_mode = getattr(args, "daemon", False) # Default to foreground
|
|
74
73
|
|
|
74
|
+
# Check for explicit foreground flag first, then background flag
|
|
75
|
+
# Default to daemon/background mode if neither specified
|
|
76
|
+
if getattr(args, "foreground", False):
|
|
77
|
+
daemon_mode = False
|
|
78
|
+
elif getattr(args, "background", None) is not None:
|
|
79
|
+
daemon_mode = getattr(args, "background", False)
|
|
80
|
+
else:
|
|
81
|
+
# Default to daemon/background mode
|
|
82
|
+
daemon_mode = True
|
|
83
|
+
|
|
84
|
+
mode_str = "background/daemon" if daemon_mode else "foreground"
|
|
75
85
|
self.logger.info(
|
|
76
|
-
f"Starting unified monitor daemon on {host}:{port} (
|
|
86
|
+
f"Starting unified monitor daemon on {host}:{port} (mode: {mode_str})"
|
|
77
87
|
)
|
|
78
88
|
|
|
79
89
|
# Create unified monitor daemon
|
|
@@ -95,9 +105,10 @@ class MonitorCommand(BaseCommand):
|
|
|
95
105
|
|
|
96
106
|
# Start the daemon
|
|
97
107
|
if self.daemon.start():
|
|
108
|
+
mode_info = " in background" if daemon_mode else " in foreground"
|
|
98
109
|
return CommandResult.success_result(
|
|
99
|
-
f"Unified monitor daemon started on {host}:{port}",
|
|
100
|
-
data={"url": f"http://{host}:{port}", "port": port},
|
|
110
|
+
f"Unified monitor daemon started on {host}:{port}{mode_info}",
|
|
111
|
+
data={"url": f"http://{host}:{port}", "port": port, "mode": mode_str},
|
|
101
112
|
)
|
|
102
113
|
return CommandResult.error_result("Failed to start unified monitor daemon")
|
|
103
114
|
|
|
@@ -111,8 +122,8 @@ class MonitorCommand(BaseCommand):
|
|
|
111
122
|
if not daemon.lifecycle.is_running():
|
|
112
123
|
return CommandResult.success_result("No unified monitor daemon running")
|
|
113
124
|
|
|
114
|
-
# Stop the daemon
|
|
115
|
-
if daemon.
|
|
125
|
+
# Stop the daemon by PID (works for both daemon and foreground mode)
|
|
126
|
+
if daemon.lifecycle.stop_daemon():
|
|
116
127
|
return CommandResult.success_result("Unified monitor daemon stopped")
|
|
117
128
|
return CommandResult.error_result("Failed to stop unified monitor daemon")
|
|
118
129
|
|
|
@@ -58,8 +58,18 @@ def add_monitor_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
58
58
|
default=8766,
|
|
59
59
|
help="Dashboard port (default: 8766)",
|
|
60
60
|
)
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
# Add mutually exclusive group for foreground/background modes
|
|
62
|
+
mode_group = start_monitor_parser.add_mutually_exclusive_group()
|
|
63
|
+
mode_group.add_argument(
|
|
64
|
+
"--foreground",
|
|
65
|
+
action="store_true",
|
|
66
|
+
help="Run server in foreground mode (blocks terminal)",
|
|
67
|
+
)
|
|
68
|
+
mode_group.add_argument(
|
|
69
|
+
"--background",
|
|
70
|
+
action="store_true",
|
|
71
|
+
default=None, # None allows us to detect when not specified
|
|
72
|
+
help="Run server in background/daemon mode (default behavior)",
|
|
63
73
|
)
|
|
64
74
|
start_monitor_parser.add_argument(
|
|
65
75
|
"--force",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Show available agents and their versions
|
|
2
|
+
|
|
3
|
+
Show all available Claude MPM agents with their versions and deployment status.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/mpm-agents
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Description
|
|
12
|
+
|
|
13
|
+
This command lists all available Claude MPM agents, including both built-in agents and any custom agents you've created. It shows their current deployment status, version information, and capabilities.
|
|
14
|
+
|
|
15
|
+
## What This Command Does
|
|
16
|
+
|
|
17
|
+
When you run `/mpm-agents`, I will:
|
|
18
|
+
|
|
19
|
+
1. **List Available Agents**: Run `claude-mpm agents list` to show all agents
|
|
20
|
+
2. **Display Agent Information**:
|
|
21
|
+
- Agent names and IDs
|
|
22
|
+
- Brief descriptions
|
|
23
|
+
- Model preferences (opus, sonnet, haiku)
|
|
24
|
+
- Tool availability
|
|
25
|
+
- Version information
|
|
26
|
+
- Deployment status
|
|
27
|
+
|
|
28
|
+
## Output Example
|
|
29
|
+
|
|
30
|
+
The command displays agents in a formatted table showing:
|
|
31
|
+
- Agent name and description
|
|
32
|
+
- Version and model preference
|
|
33
|
+
- Tools available to the agent
|
|
34
|
+
- Current deployment status
|
|
35
|
+
|
|
36
|
+
## Implementation
|
|
37
|
+
|
|
38
|
+
To show available agents, I'll execute:
|
|
39
|
+
```bash
|
|
40
|
+
claude-mpm agents list --deployed
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This will display all deployed agents that are currently available for use.
|
|
44
|
+
|
|
45
|
+
Alternatively, you can use these variations:
|
|
46
|
+
- `claude-mpm agents list --system` - Show system agents
|
|
47
|
+
- `claude-mpm agents list --by-tier` - Group agents by precedence tier
|
|
48
|
+
- `claude-mpm agents list --all` - Show all agents including undeployed
|
|
@@ -103,6 +103,9 @@ class UnifiedMonitorDaemon:
|
|
|
103
103
|
self.logger.warning(f"Daemon already running with PID {existing_pid}")
|
|
104
104
|
return False
|
|
105
105
|
|
|
106
|
+
# Wait for any pre-warming threads to complete before forking
|
|
107
|
+
self._wait_for_prewarm_completion()
|
|
108
|
+
|
|
106
109
|
# Daemonize the process
|
|
107
110
|
success = self.lifecycle.daemonize()
|
|
108
111
|
if not success:
|
|
@@ -115,9 +118,20 @@ class UnifiedMonitorDaemon:
|
|
|
115
118
|
"""Start in foreground mode."""
|
|
116
119
|
self.logger.info(f"Starting unified monitor daemon on {self.host}:{self.port}")
|
|
117
120
|
|
|
121
|
+
# Check if already running (check PID file even in foreground mode)
|
|
122
|
+
if self.lifecycle.is_running():
|
|
123
|
+
existing_pid = self.lifecycle.get_pid()
|
|
124
|
+
self.logger.warning(
|
|
125
|
+
f"Monitor daemon already running with PID {existing_pid}"
|
|
126
|
+
)
|
|
127
|
+
return False
|
|
128
|
+
|
|
118
129
|
# Setup signal handlers for graceful shutdown
|
|
119
130
|
self._setup_signal_handlers()
|
|
120
131
|
|
|
132
|
+
# Write PID file for foreground mode too (so other processes can detect it)
|
|
133
|
+
self.lifecycle.write_pid_file()
|
|
134
|
+
|
|
121
135
|
# Start the server
|
|
122
136
|
return self._run_server()
|
|
123
137
|
|
|
@@ -170,17 +184,29 @@ class UnifiedMonitorDaemon:
|
|
|
170
184
|
self.running = False
|
|
171
185
|
self.shutdown_event.set()
|
|
172
186
|
|
|
173
|
-
# Stop server
|
|
187
|
+
# Stop server with proper cleanup
|
|
174
188
|
if self.server:
|
|
189
|
+
self.logger.debug("Initiating server shutdown...")
|
|
175
190
|
self.server.stop()
|
|
191
|
+
# Give asyncio loops adequate time to cleanup properly
|
|
192
|
+
# This is critical to prevent kqueue errors
|
|
193
|
+
time.sleep(2.0)
|
|
194
|
+
self.server = None
|
|
176
195
|
|
|
177
196
|
# Stop health monitoring
|
|
178
197
|
if self.health_monitor:
|
|
198
|
+
self.logger.debug("Stopping health monitor...")
|
|
179
199
|
self.health_monitor.stop()
|
|
200
|
+
self.health_monitor = None
|
|
180
201
|
|
|
181
|
-
#
|
|
182
|
-
|
|
183
|
-
|
|
202
|
+
# Clean up any asyncio resources
|
|
203
|
+
self._cleanup_asyncio_resources()
|
|
204
|
+
|
|
205
|
+
# Give a final moment for OS-level cleanup
|
|
206
|
+
time.sleep(0.5)
|
|
207
|
+
|
|
208
|
+
# Cleanup daemon files (always cleanup PID file)
|
|
209
|
+
self.lifecycle.cleanup()
|
|
184
210
|
|
|
185
211
|
self.logger.info("Unified monitor daemon stopped")
|
|
186
212
|
return True
|
|
@@ -201,8 +227,10 @@ class UnifiedMonitorDaemon:
|
|
|
201
227
|
if not self.stop():
|
|
202
228
|
return False
|
|
203
229
|
|
|
204
|
-
# Wait
|
|
205
|
-
time
|
|
230
|
+
# Wait longer for port to be released properly
|
|
231
|
+
# This is needed because the daemon process may take time to fully cleanup
|
|
232
|
+
self.logger.info("Waiting for port to be fully released...")
|
|
233
|
+
time.sleep(3)
|
|
206
234
|
|
|
207
235
|
# Start again
|
|
208
236
|
return self.start()
|
|
@@ -213,12 +241,19 @@ class UnifiedMonitorDaemon:
|
|
|
213
241
|
Returns:
|
|
214
242
|
Dictionary with status information
|
|
215
243
|
"""
|
|
216
|
-
|
|
217
|
-
|
|
244
|
+
# Always check the PID file to see if a daemon is running
|
|
245
|
+
# This ensures we detect daemons started by other processes
|
|
246
|
+
is_running = self.lifecycle.is_running()
|
|
247
|
+
pid = self.lifecycle.get_pid()
|
|
248
|
+
|
|
249
|
+
# If no PID file exists but we're running in the current process
|
|
250
|
+
if not is_running and self.running:
|
|
251
|
+
is_running = True
|
|
252
|
+
pid = os.getpid()
|
|
218
253
|
|
|
219
254
|
status = {
|
|
220
255
|
"running": is_running,
|
|
221
|
-
"pid": pid,
|
|
256
|
+
"pid": pid if is_running else None,
|
|
222
257
|
"host": self.host,
|
|
223
258
|
"port": self.port,
|
|
224
259
|
"daemon_mode": self.daemon_mode,
|
|
@@ -246,11 +281,98 @@ class UnifiedMonitorDaemon:
|
|
|
246
281
|
def _cleanup(self):
|
|
247
282
|
"""Cleanup resources."""
|
|
248
283
|
try:
|
|
284
|
+
# Stop server first with proper cleanup
|
|
249
285
|
if self.server:
|
|
286
|
+
self.logger.debug("Stopping server and cleaning up event loops...")
|
|
250
287
|
self.server.stop()
|
|
288
|
+
# Give the server more time to cleanup event loops properly
|
|
289
|
+
# This is critical to prevent kqueue errors
|
|
290
|
+
time.sleep(1.5)
|
|
291
|
+
self.server = None
|
|
251
292
|
|
|
293
|
+
# Then stop health monitor
|
|
252
294
|
if self.health_monitor:
|
|
295
|
+
self.logger.debug("Stopping health monitor...")
|
|
253
296
|
self.health_monitor.stop()
|
|
297
|
+
self.health_monitor = None
|
|
298
|
+
|
|
299
|
+
# Ensure PID file is removed
|
|
300
|
+
if not self.daemon_mode:
|
|
301
|
+
# In foreground mode, make sure we cleanup the PID file
|
|
302
|
+
self.lifecycle.cleanup()
|
|
303
|
+
|
|
304
|
+
# Clean up any remaining asyncio resources in the main thread
|
|
305
|
+
self._cleanup_asyncio_resources()
|
|
306
|
+
|
|
307
|
+
# Clear any remaining references
|
|
308
|
+
self.shutdown_event.clear()
|
|
309
|
+
|
|
310
|
+
self.logger.debug("Cleanup completed successfully")
|
|
254
311
|
|
|
255
312
|
except Exception as e:
|
|
256
313
|
self.logger.error(f"Error during cleanup: {e}")
|
|
314
|
+
|
|
315
|
+
def _cleanup_asyncio_resources(self):
|
|
316
|
+
"""Clean up any asyncio resources in the current thread."""
|
|
317
|
+
try:
|
|
318
|
+
import asyncio
|
|
319
|
+
|
|
320
|
+
# Try to get the current event loop
|
|
321
|
+
try:
|
|
322
|
+
loop = asyncio.get_event_loop()
|
|
323
|
+
if loop and not loop.is_closed():
|
|
324
|
+
# Cancel any pending tasks
|
|
325
|
+
pending = asyncio.all_tasks(loop)
|
|
326
|
+
for task in pending:
|
|
327
|
+
task.cancel()
|
|
328
|
+
|
|
329
|
+
# Stop and close the loop
|
|
330
|
+
if loop.is_running():
|
|
331
|
+
loop.stop()
|
|
332
|
+
|
|
333
|
+
# Clear the event loop from the thread
|
|
334
|
+
asyncio.set_event_loop(None)
|
|
335
|
+
|
|
336
|
+
# Close the loop
|
|
337
|
+
loop.close()
|
|
338
|
+
|
|
339
|
+
except RuntimeError:
|
|
340
|
+
# No event loop in current thread, that's fine
|
|
341
|
+
pass
|
|
342
|
+
|
|
343
|
+
except Exception as e:
|
|
344
|
+
self.logger.debug(f"Error cleaning up asyncio resources: {e}")
|
|
345
|
+
|
|
346
|
+
def _wait_for_prewarm_completion(self, timeout: float = 5.0):
|
|
347
|
+
"""Wait for MCP pre-warming threads to complete before forking.
|
|
348
|
+
|
|
349
|
+
This prevents inherited threads and event loops in the forked process.
|
|
350
|
+
"""
|
|
351
|
+
try:
|
|
352
|
+
import threading
|
|
353
|
+
import time
|
|
354
|
+
|
|
355
|
+
start_time = time.time()
|
|
356
|
+
|
|
357
|
+
# Get all non-daemon threads (pre-warm threads are daemon threads)
|
|
358
|
+
# but we still want to give them a moment to complete
|
|
359
|
+
active_threads = [
|
|
360
|
+
t
|
|
361
|
+
for t in threading.enumerate()
|
|
362
|
+
if t.is_alive() and t != threading.current_thread()
|
|
363
|
+
]
|
|
364
|
+
|
|
365
|
+
if active_threads:
|
|
366
|
+
self.logger.debug(
|
|
367
|
+
f"Waiting for {len(active_threads)} threads to complete"
|
|
368
|
+
)
|
|
369
|
+
|
|
370
|
+
# Wait briefly for threads to complete
|
|
371
|
+
wait_time = min(timeout, 2.0) # Max 2 seconds for daemon threads
|
|
372
|
+
time.sleep(wait_time)
|
|
373
|
+
|
|
374
|
+
elapsed = time.time() - start_time
|
|
375
|
+
self.logger.debug(f"Waited {elapsed:.2f}s for thread completion")
|
|
376
|
+
|
|
377
|
+
except Exception as e:
|
|
378
|
+
self.logger.debug(f"Error waiting for threads: {e}")
|
|
@@ -251,20 +251,75 @@ class AsyncEventEmitter:
|
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
async def close(self):
|
|
254
|
-
"""Clean up resources."""
|
|
254
|
+
"""Clean up resources with proper order and timing."""
|
|
255
255
|
try:
|
|
256
|
-
if
|
|
257
|
-
|
|
256
|
+
# Cancel batch processor if running
|
|
257
|
+
if self._batch_processor_task and not self._batch_processor_task.done():
|
|
258
|
+
self._batch_processor_task.cancel()
|
|
259
|
+
try:
|
|
260
|
+
await self._batch_processor_task
|
|
261
|
+
except asyncio.CancelledError:
|
|
262
|
+
pass
|
|
263
|
+
except Exception as e:
|
|
264
|
+
self.logger.debug(f"Error cancelling batch processor: {e}")
|
|
265
|
+
finally:
|
|
266
|
+
self._batch_processor_task = None
|
|
267
|
+
|
|
268
|
+
# Clear Socket.IO server references first
|
|
269
|
+
# This prevents any new events from being emitted
|
|
270
|
+
self._socketio_servers.clear()
|
|
258
271
|
|
|
272
|
+
# Close HTTP session (must be done before connector)
|
|
273
|
+
if self._http_session:
|
|
274
|
+
try:
|
|
275
|
+
# Cancel any pending requests
|
|
276
|
+
if (
|
|
277
|
+
hasattr(self._http_session, "_connector")
|
|
278
|
+
and self._http_session._connector
|
|
279
|
+
):
|
|
280
|
+
# Give ongoing requests a moment to complete
|
|
281
|
+
await asyncio.sleep(0.1)
|
|
282
|
+
|
|
283
|
+
# Close the session
|
|
284
|
+
await self._http_session.close()
|
|
285
|
+
|
|
286
|
+
# CRITICAL: Wait for session to fully close
|
|
287
|
+
# This prevents the "I/O operation on closed kqueue" error
|
|
288
|
+
await asyncio.sleep(0.25)
|
|
289
|
+
|
|
290
|
+
except Exception as e:
|
|
291
|
+
self.logger.debug(f"Error closing HTTP session: {e}")
|
|
292
|
+
finally:
|
|
293
|
+
self._http_session = None
|
|
294
|
+
|
|
295
|
+
# Then close the connector (after session is fully closed)
|
|
259
296
|
if self._http_connector:
|
|
260
|
-
|
|
297
|
+
try:
|
|
298
|
+
# Close the connector
|
|
299
|
+
await self._http_connector.close()
|
|
261
300
|
|
|
262
|
-
|
|
301
|
+
# Give the connector adequate time to close all connections
|
|
302
|
+
# This is critical for preventing kqueue errors
|
|
303
|
+
await asyncio.sleep(0.5)
|
|
304
|
+
|
|
305
|
+
except Exception as e:
|
|
306
|
+
self.logger.debug(f"Error closing HTTP connector: {e}")
|
|
307
|
+
finally:
|
|
308
|
+
self._http_connector = None
|
|
263
309
|
|
|
264
|
-
|
|
310
|
+
# Reset singleton instance
|
|
311
|
+
AsyncEventEmitter._instance = None
|
|
312
|
+
|
|
313
|
+
self.logger.info("AsyncEventEmitter closed successfully")
|
|
265
314
|
|
|
266
315
|
except Exception as e:
|
|
267
316
|
self.logger.error(f"Error closing AsyncEventEmitter: {e}")
|
|
317
|
+
finally:
|
|
318
|
+
# Ensure references are cleared even if errors occur
|
|
319
|
+
self._http_session = None
|
|
320
|
+
self._http_connector = None
|
|
321
|
+
self._socketio_servers.clear()
|
|
322
|
+
AsyncEventEmitter._instance = None
|
|
268
323
|
|
|
269
324
|
|
|
270
325
|
# Global instance for easy access
|
|
@@ -277,3 +332,11 @@ async def get_event_emitter() -> AsyncEventEmitter:
|
|
|
277
332
|
if _global_emitter is None:
|
|
278
333
|
_global_emitter = await AsyncEventEmitter.get_instance()
|
|
279
334
|
return _global_emitter
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
async def cleanup_event_emitter():
|
|
338
|
+
"""Clean up the global event emitter instance."""
|
|
339
|
+
global _global_emitter
|
|
340
|
+
if _global_emitter is not None:
|
|
341
|
+
await _global_emitter.close()
|
|
342
|
+
_global_emitter = None
|
{claude_mpm-4.2.11 → claude_mpm-4.2.13}/src/claude_mpm/services/monitor/management/lifecycle.py
RENAMED
|
@@ -48,6 +48,9 @@ class DaemonLifecycle:
|
|
|
48
48
|
True if daemonization successful, False otherwise
|
|
49
49
|
"""
|
|
50
50
|
try:
|
|
51
|
+
# Clean up any existing asyncio event loops before forking
|
|
52
|
+
self._cleanup_event_loops()
|
|
53
|
+
|
|
51
54
|
# First fork
|
|
52
55
|
pid = os.fork()
|
|
53
56
|
if pid > 0:
|
|
@@ -76,7 +79,7 @@ class DaemonLifecycle:
|
|
|
76
79
|
self._redirect_streams()
|
|
77
80
|
|
|
78
81
|
# Write PID file
|
|
79
|
-
self.
|
|
82
|
+
self.write_pid_file()
|
|
80
83
|
|
|
81
84
|
# Setup signal handlers
|
|
82
85
|
self._setup_signal_handlers()
|
|
@@ -110,7 +113,7 @@ class DaemonLifecycle:
|
|
|
110
113
|
except Exception as e:
|
|
111
114
|
self.logger.error(f"Error redirecting streams: {e}")
|
|
112
115
|
|
|
113
|
-
def
|
|
116
|
+
def write_pid_file(self):
|
|
114
117
|
"""Write PID to PID file."""
|
|
115
118
|
try:
|
|
116
119
|
# Ensure parent directory exists
|
|
@@ -259,6 +262,43 @@ class DaemonLifecycle:
|
|
|
259
262
|
except Exception as e:
|
|
260
263
|
self.logger.error(f"Error removing stale PID file: {e}")
|
|
261
264
|
|
|
265
|
+
def _cleanup_event_loops(self):
|
|
266
|
+
"""Clean up any existing asyncio event loops before forking.
|
|
267
|
+
|
|
268
|
+
This prevents the 'I/O operation on closed kqueue object' error
|
|
269
|
+
that occurs when forked processes inherit event loops.
|
|
270
|
+
"""
|
|
271
|
+
try:
|
|
272
|
+
import asyncio
|
|
273
|
+
import gc
|
|
274
|
+
|
|
275
|
+
# Try to get the current event loop
|
|
276
|
+
try:
|
|
277
|
+
loop = asyncio.get_event_loop()
|
|
278
|
+
if loop and loop.is_running():
|
|
279
|
+
# Can't close a running loop, but we can stop it
|
|
280
|
+
loop.stop()
|
|
281
|
+
self.logger.debug("Stopped running event loop before fork")
|
|
282
|
+
elif loop:
|
|
283
|
+
# Close the loop if it exists and is not running
|
|
284
|
+
loop.close()
|
|
285
|
+
self.logger.debug("Closed event loop before fork")
|
|
286
|
+
except RuntimeError:
|
|
287
|
+
# No event loop in current thread
|
|
288
|
+
pass
|
|
289
|
+
|
|
290
|
+
# Clear the event loop policy to ensure clean state
|
|
291
|
+
asyncio.set_event_loop(None)
|
|
292
|
+
|
|
293
|
+
# Force garbage collection to clean up any loop resources
|
|
294
|
+
gc.collect()
|
|
295
|
+
|
|
296
|
+
except ImportError:
|
|
297
|
+
# asyncio not available (unlikely but handle it)
|
|
298
|
+
pass
|
|
299
|
+
except Exception as e:
|
|
300
|
+
self.logger.debug(f"Error cleaning up event loops before fork: {e}")
|
|
301
|
+
|
|
262
302
|
def get_status(self) -> dict:
|
|
263
303
|
"""Get daemon status information.
|
|
264
304
|
|