claude-mpm 4.0.34__tar.gz → 4.1.0__tar.gz

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