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.
Files changed (798) hide show
  1. claude_mpm-4.5.8/BUILD_NUMBER +1 -0
  2. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/PKG-INFO +1 -1
  3. claude_mpm-4.5.8/VERSION +1 -0
  4. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/pyproject.toml +2 -2
  5. claude_mpm-4.5.8/src/claude_mpm/VERSION +1 -0
  6. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_OPS.md +10 -0
  7. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/PM_INSTRUCTIONS.md +28 -4
  8. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/local_ops_agent.json +45 -9
  9. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/async_session_logger.py +111 -95
  10. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/claude_session_logger.py +61 -59
  11. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_config_manager.py +186 -17
  12. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/response_tracker.py +16 -5
  13. claude_mpm-4.5.8/src/claude_mpm/services/session_manager.py +174 -0
  14. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/PKG-INFO +1 -1
  15. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/SOURCES.txt +1 -0
  16. claude_mpm-4.5.6/BUILD_NUMBER +0 -1
  17. claude_mpm-4.5.6/VERSION +0 -1
  18. claude_mpm-4.5.6/src/claude_mpm/VERSION +0 -1
  19. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/CLAUDE.md +0 -0
  20. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/LICENSE +0 -0
  21. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/MANIFEST.in +0 -0
  22. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/README.md +0 -0
  23. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/scripts/ticket +0 -0
  24. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/setup.cfg +0 -0
  25. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/BUILD_NUMBER +0 -0
  26. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/__init__.py +0 -0
  27. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/__main__.py +0 -0
  28. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  29. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_DOCUMENTATION.md +0 -0
  30. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_ENGINEER.md +0 -0
  31. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_PM.md +0 -0
  32. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_QA.md +0 -0
  33. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/BASE_RESEARCH.md +0 -0
  34. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -0
  35. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/MEMORY.md +0 -0
  36. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
  37. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/WORKFLOW.md +0 -0
  38. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/__init__.py +0 -0
  39. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agent-template.yaml +0 -0
  40. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agent_loader.py +0 -0
  41. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  42. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/agents_metadata.py +0 -0
  43. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/async_agent_loader.py +0 -0
  44. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/base_agent.json +0 -0
  45. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/base_agent_loader.py +0 -0
  46. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
  47. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/system_agent_config.py +0 -0
  48. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -0
  49. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -0
  50. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/__init__.py +0 -0
  51. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
  52. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -0
  53. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/api_qa.json +0 -0
  54. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/clerk-ops.json +0 -0
  55. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
  56. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
  57. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/documentation.json +0 -0
  58. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/engineer.json +0 -0
  59. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/gcp_ops_agent.json +0 -0
  60. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/imagemagick.json +0 -0
  61. {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
  62. {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
  63. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
  64. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/nextjs_engineer.json +0 -0
  65. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/ops.json +0 -0
  66. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/php-engineer.json +0 -0
  67. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
  68. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/prompt-engineer.json +0 -0
  69. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/python_engineer.json +0 -0
  70. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/qa.json +0 -0
  71. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/react_engineer.json +0 -0
  72. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
  73. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/research.json +0 -0
  74. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/security.json +0 -0
  75. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/ticketing.json +0 -0
  76. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/typescript_engineer.json +0 -0
  77. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
  78. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/version_control.json +0 -0
  79. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/web_qa.json +0 -0
  80. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/agents/templates/web_ui.json +0 -0
  81. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/__init__.py +0 -0
  82. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/__main__.py +0 -0
  83. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/__init__.py +0 -0
  84. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
  85. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/agents.py +0 -0
  86. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/aggregate.py +0 -0
  87. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/analyze.py +0 -0
  88. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/analyze_code.py +0 -0
  89. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/cleanup.py +0 -0
  90. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +0 -0
  91. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/config.py +0 -0
  92. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/configure.py +0 -0
  93. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/dashboard.py +0 -0
  94. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/debug.py +0 -0
  95. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/doctor.py +0 -0
  96. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/info.py +0 -0
  97. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp.py +0 -0
  98. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
  99. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_config.py +0 -0
  100. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
  101. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_external_commands.py +0 -0
  102. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
  103. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_pipx_config.py +0 -0
  104. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
  105. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_setup_external.py +0 -0
  106. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
  107. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/memory.py +0 -0
  108. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/monitor.py +0 -0
  109. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mpm_init.py +0 -0
  110. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/mpm_init_handler.py +0 -0
  111. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/run.py +0 -0
  112. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/search.py +0 -0
  113. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/tickets.py +0 -0
  114. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/uninstall.py +0 -0
  115. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/commands/verify.py +0 -0
  116. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/interactive/__init__.py +0 -0
  117. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/interactive/agent_wizard.py +0 -0
  118. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parser.py +0 -0
  119. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/__init__.py +0 -0
  120. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
  121. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
  122. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/analyze_code_parser.py +0 -0
  123. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/analyze_parser.py +0 -0
  124. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
  125. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
  126. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/configure_parser.py +0 -0
  127. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/dashboard_parser.py +0 -0
  128. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/debug_parser.py +0 -0
  129. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
  130. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
  131. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
  132. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/mpm_init_parser.py +0 -0
  133. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
  134. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/search_parser.py +0 -0
  135. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
  136. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/__init__.py +0 -0
  137. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
  138. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/base_command.py +0 -0
  139. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/error_handling.py +0 -0
  140. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
  141. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/startup_logging.py +0 -0
  142. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/ticket_cli.py +0 -0
  143. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli/utils.py +0 -0
  144. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/__init__.py +0 -0
  145. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/args.py +0 -0
  146. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/commands.py +0 -0
  147. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/cli_module/migration_example.py +0 -0
  148. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/__init__.py +0 -0
  149. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-agents.md +0 -0
  150. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-config.md +0 -0
  151. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-doctor.md +0 -0
  152. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-help.md +0 -0
  153. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-init.md +0 -0
  154. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-status.md +0 -0
  155. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm-tickets.md +0 -0
  156. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/commands/mpm.md +0 -0
  157. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/__init__.py +0 -0
  158. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/agent_config.py +0 -0
  159. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/experimental_features.py +0 -0
  160. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/paths.py +0 -0
  161. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/config/socketio_config.py +0 -0
  162. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/constants.py +0 -0
  163. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/__init__.py +0 -0
  164. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  165. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/agent_registry.py +0 -0
  166. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/agent_session_manager.py +0 -0
  167. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/api_validator.py +0 -0
  168. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/base_service.py +0 -0
  169. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/cache.py +0 -0
  170. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/claude_runner.py +0 -0
  171. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/config.py +0 -0
  172. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/config_aliases.py +0 -0
  173. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/config_constants.py +0 -0
  174. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/constants.py +0 -0
  175. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/container.py +0 -0
  176. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/error_handler.py +0 -0
  177. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/exceptions.py +0 -0
  178. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/factories.py +0 -0
  179. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/file_utils.py +0 -0
  180. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/__init__.py +0 -0
  181. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/__init__.py +0 -0
  182. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/capability_generator.py +0 -0
  183. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/content_formatter.py +0 -0
  184. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/formatters/context_generator.py +0 -0
  185. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/__init__.py +0 -0
  186. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/agent_loader.py +0 -0
  187. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/file_loader.py +0 -0
  188. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/instruction_loader.py +0 -0
  189. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/loaders/packaged_loader.py +0 -0
  190. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/__init__.py +0 -0
  191. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/memory_processor.py +0 -0
  192. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/metadata_processor.py +0 -0
  193. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework/processors/template_processor.py +0 -0
  194. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/framework_loader.py +0 -0
  195. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/hook_manager.py +0 -0
  196. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/hook_performance_config.py +0 -0
  197. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/injectable_service.py +0 -0
  198. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/instruction_reinforcement_hook.py +0 -0
  199. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/interactive_session.py +0 -0
  200. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/interfaces.py +0 -0
  201. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/lazy.py +0 -0
  202. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/log_manager.py +0 -0
  203. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/logger.py +0 -0
  204. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/logging_config.py +0 -0
  205. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/logging_utils.py +0 -0
  206. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  207. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/mixins.py +0 -0
  208. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/oneshot_session.py +0 -0
  209. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
  210. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/optimized_startup.py +0 -0
  211. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/output_style_manager.py +0 -0
  212. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
  213. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/service_registry.py +0 -0
  214. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/session_manager.py +0 -0
  215. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/__init__.py +0 -0
  216. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/config_loader.py +0 -0
  217. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/path_resolver.py +0 -0
  218. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
  219. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/socketio_pool.py +0 -0
  220. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/tool_access_control.py +0 -0
  221. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/types.py +0 -0
  222. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/typing_utils.py +0 -0
  223. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/unified_agent_registry.py +0 -0
  224. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/unified_config.py +0 -0
  225. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/core/unified_paths.py +0 -0
  226. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -0
  227. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/__init__.py +0 -0
  228. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/analysis_runner.py +0 -0
  229. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/api/simple_directory.py +0 -0
  230. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/index.html +0 -0
  231. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
  232. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -0
  233. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -0
  234. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -0
  235. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -0
  236. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -0
  237. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -0
  238. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -0
  239. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -0
  240. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_dashboard.html +0 -0
  241. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -0
  242. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -0
  243. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_data.html +0 -0
  244. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -0
  245. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -0
  246. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -0
  247. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -0
  248. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -0
  249. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_final_activity.html +0 -0
  250. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -0
  251. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -0
  252. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/activity-tree.js +0 -0
  253. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -0
  254. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
  255. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/build-tracker.js +0 -0
  256. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-simple.js +0 -0
  257. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -0
  258. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -0
  259. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -0
  260. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -0
  261. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-tree.js +0 -0
  262. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/code-viewer.js +0 -0
  263. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/connection-debug.js +0 -0
  264. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -0
  265. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
  266. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
  267. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
  268. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -0
  269. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -0
  270. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
  271. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/file-viewer.js +0 -0
  272. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
  273. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
  274. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
  275. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
  276. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/nav-bar.js +0 -0
  277. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/page-structure.js +0 -0
  278. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
  279. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
  280. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
  281. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -0
  282. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
  283. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/connection-manager.js +0 -0
  284. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
  285. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/extension-error-handler.js +0 -0
  286. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/react/events.js +0 -0
  287. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -0
  288. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/event-bus.js +0 -0
  289. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -0
  290. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/logger.js +0 -0
  291. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/page-structure.js +0 -0
  292. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -0
  293. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
  294. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -0
  295. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/activity.css +0 -0
  296. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/code-tree.css +0 -0
  297. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/connection-status.css +0 -0
  298. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
  299. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -0
  300. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -0
  301. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
  302. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/code-tree.js +0 -0
  303. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -0
  304. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
  305. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
  306. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
  307. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
  308. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -0
  309. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
  310. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
  311. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
  312. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
  313. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
  314. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
  315. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
  316. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -0
  317. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
  318. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
  319. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/react/events.js +0 -0
  320. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
  321. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/events.html +0 -0
  322. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/index.html +0 -0
  323. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/activity-tree.js +0 -0
  324. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
  325. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
  326. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +0 -0
  327. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-simple.js +0 -0
  328. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -0
  329. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -0
  330. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -0
  331. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -0
  332. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-tree.js +0 -0
  333. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/code-viewer.js +0 -0
  334. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/connection-debug.js +0 -0
  335. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -0
  336. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
  337. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
  338. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
  339. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -0
  340. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -0
  341. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
  342. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/file-viewer.js +0 -0
  343. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
  344. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
  345. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
  346. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
  347. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
  348. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
  349. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
  350. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -0
  351. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
  352. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/connection-manager.js +0 -0
  353. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
  354. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
  355. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -0
  356. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/event-bus.js +0 -0
  357. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/logger.js +0 -0
  358. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -0
  359. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
  360. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -0
  361. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -0
  362. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/activity.html +0 -0
  363. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/agents.html +0 -0
  364. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/files.html +0 -0
  365. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/legacy/tools.html +0 -0
  366. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/monitors-index.html +0 -0
  367. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/monitors.html +0 -0
  368. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/production/events.html +0 -0
  369. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/production/main.html +0 -0
  370. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/production/monitors.html +0 -0
  371. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/socket.io.min.js +0 -0
  372. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -0
  373. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/dashboard.html +0 -0
  374. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/debug-events.html +0 -0
  375. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -0
  376. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -0
  377. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/static/test-archive/test_debug.html +0 -0
  378. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/templates/code_simple.html +0 -0
  379. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/templates/index.html +0 -0
  380. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
  381. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/experimental/__init__.py +0 -0
  382. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
  383. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/generators/__init__.py +0 -0
  384. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
  385. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/__init__.py +0 -0
  386. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/base_hook.py +0 -0
  387. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
  388. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
  389. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
  390. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
  391. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -0
  392. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -0
  393. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -0
  394. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
  395. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/installer.py +0 -0
  396. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
  397. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
  398. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/__init__.py +0 -0
  399. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/connection_manager.py +0 -0
  400. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +0 -0
  401. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +0 -0
  402. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/state_manager.py +0 -0
  403. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/services/subagent_processor.py +0 -0
  404. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
  405. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/instruction_reinforcement.py +0 -0
  406. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/kuzu_memory_hook.py +0 -0
  407. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
  408. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  409. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/hooks/validation_hooks.py +0 -0
  410. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/init.py +0 -0
  411. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/models/__init__.py +0 -0
  412. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/models/agent_definition.py +0 -0
  413. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/models/agent_session.py +0 -0
  414. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/schemas/__init__.py +0 -0
  415. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/__init__.py +0 -0
  416. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/claude-hook-handler.sh +0 -0
  417. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/launch_monitor.py +0 -0
  418. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/mcp_server.py +0 -0
  419. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
  420. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/mpm_doctor.py +0 -0
  421. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
  422. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
  423. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/__init__.py +0 -0
  424. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
  425. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/__init__.py +0 -0
  426. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/agent_builder.py +0 -0
  427. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
  428. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
  429. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
  430. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
  431. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
  432. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
  433. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
  434. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
  435. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
  436. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
  437. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
  438. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -0
  439. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
  440. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_operation_service.py +0 -0
  441. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_record_service.py +0 -0
  442. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
  443. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_state_service.py +0 -0
  444. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
  445. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
  446. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
  447. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
  448. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
  449. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
  450. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/base_agent_locator.py +0 -0
  451. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
  452. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
  453. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
  454. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
  455. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_results_manager.py +0 -0
  456. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
  457. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
  458. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
  459. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
  460. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
  461. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
  462. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
  463. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
  464. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
  465. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
  466. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/local_template_deployment.py +0 -0
  467. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
  468. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
  469. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
  470. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
  471. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
  472. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
  473. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
  474. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
  475. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
  476. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
  477. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
  478. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
  479. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
  480. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
  481. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
  482. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
  483. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
  484. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
  485. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
  486. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/single_agent_deployer.py +0 -0
  487. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
  488. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
  489. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
  490. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
  491. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
  492. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
  493. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
  494. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
  495. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
  496. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
  497. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
  498. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
  499. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
  500. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
  501. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
  502. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
  503. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/local_template_manager.py +0 -0
  504. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/management/__init__.py +0 -0
  505. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
  506. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
  507. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
  508. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
  509. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
  510. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
  511. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_categorization_service.py +0 -0
  512. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_file_service.py +0 -0
  513. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_format_service.py +0 -0
  514. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/memory_limits_service.py +0 -0
  515. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
  516. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
  517. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
  518. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
  519. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/__init__.py +0 -0
  520. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_cleanup_service.py +0 -0
  521. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_dependency_service.py +0 -0
  522. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_listing_service.py +0 -0
  523. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_output_formatter.py +0 -0
  524. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/agent_validation_service.py +0 -0
  525. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/memory_crud_service.py +0 -0
  526. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/memory_output_formatter.py +0 -0
  527. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/session_manager.py +0 -0
  528. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/startup_checker.py +0 -0
  529. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/cli/unified_dashboard_manager.py +0 -0
  530. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/command_deployment_service.py +0 -0
  531. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/command_handler_service.py +0 -0
  532. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/communication/__init__.py +0 -0
  533. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/__init__.py +0 -0
  534. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/base.py +0 -0
  535. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/cache_manager.py +0 -0
  536. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
  537. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
  538. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
  539. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
  540. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces/service.py +0 -0
  541. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/interfaces.py +0 -0
  542. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/memory_manager.py +0 -0
  543. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/path_resolver.py +0 -0
  544. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/service_container.py +0 -0
  545. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/core/service_interfaces.py +0 -0
  546. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
  547. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
  548. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
  549. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
  550. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/claude_code_check.py +0 -0
  551. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
  552. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
  553. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
  554. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
  555. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/instructions_check.py +0 -0
  556. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
  557. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/mcp_services_check.py +0 -0
  558. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
  559. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
  560. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
  561. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
  562. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/diagnostics/models.py +0 -0
  563. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_aggregator.py +0 -0
  564. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/__init__.py +0 -0
  565. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/config.py +0 -0
  566. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/direct_relay.py +0 -0
  567. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/event_bus.py +0 -0
  568. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/event_bus/relay.py +0 -0
  569. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/__init__.py +0 -0
  570. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
  571. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
  572. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/logging.py +0 -0
  573. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
  574. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
  575. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/core.py +0 -0
  576. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/interfaces.py +0 -0
  577. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/producers/__init__.py +0 -0
  578. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/producers/hook.py +0 -0
  579. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/events/producers/system.py +0 -0
  580. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/exceptions.py +0 -0
  581. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
  582. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  583. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  584. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
  585. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  586. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  587. {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
  588. {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
  589. {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
  590. {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
  591. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  592. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  593. {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
  594. {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
  595. {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
  596. {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
  597. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  598. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  599. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  600. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/hook_installer_service.py +0 -0
  601. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/hook_service.py +0 -0
  602. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
  603. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
  604. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
  605. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/logging.py +0 -0
  606. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/__init__.py +0 -0
  607. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/aggregator.py +0 -0
  608. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/base.py +0 -0
  609. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/legacy.py +0 -0
  610. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/network.py +0 -0
  611. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/process.py +0 -0
  612. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/resources.py +0 -0
  613. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring/service.py +0 -0
  614. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
  615. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
  616. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/auto_configure.py +0 -0
  617. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
  618. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
  619. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
  620. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
  621. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
  622. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
  623. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
  624. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
  625. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
  626. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
  627. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
  628. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
  629. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
  630. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
  631. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
  632. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
  633. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
  634. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
  635. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
  636. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
  637. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
  638. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
  639. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -0
  640. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
  641. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
  642. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -0
  643. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/utils/__init__.py +0 -0
  644. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -0
  645. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -0
  646. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/mcp_service_verifier.py +0 -0
  647. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/__init__.py +0 -0
  648. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/builder.py +0 -0
  649. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
  650. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
  651. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
  652. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
  653. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/optimizer.py +0 -0
  654. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory/router.py +0 -0
  655. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/memory_hook_service.py +0 -0
  656. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/__init__.py +0 -0
  657. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/daemon.py +0 -0
  658. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/daemon_manager.py +0 -0
  659. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/event_emitter.py +0 -0
  660. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/__init__.py +0 -0
  661. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/code_analysis.py +0 -0
  662. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/dashboard.py +0 -0
  663. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/file.py +0 -0
  664. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/handlers/hooks.py +0 -0
  665. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/management/__init__.py +0 -0
  666. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/management/health.py +0 -0
  667. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/management/lifecycle.py +0 -0
  668. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor/server.py +0 -0
  669. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/monitor_build_service.py +0 -0
  670. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/port_manager.py +0 -0
  671. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/__init__.py +0 -0
  672. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/analyzer.py +0 -0
  673. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/analyzer_refactored.py +0 -0
  674. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/analyzer_v2.py +0 -0
  675. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/architecture_analyzer.py +0 -0
  676. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/archive_manager.py +0 -0
  677. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/dependency_analyzer.py +0 -0
  678. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/documentation_manager.py +0 -0
  679. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/enhanced_analyzer.py +0 -0
  680. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/language_analyzer.py +0 -0
  681. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/metrics_collector.py +0 -0
  682. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/project_organizer.py +0 -0
  683. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/project/registry.py +0 -0
  684. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/recovery_manager.py +0 -0
  685. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/runner_configuration_service.py +0 -0
  686. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/session_management_service.py +0 -0
  687. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/__init__.py +0 -0
  688. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/async_service_base.py +0 -0
  689. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/config_service_base.py +0 -0
  690. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
  691. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/manager_base.py +0 -0
  692. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/shared/service_factory.py +0 -0
  693. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/__init__.py +0 -0
  694. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
  695. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/dashboard_server.py +0 -0
  696. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
  697. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
  698. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
  699. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/code_analysis.py +0 -0
  700. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
  701. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/connection_handler.py +0 -0
  702. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
  703. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
  704. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
  705. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
  706. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
  707. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
  708. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
  709. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/monitor_client.py +0 -0
  710. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
  711. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
  712. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/connection_manager.py +0 -0
  713. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/core.py +0 -0
  714. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/eventbus_integration.py +0 -0
  715. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio/server/main.py +0 -0
  716. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio_client_manager.py +0 -0
  717. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/socketio_server.py +0 -0
  718. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
  719. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/system_instructions_service.py +0 -0
  720. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_manager.py +0 -0
  721. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/__init__.py +0 -0
  722. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/crud_service.py +0 -0
  723. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/formatter_service.py +0 -0
  724. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/search_service.py +0 -0
  725. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/validation_service.py +0 -0
  726. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/ticket_services/workflow_service.py +0 -0
  727. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/__init__.py +0 -0
  728. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/__init__.py +0 -0
  729. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +0 -0
  730. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +0 -0
  731. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -0
  732. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -0
  733. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +0 -0
  734. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/__init__.py +0 -0
  735. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/config_schema.py +0 -0
  736. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/context_strategy.py +0 -0
  737. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/error_handling_strategy.py +0 -0
  738. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/file_loader_strategy.py +0 -0
  739. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/unified_config_service.py +0 -0
  740. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/config_strategies/validation_strategy.py +0 -0
  741. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/__init__.py +0 -0
  742. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/base.py +0 -0
  743. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +0 -0
  744. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/local.py +0 -0
  745. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/utils.py +0 -0
  746. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/deployment_strategies/vercel.py +0 -0
  747. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/interfaces.py +0 -0
  748. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/migration.py +0 -0
  749. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/strategies.py +0 -0
  750. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/unified_analyzer.py +0 -0
  751. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/unified_config.py +0 -0
  752. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/unified/unified_deployment.py +0 -0
  753. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/utility_service.py +0 -0
  754. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/__init__.py +0 -0
  755. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  756. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  757. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  758. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
  759. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_control/version_parser.py +0 -0
  760. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/version_service.py +0 -0
  761. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/visualization/__init__.py +0 -0
  762. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/services/visualization/mermaid_generator.py +0 -0
  763. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/storage/__init__.py +0 -0
  764. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/storage/state_storage.py +0 -0
  765. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/ticket_wrapper.py +0 -0
  766. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/__init__.py +0 -0
  767. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/__main__.py +0 -0
  768. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/code_tree_analyzer.py +0 -0
  769. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/code_tree_builder.py +0 -0
  770. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/code_tree_events.py +0 -0
  771. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/tools/socketio_debug.py +0 -0
  772. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/__init__.py +0 -0
  773. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
  774. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/common.py +0 -0
  775. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/config_manager.py +0 -0
  776. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/console.py +0 -0
  777. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/database_connector.py +0 -0
  778. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/dependency_cache.py +0 -0
  779. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/dependency_manager.py +0 -0
  780. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/dependency_strategies.py +0 -0
  781. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/environment_context.py +0 -0
  782. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/error_handler.py +0 -0
  783. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/file_utils.py +0 -0
  784. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/framework_detection.py +0 -0
  785. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/import_migration_example.py +0 -0
  786. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/imports.py +0 -0
  787. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/log_cleanup.py +0 -0
  788. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/path_operations.py +0 -0
  789. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/robust_installer.py +0 -0
  790. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/session_logging.py +0 -0
  791. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/utils/subprocess_utils.py +0 -0
  792. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/validation/__init__.py +0 -0
  793. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/validation/agent_validator.py +0 -0
  794. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
  795. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  796. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  797. {claude_mpm-4.5.6 → claude_mpm-4.5.8}/src/claude_mpm.egg-info/requires.txt +0 -0
  798. {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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.5.6
3
+ Version: 4.5.8
4
4
  Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
5
5
  Author-email: Bob Matsuoka <bob@matsuoka.com>
6
6
  Maintainer: Claude MPM Team
@@ -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.6"
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.6"
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) | Ops | Read logs, check process status, fetch endpoint, Playwright if UI |
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 (or Ops) for deployment
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 | Ops (MUST verify) |
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 → Ops (PM2/Docker) → Ops (VERIFY logs+fetch) → QA → Docs
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 authority over PM2, Docker, and native processes",
5
- "version": "1.0.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
- "allocate_port",
90
+ "verify_no_conflicts",
91
+ "check_process_ownership",
92
+ "reuse_or_allocate_port",
82
93
  "build_if_needed",
83
- "start_process",
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": "allocate_next_available_port"
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": "validate_requirements",
273
+ "pre_deploy": "check_conflicts_and_validate_requirements",
240
274
  "post_deploy": "notify_status",
241
- "pre_stop": "graceful_shutdown",
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
- # Load configuration from YAML file or use provided config
94
- if config is None:
95
- config = Config()
96
- self.config = config
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
- # Create base directory
151
- self.base_dir.mkdir(parents=True, exist_ok=True)
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
- # Session management
154
- self.session_id = self._get_claude_session_id()
112
+ # Get response logging configuration section
113
+ response_config = self.config.get("response_logging", {})
155
114
 
156
- # Async infrastructure
157
- self._queue: Queue = Queue(maxsize=self.max_queue_size)
158
- self._worker_thread: Optional[Thread] = None
159
- self._shutdown = False
160
- self._lock = Lock()
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
- # Statistics
163
- self.stats = {
164
- "logged": 0,
165
- "queued": 0,
166
- "dropped": 0,
167
- "errors": 0,
168
- "avg_write_time_ms": 0.0,
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
- # Initialize format-specific handlers
172
- self._init_format_handler()
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
- # Start background worker if async enabled
175
- if self.enable_async:
176
- self._start_worker()
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
- # Log initialization status
179
- logger.info(
180
- f"AsyncSessionLogger initialized: session_id={self.session_id}, async={self.enable_async}, format={self.log_format.value}"
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
- def _get_claude_session_id(self) -> str:
184
- """Get or generate a Claude session ID."""
185
- # Check environment variables in order of preference
186
- for env_var in ["CLAUDE_SESSION_ID", "ANTHROPIC_SESSION_ID", "SESSION_ID"]:
187
- session_id = os.environ.get(env_var)
188
- if session_id:
189
- logger.info(f"Using session ID from {env_var}: {session_id}")
190
- return session_id
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
- # Generate timestamp-based session ID
193
- session_id = datetime.now(timezone.utc).strftime("%Y%m%d_%H%M%S")
194
- logger.info(f"Generated session ID: {session_id}")
195
- return session_id
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
- # Load configuration
56
- if config is None:
57
- config = Config()
58
- self.config = config
59
-
60
- # Get response logging configuration
61
- response_config = self.config.get("response_logging", {})
62
-
63
- # Determine base directory
64
- if base_dir is None:
65
- # Check configuration first
66
- base_dir = response_config.get("session_directory")
67
- if not base_dir:
68
- # Fall back to default response directory
69
- base_dir = ".claude-mpm/responses"
70
- base_dir = Path(base_dir)
71
-
72
- self.base_dir = Path(base_dir)
73
- self.base_dir.mkdir(parents=True, exist_ok=True)
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
- # Try to get session ID from environment
76
- self.session_id = self._get_claude_session_id()
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 for easy access
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
- if _logger_instance is None:
299
- _logger_instance = ClaudeSessionLogger(config=config)
300
- return _logger_instance
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(