claude-mpm 4.2.29__tar.gz → 4.2.32__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 (665) hide show
  1. claude_mpm-4.2.32/BUILD_NUMBER +1 -0
  2. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/PKG-INFO +1 -1
  3. claude_mpm-4.2.32/VERSION +1 -0
  4. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/pyproject.toml +2 -2
  5. claude_mpm-4.2.32/src/claude_mpm/VERSION +1 -0
  6. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/unified_dashboard_manager.py +39 -97
  7. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/daemon.py +53 -163
  8. claude_mpm-4.2.32/src/claude_mpm/services/monitor/daemon_manager.py +739 -0
  9. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm.egg-info/PKG-INFO +1 -1
  10. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm.egg-info/SOURCES.txt +1 -0
  11. claude_mpm-4.2.29/BUILD_NUMBER +0 -1
  12. claude_mpm-4.2.29/VERSION +0 -1
  13. claude_mpm-4.2.29/src/claude_mpm/VERSION +0 -1
  14. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/CLAUDE.md +0 -0
  15. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/LICENSE +0 -0
  16. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/MANIFEST.in +0 -0
  17. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/README.md +0 -0
  18. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/scripts/ticket +0 -0
  19. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/setup.cfg +0 -0
  20. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/BUILD_NUMBER +0 -0
  21. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/__init__.py +0 -0
  22. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/__main__.py +0 -0
  23. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  24. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/BASE_DOCUMENTATION.md +0 -0
  25. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/BASE_ENGINEER.md +0 -0
  26. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/BASE_OPS.md +0 -0
  27. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/BASE_PM.md +0 -0
  28. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/BASE_QA.md +0 -0
  29. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/BASE_RESEARCH.md +0 -0
  30. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
  31. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/MEMORY.md +0 -0
  32. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
  33. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/WORKFLOW.md +0 -0
  34. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/__init__.py +0 -0
  35. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/agent-template.yaml +0 -0
  36. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/agent_loader.py +0 -0
  37. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  38. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/agents_metadata.py +0 -0
  39. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/async_agent_loader.py +0 -0
  40. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/base_agent.json +0 -0
  41. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/base_agent_loader.py +0 -0
  42. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
  43. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/system_agent_config.py +0 -0
  44. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -0
  45. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -0
  46. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/__init__.py +0 -0
  47. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
  48. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/agent-manager.md +0 -0
  49. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -0
  50. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/agentic-coder-optimizer.md +0 -0
  51. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/agentic_coder_optimizer.json +0 -0
  52. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/api_qa.json +0 -0
  53. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
  54. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
  55. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/documentation.json +0 -0
  56. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/engineer.json +0 -0
  57. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/gcp_ops_agent.json +0 -0
  58. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/imagemagick.json +0 -0
  59. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -0
  60. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -0
  61. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
  62. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/ops.json +0 -0
  63. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
  64. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/qa.json +0 -0
  65. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
  66. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/research.json +0 -0
  67. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/security.json +0 -0
  68. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/test-non-mpm.json +0 -0
  69. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/ticketing.json +0 -0
  70. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
  71. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/version_control.json +0 -0
  72. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/web_qa.json +0 -0
  73. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/agents/templates/web_ui.json +0 -0
  74. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/__init__.py +0 -0
  75. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/__main__.py +0 -0
  76. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/__init__.py +0 -0
  77. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
  78. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/agents.py +0 -0
  79. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/aggregate.py +0 -0
  80. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/analyze.py +0 -0
  81. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/analyze_code.py +0 -0
  82. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/cleanup.py +0 -0
  83. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +0 -0
  84. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/config.py +0 -0
  85. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/configure.py +0 -0
  86. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/configure_tui.py +0 -0
  87. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/dashboard.py +0 -0
  88. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/debug.py +0 -0
  89. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/doctor.py +0 -0
  90. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/info.py +0 -0
  91. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mcp.py +0 -0
  92. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
  93. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
  94. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
  95. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mcp_pipx_config.py +0 -0
  96. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
  97. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
  98. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/memory.py +0 -0
  99. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/monitor.py +0 -0
  100. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mpm_init.py +0 -0
  101. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/mpm_init_handler.py +0 -0
  102. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/run.py +0 -0
  103. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/tickets.py +0 -0
  104. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/commands/uninstall.py +0 -0
  105. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/interactive/__init__.py +0 -0
  106. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/interactive/agent_wizard.py +0 -0
  107. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parser.py +0 -0
  108. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/__init__.py +0 -0
  109. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
  110. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
  111. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/analyze_code_parser.py +0 -0
  112. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/analyze_parser.py +0 -0
  113. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
  114. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
  115. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/configure_parser.py +0 -0
  116. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/dashboard_parser.py +0 -0
  117. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/debug_parser.py +0 -0
  118. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
  119. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
  120. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
  121. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/mpm_init_parser.py +0 -0
  122. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
  123. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
  124. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/shared/__init__.py +0 -0
  125. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
  126. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/shared/base_command.py +0 -0
  127. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/shared/error_handling.py +0 -0
  128. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
  129. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/startup_logging.py +0 -0
  130. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/ticket_cli.py +0 -0
  131. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli/utils.py +0 -0
  132. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli_module/__init__.py +0 -0
  133. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli_module/args.py +0 -0
  134. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli_module/commands.py +0 -0
  135. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/cli_module/migration_example.py +0 -0
  136. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/__init__.py +0 -0
  137. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm-agents.md +0 -0
  138. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm-config.md +0 -0
  139. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm-doctor.md +0 -0
  140. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm-help.md +0 -0
  141. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm-init.md +0 -0
  142. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm-status.md +0 -0
  143. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm-tickets.md +0 -0
  144. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/commands/mpm.md +0 -0
  145. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/config/__init__.py +0 -0
  146. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/config/agent_config.py +0 -0
  147. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/config/experimental_features.py +0 -0
  148. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/config/paths.py +0 -0
  149. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/config/socketio_config.py +0 -0
  150. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/constants.py +0 -0
  151. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/__init__.py +0 -0
  152. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  153. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/agent_registry.py +0 -0
  154. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/agent_session_manager.py +0 -0
  155. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/base_service.py +0 -0
  156. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/cache.py +0 -0
  157. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/claude_runner.py +0 -0
  158. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/config.py +0 -0
  159. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/config_aliases.py +0 -0
  160. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/config_constants.py +0 -0
  161. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/constants.py +0 -0
  162. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/container.py +0 -0
  163. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/error_handler.py +0 -0
  164. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/exceptions.py +0 -0
  165. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/factories.py +0 -0
  166. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/file_utils.py +0 -0
  167. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/framework_loader.py +0 -0
  168. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/hook_manager.py +0 -0
  169. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/hook_performance_config.py +0 -0
  170. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/injectable_service.py +0 -0
  171. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/instruction_reinforcement_hook.py +0 -0
  172. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/interactive_session.py +0 -0
  173. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/interfaces.py +0 -0
  174. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/lazy.py +0 -0
  175. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/log_manager.py +0 -0
  176. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/logger.py +0 -0
  177. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/logging_config.py +0 -0
  178. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/logging_utils.py +0 -0
  179. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  180. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/mixins.py +0 -0
  181. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/oneshot_session.py +0 -0
  182. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
  183. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/optimized_startup.py +0 -0
  184. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/output_style_manager.py +0 -0
  185. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
  186. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/service_registry.py +0 -0
  187. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/session_manager.py +0 -0
  188. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/shared/__init__.py +0 -0
  189. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/shared/config_loader.py +0 -0
  190. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/shared/path_resolver.py +0 -0
  191. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
  192. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/socketio_pool.py +0 -0
  193. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/tool_access_control.py +0 -0
  194. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/types.py +0 -0
  195. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/typing_utils.py +0 -0
  196. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/unified_agent_registry.py +0 -0
  197. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/unified_config.py +0 -0
  198. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/core/unified_paths.py +0 -0
  199. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -0
  200. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/__init__.py +0 -0
  201. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/analysis_runner.py +0 -0
  202. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/api/simple_directory.py +0 -0
  203. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/index.html +0 -0
  204. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
  205. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/activity-tree.js +0 -0
  206. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
  207. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/code-tree.js +0 -0
  208. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/code-viewer.js +0 -0
  209. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
  210. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
  211. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
  212. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
  213. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/file-viewer.js +0 -0
  214. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
  215. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
  216. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
  217. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
  218. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
  219. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
  220. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
  221. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -0
  222. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
  223. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
  224. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
  225. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/css/activity.css +0 -0
  226. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/css/code-tree.css +0 -0
  227. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/css/connection-status.css +0 -0
  228. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
  229. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -0
  230. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
  231. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/code-tree.js +0 -0
  232. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -0
  233. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
  234. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
  235. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
  236. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
  237. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -0
  238. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
  239. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
  240. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
  241. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
  242. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
  243. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
  244. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
  245. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -0
  246. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
  247. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
  248. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
  249. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/activity-tree.js +0 -0
  250. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
  251. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
  252. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +0 -0
  253. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/code-simple.js +0 -0
  254. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -0
  255. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -0
  256. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -0
  257. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -0
  258. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/code-tree.js +0 -0
  259. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/code-viewer.js +0 -0
  260. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/connection-debug.js +0 -0
  261. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
  262. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
  263. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
  264. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
  265. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/file-viewer.js +0 -0
  266. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
  267. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
  268. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
  269. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
  270. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
  271. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
  272. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
  273. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -0
  274. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
  275. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/connection-manager.js +0 -0
  276. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
  277. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
  278. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -0
  279. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/shared/event-bus.js +0 -0
  280. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/shared/logger.js +0 -0
  281. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -0
  282. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
  283. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/test-simple.html +0 -0
  284. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/static/test_debug.html +0 -0
  285. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/templates/code_simple.html +0 -0
  286. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/templates/index.html +0 -0
  287. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
  288. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/experimental/__init__.py +0 -0
  289. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
  290. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/generators/__init__.py +0 -0
  291. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
  292. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/__init__.py +0 -0
  293. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/base_hook.py +0 -0
  294. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
  295. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
  296. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
  297. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
  298. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -0
  299. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -0
  300. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -0
  301. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
  302. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/installer.py +0 -0
  303. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
  304. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
  305. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/services/__init__.py +0 -0
  306. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/services/connection_manager.py +0 -0
  307. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +0 -0
  308. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +0 -0
  309. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/services/state_manager.py +0 -0
  310. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/services/subagent_processor.py +0 -0
  311. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
  312. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
  313. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  314. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/hooks/validation_hooks.py +0 -0
  315. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/init.py +0 -0
  316. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/models/__init__.py +0 -0
  317. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/models/agent_definition.py +0 -0
  318. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/models/agent_session.py +0 -0
  319. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/schemas/__init__.py +0 -0
  320. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/__init__.py +0 -0
  321. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/claude-hook-handler.sh +0 -0
  322. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/launch_monitor.py +0 -0
  323. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/mcp_server.py +0 -0
  324. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
  325. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/mpm_doctor.py +0 -0
  326. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
  327. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
  328. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/__init__.py +0 -0
  329. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
  330. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/__init__.py +0 -0
  331. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/agent_builder.py +0 -0
  332. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
  333. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
  334. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
  335. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
  336. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
  337. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
  338. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
  339. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
  340. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
  341. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
  342. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
  343. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -0
  344. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
  345. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_operation_service.py +0 -0
  346. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_record_service.py +0 -0
  347. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
  348. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_state_service.py +0 -0
  349. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
  350. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
  351. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
  352. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
  353. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
  354. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
  355. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/base_agent_locator.py +0 -0
  356. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
  357. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
  358. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
  359. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
  360. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/deployment_results_manager.py +0 -0
  361. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
  362. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
  363. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
  364. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
  365. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
  366. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
  367. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
  368. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
  369. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
  370. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
  371. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/local_template_deployment.py +0 -0
  372. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
  373. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
  374. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
  375. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
  376. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
  377. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
  378. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
  379. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
  380. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
  381. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
  382. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
  383. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
  384. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
  385. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
  386. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
  387. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
  388. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
  389. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
  390. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
  391. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/single_agent_deployer.py +0 -0
  392. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
  393. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
  394. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
  395. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
  396. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
  397. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
  398. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
  399. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
  400. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
  401. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
  402. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
  403. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
  404. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
  405. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
  406. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
  407. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
  408. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/local_template_manager.py +0 -0
  409. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/management/__init__.py +0 -0
  410. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
  411. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
  412. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
  413. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
  414. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
  415. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
  416. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/memory_categorization_service.py +0 -0
  417. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/memory_file_service.py +0 -0
  418. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/memory_format_service.py +0 -0
  419. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/memory_limits_service.py +0 -0
  420. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
  421. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
  422. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
  423. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
  424. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/async_session_logger.py +0 -0
  425. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/claude_session_logger.py +0 -0
  426. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/__init__.py +0 -0
  427. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/agent_cleanup_service.py +0 -0
  428. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/agent_dependency_service.py +0 -0
  429. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/agent_listing_service.py +0 -0
  430. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/agent_output_formatter.py +0 -0
  431. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/agent_validation_service.py +0 -0
  432. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/memory_crud_service.py +0 -0
  433. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/memory_output_formatter.py +0 -0
  434. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/session_manager.py +0 -0
  435. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/cli/startup_checker.py +0 -0
  436. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/command_deployment_service.py +0 -0
  437. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/command_handler_service.py +0 -0
  438. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/communication/__init__.py +0 -0
  439. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/__init__.py +0 -0
  440. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/base.py +0 -0
  441. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/cache_manager.py +0 -0
  442. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
  443. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
  444. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
  445. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
  446. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/interfaces/service.py +0 -0
  447. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/interfaces.py +0 -0
  448. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/memory_manager.py +0 -0
  449. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/path_resolver.py +0 -0
  450. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/service_container.py +0 -0
  451. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/core/service_interfaces.py +0 -0
  452. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
  453. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
  454. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
  455. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
  456. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -0
  457. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
  458. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
  459. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
  460. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
  461. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/instructions_check.py +0 -0
  462. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
  463. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
  464. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
  465. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
  466. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
  467. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/diagnostics/models.py +0 -0
  468. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/event_aggregator.py +0 -0
  469. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/event_bus/__init__.py +0 -0
  470. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/event_bus/config.py +0 -0
  471. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/event_bus/direct_relay.py +0 -0
  472. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/event_bus/event_bus.py +0 -0
  473. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/event_bus/relay.py +0 -0
  474. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/__init__.py +0 -0
  475. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
  476. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
  477. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/consumers/logging.py +0 -0
  478. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
  479. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
  480. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/core.py +0 -0
  481. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/interfaces.py +0 -0
  482. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/producers/__init__.py +0 -0
  483. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/producers/hook.py +0 -0
  484. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/events/producers/system.py +0 -0
  485. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/exceptions.py +0 -0
  486. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
  487. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  488. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  489. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
  490. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  491. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  492. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
  493. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
  494. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
  495. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
  496. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  497. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  498. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
  499. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
  500. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
  501. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
  502. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  503. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  504. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  505. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/hook_installer_service.py +0 -0
  506. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/hook_service.py +0 -0
  507. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
  508. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
  509. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
  510. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/logging.py +0 -0
  511. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/__init__.py +0 -0
  512. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/aggregator.py +0 -0
  513. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/base.py +0 -0
  514. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/legacy.py +0 -0
  515. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/network.py +0 -0
  516. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/process.py +0 -0
  517. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/resources.py +0 -0
  518. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring/service.py +0 -0
  519. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
  520. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
  521. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/auto_configure.py +0 -0
  522. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
  523. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
  524. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
  525. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
  526. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
  527. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
  528. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
  529. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
  530. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
  531. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
  532. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
  533. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
  534. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
  535. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
  536. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
  537. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
  538. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
  539. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
  540. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
  541. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
  542. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
  543. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
  544. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
  545. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
  546. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
  547. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
  548. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/__init__.py +0 -0
  549. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/builder.py +0 -0
  550. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
  551. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
  552. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
  553. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
  554. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/optimizer.py +0 -0
  555. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory/router.py +0 -0
  556. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/memory_hook_service.py +0 -0
  557. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/__init__.py +0 -0
  558. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/event_emitter.py +0 -0
  559. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/handlers/__init__.py +0 -0
  560. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/handlers/code_analysis.py +0 -0
  561. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/handlers/dashboard.py +0 -0
  562. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/handlers/file.py +0 -0
  563. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/handlers/hooks.py +0 -0
  564. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/management/__init__.py +0 -0
  565. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/management/health.py +0 -0
  566. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/management/lifecycle.py +0 -0
  567. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor/server.py +0 -0
  568. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/monitor_build_service.py +0 -0
  569. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/port_manager.py +0 -0
  570. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/__init__.py +0 -0
  571. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/analyzer.py +0 -0
  572. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/analyzer_refactored.py +0 -0
  573. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/analyzer_v2.py +0 -0
  574. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/architecture_analyzer.py +0 -0
  575. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/dependency_analyzer.py +0 -0
  576. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/language_analyzer.py +0 -0
  577. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/metrics_collector.py +0 -0
  578. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/project/registry.py +0 -0
  579. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/recovery_manager.py +0 -0
  580. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/response_tracker.py +0 -0
  581. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/runner_configuration_service.py +0 -0
  582. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/session_management_service.py +0 -0
  583. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/shared/__init__.py +0 -0
  584. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/shared/async_service_base.py +0 -0
  585. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/shared/config_service_base.py +0 -0
  586. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
  587. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/shared/manager_base.py +0 -0
  588. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/shared/service_factory.py +0 -0
  589. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/__init__.py +0 -0
  590. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
  591. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/dashboard_server.py +0 -0
  592. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
  593. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
  594. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
  595. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/code_analysis.py +0 -0
  596. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
  597. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/connection_handler.py +0 -0
  598. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
  599. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
  600. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
  601. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
  602. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
  603. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
  604. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
  605. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/monitor_client.py +0 -0
  606. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
  607. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
  608. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/server/connection_manager.py +0 -0
  609. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/server/core.py +0 -0
  610. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/server/eventbus_integration.py +0 -0
  611. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio/server/main.py +0 -0
  612. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio_client_manager.py +0 -0
  613. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/socketio_server.py +0 -0
  614. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
  615. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/system_instructions_service.py +0 -0
  616. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/ticket_manager.py +0 -0
  617. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/ticket_services/__init__.py +0 -0
  618. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/ticket_services/crud_service.py +0 -0
  619. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/ticket_services/formatter_service.py +0 -0
  620. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/ticket_services/search_service.py +0 -0
  621. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/ticket_services/validation_service.py +0 -0
  622. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/ticket_services/workflow_service.py +0 -0
  623. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/utility_service.py +0 -0
  624. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/version_control/__init__.py +0 -0
  625. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  626. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  627. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  628. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
  629. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/version_control/version_parser.py +0 -0
  630. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/version_service.py +0 -0
  631. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/visualization/__init__.py +0 -0
  632. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/services/visualization/mermaid_generator.py +0 -0
  633. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/storage/__init__.py +0 -0
  634. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/storage/state_storage.py +0 -0
  635. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/ticket_wrapper.py +0 -0
  636. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/tools/__init__.py +0 -0
  637. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/tools/__main__.py +0 -0
  638. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/tools/code_tree_analyzer.py +0 -0
  639. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/tools/code_tree_builder.py +0 -0
  640. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/tools/code_tree_events.py +0 -0
  641. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/tools/socketio_debug.py +0 -0
  642. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/__init__.py +0 -0
  643. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
  644. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/config_manager.py +0 -0
  645. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/console.py +0 -0
  646. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/dependency_cache.py +0 -0
  647. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/dependency_manager.py +0 -0
  648. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/dependency_strategies.py +0 -0
  649. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/environment_context.py +0 -0
  650. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/error_handler.py +0 -0
  651. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/file_utils.py +0 -0
  652. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/framework_detection.py +0 -0
  653. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/import_migration_example.py +0 -0
  654. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/imports.py +0 -0
  655. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/path_operations.py +0 -0
  656. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/robust_installer.py +0 -0
  657. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/session_logging.py +0 -0
  658. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/utils/subprocess_utils.py +0 -0
  659. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/validation/__init__.py +0 -0
  660. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/validation/agent_validator.py +0 -0
  661. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
  662. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  663. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  664. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm.egg-info/requires.txt +0 -0
  665. {claude_mpm-4.2.29 → claude_mpm-4.2.32}/src/claude_mpm.egg-info/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ 354
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.2.29
3
+ Version: 4.2.32
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.2.32
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "claude-mpm"
7
- version = "4.2.29"
7
+ version = "4.2.32"
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"
@@ -78,7 +78,7 @@ ignore-imports = false
78
78
 
79
79
  [tool.commitizen]
80
80
  name = "cz_conventional_commits"
81
- version = "4.2.29"
81
+ version = "4.2.32"
82
82
  version_files = [ "VERSION", "src/claude_mpm/VERSION", "package.json:version",]
83
83
  tag_format = "v$version"
84
84
  update_changelog_on_bump = true
@@ -0,0 +1 @@
1
+ 4.2.32
@@ -25,6 +25,7 @@ import requests
25
25
 
26
26
  from ...core.logging_config import get_logger
27
27
  from ...services.monitor.daemon import UnifiedMonitorDaemon
28
+ from ...services.monitor.daemon_manager import DaemonManager
28
29
  from ...services.port_manager import PortManager
29
30
 
30
31
 
@@ -99,8 +100,9 @@ class UnifiedDashboardManager(IUnifiedDashboardManager):
99
100
  host="localhost", port=port, daemon_mode=background
100
101
  )
101
102
 
102
- # Check if it's our service running
103
- is_ours, pid = daemon.lifecycle.is_our_service("localhost")
103
+ # Use daemon manager to check service ownership
104
+ daemon_mgr = DaemonManager(port=port, host="localhost")
105
+ is_ours, pid = daemon_mgr.is_our_service()
104
106
 
105
107
  if is_ours and not force_restart:
106
108
  # Our service is already running, just open browser if needed
@@ -115,12 +117,16 @@ class UnifiedDashboardManager(IUnifiedDashboardManager):
115
117
  self.logger.info(
116
118
  f"Force restarting our dashboard on port {port} (PID: {pid})"
117
119
  )
118
- # Clean up the existing service before restart
119
- self._cleanup_port_conflicts(port)
120
+ # Use daemon manager for cleanup
121
+ daemon_mgr = DaemonManager(port=port, host="localhost")
122
+ daemon_mgr.cleanup_port_conflicts()
120
123
  elif self.is_dashboard_running(port) and not force_restart:
121
124
  # Different service is using the port - try to clean it up
122
- self.logger.warning(f"Port {port} is in use by a different service, attempting cleanup")
123
- self._cleanup_port_conflicts(port)
125
+ self.logger.warning(
126
+ f"Port {port} is in use by a different service, attempting cleanup"
127
+ )
128
+ daemon_mgr = DaemonManager(port=port, host="localhost")
129
+ daemon_mgr.cleanup_port_conflicts()
124
130
  # Brief pause to ensure cleanup is complete
125
131
  time.sleep(1)
126
132
 
@@ -130,39 +136,49 @@ class UnifiedDashboardManager(IUnifiedDashboardManager):
130
136
 
131
137
  if background:
132
138
  # Always try to clean up first before starting
133
- self.logger.info(f"Pre-emptively cleaning up port {port} before starting daemon")
134
- if not self._cleanup_port_conflicts(port):
139
+ self.logger.info(
140
+ f"Pre-emptively cleaning up port {port} before starting daemon"
141
+ )
142
+ daemon_mgr = DaemonManager(port=port, host="localhost")
143
+ if not daemon_mgr.cleanup_port_conflicts():
135
144
  self.logger.error(f"Failed to clean up port {port}, cannot proceed")
136
145
  return False, False
137
-
146
+
138
147
  # Try to start daemon with retry on port conflicts
139
148
  max_retries = 3
140
149
  retry_count = 0
141
150
  success = False
142
-
151
+
143
152
  while retry_count < max_retries and not success:
144
153
  if retry_count > 0:
145
- self.logger.info(f"Retry {retry_count}/{max_retries}: Cleaning up port {port}")
146
- if not self._cleanup_port_conflicts(port):
154
+ self.logger.info(
155
+ f"Retry {retry_count}/{max_retries}: Cleaning up port {port}"
156
+ )
157
+ daemon_mgr = DaemonManager(port=port, host="localhost")
158
+ if not daemon_mgr.cleanup_port_conflicts():
147
159
  self.logger.error(f"Cleanup failed on retry {retry_count}")
148
160
  break
149
161
  time.sleep(3) # Longer wait for cleanup to complete
150
-
162
+
151
163
  # Start daemon in background mode with force restart if needed
152
164
  success = daemon.start(force_restart=True) # Always force restart
153
-
165
+
154
166
  if not success and retry_count < max_retries - 1:
155
167
  # Check if it's a port conflict
156
168
  if not self.port_manager.is_port_available(port):
157
- self.logger.warning(f"Port {port} still in use, will retry cleanup")
169
+ self.logger.warning(
170
+ f"Port {port} still in use, will retry cleanup"
171
+ )
158
172
  retry_count += 1
159
173
  else:
160
174
  # Different kind of failure, don't retry
161
- self.logger.error(f"Daemon start failed for reason other than port conflict")
175
+ self.logger.error(
176
+ "Daemon start failed for reason other than port conflict"
177
+ )
162
178
  break
163
179
  else:
164
180
  break
165
-
181
+
166
182
  if success:
167
183
  with self._lock:
168
184
  self._background_daemons[port] = daemon
@@ -350,91 +366,17 @@ class UnifiedDashboardManager(IUnifiedDashboardManager):
350
366
  def _cleanup_port_conflicts(self, port: int) -> bool:
351
367
  """
352
368
  Try to clean up any processes using our port.
353
-
369
+
370
+ Delegates to the consolidated DaemonManager for consistent behavior.
371
+
354
372
  Args:
355
373
  port: Port to clean up
356
-
374
+
357
375
  Returns:
358
376
  True if cleanup was successful or not needed
359
377
  """
360
- try:
361
- import subprocess
362
- import signal
363
- import time
364
-
365
- # Find processes using the port
366
- result = subprocess.run(
367
- ["lsof", "-ti", f":{port}"],
368
- capture_output=True,
369
- text=True
370
- )
371
-
372
- if result.returncode == 0 and result.stdout.strip():
373
- pids = result.stdout.strip().split('\n')
374
- self.logger.info(f"Found processes using port {port}: {pids}")
375
-
376
- for pid_str in pids:
377
- try:
378
- pid = int(pid_str.strip())
379
- # Try graceful termination first
380
- import os
381
- os.kill(pid, signal.SIGTERM)
382
- self.logger.info(f"Sent SIGTERM to process {pid}")
383
- except (ValueError, ProcessLookupError) as e:
384
- self.logger.debug(f"Could not terminate process {pid_str}: {e}")
385
- continue
386
-
387
- # Give processes time to shut down gracefully
388
- time.sleep(3)
389
-
390
- # Check if port is still in use and force kill if needed
391
- result = subprocess.run(
392
- ["lsof", "-ti", f":{port}"],
393
- capture_output=True,
394
- text=True
395
- )
396
-
397
- if result.returncode == 0 and result.stdout.strip():
398
- remaining_pids = result.stdout.strip().split('\n')
399
- self.logger.warning(f"Processes still using port {port}: {remaining_pids}, force killing")
400
-
401
- for pid_str in remaining_pids:
402
- try:
403
- pid = int(pid_str.strip())
404
- os.kill(pid, signal.SIGKILL)
405
- self.logger.info(f"Force killed process {pid}")
406
- except (ValueError, ProcessLookupError) as e:
407
- self.logger.debug(f"Could not force kill process {pid_str}: {e}")
408
- continue
409
-
410
- # Longer pause after force kill to ensure port is fully released
411
- time.sleep(5)
412
-
413
- # Final verification that port is actually free
414
- final_check = subprocess.run(
415
- ["lsof", "-ti", f":{port}"],
416
- capture_output=True,
417
- text=True
418
- )
419
-
420
- if final_check.returncode == 0 and final_check.stdout.strip():
421
- self.logger.error(f"Failed to clean up port {port} - processes still running: {final_check.stdout.strip()}")
422
- return False
423
-
424
- self.logger.info(f"Successfully cleaned up processes on port {port}")
425
- return True
426
- else:
427
- self.logger.debug(f"No processes found using port {port}")
428
- return True
429
-
430
- except FileNotFoundError:
431
- # lsof not available, try alternative approach
432
- self.logger.debug("lsof not available, skipping port cleanup")
433
- return True
434
- except Exception as e:
435
- self.logger.warning(f"Error during port cleanup: {e}")
436
- # Continue anyway - the port check will catch actual conflicts
437
- return True
378
+ daemon_mgr = DaemonManager(port=port, host="localhost")
379
+ return daemon_mgr.cleanup_port_conflicts()
438
380
 
439
381
  def start_server(
440
382
  self, port: Optional[int] = None, timeout: int = 30, force_restart: bool = True
@@ -24,6 +24,7 @@ from typing import Optional
24
24
 
25
25
  from ...core.logging_config import get_logger
26
26
  from ..hook_installer_service import HookInstallerService
27
+ from .daemon_manager import DaemonManager
27
28
  from .management.health import HealthMonitor
28
29
  from .management.lifecycle import DaemonLifecycle
29
30
  from .server import UnifiedMonitorServer
@@ -58,7 +59,15 @@ class UnifiedMonitorDaemon:
58
59
  self.daemon_mode = daemon_mode
59
60
  self.logger = get_logger(__name__)
60
61
 
61
- # Daemon management with port for verification
62
+ # Use new consolidated DaemonManager for all daemon operations
63
+ self.daemon_manager = DaemonManager(
64
+ port=port,
65
+ host=host,
66
+ pid_file=pid_file or self._get_default_pid_file(),
67
+ log_file=log_file,
68
+ )
69
+
70
+ # Keep lifecycle for backward compatibility (delegates to daemon_manager)
62
71
  self.lifecycle = DaemonLifecycle(
63
72
  pid_file=pid_file or self._get_default_pid_file(),
64
73
  log_file=log_file,
@@ -104,84 +113,13 @@ class UnifiedMonitorDaemon:
104
113
 
105
114
  def _cleanup_port_conflicts(self) -> bool:
106
115
  """Try to clean up any processes using our port.
107
-
116
+
117
+ Delegates to the consolidated DaemonManager for consistent behavior.
118
+
108
119
  Returns:
109
120
  True if cleanup was successful, False otherwise
110
121
  """
111
- try:
112
- # Find process using the port
113
- import subprocess
114
- result = subprocess.run(
115
- ["lsof", "-ti", f":{self.port}"],
116
- capture_output=True,
117
- text=True
118
- )
119
-
120
- if result.returncode == 0 and result.stdout.strip():
121
- pids = result.stdout.strip().split('\n')
122
- for pid_str in pids:
123
- try:
124
- pid = int(pid_str.strip())
125
- self.logger.info(f"Found process {pid} using port {self.port}")
126
-
127
- # Check if it's a claude-mpm process
128
- process_info = subprocess.run(
129
- ["ps", "-p", str(pid), "-o", "comm="],
130
- capture_output=True,
131
- text=True
132
- )
133
-
134
- if "python" in process_info.stdout.lower() or "claude" in process_info.stdout.lower():
135
- self.logger.info(f"Killing process {pid} (appears to be Python/Claude related)")
136
- os.kill(pid, signal.SIGTERM)
137
- time.sleep(1)
138
-
139
- # Check if still alive
140
- try:
141
- os.kill(pid, 0)
142
- # Still alive, force kill
143
- self.logger.warning(f"Process {pid} didn't terminate, force killing")
144
- os.kill(pid, signal.SIGKILL)
145
- time.sleep(1)
146
- except ProcessLookupError:
147
- pass
148
- else:
149
- self.logger.warning(f"Process {pid} is not a Claude MPM process: {process_info.stdout}")
150
- return False
151
- except (ValueError, ProcessLookupError) as e:
152
- self.logger.debug(f"Error handling PID {pid_str}: {e}")
153
- continue
154
-
155
- return True
156
-
157
- except FileNotFoundError:
158
- # lsof not available, try alternative method
159
- self.logger.debug("lsof not available, using alternative cleanup")
160
-
161
- # Check if there's an orphaned service we can identify
162
- is_ours, pid = self.lifecycle.is_our_service(self.host)
163
- if is_ours and pid:
164
- try:
165
- self.logger.info(f"Killing orphaned Claude MPM service (PID: {pid})")
166
- os.kill(pid, signal.SIGTERM)
167
- time.sleep(1)
168
-
169
- # Check if still alive
170
- try:
171
- os.kill(pid, 0)
172
- os.kill(pid, signal.SIGKILL)
173
- time.sleep(1)
174
- except ProcessLookupError:
175
- pass
176
-
177
- return True
178
- except Exception as e:
179
- self.logger.error(f"Failed to kill process: {e}")
180
-
181
- except Exception as e:
182
- self.logger.error(f"Error during port cleanup: {e}")
183
-
184
- return False
122
+ return self.daemon_manager.cleanup_port_conflicts()
185
123
 
186
124
  def _start_daemon(self, force_restart: bool = False) -> bool:
187
125
  """Start as background daemon process.
@@ -191,108 +129,60 @@ class UnifiedMonitorDaemon:
191
129
  """
192
130
  self.logger.info("Starting unified monitor daemon in background mode")
193
131
 
194
- # Check if already running
195
- if self.lifecycle.is_running():
196
- existing_pid = self.lifecycle.get_pid()
197
-
198
- if force_restart:
199
- # Check if it's our service
200
- self.logger.debug(
201
- f"Checking if existing daemon (PID: {existing_pid}) is our service..."
202
- )
203
- is_ours, detected_pid = self.lifecycle.is_our_service(self.host)
132
+ # Always use daemon manager for cleanup first
133
+ # This ensures consistent behavior and prevents race conditions
134
+ if force_restart:
135
+ self.logger.info(
136
+ "Force restart requested, cleaning up any existing processes..."
137
+ )
138
+ if not self.daemon_manager.cleanup_port_conflicts(max_retries=3):
139
+ self.logger.error(f"Failed to clean up port {self.port}")
140
+ return False
141
+ # Wait for port to be fully released
142
+ time.sleep(2)
204
143
 
205
- if is_ours:
206
- self.logger.info(
207
- f"Force restarting our existing claude-mpm monitor daemon (PID: {detected_pid or existing_pid})"
208
- )
209
- # Stop the existing daemon
210
- if self.lifecycle.stop_daemon():
211
- # Wait a moment for port to be released
212
- time.sleep(2)
213
- else:
214
- self.logger.error("Failed to stop existing daemon for restart")
215
- return False
216
- else:
217
- self.logger.warning(
218
- f"Port {self.port} is in use by another service (PID: {existing_pid}). Cannot force restart."
219
- )
220
- self.logger.info(
221
- "To restart the claude-mpm monitor, first stop the other service or use a different port."
222
- )
223
- return False
224
- else:
144
+ # Check if already running via daemon manager
145
+ if self.daemon_manager.is_running():
146
+ existing_pid = self.daemon_manager.get_pid()
147
+ if not force_restart:
225
148
  self.logger.warning(f"Daemon already running with PID {existing_pid}")
226
149
  return False
150
+ # Force restart was already handled above
227
151
 
228
- # Check for orphaned processes (service running but no PID file)
229
- elif force_restart:
230
- self.logger.debug(
231
- "No PID file found, checking for orphaned claude-mpm service..."
152
+ # Check for our service on the port
153
+ is_ours, pid = self.daemon_manager.is_our_service()
154
+ if is_ours and pid and not force_restart:
155
+ self.logger.warning(
156
+ f"Our service already running on port {self.port} (PID: {pid})"
232
157
  )
233
- is_ours, pid = self.lifecycle.is_our_service(self.host)
234
- if is_ours and pid:
235
- self.logger.info(
236
- f"Found orphaned claude-mpm monitor service (PID: {pid}), force restarting"
237
- )
238
- # Try to kill the orphaned process
239
- try:
240
- os.kill(pid, signal.SIGTERM)
241
- # Wait for it to exit
242
- for _ in range(10):
243
- try:
244
- os.kill(pid, 0) # Check if still exists
245
- time.sleep(0.5)
246
- except ProcessLookupError:
247
- break
248
- else:
249
- # Force kill if still running
250
- os.kill(pid, signal.SIGKILL)
251
- time.sleep(1)
252
- except Exception as e:
253
- self.logger.error(f"Failed to kill orphaned process: {e}")
254
- return False
255
-
256
- # Check port availability and clean up if needed
257
- port_available, error_msg = self.lifecycle.verify_port_available(self.host)
258
- if not port_available:
259
- self.logger.warning(f"Port {self.port} is not available: {error_msg}")
260
-
261
- # Try to identify and kill any process using the port
262
- self.logger.info("Attempting to clean up processes on port...")
263
- cleaned = self._cleanup_port_conflicts()
264
-
265
- if cleaned:
266
- # Wait longer for port to be released to avoid race conditions
267
- time.sleep(3)
268
- # Check again
269
- port_available, error_msg = self.lifecycle.verify_port_available(self.host)
270
-
271
- if not port_available:
272
- self.logger.error(f"Port {self.port} is still not available after cleanup: {error_msg}")
273
- print(f"Error: {error_msg}", file=sys.stderr)
274
- print(f"Try 'claude-mpm monitor stop' or use --force flag", file=sys.stderr)
275
- return False
158
+ return False
276
159
 
277
160
  # Wait for any pre-warming threads to complete before forking
278
161
  self._wait_for_prewarm_completion()
279
162
 
280
- # Daemonize the process
281
- success = self.lifecycle.daemonize()
163
+ # Use daemon manager's daemonize which includes cleanup
164
+ self.daemon_manager.startup_status_file = None # Reset status file
165
+ success = self.daemon_manager.daemonize()
282
166
  if not success:
283
167
  return False
284
168
 
169
+ # We're now in the daemon process
170
+ # Update our PID references
171
+ self.lifecycle.pid_file = self.daemon_manager.pid_file
172
+
285
173
  # Start the server in daemon mode
286
- # This will run in the child process
287
174
  try:
288
175
  result = self._run_server()
289
176
  if not result:
290
177
  # Report failure before exiting
291
- self.lifecycle._report_startup_error("Failed to start server")
178
+ self.daemon_manager._report_startup_error("Failed to start server")
179
+ else:
180
+ # Report success
181
+ self.daemon_manager._report_startup_success()
292
182
  return result
293
183
  except Exception as e:
294
184
  # Report any exceptions during startup
295
- self.lifecycle._report_startup_error(f"Server startup exception: {e}")
185
+ self.daemon_manager._report_startup_error(f"Server startup exception: {e}")
296
186
  raise
297
187
 
298
188
  def _start_foreground(self, force_restart: bool = False) -> bool:
@@ -302,12 +192,12 @@ class UnifiedMonitorDaemon:
302
192
  force_restart: If True, restart existing service if it's ours
303
193
  """
304
194
  self.logger.info(f"Starting unified monitor daemon on {self.host}:{self.port}")
305
-
306
- # Clean up any processes on the port before checking service status
195
+
196
+ # Use daemon manager for consistent port cleanup
307
197
  # This helps with race conditions where old processes haven't fully released the port
308
198
  if force_restart:
309
199
  self.logger.info("Force restart requested, cleaning up port conflicts...")
310
- self._cleanup_port_conflicts()
200
+ self.daemon_manager.cleanup_port_conflicts(max_retries=2)
311
201
  time.sleep(1) # Brief pause to ensure port is released
312
202
 
313
203
  # Check if already running (check PID file even in foreground mode)
@@ -319,7 +209,7 @@ class UnifiedMonitorDaemon:
319
209
  self.logger.debug(
320
210
  f"Checking if existing daemon (PID: {existing_pid}) is our service..."
321
211
  )
322
- is_ours, detected_pid = self.lifecycle.is_our_service(self.host)
212
+ is_ours, detected_pid = self.daemon_manager.is_our_service()
323
213
 
324
214
  if is_ours:
325
215
  self.logger.info(
@@ -351,7 +241,7 @@ class UnifiedMonitorDaemon:
351
241
  self.logger.debug(
352
242
  "No PID file found, checking for orphaned claude-mpm service..."
353
243
  )
354
- is_ours, pid = self.lifecycle.is_our_service(self.host)
244
+ is_ours, pid = self.daemon_manager.is_our_service()
355
245
  if is_ours and pid:
356
246
  self.logger.info(
357
247
  f"Found orphaned claude-mpm monitor service (PID: {pid}), force restarting"