claude-mpm 4.5.6__tar.gz → 4.5.8__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.5.8/BUILD_NUMBER +1 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/PKG-INFO +1 -1
- claude_mpm-4.5.8/VERSION +1 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/pyproject.toml +2 -2
- claude_mpm-4.5.8/src/claude_mpm/VERSION +1 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_OPS.md +10 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/PM_INSTRUCTIONS.md +28 -4
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/local_ops_agent.json +45 -9
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/async_session_logger.py +111 -95
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/claude_session_logger.py +61 -59
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_config_manager.py +186 -17
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/response_tracker.py +16 -5
- claude_mpm-4.5.8/src/claude_mpm/services/session_manager.py +174 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/PKG-INFO +1 -1
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/SOURCES.txt +1 -0
- claude_mpm-4.5.6/BUILD_NUMBER +0 -1
- claude_mpm-4.5.6/VERSION +0 -1
- claude_mpm-4.5.6/src/claude_mpm/VERSION +0 -1
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/CLAUDE.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/LICENSE +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/MANIFEST.in +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/README.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/scripts/ticket +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/setup.cfg +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/BUILD_NUMBER +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_DOCUMENTATION.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_ENGINEER.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_PM.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_QA.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_RESEARCH.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/MEMORY.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/WORKFLOW.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agent-template.yaml +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/async_agent_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/api_qa.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/clerk-ops.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/gcp_ops_agent.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/imagemagick.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/nextjs_engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/php-engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/prompt-engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/python_engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/react_engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/research.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/ticketing.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/typescript_engineer.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/web_qa.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/web_ui.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/__main__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/agents.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/aggregate.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/analyze.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/analyze_code.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/cleanup.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/configure.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/dashboard.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/debug.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/doctor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_external_commands.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_pipx_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_setup_external.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/memory.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/monitor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mpm_init.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mpm_init_handler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/run.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/search.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/uninstall.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/verify.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/interactive/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/interactive/agent_wizard.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/analyze_code_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/analyze_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/configure_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/dashboard_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/debug_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/mpm_init_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/search_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/base_command.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/error_handling.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/startup_logging.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/ticket_cli.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-agents.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-config.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-doctor.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-help.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-init.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-status.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-tickets.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm.md +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/agent_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/experimental_features.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/paths.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/constants.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/api_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/cache.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/claude_runner.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/config_constants.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/constants.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/error_handler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/exceptions.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/file_utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/capability_generator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/content_formatter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/context_generator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/agent_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/file_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/instruction_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/packaged_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/memory_processor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/metadata_processor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/template_processor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/hook_performance_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/instruction_reinforcement_hook.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/interactive_session.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/lazy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/log_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/logging_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/logging_utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/oneshot_session.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/optimized_startup.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/output_style_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/config_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/path_resolver.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/types.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/typing_utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/unified_agent_registry.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/unified_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/unified_paths.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/analysis_runner.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/api/simple_directory.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/index.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_dashboard.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_data.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_final_activity.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/activity-tree.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/build-tracker.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-simple.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/connection-debug.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/nav-bar.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/page-structure.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/connection-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/extension-error-handler.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/react/events.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/event-bus.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/logger.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/page-structure.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/activity.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/code-tree.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/connection-status.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/code-tree.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/react/events.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/events.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/index.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/activity-tree.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-simple.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/connection-debug.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/connection-manager.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/event-bus.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/logger.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/activity.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/agents.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/files.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/tools.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/monitors-index.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/monitors.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/production/events.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/production/main.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/production/monitors.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/socket.io.min.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/dashboard.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/debug-events.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/test_debug.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/templates/code_simple.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/templates/index.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/experimental/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/installer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/connection_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/state_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/subagent_processor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/instruction_reinforcement.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/kuzu_memory_hook.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/init.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/models/agent_session.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/schemas/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/claude-hook-handler.sh +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/launch_monitor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/mcp_server.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/mpm_doctor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/agent_builder.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_operation_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_record_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_state_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/base_agent_locator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_results_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/local_template_deployment.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/single_agent_deployer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/local_template_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/management/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_categorization_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_file_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_format_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_limits_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_cleanup_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_dependency_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_listing_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_output_formatter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_validation_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/memory_crud_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/memory_output_formatter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/session_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/startup_checker.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/unified_dashboard_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/command_deployment_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/command_handler_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/communication/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/cache_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/memory_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/path_resolver.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/service_container.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/service_interfaces.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/claude_code_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/instructions_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/mcp_services_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/models.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_aggregator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/direct_relay.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/event_bus.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/relay.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/logging.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/core.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/interfaces.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/producers/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/producers/hook.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/producers/system.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/exceptions.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/hook_installer_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/logging.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/aggregator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/legacy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/network.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/process.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/resources.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/auto_configure.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/utils/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_service_verifier.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/builder.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/optimizer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/router.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory_hook_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/daemon.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/daemon_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/event_emitter.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/code_analysis.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/dashboard.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/file.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/hooks.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/management/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/management/health.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/management/lifecycle.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/server.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor_build_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/port_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/analyzer_refactored.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/analyzer_v2.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/architecture_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/archive_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/dependency_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/documentation_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/enhanced_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/language_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/metrics_collector.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/project_organizer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/registry.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/recovery_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/runner_configuration_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/session_management_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/async_service_base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/config_service_base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/manager_base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/service_factory.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/dashboard_server.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/code_analysis.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/connection_handler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/monitor_client.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/connection_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/core.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/eventbus_integration.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/main.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio_server.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/system_instructions_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/crud_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/formatter_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/search_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/validation_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/workflow_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/config_schema.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/context_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/error_handling_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/file_loader_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/unified_config_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/validation_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/base.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/local.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/vercel.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/interfaces.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/migration.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/strategies.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/unified_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/unified_config.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/unified_deployment.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/utility_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/version_parser.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_service.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/visualization/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/visualization/mermaid_generator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/storage/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/storage/state_storage.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/ticket_wrapper.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/__main__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/code_tree_analyzer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/code_tree_builder.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/code_tree_events.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/socketio_debug.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/common.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/console.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/database_connector.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/dependency_cache.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/dependency_strategies.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/environment_context.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/file_utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/log_cleanup.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/robust_installer.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/session_logging.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/subprocess_utils.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/requires.txt +0 -0
- {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/top_level.txt +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
415
|
claude_mpm-4.5.8/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
4.5.8
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "claude-mpm"
|
7
|
-
version = "4.5.
|
7
|
+
version = "4.5.8"
|
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"
|
@@ -81,7 +81,7 @@ ignore-imports = false
|
|
81
81
|
|
82
82
|
[tool.commitizen]
|
83
83
|
name = "cz_conventional_commits"
|
84
|
-
version = "4.5.
|
84
|
+
version = "4.5.8"
|
85
85
|
version_files = [ "VERSION", "src/claude_mpm/VERSION", "package.json:version",]
|
86
86
|
tag_format = "v$version"
|
87
87
|
update_changelog_on_bump = true
|
@@ -0,0 +1 @@
|
|
1
|
+
4.5.8
|
@@ -4,6 +4,16 @@ All Ops agents inherit these common operational patterns and requirements.
|
|
4
4
|
|
5
5
|
## Core Ops Principles
|
6
6
|
|
7
|
+
### Local Development Server Management
|
8
|
+
**CRITICAL IMPERATIVES FOR LOCAL-OPS AGENTS:**
|
9
|
+
- **MAINTAIN SINGLE STABLE INSTANCES**: Always strive to keep a single instance of each development server running stably. Avoid creating multiple instances of the same service.
|
10
|
+
- **NEVER INTERRUPT OTHER PROJECTS**: Before stopping ANY service, verify it's not being used by another project or Claude Code session. Check process ownership and working directories.
|
11
|
+
- **PROTECT CLAUDE CODE SERVICES**: Never terminate or interfere with Claude MPM services, monitor servers, or any processes that might be used by Claude Code.
|
12
|
+
- **PORT MANAGEMENT**: Always check if a port is in use before attempting to use it. If occupied, find an alternative rather than killing the existing process.
|
13
|
+
- **GRACEFUL OPERATIONS**: Use graceful shutdown procedures. Always attempt soft stops before forceful termination.
|
14
|
+
- **SESSION AWARENESS**: Be aware that multiple Claude Code sessions might be active. Coordinate rather than conflict.
|
15
|
+
- **HEALTH BEFORE ACTION**: Always verify service health before making changes. A running service should be left running unless explicitly requested to stop it.
|
16
|
+
|
7
17
|
### Infrastructure as Code
|
8
18
|
- All infrastructure must be version controlled
|
9
19
|
- Use declarative configuration over imperative scripts
|
@@ -164,9 +164,31 @@ Read: /mpm-doctor # WRONG - not a file to read
|
|
164
164
|
**User mentions error → PM delegates to Ops for logs (NEVER debugs)**
|
165
165
|
**User wants analysis → PM delegates to Code Analyzer (NEVER analyzes)**
|
166
166
|
|
167
|
+
### 🔥 LOCAL-OPS-AGENT PRIORITY RULE 🔥
|
168
|
+
|
169
|
+
**MANDATORY**: For ANY localhost/local development work, ALWAYS use **local-ops-agent** as the PRIMARY choice:
|
170
|
+
- **Local servers**: localhost:3000, dev servers → **local-ops-agent** (NOT generic Ops)
|
171
|
+
- **PM2 operations**: pm2 start/stop/status → **local-ops-agent** (EXPERT in PM2)
|
172
|
+
- **Port management**: Port conflicts, EADDRINUSE → **local-ops-agent** (HANDLES gracefully)
|
173
|
+
- **npm/yarn/pnpm**: npm start, yarn dev → **local-ops-agent** (PREFERRED)
|
174
|
+
- **Process management**: ps, kill, restart → **local-ops-agent** (SAFE operations)
|
175
|
+
- **Docker local**: docker-compose up → **local-ops-agent** (MANAGES containers)
|
176
|
+
|
177
|
+
**WHY local-ops-agent?**
|
178
|
+
- Maintains single stable instances (no duplicates)
|
179
|
+
- Never interrupts other projects or Claude Code
|
180
|
+
- Smart port allocation (finds alternatives, doesn't kill)
|
181
|
+
- Graceful operations (soft stops, proper cleanup)
|
182
|
+
- Session-aware (coordinates with multiple Claude sessions)
|
183
|
+
|
167
184
|
### Quick Delegation Matrix
|
168
185
|
| User Says | PM's IMMEDIATE Response | You MUST Delegate To |
|
169
186
|
|-----------|------------------------|---------------------|
|
187
|
+
| "localhost", "local server", "dev server" | "I'll delegate to local-ops agent" | **local-ops-agent** (PRIMARY) |
|
188
|
+
| "PM2", "process manager", "pm2 start" | "I'll have local-ops manage PM2" | **local-ops-agent** (ALWAYS) |
|
189
|
+
| "port 3000", "port conflict", "EADDRINUSE" | "I'll have local-ops handle ports" | **local-ops-agent** (EXPERT) |
|
190
|
+
| "npm start", "npm run dev", "yarn dev" | "I'll have local-ops run the dev server" | **local-ops-agent** (PREFERRED) |
|
191
|
+
| "start my app", "run locally" | "I'll delegate to local-ops agent" | **local-ops-agent** (DEFAULT) |
|
170
192
|
| "fix", "implement", "code", "create" | "I'll delegate this to Engineer" | Engineer |
|
171
193
|
| "test", "verify", "check" | "I'll have QA verify this" | QA (or web-qa/api-qa) |
|
172
194
|
| "deploy", "host", "launch" | "I'll delegate to Ops" | Ops (or platform-specific) |
|
@@ -245,7 +267,8 @@ START → [DELEGATE Research] → [DELEGATE Code Analyzer] → [DELEGATE Impleme
|
|
245
267
|
|
246
268
|
| Deployment Type | Ops Agent | Required Verifications |
|
247
269
|
|----------------|-----------|------------------------|
|
248
|
-
| Local Dev (PM2, Docker) |
|
270
|
+
| Local Dev (PM2, Docker) | **local-ops-agent** (PRIMARY) | Read logs, check process status, fetch endpoint, Playwright if UI |
|
271
|
+
| Local npm/yarn/pnpm | **local-ops-agent** (ALWAYS) | Process monitoring, port management, graceful operations |
|
249
272
|
| Vercel | vercel-ops-agent | Read build logs, fetch deployment URL, check function logs, Playwright for pages |
|
250
273
|
| Railway | railway-ops-agent | Read deployment logs, check health endpoint, verify database connections |
|
251
274
|
| GCP/Cloud Run | gcp-ops-agent | Check Cloud Run logs, verify service status, test endpoints |
|
@@ -274,9 +297,10 @@ Requirements:
|
|
274
297
|
## LOCAL DEPLOYMENT MANDATORY VERIFICATION
|
275
298
|
|
276
299
|
**CRITICAL**: PM MUST NEVER claim "running on localhost" without verification.
|
300
|
+
**PRIMARY AGENT**: Always use **local-ops-agent** for ALL localhost work.
|
277
301
|
|
278
302
|
### Required for ALL Local Deployments (PM2, Docker, npm start, etc.):
|
279
|
-
1. PM MUST delegate to local-ops-agent (
|
303
|
+
1. PM MUST delegate to **local-ops-agent** (NEVER generic Ops) for deployment
|
280
304
|
2. Ops agent MUST verify with ALL of these:
|
281
305
|
- Process status check (ps, pm2 status, docker ps)
|
282
306
|
- Log examination for startup errors
|
@@ -309,7 +333,7 @@ These phrases without fetch evidence = IMMEDIATE VIOLATION:
|
|
309
333
|
|------|-------------|----------|----------------|
|
310
334
|
| API | HTTP calls | curl/fetch output | web-qa (MANDATORY) |
|
311
335
|
| Web UI | Browser automation | Playwright results | web-qa with Playwright |
|
312
|
-
| Local Deploy | PM2/Docker status + fetch/Playwright | Logs + endpoint tests |
|
336
|
+
| Local Deploy | PM2/Docker status + fetch/Playwright | Logs + endpoint tests | **local-ops-agent** (MUST verify) |
|
313
337
|
| Vercel Deploy | Build success + fetch/Playwright | Deployment URL active | vercel-ops-agent (MUST verify) |
|
314
338
|
| Railway Deploy | Service healthy + fetch tests | Logs + endpoint response | railway-ops-agent (MUST verify) |
|
315
339
|
| GCP Deploy | Cloud Run active + endpoint tests | Service logs + HTTP 200 | gcp-ops-agent (MUST verify) |
|
@@ -597,7 +621,7 @@ Documentation → Report
|
|
597
621
|
- Web UI: Research → Analyzer → web-ui/react-engineer → Ops (deploy) → Ops (VERIFY with Playwright) → web-qa → Docs
|
598
622
|
- Vercel Site: Research → Analyzer → Engineer → vercel-ops (deploy) → vercel-ops (VERIFY) → web-qa → Docs
|
599
623
|
- Railway App: Research → Analyzer → Engineer → railway-ops (deploy) → railway-ops (VERIFY) → api-qa → Docs
|
600
|
-
- Local Dev: Research → Analyzer → Engineer →
|
624
|
+
- Local Dev: Research → Analyzer → Engineer → **local-ops-agent** (PM2/Docker) → **local-ops-agent** (VERIFY logs+fetch) → QA → Docs
|
601
625
|
- Bug Fix: Research → Analyzer → Engineer → Deploy → Ops (VERIFY) → web-qa (regression) → version-control
|
602
626
|
|
603
627
|
### Success Criteria
|
@@ -1,8 +1,8 @@
|
|
1
1
|
{
|
2
2
|
"name": "local-ops",
|
3
3
|
"display_name": "Local Operations Agent",
|
4
|
-
"description": "Specialized agent for managing local development deployments with
|
5
|
-
"version": "1.0.
|
4
|
+
"description": "Specialized agent for managing local development deployments with focus on maintaining single stable instances, protecting existing services, and never interfering with other projects or Claude Code services",
|
5
|
+
"version": "1.0.1",
|
6
6
|
"author": "Claude MPM",
|
7
7
|
"authority": {
|
8
8
|
"level": "deployment_manager",
|
@@ -65,7 +65,16 @@
|
|
65
65
|
"state_file": ".claude-mpm/deployment-state.json",
|
66
66
|
"health_check_interval": 30,
|
67
67
|
"auto_restart_attempts": 3,
|
68
|
-
"cleanup_on_exit": false
|
68
|
+
"cleanup_on_exit": false,
|
69
|
+
"stability_policy": {
|
70
|
+
"single_instance_enforcement": true,
|
71
|
+
"reuse_existing_processes": true,
|
72
|
+
"protect_external_services": true,
|
73
|
+
"avoid_port_conflicts": true,
|
74
|
+
"graceful_shutdown_timeout": 10000,
|
75
|
+
"check_process_ownership": true,
|
76
|
+
"preserve_claude_mpm_services": true
|
77
|
+
}
|
69
78
|
},
|
70
79
|
"commands": {
|
71
80
|
"deploy": {
|
@@ -78,9 +87,11 @@
|
|
78
87
|
"workflow": [
|
79
88
|
"detect_framework",
|
80
89
|
"check_existing_deployments",
|
81
|
-
"
|
90
|
+
"verify_no_conflicts",
|
91
|
+
"check_process_ownership",
|
92
|
+
"reuse_or_allocate_port",
|
82
93
|
"build_if_needed",
|
83
|
-
"
|
94
|
+
"start_or_attach_to_process",
|
84
95
|
"monitor_health",
|
85
96
|
"report_status"
|
86
97
|
]
|
@@ -213,7 +224,23 @@
|
|
213
224
|
"error_recovery": {
|
214
225
|
"port_conflict": {
|
215
226
|
"detection": "EADDRINUSE",
|
216
|
-
"action": "
|
227
|
+
"action": "check_process_owner_then_allocate_alternative_port",
|
228
|
+
"never": "kill_existing_process_without_verification"
|
229
|
+
},
|
230
|
+
"existing_service": {
|
231
|
+
"detection": "service_already_running",
|
232
|
+
"action": "attach_to_existing_or_report_status",
|
233
|
+
"never": "create_duplicate_instance"
|
234
|
+
},
|
235
|
+
"external_ownership": {
|
236
|
+
"detection": "process_owned_by_other_project",
|
237
|
+
"action": "allocate_different_resources",
|
238
|
+
"never": "interfere_with_external_process"
|
239
|
+
},
|
240
|
+
"claude_mpm_service": {
|
241
|
+
"detection": "claude-mpm|mcp|monitor",
|
242
|
+
"action": "report_status_only",
|
243
|
+
"never": "stop_or_restart_system_services"
|
217
244
|
},
|
218
245
|
"build_failure": {
|
219
246
|
"detection": "npm ERR!|ERROR|Failed",
|
@@ -235,11 +262,20 @@
|
|
235
262
|
"secrets_handling": "environment_variables"
|
236
263
|
},
|
237
264
|
"integration": {
|
265
|
+
"operational_principles": {
|
266
|
+
"single_instance_policy": "Always maintain single stable instances of services",
|
267
|
+
"non_interference": "Never interrupt services owned by other projects or Claude Code",
|
268
|
+
"service_protection": "Protect all Claude MPM, MCP, and monitor services",
|
269
|
+
"graceful_operations": "Always prefer graceful operations over forceful actions",
|
270
|
+
"conflict_avoidance": "Find alternative resources rather than stopping existing services"
|
271
|
+
},
|
238
272
|
"hooks": {
|
239
|
-
"pre_deploy": "
|
273
|
+
"pre_deploy": "check_conflicts_and_validate_requirements",
|
240
274
|
"post_deploy": "notify_status",
|
241
|
-
"pre_stop": "
|
242
|
-
"on_crash": "auto_restart_with_backoff"
|
275
|
+
"pre_stop": "verify_ownership_then_graceful_shutdown",
|
276
|
+
"on_crash": "auto_restart_with_backoff",
|
277
|
+
"before_port_use": "check_existing_process_owner",
|
278
|
+
"on_conflict": "find_alternative_resources"
|
243
279
|
},
|
244
280
|
"monitoring": {
|
245
281
|
"export_metrics": true,
|
@@ -31,6 +31,9 @@ from typing import Any, Dict, Optional
|
|
31
31
|
from claude_mpm.core.constants import PerformanceConfig, SystemLimits, TimeoutConfig
|
32
32
|
from claude_mpm.core.logging_utils import get_logger
|
33
33
|
|
34
|
+
# Import centralized session manager
|
35
|
+
from claude_mpm.services.session_manager import get_session_manager
|
36
|
+
|
34
37
|
# Import configuration manager
|
35
38
|
from ..core.config import Config
|
36
39
|
|
@@ -68,8 +71,13 @@ class AsyncSessionLogger:
|
|
68
71
|
- Configurable log formats (JSON, syslog, journald)
|
69
72
|
- Fire-and-forget pattern for zero latency impact
|
70
73
|
- Graceful degradation on errors
|
74
|
+
- Thread-safe singleton pattern with initialization flag
|
71
75
|
"""
|
72
76
|
|
77
|
+
_initialization_lock = Lock()
|
78
|
+
_initialized = False
|
79
|
+
_worker_started = False
|
80
|
+
|
73
81
|
def __init__(
|
74
82
|
self,
|
75
83
|
base_dir: Optional[Path] = None,
|
@@ -90,109 +98,108 @@ class AsyncSessionLogger:
|
|
90
98
|
enable_compression: Enable gzip compression for JSON logs (overrides config)
|
91
99
|
config: Configuration instance to use (creates new if not provided)
|
92
100
|
"""
|
93
|
-
#
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
# Get response logging configuration section
|
99
|
-
response_config = self.config.get("response_logging", {})
|
100
|
-
|
101
|
-
# Apply configuration with parameter overrides
|
102
|
-
self.base_dir = Path(
|
103
|
-
base_dir
|
104
|
-
or response_config.get("session_directory", ".claude-mpm/responses")
|
105
|
-
)
|
106
|
-
|
107
|
-
# Convert log format string to enum
|
108
|
-
format_str = response_config.get("format", "json").lower()
|
109
|
-
if log_format is not None:
|
110
|
-
self.log_format = log_format
|
111
|
-
elif format_str == "syslog":
|
112
|
-
self.log_format = LogFormat.SYSLOG
|
113
|
-
elif format_str == "journald":
|
114
|
-
self.log_format = LogFormat.JOURNALD
|
115
|
-
else:
|
116
|
-
self.log_format = LogFormat.JSON
|
117
|
-
|
118
|
-
self.max_queue_size = (
|
119
|
-
max_queue_size
|
120
|
-
if max_queue_size is not None
|
121
|
-
else response_config.get("max_queue_size", SystemLimits.MAX_QUEUE_SIZE)
|
122
|
-
)
|
123
|
-
|
124
|
-
# Handle async configuration with backward compatibility
|
125
|
-
if enable_async is not None:
|
126
|
-
self.enable_async = enable_async
|
127
|
-
else:
|
128
|
-
# Check configuration first, then environment variables for backward compatibility
|
129
|
-
self.enable_async = response_config.get("use_async", True)
|
130
|
-
# Override with environment variable if set (backward compatibility)
|
131
|
-
if os.environ.get("CLAUDE_USE_ASYNC_LOG"):
|
132
|
-
self.enable_async = (
|
133
|
-
os.environ.get("CLAUDE_USE_ASYNC_LOG", "true").lower() == "true"
|
134
|
-
)
|
135
|
-
|
136
|
-
# Check debug sync mode (forces synchronous for debugging)
|
137
|
-
if (
|
138
|
-
response_config.get("debug_sync", False)
|
139
|
-
or os.environ.get("CLAUDE_LOG_SYNC", "").lower() == "true"
|
140
|
-
):
|
141
|
-
logger.info("Debug sync mode enabled - forcing synchronous logging")
|
142
|
-
self.enable_async = False
|
143
|
-
|
144
|
-
self.enable_compression = (
|
145
|
-
enable_compression
|
146
|
-
if enable_compression is not None
|
147
|
-
else response_config.get("enable_compression", False)
|
148
|
-
)
|
101
|
+
# Use initialization flag to prevent duplicate setup
|
102
|
+
with self._initialization_lock:
|
103
|
+
if self._initialized and hasattr(self, "config"):
|
104
|
+
logger.debug("AsyncSessionLogger already initialized, skipping setup")
|
105
|
+
return
|
149
106
|
|
150
|
-
|
151
|
-
|
107
|
+
# Load configuration from YAML file or use provided config
|
108
|
+
if config is None:
|
109
|
+
config = Config()
|
110
|
+
self.config = config
|
152
111
|
|
153
|
-
|
154
|
-
|
112
|
+
# Get response logging configuration section
|
113
|
+
response_config = self.config.get("response_logging", {})
|
155
114
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
115
|
+
# Apply configuration with parameter overrides
|
116
|
+
self.base_dir = Path(
|
117
|
+
base_dir
|
118
|
+
or response_config.get("session_directory", ".claude-mpm/responses")
|
119
|
+
)
|
161
120
|
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
"
|
167
|
-
|
168
|
-
"
|
169
|
-
|
121
|
+
# Convert log format string to enum
|
122
|
+
format_str = response_config.get("format", "json").lower()
|
123
|
+
if log_format is not None:
|
124
|
+
self.log_format = log_format
|
125
|
+
elif format_str == "syslog":
|
126
|
+
self.log_format = LogFormat.SYSLOG
|
127
|
+
elif format_str == "journald":
|
128
|
+
self.log_format = LogFormat.JOURNALD
|
129
|
+
else:
|
130
|
+
self.log_format = LogFormat.JSON
|
170
131
|
|
171
|
-
|
172
|
-
|
132
|
+
self.max_queue_size = (
|
133
|
+
max_queue_size
|
134
|
+
if max_queue_size is not None
|
135
|
+
else response_config.get("max_queue_size", SystemLimits.MAX_QUEUE_SIZE)
|
136
|
+
)
|
173
137
|
|
174
|
-
|
175
|
-
|
176
|
-
|
138
|
+
# Handle async configuration with backward compatibility
|
139
|
+
if enable_async is not None:
|
140
|
+
self.enable_async = enable_async
|
141
|
+
else:
|
142
|
+
# Check configuration first, then environment variables for backward compatibility
|
143
|
+
self.enable_async = response_config.get("use_async", True)
|
144
|
+
# Override with environment variable if set (backward compatibility)
|
145
|
+
if os.environ.get("CLAUDE_USE_ASYNC_LOG"):
|
146
|
+
self.enable_async = (
|
147
|
+
os.environ.get("CLAUDE_USE_ASYNC_LOG", "true").lower() == "true"
|
148
|
+
)
|
177
149
|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
150
|
+
# Check debug sync mode (forces synchronous for debugging)
|
151
|
+
if (
|
152
|
+
response_config.get("debug_sync", False)
|
153
|
+
or os.environ.get("CLAUDE_LOG_SYNC", "").lower() == "true"
|
154
|
+
):
|
155
|
+
logger.info("Debug sync mode enabled - forcing synchronous logging")
|
156
|
+
self.enable_async = False
|
157
|
+
|
158
|
+
self.enable_compression = (
|
159
|
+
enable_compression
|
160
|
+
if enable_compression is not None
|
161
|
+
else response_config.get("enable_compression", False)
|
162
|
+
)
|
182
163
|
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
164
|
+
# Create base directory
|
165
|
+
self.base_dir.mkdir(parents=True, exist_ok=True)
|
166
|
+
|
167
|
+
# Use centralized SessionManager for session ID
|
168
|
+
session_manager = get_session_manager()
|
169
|
+
self.session_id = session_manager.get_session_id()
|
170
|
+
|
171
|
+
# Async infrastructure
|
172
|
+
self._queue: Queue = Queue(maxsize=self.max_queue_size)
|
173
|
+
self._worker_thread: Optional[Thread] = None
|
174
|
+
self._shutdown = False
|
175
|
+
self._lock = Lock()
|
176
|
+
|
177
|
+
# Statistics
|
178
|
+
self.stats = {
|
179
|
+
"logged": 0,
|
180
|
+
"queued": 0,
|
181
|
+
"dropped": 0,
|
182
|
+
"errors": 0,
|
183
|
+
"avg_write_time_ms": 0.0,
|
184
|
+
}
|
185
|
+
|
186
|
+
# Initialize format-specific handlers
|
187
|
+
self._init_format_handler()
|
188
|
+
|
189
|
+
# Mark as initialized
|
190
|
+
self._initialized = True
|
191
|
+
|
192
|
+
# Log initialization status
|
193
|
+
logger.info(
|
194
|
+
f"AsyncSessionLogger initialized with SessionManager: session_id={self.session_id}, async={self.enable_async}, format={self.log_format.value}"
|
195
|
+
)
|
191
196
|
|
192
|
-
#
|
193
|
-
|
194
|
-
|
195
|
-
|
197
|
+
# Start background worker if async enabled (outside initialization lock)
|
198
|
+
if self.enable_async and not self._worker_started:
|
199
|
+
with self._initialization_lock:
|
200
|
+
if not self._worker_started:
|
201
|
+
self._start_worker()
|
202
|
+
self._worker_started = True
|
196
203
|
|
197
204
|
def _init_format_handler(self):
|
198
205
|
"""Initialize format-specific logging handlers."""
|
@@ -519,8 +526,17 @@ class AsyncSessionLogger:
|
|
519
526
|
return self.stats.copy()
|
520
527
|
|
521
528
|
def set_session_id(self, session_id: str):
|
522
|
-
"""Set a new session ID.
|
529
|
+
"""Set a new session ID.
|
530
|
+
|
531
|
+
Note: This updates both the local session ID and the SessionManager.
|
532
|
+
|
533
|
+
Args:
|
534
|
+
session_id: The new session ID to use
|
535
|
+
"""
|
523
536
|
self.session_id = session_id
|
537
|
+
# Also update SessionManager to keep consistency
|
538
|
+
session_manager = get_session_manager()
|
539
|
+
session_manager.set_session_id(session_id)
|
524
540
|
logger.info(f"Session ID updated to: {session_id}")
|
525
541
|
|
526
542
|
def is_enabled(self) -> bool:
|
@@ -13,11 +13,15 @@ Configuration via .claude-mpm/configuration.yaml.
|
|
13
13
|
import json
|
14
14
|
import os
|
15
15
|
from datetime import datetime, timezone
|
16
|
+
from threading import Lock
|
16
17
|
from typing import Any, Dict, Optional
|
17
18
|
|
18
19
|
# Import configuration manager
|
19
20
|
from claude_mpm.core.config import Config
|
20
21
|
|
22
|
+
# Import centralized session manager
|
23
|
+
from claude_mpm.services.session_manager import get_session_manager
|
24
|
+
|
21
25
|
# Try to import async logger for performance optimization
|
22
26
|
try:
|
23
27
|
from claude_mpm.services.async_session_logger import (
|
@@ -38,6 +42,9 @@ logger = get_logger(__name__)
|
|
38
42
|
class ClaudeSessionLogger:
|
39
43
|
"""Simplified response logger for Claude Code sessions."""
|
40
44
|
|
45
|
+
_initialization_lock = Lock()
|
46
|
+
_initialized = False
|
47
|
+
|
41
48
|
def __init__(
|
42
49
|
self,
|
43
50
|
base_dir: Optional[Path] = None,
|
@@ -52,29 +59,41 @@ class ClaudeSessionLogger:
|
|
52
59
|
use_async: Use async logging if available. Overrides config.
|
53
60
|
config: Configuration instance to use (creates new if not provided)
|
54
61
|
"""
|
55
|
-
#
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
base_dir
|
71
|
-
|
72
|
-
|
73
|
-
|
62
|
+
# Use initialization flag to prevent duplicate setup
|
63
|
+
with self._initialization_lock:
|
64
|
+
if self._initialized and hasattr(self, "config"):
|
65
|
+
logger.debug("ClaudeSessionLogger already initialized, skipping setup")
|
66
|
+
return
|
67
|
+
|
68
|
+
# Load configuration
|
69
|
+
if config is None:
|
70
|
+
config = Config()
|
71
|
+
self.config = config
|
72
|
+
|
73
|
+
# Get response logging configuration
|
74
|
+
response_config = self.config.get("response_logging", {})
|
75
|
+
|
76
|
+
# Determine base directory
|
77
|
+
if base_dir is None:
|
78
|
+
# Check configuration first
|
79
|
+
base_dir = response_config.get("session_directory")
|
80
|
+
if not base_dir:
|
81
|
+
# Fall back to default response directory
|
82
|
+
base_dir = ".claude-mpm/responses"
|
83
|
+
base_dir = Path(base_dir)
|
84
|
+
|
85
|
+
self.base_dir = Path(base_dir)
|
86
|
+
self.base_dir.mkdir(parents=True, exist_ok=True)
|
87
|
+
|
88
|
+
# Use centralized SessionManager for session ID
|
89
|
+
session_manager = get_session_manager()
|
90
|
+
self.session_id = session_manager.get_session_id()
|
91
|
+
logger.info(
|
92
|
+
f"ClaudeSessionLogger using session ID from SessionManager: {self.session_id}"
|
93
|
+
)
|
74
94
|
|
75
|
-
|
76
|
-
|
77
|
-
self.response_counter = {} # Track response count per session
|
95
|
+
self.response_counter = {} # Track response count per session
|
96
|
+
self._initialized = True
|
78
97
|
|
79
98
|
# Determine if we should use async logging
|
80
99
|
if use_async is None:
|
@@ -117,38 +136,6 @@ class ClaudeSessionLogger:
|
|
117
136
|
)
|
118
137
|
self.use_async = False
|
119
138
|
|
120
|
-
def _get_claude_session_id(self) -> Optional[str]:
|
121
|
-
"""
|
122
|
-
Get the Claude Code session ID from environment.
|
123
|
-
|
124
|
-
Returns:
|
125
|
-
Session ID if available, None otherwise
|
126
|
-
"""
|
127
|
-
# Claude Code may set various environment variables
|
128
|
-
# Check common patterns
|
129
|
-
session_id = None
|
130
|
-
|
131
|
-
# Check for CLAUDE_SESSION_ID
|
132
|
-
session_id = os.environ.get("CLAUDE_SESSION_ID")
|
133
|
-
|
134
|
-
# Check for ANTHROPIC_SESSION_ID
|
135
|
-
if not session_id:
|
136
|
-
session_id = os.environ.get("ANTHROPIC_SESSION_ID")
|
137
|
-
|
138
|
-
# Check for generic SESSION_ID
|
139
|
-
if not session_id:
|
140
|
-
session_id = os.environ.get("SESSION_ID")
|
141
|
-
|
142
|
-
# Generate a default based on timestamp if nothing found
|
143
|
-
if not session_id:
|
144
|
-
# Use a timestamp-based session ID as fallback
|
145
|
-
session_id = datetime.now(timezone.utc).strftime("%Y%m%d_%H%M%S")
|
146
|
-
logger.info(f"Session ID: {session_id} (generated)")
|
147
|
-
else:
|
148
|
-
logger.info(f"Session ID: {session_id}")
|
149
|
-
|
150
|
-
return session_id
|
151
|
-
|
152
139
|
def _generate_filename(self, agent: Optional[str] = None) -> str:
|
153
140
|
"""
|
154
141
|
Generate a flat filename with session ID, agent, and timestamp.
|
@@ -251,10 +238,15 @@ class ClaudeSessionLogger:
|
|
251
238
|
"""
|
252
239
|
Manually set the session ID.
|
253
240
|
|
241
|
+
Note: This updates both the local session ID and the SessionManager.
|
242
|
+
|
254
243
|
Args:
|
255
244
|
session_id: The session ID to use
|
256
245
|
"""
|
257
246
|
self.session_id = session_id
|
247
|
+
# Also update SessionManager to keep consistency
|
248
|
+
session_manager = get_session_manager()
|
249
|
+
session_manager.set_session_id(session_id)
|
258
250
|
logger.info(f"Session ID set to: {session_id}")
|
259
251
|
|
260
252
|
def get_session_path(self) -> Optional[Path]:
|
@@ -280,13 +272,16 @@ class ClaudeSessionLogger:
|
|
280
272
|
return self.session_id is not None
|
281
273
|
|
282
274
|
|
283
|
-
# Singleton instance
|
275
|
+
# Singleton instance with thread-safe initialization
|
284
276
|
_logger_instance = None
|
277
|
+
_logger_lock = Lock()
|
285
278
|
|
286
279
|
|
287
280
|
def get_session_logger(config: Optional[Config] = None) -> ClaudeSessionLogger:
|
288
281
|
"""
|
289
|
-
Get the singleton session logger instance.
|
282
|
+
Get the singleton session logger instance with thread-safe initialization.
|
283
|
+
|
284
|
+
Uses double-checked locking pattern to ensure thread safety.
|
290
285
|
|
291
286
|
Args:
|
292
287
|
config: Optional configuration instance to use
|
@@ -295,9 +290,16 @@ def get_session_logger(config: Optional[Config] = None) -> ClaudeSessionLogger:
|
|
295
290
|
The shared ClaudeSessionLogger instance
|
296
291
|
"""
|
297
292
|
global _logger_instance
|
298
|
-
|
299
|
-
|
300
|
-
|
293
|
+
|
294
|
+
# Fast path - check without lock
|
295
|
+
if _logger_instance is not None:
|
296
|
+
return _logger_instance
|
297
|
+
|
298
|
+
# Slow path - acquire lock and double-check
|
299
|
+
with _logger_lock:
|
300
|
+
if _logger_instance is None:
|
301
|
+
_logger_instance = ClaudeSessionLogger(config=config)
|
302
|
+
return _logger_instance
|
301
303
|
|
302
304
|
|
303
305
|
def log_response(
|