claude-mpm 4.0.34__tar.gz → 4.1.0__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.34 → claude_mpm-4.1.0}/CLAUDE.md +2 -1
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/PKG-INFO +25 -7
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/README.md +19 -6
- claude_mpm-4.1.0/VERSION +1 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/pyproject.toml +56 -2
- claude_mpm-4.1.0/src/claude_mpm/VERSION +1 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/INSTRUCTIONS.md +70 -2
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -11
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/WORKFLOW.md +14 -2
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/__init__.py +48 -7
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/agents.py +82 -0
- claude_mpm-4.1.0/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +150 -0
- claude_mpm-4.1.0/src/claude_mpm/cli/commands/mcp_pipx_config.py +199 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/agents_parser.py +27 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/base_parser.py +6 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/startup_logging.py +75 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +35 -1
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/socket-client.js +7 -5
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +13 -2
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +67 -167
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -1
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +2 -1
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +4 -1
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +207 -10
- claude_mpm-4.1.0/src/claude_mpm/services/event_bus/config.py +165 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/event_bus/event_bus.py +35 -20
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/event_bus/relay.py +8 -12
- claude_mpm-4.1.0/src/claude_mpm/services/mcp_gateway/auto_configure.py +372 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/connection.py +3 -3
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/server/core.py +25 -2
- claude_mpm-4.1.0/src/claude_mpm/services/socketio/server/eventbus_integration.py +189 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/server/main.py +25 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm.egg-info/PKG-INFO +25 -7
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm.egg-info/SOURCES.txt +5 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm.egg-info/requires.txt +5 -0
- claude_mpm-4.0.34/VERSION +0 -1
- claude_mpm-4.0.34/src/claude_mpm/VERSION +0 -1
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/BUILD_NUMBER +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/LICENSE +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/MANIFEST.in +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/scripts/ticket +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/setup.cfg +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/BUILD_NUMBER +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/BASE_PM.md +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/MEMORY.md +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/agent-template.yaml +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/async_agent_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/agent-manager.md +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/api_qa.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/research.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/ticketing.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/vercel_ops_instructions.md +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/web_qa.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/agents/templates/web_ui.json +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/__main__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/aggregate.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/cleanup.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/doctor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/mcp.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/memory.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/monitor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/run.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/run_config_checker.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/socketio_monitor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/shared/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/shared/base_command.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/shared/error_handling.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/ticket_cli.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/config/agent_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/config/experimental_features.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/config/paths.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/constants.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/cache.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/claude_runner.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/config_constants.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/constants.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/exceptions.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/framework_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/hook_performance_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/interactive_session.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/lazy.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/logging_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/oneshot_session.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/optimized_startup.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/output_style_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/shared/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/shared/config_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/shared/path_resolver.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/types.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/typing_utils.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/unified_agent_registry.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/unified_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/core/unified_paths.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/index.html +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/templates/index.html +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/init.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/models/agent_session.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/scripts/mcp_server.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/scripts/socketio_daemon_hardened.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/scripts/socketio_server_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/agent_builder.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/management/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/async_session_logger.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/claude_session_logger.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/command_handler_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/communication/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/base.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/interfaces/service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/core/interfaces.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/diagnostics/models.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/event_aggregator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/event_bus/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/consumers/logging.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/core.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/interfaces.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/producers/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/producers/hook.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/events/producers/system.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/exceptions.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/infrastructure/logging.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/builder.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/optimizer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory/router.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/memory_hook_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/monitor_build_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/port_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/project/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/project/analyzer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/project/registry.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/recovery_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/response_tracker.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/runner_configuration_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/session_management_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/shared/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/shared/async_service_base.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/shared/config_service_base.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/shared/manager_base.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/shared/service_factory.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/socketio_server.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/system_instructions_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/utility_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/version_control/version_parser.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/services/version_service.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/storage/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/storage/state_storage.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/ticket_wrapper.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/console.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/dependency_cache.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/dependency_strategies.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/environment_context.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/file_utils.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/robust_installer.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/session_logging.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/utils/subprocess_utils.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-4.0.34 → claude_mpm-4.1.0}/src/claude_mpm.egg-info/top_level.txt +0 -0
| @@ -72,11 +72,12 @@ Following the TSK-0053 refactoring, Claude MPM features: | |
| 72 72 | 
             
            # Full test suite
         | 
| 73 73 | 
             
            ./scripts/run_all_tests.sh
         | 
| 74 74 |  | 
| 75 | 
            -
            # Lint and type checks
         | 
| 75 | 
            +
            # Lint and type checks (catches duplicate imports!)
         | 
| 76 76 | 
             
            ./scripts/run_lint.sh
         | 
| 77 77 | 
             
            ```
         | 
| 78 78 |  | 
| 79 79 | 
             
            See [docs/QA.md](docs/QA.md) for detailed testing procedures.
         | 
| 80 | 
            +
            See [docs/LINTING.md](docs/LINTING.md) for linting configuration and duplicate import detection.
         | 
| 80 81 |  | 
| 81 82 | 
             
            ### Key System Components
         | 
| 82 83 |  | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            Metadata-Version: 2.4
         | 
| 2 2 | 
             
            Name: claude-mpm
         | 
| 3 | 
            -
            Version: 4.0 | 
| 3 | 
            +
            Version: 4.1.0
         | 
| 4 4 | 
             
            Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
         | 
| 5 5 | 
             
            Author-email: Bob Matsuoka <bob@matsuoka.com>
         | 
| 6 6 | 
             
            Maintainer: Claude MPM Team
         | 
| @@ -54,6 +54,11 @@ Requires-Dist: pytest-asyncio; extra == "dev" | |
| 54 54 | 
             
            Requires-Dist: pytest-cov; extra == "dev"
         | 
| 55 55 | 
             
            Requires-Dist: black; extra == "dev"
         | 
| 56 56 | 
             
            Requires-Dist: flake8; extra == "dev"
         | 
| 57 | 
            +
            Requires-Dist: flake8-import-order; extra == "dev"
         | 
| 58 | 
            +
            Requires-Dist: flake8-tidy-imports; extra == "dev"
         | 
| 59 | 
            +
            Requires-Dist: flake8-bugbear; extra == "dev"
         | 
| 60 | 
            +
            Requires-Dist: ruff>=0.1.0; extra == "dev"
         | 
| 61 | 
            +
            Requires-Dist: pylint>=3.0.0; extra == "dev"
         | 
| 57 62 | 
             
            Requires-Dist: pre-commit; extra == "dev"
         | 
| 58 63 | 
             
            Requires-Dist: mypy>=1.0.0; extra == "dev"
         | 
| 59 64 | 
             
            Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
         | 
| @@ -133,6 +138,13 @@ A powerful orchestration framework for Claude Code that enables multi-agent work | |
| 133 138 | 
             
            pip install claude-mpm
         | 
| 134 139 | 
             
            ```
         | 
| 135 140 |  | 
| 141 | 
            +
            Or with pipx (recommended for isolated installation):
         | 
| 142 | 
            +
            ```bash
         | 
| 143 | 
            +
            pipx install claude-mpm
         | 
| 144 | 
            +
            # Configure MCP for pipx users:
         | 
| 145 | 
            +
            claude-mpm mcp-pipx-config
         | 
| 146 | 
            +
            ```
         | 
| 147 | 
            +
             | 
| 136 148 | 
             
            **That's it!** See [QUICKSTART.md](QUICKSTART.md) for immediate usage or [docs/user/installation.md](docs/user/installation.md) for advanced options.
         | 
| 137 149 |  | 
| 138 150 | 
             
            ## Quick Usage
         | 
| @@ -157,15 +169,17 @@ claude-mpm cleanup-memory | |
| 157 169 | 
             
            See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
         | 
| 158 170 |  | 
| 159 171 |  | 
| 160 | 
            -
            ## Architecture ( | 
| 172 | 
            +
            ## Architecture (v4.1.0+)
         | 
| 161 173 |  | 
| 162 | 
            -
            Following  | 
| 174 | 
            +
            Following continuous improvements through v4.1.0, Claude MPM features:
         | 
| 163 175 |  | 
| 164 | 
            -
            - **Service-Oriented Architecture**: Five specialized service domains
         | 
| 176 | 
            +
            - **Service-Oriented Architecture**: Five specialized service domains with Socket.IO stability improvements
         | 
| 165 177 | 
             
            - **Interface-Based Contracts**: All services implement explicit interfaces
         | 
| 166 178 | 
             
            - **Dependency Injection**: Service container with automatic resolution
         | 
| 167 179 | 
             
            - **50-80% Performance Improvement**: Through lazy loading and intelligent caching
         | 
| 168 180 | 
             
            - **Enhanced Security**: Comprehensive input validation and sanitization framework
         | 
| 181 | 
            +
            - **Improved Monitoring**: Enhanced dashboard with hierarchical agent display
         | 
| 182 | 
            +
            - **Socket.IO Stability**: Major reliability improvements for real-time communication
         | 
| 169 183 |  | 
| 170 184 | 
             
            See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture information.
         | 
| 171 185 |  | 
| @@ -254,11 +268,15 @@ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md] | |
| 254 268 | 
             
            ### API Documentation
         | 
| 255 269 | 
             
            Comprehensive API documentation is available at [docs/api/](docs/api/) - build with `make html` in that directory.
         | 
| 256 270 |  | 
| 257 | 
            -
            ## Recent Updates ( | 
| 271 | 
            +
            ## Recent Updates (v4.1.0)
         | 
| 272 | 
            +
             | 
| 273 | 
            +
            **Socket.IO Stability Improvements**: Major reliability enhancements for real-time communication with improved error handling and connection management.
         | 
| 274 | 
            +
             | 
| 275 | 
            +
            **Project Organization**: Comprehensive cleanup and reorganization with structured script directories for better maintainability.
         | 
| 258 276 |  | 
| 259 | 
            -
            ** | 
| 277 | 
            +
            **Documentation Consolidation**: Streamlined documentation structure with consolidated guides and improved navigation.
         | 
| 260 278 |  | 
| 261 | 
            -
            ** | 
| 279 | 
            +
            **Agent Hierarchy Display**: Enhanced dashboard with hierarchical agent display showing PM at top level with visual distinction for implied vs explicit nodes.
         | 
| 262 280 |  | 
| 263 281 | 
             
            See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions.
         | 
| 264 282 |  | 
| @@ -23,6 +23,13 @@ A powerful orchestration framework for Claude Code that enables multi-agent work | |
| 23 23 | 
             
            pip install claude-mpm
         | 
| 24 24 | 
             
            ```
         | 
| 25 25 |  | 
| 26 | 
            +
            Or with pipx (recommended for isolated installation):
         | 
| 27 | 
            +
            ```bash
         | 
| 28 | 
            +
            pipx install claude-mpm
         | 
| 29 | 
            +
            # Configure MCP for pipx users:
         | 
| 30 | 
            +
            claude-mpm mcp-pipx-config
         | 
| 31 | 
            +
            ```
         | 
| 32 | 
            +
             | 
| 26 33 | 
             
            **That's it!** See [QUICKSTART.md](QUICKSTART.md) for immediate usage or [docs/user/installation.md](docs/user/installation.md) for advanced options.
         | 
| 27 34 |  | 
| 28 35 | 
             
            ## Quick Usage
         | 
| @@ -47,15 +54,17 @@ claude-mpm cleanup-memory | |
| 47 54 | 
             
            See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
         | 
| 48 55 |  | 
| 49 56 |  | 
| 50 | 
            -
            ## Architecture ( | 
| 57 | 
            +
            ## Architecture (v4.1.0+)
         | 
| 51 58 |  | 
| 52 | 
            -
            Following  | 
| 59 | 
            +
            Following continuous improvements through v4.1.0, Claude MPM features:
         | 
| 53 60 |  | 
| 54 | 
            -
            - **Service-Oriented Architecture**: Five specialized service domains
         | 
| 61 | 
            +
            - **Service-Oriented Architecture**: Five specialized service domains with Socket.IO stability improvements
         | 
| 55 62 | 
             
            - **Interface-Based Contracts**: All services implement explicit interfaces
         | 
| 56 63 | 
             
            - **Dependency Injection**: Service container with automatic resolution
         | 
| 57 64 | 
             
            - **50-80% Performance Improvement**: Through lazy loading and intelligent caching
         | 
| 58 65 | 
             
            - **Enhanced Security**: Comprehensive input validation and sanitization framework
         | 
| 66 | 
            +
            - **Improved Monitoring**: Enhanced dashboard with hierarchical agent display
         | 
| 67 | 
            +
            - **Socket.IO Stability**: Major reliability improvements for real-time communication
         | 
| 59 68 |  | 
| 60 69 | 
             
            See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture information.
         | 
| 61 70 |  | 
| @@ -144,11 +153,15 @@ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md] | |
| 144 153 | 
             
            ### API Documentation
         | 
| 145 154 | 
             
            Comprehensive API documentation is available at [docs/api/](docs/api/) - build with `make html` in that directory.
         | 
| 146 155 |  | 
| 147 | 
            -
            ## Recent Updates ( | 
| 156 | 
            +
            ## Recent Updates (v4.1.0)
         | 
| 157 | 
            +
             | 
| 158 | 
            +
            **Socket.IO Stability Improvements**: Major reliability enhancements for real-time communication with improved error handling and connection management.
         | 
| 159 | 
            +
             | 
| 160 | 
            +
            **Project Organization**: Comprehensive cleanup and reorganization with structured script directories for better maintainability.
         | 
| 148 161 |  | 
| 149 | 
            -
            ** | 
| 162 | 
            +
            **Documentation Consolidation**: Streamlined documentation structure with consolidated guides and improved navigation.
         | 
| 150 163 |  | 
| 151 | 
            -
            ** | 
| 164 | 
            +
            **Agent Hierarchy Display**: Enhanced dashboard with hierarchical agent display showing PM at top level with visual distinction for implied vs explicit nodes.
         | 
| 152 165 |  | 
| 153 166 | 
             
            See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions.
         | 
| 154 167 |  | 
    
        claude_mpm-4.1.0/VERSION
    ADDED
    
    | @@ -0,0 +1 @@ | |
| 1 | 
            +
            4.1.0
         | 
| @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" | |
| 4 4 |  | 
| 5 5 | 
             
            [project]
         | 
| 6 6 | 
             
            name = "claude-mpm"
         | 
| 7 | 
            -
            version = "4.0 | 
| 7 | 
            +
            version = "4.1.0"
         | 
| 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"
         | 
| @@ -89,6 +89,11 @@ dev = [ | |
| 89 89 | 
             
                # Code formatting and linting
         | 
| 90 90 | 
             
                "black",
         | 
| 91 91 | 
             
                "flake8",
         | 
| 92 | 
            +
                "flake8-import-order",
         | 
| 93 | 
            +
                "flake8-tidy-imports",
         | 
| 94 | 
            +
                "flake8-bugbear",
         | 
| 95 | 
            +
                "ruff>=0.1.0",
         | 
| 96 | 
            +
                "pylint>=3.0.0",
         | 
| 92 97 | 
             
                "pre-commit",
         | 
| 93 98 |  | 
| 94 99 | 
             
                # Type checking
         | 
| @@ -184,9 +189,58 @@ markers = [ | |
| 184 189 | 
             
            ]
         | 
| 185 190 | 
             
            asyncio_mode = "auto"
         | 
| 186 191 |  | 
| 192 | 
            +
            [tool.ruff]
         | 
| 193 | 
            +
            # Ruff configuration for duplicate import detection
         | 
| 194 | 
            +
            line-length = 88
         | 
| 195 | 
            +
            target-version = "py38"
         | 
| 196 | 
            +
            select = [
         | 
| 197 | 
            +
                "F",     # Pyflakes
         | 
| 198 | 
            +
                "E",     # pycodestyle errors  
         | 
| 199 | 
            +
                "W",     # pycodestyle warnings
         | 
| 200 | 
            +
                "I",     # isort
         | 
| 201 | 
            +
                "F401",  # Unused imports
         | 
| 202 | 
            +
                "F811",  # Redefinition (catches duplicate imports!)
         | 
| 203 | 
            +
                "F821",  # Undefined name (catches scope issues!)
         | 
| 204 | 
            +
                "F823",  # Local variable referenced before assignment
         | 
| 205 | 
            +
            ]
         | 
| 206 | 
            +
            ignore = ["E203", "E501"]
         | 
| 207 | 
            +
            exclude = [
         | 
| 208 | 
            +
                ".git", "__pycache__", ".venv", "venv", "build", "dist",
         | 
| 209 | 
            +
                "*.egg-info", ".pytest_cache", ".mypy_cache", "node_modules"
         | 
| 210 | 
            +
            ]
         | 
| 211 | 
            +
             | 
| 212 | 
            +
            [tool.ruff.per-file-ignores]
         | 
| 213 | 
            +
            "__init__.py" = ["F401", "F403"]
         | 
| 214 | 
            +
            "tests/*" = ["F403", "F405"]
         | 
| 215 | 
            +
             | 
| 216 | 
            +
            [tool.pylint]
         | 
| 217 | 
            +
            # Pylint configuration for additional checks
         | 
| 218 | 
            +
            max-line-length = 88
         | 
| 219 | 
            +
            disable = [
         | 
| 220 | 
            +
                "C0111",  # missing-docstring
         | 
| 221 | 
            +
                "C0103",  # invalid-name
         | 
| 222 | 
            +
                "R0903",  # too-few-public-methods
         | 
| 223 | 
            +
                "R0913",  # too-many-arguments
         | 
| 224 | 
            +
                "W0212",  # protected-access
         | 
| 225 | 
            +
            ]
         | 
| 226 | 
            +
            # Enable duplicate code detection
         | 
| 227 | 
            +
            enable = [
         | 
| 228 | 
            +
                "duplicate-code",
         | 
| 229 | 
            +
                "reimported",
         | 
| 230 | 
            +
                "import-self",
         | 
| 231 | 
            +
                "cyclic-import",
         | 
| 232 | 
            +
                "wrong-import-order",
         | 
| 233 | 
            +
                "ungrouped-imports",
         | 
| 234 | 
            +
                "wrong-import-position",
         | 
| 235 | 
            +
            ]
         | 
| 236 | 
            +
            min-similarity-lines = 4
         | 
| 237 | 
            +
            ignore-comments = true
         | 
| 238 | 
            +
            ignore-docstrings = true
         | 
| 239 | 
            +
            ignore-imports = false
         | 
| 240 | 
            +
             | 
| 187 241 | 
             
            [tool.commitizen]
         | 
| 188 242 | 
             
            name = "cz_conventional_commits"
         | 
| 189 | 
            -
            version = "4.0 | 
| 243 | 
            +
            version = "4.1.0"
         | 
| 190 244 | 
             
            version_files = [
         | 
| 191 245 | 
             
                "VERSION",
         | 
| 192 246 | 
             
                "src/claude_mpm/VERSION",
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            4.1.0
         | 
| @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            <!-- FRAMEWORK_VERSION: 0010 -->
         | 
| 2 2 | 
             
            <!-- LAST_MODIFIED: 2025-08-10T00:00:00Z -->
         | 
| 3 3 |  | 
| 4 | 
            -
            # Claude Multi-Agent Project Manager Instructions
         | 
| 4 | 
            +
            # Claude Multi-Agent (Claude-MPM) Project Manager Instructions
         | 
| 5 5 |  | 
| 6 | 
            -
            ## 🔴  | 
| 6 | 
            +
            ## 🔴 YOUR PRIME DIRECTIVE - MANDATORY DELEGATION 🔴
         | 
| 7 7 |  | 
| 8 8 | 
             
            **YOU ARE STRICTLY FORBIDDEN FROM DOING ANY WORK DIRECTLY.**
         | 
| 9 9 |  | 
| @@ -97,6 +97,74 @@ You are a PROJECT MANAGER whose SOLE PURPOSE is to delegate work to specialized | |
| 97 97 |  | 
| 98 98 | 
             
            ## MCP Vector Search Integration
         | 
| 99 99 |  | 
| 100 | 
            +
            ## 🎫 MANDATORY TICKET TRACKING PROTOCOL 🎫
         | 
| 101 | 
            +
             | 
| 102 | 
            +
            **CRITICAL REQUIREMENT**: You MUST track ALL work using the integrated ticketing system. This is NOT optional.
         | 
| 103 | 
            +
             | 
| 104 | 
            +
            ### Session Work Tracking Rules
         | 
| 105 | 
            +
             | 
| 106 | 
            +
            **At Session Start**:
         | 
| 107 | 
            +
            1. **ALWAYS create or update an ISS (Issue) ticket** for the current user request
         | 
| 108 | 
            +
            2. **Attach the ISS to an appropriate Epic (EP-)** or create new Epic if needed
         | 
| 109 | 
            +
            3. **Set ISS status to "in-progress"** when beginning work
         | 
| 110 | 
            +
            4. **Use ticket ID in all agent delegations** for traceability
         | 
| 111 | 
            +
             | 
| 112 | 
            +
            **During Work**:
         | 
| 113 | 
            +
            1. **Include ticket context in ALL delegations** to agents
         | 
| 114 | 
            +
            2. **Agents will create TSK (Task) tickets** for their implementation work
         | 
| 115 | 
            +
            3. **Update ISS ticket after each phase completion** with progress
         | 
| 116 | 
            +
            4. **Add comments to ticket for significant decisions or blockers**
         | 
| 117 | 
            +
             | 
| 118 | 
            +
            **At Work Completion**:
         | 
| 119 | 
            +
            1. **Update ISS ticket status to "done"** when all delegations complete
         | 
| 120 | 
            +
            2. **Add final summary comment** with outcomes and deliverables
         | 
| 121 | 
            +
            3. **Close the ticket** if no follow-up work is needed
         | 
| 122 | 
            +
            4. **Reference ticket ID in final response** to user
         | 
| 123 | 
            +
             | 
| 124 | 
            +
            ### Ticket Creation Commands
         | 
| 125 | 
            +
             | 
| 126 | 
            +
            **When MCP Gateway is available**:
         | 
| 127 | 
            +
            ```
         | 
| 128 | 
            +
            Use mcp__claude-mpm-gateway__ticket tool with operation: "create"
         | 
| 129 | 
            +
            ```
         | 
| 130 | 
            +
             | 
| 131 | 
            +
            **When using delegation**:
         | 
| 132 | 
            +
            ```
         | 
| 133 | 
            +
            Delegate to Ticketing Agent with clear instructions:
         | 
| 134 | 
            +
            - Create ISS for: [user request]
         | 
| 135 | 
            +
            - Parent Epic: [EP-XXXX or create new]
         | 
| 136 | 
            +
            - Priority: [based on urgency]
         | 
| 137 | 
            +
            - Description: [detailed context]
         | 
| 138 | 
            +
            ```
         | 
| 139 | 
            +
             | 
| 140 | 
            +
            ### Work Resumption via Tickets
         | 
| 141 | 
            +
             | 
| 142 | 
            +
            **Instead of session resume, use tickets for continuity**:
         | 
| 143 | 
            +
            1. Search for open ISS tickets: `operation: "list", status: "in-progress"`
         | 
| 144 | 
            +
            2. View ticket details: `operation: "view", ticket_id: "ISS-XXXX"`
         | 
| 145 | 
            +
            3. Resume work based on ticket history and status
         | 
| 146 | 
            +
            4. Continue updating the same ticket throughout the work
         | 
| 147 | 
            +
             | 
| 148 | 
            +
            ### Ticket Hierarchy Enforcement
         | 
| 149 | 
            +
             | 
| 150 | 
            +
            ```
         | 
| 151 | 
            +
            Epic (EP-XXXX) - Major initiative or multi-session work
         | 
| 152 | 
            +
            └── Issue (ISS-XXXX) - PM tracks user request here ← YOU CREATE THIS
         | 
| 153 | 
            +
                ├── Task (TSK-XXXX) - Research Agent's work
         | 
| 154 | 
            +
                ├── Task (TSK-XXXX) - Engineer Agent's work
         | 
| 155 | 
            +
                ├── Task (TSK-XXXX) - QA Agent's work
         | 
| 156 | 
            +
                └── Task (TSK-XXXX) - Documentation Agent's work
         | 
| 157 | 
            +
            ```
         | 
| 158 | 
            +
             | 
| 159 | 
            +
            **REMEMBER**:
         | 
| 160 | 
            +
            - ✅ ALWAYS create ISS tickets for user requests
         | 
| 161 | 
            +
            - ✅ ALWAYS attach ISS to an Epic
         | 
| 162 | 
            +
            - ✅ ALWAYS update ticket status as work progresses
         | 
| 163 | 
            +
            - ✅ ALWAYS close tickets when work completes
         | 
| 164 | 
            +
            - ❌ NEVER work without an active ISS ticket
         | 
| 165 | 
            +
            - ❌ NEVER create TSK tickets (agents do this)
         | 
| 166 | 
            +
            - ❌ NEVER leave tickets in "in-progress" after completion
         | 
| 167 | 
            +
             | 
| 100 168 | 
             
            ## Agent Response Format
         | 
| 101 169 |  | 
| 102 170 | 
             
            When completing tasks, all agents should structure their responses with:
         | 
| @@ -5,17 +5,6 @@ description: Multi-Agent Project Manager orchestration mode for delegation and c | |
| 5 5 |  | 
| 6 6 | 
             
            You are Claude Multi-Agent PM, a PROJECT MANAGER whose SOLE PURPOSE is to delegate work to specialized agents.
         | 
| 7 7 |  | 
| 8 | 
            -
            ## 🔴 PRIMARY DIRECTIVE - MANDATORY DELEGATION 🔴
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            **YOU ARE STRICTLY FORBIDDEN FROM DOING ANY WORK DIRECTLY.**
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            Direct implementation is ABSOLUTELY PROHIBITED unless the user EXPLICITLY overrides with phrases like:
         | 
| 13 | 
            -
            - "do this yourself"
         | 
| 14 | 
            -
            - "don't delegate"
         | 
| 15 | 
            -
            - "implement directly"
         | 
| 16 | 
            -
            - "you do it"
         | 
| 17 | 
            -
            - "no delegation"
         | 
| 18 | 
            -
             | 
| 19 8 | 
             
            ## Core Operating Rules
         | 
| 20 9 |  | 
| 21 10 | 
             
            **DEFAULT BEHAVIOR - ALWAYS DELEGATE**:
         | 
| @@ -372,7 +372,11 @@ Delegate to Research when: | |
| 372 372 | 
             
            - Architecture decisions needed
         | 
| 373 373 | 
             
            - Domain knowledge required
         | 
| 374 374 |  | 
| 375 | 
            -
            ### Ticketing Agent Integration
         | 
| 375 | 
            +
            ### 🔴 MANDATORY Ticketing Agent Integration 🔴
         | 
| 376 | 
            +
             | 
| 377 | 
            +
            **THIS IS NOT OPTIONAL - ALL WORK MUST BE TRACKED IN TICKETS**
         | 
| 378 | 
            +
             | 
| 379 | 
            +
            The PM MUST create and maintain tickets for ALL user requests. Failure to track work in tickets is a CRITICAL VIOLATION of PM protocols.
         | 
| 376 380 |  | 
| 377 381 | 
             
            **ALWAYS delegate to Ticketing Agent when user mentions:**
         | 
| 378 382 | 
             
            - "ticket", "tickets", "ticketing"
         | 
| @@ -437,4 +441,12 @@ The Ticketing Agent specializes in: | |
| 437 441 | 
             
            - Generating structured project documentation
         | 
| 438 442 | 
             
            - Breaking down work into manageable pieces
         | 
| 439 443 | 
             
            - Tracking project progress and dependencies
         | 
| 440 | 
            -
            - Maintaining clear audit trail of all work performed
         | 
| 444 | 
            +
            - Maintaining clear audit trail of all work performed
         | 
| 445 | 
            +
             | 
| 446 | 
            +
            ### Ticket-Based Work Resumption
         | 
| 447 | 
            +
             | 
| 448 | 
            +
            **Tickets replace session resume for work continuation**:
         | 
| 449 | 
            +
            - When starting any session, first check for open ISS tickets
         | 
| 450 | 
            +
            - Resume work on existing tickets rather than starting new ones
         | 
| 451 | 
            +
            - Use ticket history to understand context and progress
         | 
| 452 | 
            +
            - This ensures continuity across sessions and PMs
         | 
| @@ -83,15 +83,26 @@ def main(argv: Optional[list] = None): | |
| 83 83 | 
             
                # Initialize or update project registry
         | 
| 84 84 | 
             
                _initialize_project_registry()
         | 
| 85 85 |  | 
| 86 | 
            -
                #  | 
| 87 | 
            -
                 | 
| 88 | 
            -
             | 
| 89 | 
            -
                # Create parser with version
         | 
| 86 | 
            +
                # Parse args early to check if we should skip auto-configuration
         | 
| 87 | 
            +
                # (for commands like --version, --help, etc.)
         | 
| 90 88 | 
             
                parser = create_parser(version=__version__)
         | 
| 91 | 
            -
             | 
| 92 | 
            -
                # Preprocess and parse arguments
         | 
| 93 89 | 
             
                processed_argv = preprocess_args(argv)
         | 
| 94 90 | 
             
                args = parser.parse_args(processed_argv)
         | 
| 91 | 
            +
                
         | 
| 92 | 
            +
                # Skip auto-configuration for certain commands
         | 
| 93 | 
            +
                skip_auto_config_commands = ["--version", "-v", "--help", "-h"]
         | 
| 94 | 
            +
                # sys is already imported at module level (line 16), use it directly
         | 
| 95 | 
            +
                should_skip_auto_config = (
         | 
| 96 | 
            +
                    any(cmd in (processed_argv or sys.argv[1:]) for cmd in skip_auto_config_commands)
         | 
| 97 | 
            +
                    or (hasattr(args, 'command') and args.command in ["info", "doctor", "config", "mcp"])  # Info, diagnostic, and MCP commands
         | 
| 98 | 
            +
                )
         | 
| 99 | 
            +
                
         | 
| 100 | 
            +
                if not should_skip_auto_config:
         | 
| 101 | 
            +
                    # Check for MCP auto-configuration (pipx installations)
         | 
| 102 | 
            +
                    _check_mcp_auto_configuration()
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                # Verify MCP Gateway configuration on startup (non-blocking)
         | 
| 105 | 
            +
                _verify_mcp_gateway_startup()
         | 
| 95 106 |  | 
| 96 107 | 
             
                # Set up logging
         | 
| 97 108 | 
             
                # Special case: For MCP start command, we need minimal logging to avoid stdout interference
         | 
| @@ -101,7 +112,7 @@ def main(argv: Optional[list] = None): | |
| 101 112 | 
             
                ):
         | 
| 102 113 | 
             
                    # For MCP server, configure minimal stderr-only logging
         | 
| 103 114 | 
             
                    import logging
         | 
| 104 | 
            -
                     | 
| 115 | 
            +
                    # sys is already imported at module level
         | 
| 105 116 |  | 
| 106 117 | 
             
                    # Only log errors to stderr for MCP server
         | 
| 107 118 | 
             
                    if not getattr(args, "test", False) and not getattr(
         | 
| @@ -176,6 +187,36 @@ def _initialize_project_registry(): | |
| 176 187 | 
             
                    # Continue execution - registry failure shouldn't block startup
         | 
| 177 188 |  | 
| 178 189 |  | 
| 190 | 
            +
            def _check_mcp_auto_configuration():
         | 
| 191 | 
            +
                """
         | 
| 192 | 
            +
                Check and potentially auto-configure MCP for pipx installations.
         | 
| 193 | 
            +
                
         | 
| 194 | 
            +
                WHY: Users installing via pipx should have MCP work out-of-the-box with
         | 
| 195 | 
            +
                minimal friction. This function offers one-time auto-configuration with
         | 
| 196 | 
            +
                user consent.
         | 
| 197 | 
            +
                
         | 
| 198 | 
            +
                DESIGN DECISION: This is blocking but quick - it only runs once and has
         | 
| 199 | 
            +
                a 10-second timeout. We want to catch users on first run for the best
         | 
| 200 | 
            +
                experience.
         | 
| 201 | 
            +
                """
         | 
| 202 | 
            +
                try:
         | 
| 203 | 
            +
                    from ..services.mcp_gateway.auto_configure import check_and_configure_mcp
         | 
| 204 | 
            +
                    
         | 
| 205 | 
            +
                    # This function handles all the logic:
         | 
| 206 | 
            +
                    # - Checks if already configured
         | 
| 207 | 
            +
                    # - Checks if pipx installation
         | 
| 208 | 
            +
                    # - Checks if already asked before
         | 
| 209 | 
            +
                    # - Prompts user if needed
         | 
| 210 | 
            +
                    # - Configures if user agrees
         | 
| 211 | 
            +
                    check_and_configure_mcp()
         | 
| 212 | 
            +
                    
         | 
| 213 | 
            +
                except Exception as e:
         | 
| 214 | 
            +
                    # Non-critical - log but don't fail
         | 
| 215 | 
            +
                    from ..core.logger import get_logger
         | 
| 216 | 
            +
                    logger = get_logger("cli")
         | 
| 217 | 
            +
                    logger.debug(f"MCP auto-configuration check failed: {e}")
         | 
| 218 | 
            +
             | 
| 219 | 
            +
             | 
| 179 220 | 
             
            def _verify_mcp_gateway_startup():
         | 
| 180 221 | 
             
                """
         | 
| 181 222 | 
             
                Verify MCP Gateway configuration on startup and pre-warm MCP services.
         | 
| @@ -71,6 +71,7 @@ class AgentsCommand(AgentCommand): | |
| 71 71 | 
             
                            "deps-install": self._install_agent_dependencies,
         | 
| 72 72 | 
             
                            "deps-list": self._list_agent_dependencies,
         | 
| 73 73 | 
             
                            "deps-fix": self._fix_agent_dependencies,
         | 
| 74 | 
            +
                            "cleanup-orphaned": self._cleanup_orphaned_agents,
         | 
| 74 75 | 
             
                        }
         | 
| 75 76 |  | 
| 76 77 | 
             
                        if args.agents_command in command_map:
         | 
| @@ -469,6 +470,87 @@ class AgentsCommand(AgentCommand): | |
| 469 470 | 
             
                    except Exception as e:
         | 
| 470 471 | 
             
                        self.logger.error(f"Error fixing dependencies: {e}", exc_info=True)
         | 
| 471 472 | 
             
                        return CommandResult.error_result(f"Error fixing dependencies: {e}")
         | 
| 473 | 
            +
                
         | 
| 474 | 
            +
                def _cleanup_orphaned_agents(self, args) -> CommandResult:
         | 
| 475 | 
            +
                    """Clean up orphaned agents that don't have templates."""
         | 
| 476 | 
            +
                    try:
         | 
| 477 | 
            +
                        from ...services.agents.deployment.multi_source_deployment_service import (
         | 
| 478 | 
            +
                            MultiSourceAgentDeploymentService
         | 
| 479 | 
            +
                        )
         | 
| 480 | 
            +
                        
         | 
| 481 | 
            +
                        # Determine agents directory
         | 
| 482 | 
            +
                        if hasattr(args, 'agents_dir') and args.agents_dir:
         | 
| 483 | 
            +
                            agents_dir = args.agents_dir
         | 
| 484 | 
            +
                        else:
         | 
| 485 | 
            +
                            # Check for project-level .claude/agents first
         | 
| 486 | 
            +
                            project_agents_dir = Path.cwd() / ".claude" / "agents"
         | 
| 487 | 
            +
                            if project_agents_dir.exists():
         | 
| 488 | 
            +
                                agents_dir = project_agents_dir
         | 
| 489 | 
            +
                            else:
         | 
| 490 | 
            +
                                # Fall back to user home directory
         | 
| 491 | 
            +
                                agents_dir = Path.home() / ".claude" / "agents"
         | 
| 492 | 
            +
                        
         | 
| 493 | 
            +
                        if not agents_dir.exists():
         | 
| 494 | 
            +
                            return CommandResult.success_result(f"Agents directory not found: {agents_dir}")
         | 
| 495 | 
            +
                        
         | 
| 496 | 
            +
                        # Initialize service
         | 
| 497 | 
            +
                        service = MultiSourceAgentDeploymentService()
         | 
| 498 | 
            +
                        
         | 
| 499 | 
            +
                        # Determine if we're doing a dry run
         | 
| 500 | 
            +
                        dry_run = getattr(args, 'dry_run', True)
         | 
| 501 | 
            +
                        if hasattr(args, 'force') and args.force:
         | 
| 502 | 
            +
                            dry_run = False
         | 
| 503 | 
            +
                        
         | 
| 504 | 
            +
                        # Perform cleanup
         | 
| 505 | 
            +
                        results = service.cleanup_orphaned_agents(agents_dir, dry_run=dry_run)
         | 
| 506 | 
            +
                        
         | 
| 507 | 
            +
                        output_format = getattr(args, 'format', 'text')
         | 
| 508 | 
            +
                        quiet = getattr(args, 'quiet', False)
         | 
| 509 | 
            +
                        
         | 
| 510 | 
            +
                        if output_format in ['json', 'yaml']:
         | 
| 511 | 
            +
                            return CommandResult.success_result(
         | 
| 512 | 
            +
                                f"Found {len(results.get('orphaned', []))} orphaned agents",
         | 
| 513 | 
            +
                                data=results
         | 
| 514 | 
            +
                            )
         | 
| 515 | 
            +
                        else:
         | 
| 516 | 
            +
                            # Text output
         | 
| 517 | 
            +
                            if not results.get("orphaned"):
         | 
| 518 | 
            +
                                print("✅ No orphaned agents found")
         | 
| 519 | 
            +
                                return CommandResult.success_result("No orphaned agents found")
         | 
| 520 | 
            +
                            
         | 
| 521 | 
            +
                            if not quiet:
         | 
| 522 | 
            +
                                print(f"\nFound {len(results['orphaned'])} orphaned agent(s):")
         | 
| 523 | 
            +
                                for orphan in results["orphaned"]:
         | 
| 524 | 
            +
                                    print(f"  - {orphan['name']} v{orphan['version']}")
         | 
| 525 | 
            +
                            
         | 
| 526 | 
            +
                            if dry_run:
         | 
| 527 | 
            +
                                print(
         | 
| 528 | 
            +
                                    f"\n📝 This was a dry run. Use --force to actually remove "
         | 
| 529 | 
            +
                                    f"{len(results['orphaned'])} orphaned agent(s)"
         | 
| 530 | 
            +
                                )
         | 
| 531 | 
            +
                            else:
         | 
| 532 | 
            +
                                if results.get("removed"):
         | 
| 533 | 
            +
                                    print(
         | 
| 534 | 
            +
                                        f"\n✅ Successfully removed {len(results['removed'])} orphaned agent(s)"
         | 
| 535 | 
            +
                                    )
         | 
| 536 | 
            +
                                
         | 
| 537 | 
            +
                                if results.get("errors"):
         | 
| 538 | 
            +
                                    print(f"\n❌ Encountered {len(results['errors'])} error(s):")
         | 
| 539 | 
            +
                                    for error in results["errors"]:
         | 
| 540 | 
            +
                                        print(f"  - {error}")
         | 
| 541 | 
            +
                                    return CommandResult.error_result(
         | 
| 542 | 
            +
                                        f"Cleanup completed with {len(results['errors'])} errors",
         | 
| 543 | 
            +
                                        data=results
         | 
| 544 | 
            +
                                    )
         | 
| 545 | 
            +
                            
         | 
| 546 | 
            +
                            return CommandResult.success_result(
         | 
| 547 | 
            +
                                f"Cleanup {'preview' if dry_run else 'completed'}",
         | 
| 548 | 
            +
                                data=results
         | 
| 549 | 
            +
                            )
         | 
| 550 | 
            +
                            
         | 
| 551 | 
            +
                    except Exception as e:
         | 
| 552 | 
            +
                        self.logger.error(f"Error during cleanup: {e}", exc_info=True)
         | 
| 553 | 
            +
                        return CommandResult.error_result(f"Error during cleanup: {e}")
         | 
| 472 554 |  | 
| 473 555 |  | 
| 474 556 | 
             
            def manage_agents(args):
         |