claude-mpm 4.1.6__tar.gz → 4.1.7__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 (563) hide show
  1. claude_mpm-4.1.7/BUILD_NUMBER +1 -0
  2. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/PKG-INFO +1 -1
  3. claude_mpm-4.1.7/VERSION +1 -0
  4. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/pyproject.toml +2 -2
  5. claude_mpm-4.1.7/src/claude_mpm/VERSION +1 -0
  6. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/agent-manager.json +1 -1
  7. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/agent-manager.md +111 -34
  8. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/config/socketio_config.py +33 -4
  9. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/socket-client.js +40 -16
  10. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/services/connection_manager.py +17 -0
  11. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/event_bus/direct_relay.py +59 -2
  12. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/connection_handler.py +3 -18
  13. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/server/connection_manager.py +50 -19
  14. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/server/core.py +15 -7
  15. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/server/main.py +47 -18
  16. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm.egg-info/PKG-INFO +1 -1
  17. claude_mpm-4.1.6/BUILD_NUMBER +0 -1
  18. claude_mpm-4.1.6/VERSION +0 -1
  19. claude_mpm-4.1.6/src/claude_mpm/VERSION +0 -1
  20. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/CLAUDE.md +0 -0
  21. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/LICENSE +0 -0
  22. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/MANIFEST.in +0 -0
  23. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/README.md +0 -0
  24. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/scripts/ticket +0 -0
  25. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/setup.cfg +0 -0
  26. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/BUILD_NUMBER +0 -0
  27. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/__init__.py +0 -0
  28. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/__main__.py +0 -0
  29. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  30. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/BASE_PM.md +0 -0
  31. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
  32. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/MEMORY.md +0 -0
  33. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/WORKFLOW.md +0 -0
  34. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/__init__.py +0 -0
  35. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/agent-template.yaml +0 -0
  36. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/agent_loader.py +0 -0
  37. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  38. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/agents_metadata.py +0 -0
  39. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/async_agent_loader.py +0 -0
  40. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/base_agent.json +0 -0
  41. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/base_agent_loader.py +0 -0
  42. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
  43. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
  44. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/system_agent_config.py +0 -0
  45. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/__init__.py +0 -0
  46. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/api_qa.json +0 -0
  47. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
  48. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
  49. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/documentation.json +0 -0
  50. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/engineer.json +0 -0
  51. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/imagemagick.json +0 -0
  52. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
  53. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/ops.json +0 -0
  54. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
  55. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/qa.json +0 -0
  56. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
  57. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/research.json +0 -0
  58. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/security.json +0 -0
  59. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/ticketing.json +0 -0
  60. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
  61. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/version_control.json +0 -0
  62. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/web_qa.json +0 -0
  63. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/agents/templates/web_ui.json +0 -0
  64. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/__init__.py +0 -0
  65. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/__main__.py +0 -0
  66. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/__init__.py +0 -0
  67. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
  68. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/agents.py +0 -0
  69. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/aggregate.py +0 -0
  70. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/cleanup.py +0 -0
  71. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +0 -0
  72. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/config.py +0 -0
  73. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/configure.py +0 -0
  74. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/configure_tui.py +0 -0
  75. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/doctor.py +0 -0
  76. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/info.py +0 -0
  77. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/mcp.py +0 -0
  78. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
  79. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
  80. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
  81. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/mcp_pipx_config.py +0 -0
  82. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
  83. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
  84. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/memory.py +0 -0
  85. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/monitor.py +0 -0
  86. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/run.py +0 -0
  87. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/socketio_monitor.py +0 -0
  88. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/commands/tickets.py +0 -0
  89. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parser.py +0 -0
  90. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/__init__.py +0 -0
  91. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
  92. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
  93. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
  94. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
  95. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/configure_parser.py +0 -0
  96. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
  97. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
  98. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
  99. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
  100. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
  101. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/shared/__init__.py +0 -0
  102. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
  103. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/shared/base_command.py +0 -0
  104. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/shared/error_handling.py +0 -0
  105. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
  106. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/startup_logging.py +0 -0
  107. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/ticket_cli.py +0 -0
  108. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli/utils.py +0 -0
  109. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli_module/__init__.py +0 -0
  110. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli_module/args.py +0 -0
  111. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli_module/commands.py +0 -0
  112. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/cli_module/migration_example.py +0 -0
  113. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/config/__init__.py +0 -0
  114. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/config/agent_config.py +0 -0
  115. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/config/experimental_features.py +0 -0
  116. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/config/paths.py +0 -0
  117. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/constants.py +0 -0
  118. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/__init__.py +0 -0
  119. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  120. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/agent_registry.py +0 -0
  121. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/agent_session_manager.py +0 -0
  122. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/base_service.py +0 -0
  123. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/cache.py +0 -0
  124. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/claude_runner.py +0 -0
  125. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/config.py +0 -0
  126. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/config_aliases.py +0 -0
  127. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/config_constants.py +0 -0
  128. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/constants.py +0 -0
  129. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/container.py +0 -0
  130. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/exceptions.py +0 -0
  131. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/factories.py +0 -0
  132. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/framework_loader.py +0 -0
  133. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/hook_manager.py +0 -0
  134. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/hook_performance_config.py +0 -0
  135. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/injectable_service.py +0 -0
  136. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/interactive_session.py +0 -0
  137. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/interfaces.py +0 -0
  138. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/lazy.py +0 -0
  139. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/log_manager.py +0 -0
  140. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/logger.py +0 -0
  141. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/logging_config.py +0 -0
  142. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  143. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/mixins.py +0 -0
  144. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/oneshot_session.py +0 -0
  145. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
  146. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/optimized_startup.py +0 -0
  147. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/output_style_manager.py +0 -0
  148. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
  149. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/service_registry.py +0 -0
  150. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/session_manager.py +0 -0
  151. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/shared/__init__.py +0 -0
  152. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/shared/config_loader.py +0 -0
  153. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/shared/path_resolver.py +0 -0
  154. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
  155. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/socketio_pool.py +0 -0
  156. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/tool_access_control.py +0 -0
  157. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/types.py +0 -0
  158. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/typing_utils.py +0 -0
  159. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/unified_agent_registry.py +0 -0
  160. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/unified_config.py +0 -0
  161. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/core/unified_paths.py +0 -0
  162. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/index.html +0 -0
  163. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
  164. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
  165. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
  166. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
  167. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
  168. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
  169. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
  170. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
  171. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
  172. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
  173. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
  174. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
  175. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
  176. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
  177. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
  178. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
  179. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/css/connection-status.css +0 -0
  180. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
  181. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
  182. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
  183. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
  184. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
  185. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
  186. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
  187. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
  188. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
  189. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
  190. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
  191. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
  192. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
  193. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
  194. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
  195. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
  196. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
  197. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
  198. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +0 -0
  199. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/connection-debug.js +0 -0
  200. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
  201. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
  202. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
  203. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
  204. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
  205. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
  206. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
  207. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
  208. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
  209. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
  210. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
  211. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
  212. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/connection-manager.js +0 -0
  213. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
  214. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
  215. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/templates/index.html +0 -0
  216. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
  217. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
  218. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/generators/__init__.py +0 -0
  219. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
  220. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/__init__.py +0 -0
  221. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/base_hook.py +0 -0
  222. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
  223. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
  224. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
  225. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
  226. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -0
  227. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -0
  228. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -0
  229. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
  230. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
  231. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
  232. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/services/__init__.py +0 -0
  233. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +0 -0
  234. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +0 -0
  235. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/services/state_manager.py +0 -0
  236. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/services/subagent_processor.py +0 -0
  237. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
  238. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
  239. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  240. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/hooks/validation_hooks.py +0 -0
  241. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/init.py +0 -0
  242. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/models/__init__.py +0 -0
  243. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/models/agent_definition.py +0 -0
  244. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/models/agent_session.py +0 -0
  245. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/__init__.py +0 -0
  246. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/mcp_server.py +0 -0
  247. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
  248. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/mpm_doctor.py +0 -0
  249. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
  250. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/socketio_daemon_hardened.py +0 -0
  251. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/socketio_server_manager.py +0 -0
  252. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
  253. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/__init__.py +0 -0
  254. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
  255. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/__init__.py +0 -0
  256. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/agent_builder.py +0 -0
  257. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
  258. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
  259. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
  260. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
  261. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
  262. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
  263. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
  264. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
  265. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
  266. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
  267. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
  268. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -0
  269. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
  270. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_operation_service.py +0 -0
  271. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_record_service.py +0 -0
  272. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
  273. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_state_service.py +0 -0
  274. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
  275. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
  276. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
  277. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
  278. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
  279. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
  280. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/base_agent_locator.py +0 -0
  281. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
  282. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
  283. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
  284. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
  285. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/deployment_results_manager.py +0 -0
  286. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
  287. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
  288. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
  289. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
  290. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
  291. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
  292. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
  293. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
  294. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
  295. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
  296. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
  297. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
  298. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
  299. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
  300. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
  301. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
  302. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
  303. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
  304. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
  305. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
  306. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
  307. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
  308. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
  309. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
  310. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
  311. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
  312. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
  313. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
  314. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
  315. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/single_agent_deployer.py +0 -0
  316. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
  317. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
  318. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
  319. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
  320. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
  321. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
  322. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
  323. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
  324. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
  325. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
  326. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
  327. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
  328. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
  329. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
  330. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
  331. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
  332. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/management/__init__.py +0 -0
  333. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
  334. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
  335. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
  336. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
  337. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
  338. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
  339. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/memory_categorization_service.py +0 -0
  340. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/memory_file_service.py +0 -0
  341. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/memory_format_service.py +0 -0
  342. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/memory_limits_service.py +0 -0
  343. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
  344. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
  345. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
  346. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
  347. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/async_session_logger.py +0 -0
  348. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/claude_session_logger.py +0 -0
  349. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/__init__.py +0 -0
  350. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/agent_cleanup_service.py +0 -0
  351. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/agent_dependency_service.py +0 -0
  352. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/agent_listing_service.py +0 -0
  353. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/agent_output_formatter.py +0 -0
  354. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/agent_validation_service.py +0 -0
  355. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/dashboard_launcher.py +0 -0
  356. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/memory_crud_service.py +0 -0
  357. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/memory_output_formatter.py +0 -0
  358. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/session_manager.py +0 -0
  359. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/socketio_manager.py +0 -0
  360. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/cli/startup_checker.py +0 -0
  361. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/command_deployment_service.py +0 -0
  362. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/command_handler_service.py +0 -0
  363. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/communication/__init__.py +0 -0
  364. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/__init__.py +0 -0
  365. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/base.py +0 -0
  366. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/cache_manager.py +0 -0
  367. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
  368. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
  369. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
  370. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
  371. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/interfaces/service.py +0 -0
  372. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/interfaces.py +0 -0
  373. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/memory_manager.py +0 -0
  374. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/path_resolver.py +0 -0
  375. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/service_container.py +0 -0
  376. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/core/service_interfaces.py +0 -0
  377. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
  378. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
  379. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
  380. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
  381. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -0
  382. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
  383. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
  384. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
  385. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
  386. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/instructions_check.py +0 -0
  387. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
  388. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
  389. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
  390. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
  391. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
  392. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/diagnostics/models.py +0 -0
  393. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/event_aggregator.py +0 -0
  394. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/event_bus/__init__.py +0 -0
  395. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/event_bus/config.py +0 -0
  396. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/event_bus/event_bus.py +0 -0
  397. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/event_bus/relay.py +0 -0
  398. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/__init__.py +0 -0
  399. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
  400. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
  401. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/consumers/logging.py +0 -0
  402. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
  403. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
  404. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/core.py +0 -0
  405. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/interfaces.py +0 -0
  406. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/producers/__init__.py +0 -0
  407. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/producers/hook.py +0 -0
  408. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/events/producers/system.py +0 -0
  409. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/exceptions.py +0 -0
  410. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
  411. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  412. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  413. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
  414. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  415. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  416. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
  417. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
  418. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
  419. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
  420. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  421. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  422. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
  423. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
  424. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
  425. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
  426. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  427. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  428. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  429. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/hook_service.py +0 -0
  430. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
  431. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
  432. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
  433. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/logging.py +0 -0
  434. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/__init__.py +0 -0
  435. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/aggregator.py +0 -0
  436. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/base.py +0 -0
  437. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/legacy.py +0 -0
  438. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/network.py +0 -0
  439. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/process.py +0 -0
  440. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/resources.py +0 -0
  441. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring/service.py +0 -0
  442. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
  443. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
  444. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/auto_configure.py +0 -0
  445. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
  446. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
  447. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
  448. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
  449. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
  450. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
  451. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
  452. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
  453. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
  454. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
  455. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
  456. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
  457. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
  458. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
  459. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
  460. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
  461. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
  462. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
  463. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
  464. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
  465. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
  466. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
  467. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
  468. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
  469. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
  470. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
  471. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/__init__.py +0 -0
  472. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/builder.py +0 -0
  473. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
  474. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
  475. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
  476. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
  477. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/optimizer.py +0 -0
  478. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory/router.py +0 -0
  479. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/memory_hook_service.py +0 -0
  480. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/monitor_build_service.py +0 -0
  481. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/port_manager.py +0 -0
  482. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/__init__.py +0 -0
  483. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/analyzer.py +0 -0
  484. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/analyzer_refactored.py +0 -0
  485. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/analyzer_v2.py +0 -0
  486. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/architecture_analyzer.py +0 -0
  487. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/dependency_analyzer.py +0 -0
  488. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/language_analyzer.py +0 -0
  489. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/metrics_collector.py +0 -0
  490. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/project/registry.py +0 -0
  491. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/recovery_manager.py +0 -0
  492. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/response_tracker.py +0 -0
  493. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/runner_configuration_service.py +0 -0
  494. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/session_management_service.py +0 -0
  495. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/shared/__init__.py +0 -0
  496. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/shared/async_service_base.py +0 -0
  497. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/shared/config_service_base.py +0 -0
  498. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
  499. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/shared/manager_base.py +0 -0
  500. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/shared/service_factory.py +0 -0
  501. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/__init__.py +0 -0
  502. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
  503. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
  504. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
  505. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
  506. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
  507. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
  508. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
  509. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
  510. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
  511. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
  512. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
  513. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
  514. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
  515. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
  516. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio/server/eventbus_integration.py +0 -0
  517. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio_client_manager.py +0 -0
  518. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/socketio_server.py +0 -0
  519. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
  520. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/system_instructions_service.py +0 -0
  521. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/ticket_manager.py +0 -0
  522. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/ticket_services/__init__.py +0 -0
  523. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/ticket_services/crud_service.py +0 -0
  524. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/ticket_services/formatter_service.py +0 -0
  525. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/ticket_services/search_service.py +0 -0
  526. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/ticket_services/validation_service.py +0 -0
  527. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/ticket_services/workflow_service.py +0 -0
  528. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/utility_service.py +0 -0
  529. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/version_control/__init__.py +0 -0
  530. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  531. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  532. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  533. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
  534. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/version_control/version_parser.py +0 -0
  535. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/services/version_service.py +0 -0
  536. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/storage/__init__.py +0 -0
  537. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/storage/state_storage.py +0 -0
  538. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/ticket_wrapper.py +0 -0
  539. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/__init__.py +0 -0
  540. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
  541. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/config_manager.py +0 -0
  542. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/console.py +0 -0
  543. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/dependency_cache.py +0 -0
  544. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/dependency_manager.py +0 -0
  545. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/dependency_strategies.py +0 -0
  546. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/environment_context.py +0 -0
  547. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/error_handler.py +0 -0
  548. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/file_utils.py +0 -0
  549. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/framework_detection.py +0 -0
  550. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/import_migration_example.py +0 -0
  551. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/imports.py +0 -0
  552. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/path_operations.py +0 -0
  553. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/robust_installer.py +0 -0
  554. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/session_logging.py +0 -0
  555. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/utils/subprocess_utils.py +0 -0
  556. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/validation/__init__.py +0 -0
  557. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/validation/agent_validator.py +0 -0
  558. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
  559. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm.egg-info/SOURCES.txt +0 -0
  560. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  561. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  562. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm.egg-info/requires.txt +0 -0
  563. {claude_mpm-4.1.6 → claude_mpm-4.1.7}/src/claude_mpm.egg-info/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ 304
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.1.6
3
+ Version: 4.1.7
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.1.7
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "claude-mpm"
7
- version = "4.1.6"
7
+ version = "4.1.7"
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"
@@ -244,7 +244,7 @@ ignore-imports = false
244
244
 
245
245
  [tool.commitizen]
246
246
  name = "cz_conventional_commits"
247
- version = "4.1.6"
247
+ version = "4.1.7"
248
248
  version_files = [
249
249
  "VERSION",
250
250
  "src/claude_mpm/VERSION",
@@ -0,0 +1 @@
1
+ 4.1.7
@@ -6,7 +6,7 @@
6
6
  "tool_choice": "auto",
7
7
  "metadata": {
8
8
  "description": "Manages agent creation, customization, deployment, and PM instruction configuration",
9
- "version": "1.0.0",
9
+ "version": "1.1.0",
10
10
  "capabilities": [
11
11
  "agent-creation",
12
12
  "variant-management",
@@ -8,30 +8,72 @@ You are the Agent Manager, responsible for creating, customizing, deploying, and
8
8
 
9
9
  ## Agent Hierarchy Understanding
10
10
 
11
- You operate within a three-tier agent hierarchy with clear precedence:
11
+ You operate within a three-source agent hierarchy with VERSION-BASED precedence:
12
12
 
13
- 1. **Project Level** (`.claude/agents/`) - Highest priority
14
- - Project-specific agents that override all others
15
- - Deployed per-project for custom workflows
13
+ 1. **Project Level** (`.claude/agents/`) - Project-specific deployment
14
+ - Project-specific agents for custom workflows
15
+ - Deployed per-project for team collaboration
16
16
  - Persists with project repository
17
17
 
18
- 2. **User Level** (`~/.claude/agents/`) - Middle priority
18
+ 2. **User Level** (`~/.claude/agents/`) - User's personal deployment
19
19
  - User's personal agent collection
20
20
  - Shared across all projects for that user
21
- - Overrides system agents but not project agents
21
+ - Personal customizations and preferences
22
22
 
23
- 3. **System Level** (Framework installation) - Lowest priority
23
+ 3. **System Level** (`/src/claude_mpm/agents/templates/`) - Framework built-in
24
24
  - Default agents shipped with claude-mpm
25
25
  - Available to all users and projects
26
- - Can be overridden at user or project level
26
+ - Base templates and standard agents
27
27
 
28
- ## PM Instructions Hierarchy
28
+ **IMPORTANT: VERSION-BASED PRECEDENCE**
29
+ - The agent with the HIGHEST semantic version wins, regardless of source
30
+ - Example: Project agent v1.0.0 < User agent v2.0.0 < System agent v3.0.0
31
+ - Development agents use version 999.x.x to always override production versions
32
+ - MultiSourceAgentDeploymentService handles version resolution
29
33
 
30
- You also manage PM (Project Manager) instruction files:
34
+ ## PM Instructions Customization System
31
35
 
32
- 1. **User CLAUDE.md** (`~/.claude/CLAUDE.md`) - User's global PM instructions
33
- 2. **Project CLAUDE.md** (`<project>/CLAUDE.md`) - Project-specific PM instructions
34
- 3. **Framework Instructions** (`BASE_PM.md`, `INSTRUCTIONS.md`) - Default PM behavior
36
+ You manage a comprehensive PM (Project Manager) customization system:
37
+
38
+ ### Instruction Loading Order (Highest to Lowest Priority)
39
+
40
+ 1. **Project Instructions** (`./.claude-mpm/`) - Project-specific PM behavior
41
+ - `INSTRUCTIONS.md` - Main PM instructions
42
+ - `WORKFLOW.md` - Custom workflow patterns
43
+ - `MEMORY.md` - Memory system configuration
44
+ - `OUTPUT_STYLE.md` - Response formatting preferences
45
+ - Highest priority, overrides all others
46
+
47
+ 2. **User Instructions** (`~/.claude-mpm/`) - User's personal PM settings
48
+ - Same files as project level
49
+ - Applied across all user's projects
50
+ - Overrides system defaults
51
+
52
+ 3. **System Instructions** (Framework built-in) - Default PM behavior
53
+ - `BASE_PM.md` - Core PM framework
54
+ - `INSTRUCTIONS.md` - Default instructions
55
+ - Base behavior for all deployments
56
+
57
+ ### Configuration System
58
+
59
+ Additionally manage configuration files:
60
+
61
+ 1. **Project Config** (`./.claude-mpm/configuration.yaml`)
62
+ 2. **User Config** (`~/.claude-mpm/configuration.yaml`)
63
+ 3. **System Config** (`/etc/claude-mpm/configuration.yaml`)
64
+
65
+ Features configured:
66
+ - Response logging settings
67
+ - Agent exclusion lists
68
+ - Memory system parameters
69
+ - SocketIO server configuration
70
+ - Performance tuning
71
+
72
+ **IMPORTANT NOTES**:
73
+ - CLAUDE.md files are NOT loaded by MPM (handled by Claude Code directly)
74
+ - SystemInstructionsDeployer auto-deploys PM instructions on first run
75
+ - FrameworkLoader orchestrates all customization loading
76
+ - Template variable {{CAPABILITIES}} is dynamically replaced with agent list
35
77
 
36
78
  ## Core Responsibilities
37
79
 
@@ -61,10 +103,13 @@ You also manage PM (Project Manager) instruction files:
61
103
  - Clean deployment of obsolete agents
62
104
 
63
105
  ### 5. PM Instruction Management
64
- - Create and edit CLAUDE.md files
65
- - Customize delegation patterns
66
- - Modify workflow sequences
67
- - Configure PM behavior at user/project level
106
+ - Create and edit INSTRUCTIONS.md files at project/user levels
107
+ - Customize WORKFLOW.md for delegation patterns
108
+ - Configure MEMORY.md for memory system behavior
109
+ - Manage OUTPUT_STYLE.md for response formatting
110
+ - Edit configuration.yaml for system settings
111
+ - Deploy instruction templates with SystemInstructionsDeployer
112
+ - Note: CLAUDE.md is for Claude Code, not MPM
68
113
 
69
114
  ### 6. Discovery & Listing
70
115
  - List all available agents across tiers
@@ -111,11 +156,17 @@ You also manage PM (Project Manager) instruction files:
111
156
 
112
157
  ### `customize-pm` - Edit PM Instructions
113
158
  ```python
114
- # Edit CLAUDE.md at user or project level
115
- # Provide template if creating new
116
- # Validate markdown structure
159
+ # Edit instruction files at user or project level:
160
+ # - INSTRUCTIONS.md (main PM behavior)
161
+ # - WORKFLOW.md (delegation patterns)
162
+ # - MEMORY.md (memory configuration)
163
+ # - OUTPUT_STYLE.md (response formatting)
164
+ # Edit configuration.yaml for system settings
165
+ # Provide templates if creating new
166
+ # Validate file structure
117
167
  # Show diff of changes
118
168
  # Backup before modification
169
+ # Note: CLAUDE.md is separate (for Claude Code)
119
170
  ```
120
171
 
121
172
  ### `show` - Display Agent Details
@@ -149,7 +200,7 @@ When creating agents, use this structure:
149
200
  "tool_choice": "auto|required|any",
150
201
  "metadata": {
151
202
  "description": "Agent purpose and capabilities",
152
- "version": "1.0.0",
203
+ "version": "1.0.0", // Semantic version - determines precedence!
153
204
  "capabilities": ["capability1", "capability2"],
154
205
  "tags": ["tag1", "tag2"],
155
206
  "author": "Creator Name",
@@ -158,6 +209,12 @@ When creating agents, use this structure:
158
209
  }
159
210
  ```
160
211
 
212
+ ### Version Guidelines
213
+ - Production versions: Use standard semantic versioning (1.0.0, 1.1.0, 2.0.0)
214
+ - Development versions: Use 999.x.x to override all other versions
215
+ - Version determines precedence across ALL sources (project/user/system)
216
+ - Higher version always wins regardless of deployment location
217
+
161
218
  ## Validation Rules
162
219
 
163
220
  ### Agent ID Validation
@@ -218,9 +275,12 @@ When creating agents, use this structure:
218
275
 
219
276
  ### PM Customization
220
277
  - Keep instructions focused and clear
221
- - Document custom workflows
222
- - Test delegation patterns
223
- - Version control CLAUDE.md files
278
+ - Use INSTRUCTIONS.md for main behavior (not CLAUDE.md)
279
+ - Document workflows in WORKFLOW.md
280
+ - Configure memory in MEMORY.md
281
+ - Set output style in OUTPUT_STYLE.md
282
+ - Test delegation patterns thoroughly
283
+ - Version control all .claude-mpm/ files
224
284
 
225
285
  ### Deployment Strategy
226
286
  - Start with user level for testing
@@ -237,16 +297,31 @@ When creating agents, use this structure:
237
297
  - Integrate with discovery service
238
298
 
239
299
  ### With MultiSourceAgentDeploymentService
240
- - Handle multi-tier deployments
241
- - Manage source precedence
242
- - Coordinate cross-tier operations
243
- - Track deployment sources
300
+ - Handle multi-source deployments
301
+ - Manage VERSION-BASED precedence (highest version wins)
302
+ - Coordinate cross-source operations
303
+ - Track deployment sources and versions
304
+ - Resolve agent conflicts by semantic version
305
+ - Support development versions (999.x.x)
244
306
 
245
307
  ### With Agent Discovery
246
- - Register new agents
247
- - Update agent registry
248
- - Refresh discovery cache
249
- - Notify of changes
308
+ - Register new agents with version tracking
309
+ - Update agent registry with version resolution
310
+ - Refresh discovery cache after deployments
311
+ - Notify of version conflicts or overrides
312
+ - Display effective agent (highest version)
313
+
314
+ ### With SystemInstructionsDeployer
315
+ - Auto-deploy PM instructions on first run
316
+ - Create .claude-mpm directories as needed
317
+ - Deploy instruction templates
318
+ - Handle user/project customization
319
+
320
+ ### With FrameworkLoader
321
+ - Load PM instructions in priority order
322
+ - Process {{CAPABILITIES}} template variable
323
+ - Merge instruction files appropriately
324
+ - Handle configuration loading
250
325
 
251
326
  ## Memory Considerations
252
327
 
@@ -285,8 +360,10 @@ Brief description of action taken
285
360
  ### Agent Information (if relevant)
286
361
  - ID: agent-id
287
362
  - Location: [P/U/S] /path/to/agent
288
- - Version: 1.0.0
289
- - Overrides: [list if any]
363
+ - Version: 1.0.0 (determines precedence)
364
+ - Effective Source: [Project/User/System] based on version
365
+ - Overridden Versions: [list lower versions if any]
366
+ - Development Mode: Yes/No (if version 999.x.x)
290
367
  ```
291
368
 
292
369
  ## Security Considerations
@@ -10,6 +10,8 @@ WHY configuration management:
10
10
  - Supports multiple deployment scenarios (local, PyPI, Docker, etc.)
11
11
  - Provides environment-specific defaults
12
12
  - Allows runtime configuration overrides
13
+
14
+ CRITICAL: Ping/pong settings MUST match between client and server to prevent disconnections!
13
15
  """
14
16
 
15
17
  import os
@@ -19,6 +21,33 @@ from typing import Any, Dict, List, Optional
19
21
  # Import constants for default values
20
22
  from claude_mpm.core.constants import NetworkConfig, RetryConfig, SystemLimits
21
23
 
24
+ # Connection stability settings - MUST be consistent between client and server
25
+ CONNECTION_CONFIG = {
26
+ # Ping/pong intervals (milliseconds for client, seconds for server)
27
+ 'ping_interval_ms': 45000, # 45 seconds (for client JavaScript)
28
+ 'ping_interval': 45, # 45 seconds (for server Python)
29
+ 'ping_timeout_ms': 20000, # 20 seconds (for client JavaScript)
30
+ 'ping_timeout': 20, # 20 seconds (for server Python)
31
+
32
+ # Connection management
33
+ 'stale_timeout': 180, # 3 minutes before considering connection stale
34
+ 'health_check_interval': 30, # Health check every 30 seconds
35
+ 'event_ttl': 300, # Keep events for 5 minutes for replay
36
+
37
+ # Client reconnection settings
38
+ 'reconnection_attempts': 5, # Number of reconnection attempts
39
+ 'reconnection_delay': 1000, # Initial delay in ms
40
+ 'reconnection_delay_max': 5000, # Maximum delay in ms
41
+
42
+ # Feature flags
43
+ 'enable_extra_heartbeat': False, # Disable redundant heartbeats
44
+ 'enable_health_monitoring': True, # Enable connection health monitoring
45
+
46
+ # Buffer settings
47
+ 'max_events_buffer': 1000, # Maximum events to buffer per client
48
+ 'max_http_buffer_size': 1e8, # 100MB max buffer for large payloads
49
+ }
50
+
22
51
 
23
52
  @dataclass
24
53
  class SocketIOConfig:
@@ -29,11 +58,11 @@ class SocketIOConfig:
29
58
  port: int = NetworkConfig.DEFAULT_DASHBOARD_PORT
30
59
  server_id: Optional[str] = None
31
60
 
32
- # Connection settings
61
+ # Connection settings - Use centralized config for consistency
33
62
  cors_allowed_origins: str = "*" # Configure properly for production
34
- ping_timeout: int = NetworkConfig.PING_TIMEOUT_STANDARD
35
- ping_interval: int = NetworkConfig.PING_INTERVAL_STANDARD
36
- max_http_buffer_size: int = 1000000
63
+ ping_timeout: int = CONNECTION_CONFIG['ping_timeout'] # 20 seconds
64
+ ping_interval: int = CONNECTION_CONFIG['ping_interval'] # 45 seconds
65
+ max_http_buffer_size: int = int(CONNECTION_CONFIG['max_http_buffer_size'])
37
66
 
38
67
  # Compatibility settings
39
68
  min_client_version: str = "0.7.0"
@@ -38,10 +38,10 @@ class SocketClient {
38
38
  this.eventQueue = [];
39
39
  this.maxQueueSize = 100;
40
40
 
41
- // Retry configuration
41
+ // Retry configuration - Match server settings
42
42
  this.retryAttempts = 0;
43
- this.maxRetryAttempts = 3;
44
- this.retryDelays = [1000, 2000, 4000]; // Exponential backoff
43
+ this.maxRetryAttempts = 5; // Increased from 3 to 5 for better stability
44
+ this.retryDelays = [1000, 2000, 3000, 4000, 5000]; // Exponential backoff with 5 attempts
45
45
  this.pendingEmissions = new Map(); // Track pending emissions for retry
46
46
 
47
47
  // Health monitoring
@@ -98,12 +98,12 @@ class SocketClient {
98
98
  reconnection: true,
99
99
  reconnectionDelay: 1000,
100
100
  reconnectionDelayMax: 5000,
101
- reconnectionAttempts: Infinity, // Keep trying indefinitely
102
- timeout: 20000, // Increase connection timeout
101
+ reconnectionAttempts: 5, // Try 5 times then stop (was Infinity which can cause issues)
102
+ timeout: 20000, // Connection timeout
103
103
  forceNew: true,
104
104
  transports: ['websocket', 'polling'],
105
- pingInterval: 25000, // Match server setting
106
- pingTimeout: 60000 // Match server setting
105
+ pingInterval: 45000, // CRITICAL: Must match server's 45 seconds
106
+ pingTimeout: 20000 // CRITICAL: Must match server's 20 seconds
107
107
  });
108
108
 
109
109
  this.setupSocketHandlers();
@@ -143,17 +143,22 @@ class SocketClient {
143
143
  });
144
144
 
145
145
  this.socket.on('disconnect', (reason) => {
146
- console.log('Disconnected from server:', reason);
146
+ // Enhanced logging for debugging disconnection issues
147
+ const disconnectInfo = {
148
+ reason: reason,
149
+ timestamp: new Date().toISOString(),
150
+ wasConnected: this.isConnected,
151
+ uptimeSeconds: this.lastConnectTime ? ((Date.now() - this.lastConnectTime) / 1000).toFixed(1) : 0,
152
+ lastPing: this.lastPingTime ? ((Date.now() - this.lastPingTime) / 1000).toFixed(1) + 's ago' : 'never',
153
+ lastPong: this.lastPongTime ? ((Date.now() - this.lastPongTime) / 1000).toFixed(1) + 's ago' : 'never'
154
+ };
155
+
156
+ console.log('Disconnected from server:', disconnectInfo);
157
+
147
158
  this.isConnected = false;
148
159
  this.isConnecting = false;
149
160
  this.disconnectTime = Date.now();
150
161
 
151
- // Calculate uptime
152
- if (this.lastConnectTime) {
153
- const uptime = (Date.now() - this.lastConnectTime) / 1000;
154
- console.log(`Connection uptime was ${uptime.toFixed(1)}s`);
155
- }
156
-
157
162
  this.notifyConnectionStatus(`Disconnected: ${reason}`, 'disconnected');
158
163
 
159
164
  // Emit disconnect callback
@@ -161,8 +166,21 @@ class SocketClient {
161
166
  callback(reason)
162
167
  );
163
168
 
164
- // Start auto-reconnect if it was an unexpected disconnect
165
- if (reason === 'transport close' || reason === 'ping timeout') {
169
+ // Detailed reason analysis for auto-reconnect decision
170
+ const reconnectReasons = [
171
+ 'transport close', // Network issue
172
+ 'ping timeout', // Server not responding
173
+ 'transport error', // Connection error
174
+ 'io server disconnect', // Server initiated disconnect (might be restart)
175
+ ];
176
+
177
+ if (reconnectReasons.includes(reason)) {
178
+ console.log(`Auto-reconnect triggered for reason: ${reason}`);
179
+ this.scheduleReconnect();
180
+ } else if (reason === 'io client disconnect') {
181
+ console.log('Client-initiated disconnect, not auto-reconnecting');
182
+ } else {
183
+ console.log(`Unknown disconnect reason: ${reason}, attempting reconnect anyway`);
166
184
  this.scheduleReconnect();
167
185
  }
168
186
  });
@@ -222,6 +240,12 @@ class SocketClient {
222
240
  });
223
241
  });
224
242
 
243
+ // Track pong responses from server
244
+ this.socket.on('pong', (data) => {
245
+ this.lastPongTime = Date.now();
246
+ // console.log('Received pong from server');
247
+ });
248
+
225
249
  // Session and event handlers (legacy/fallback)
226
250
  this.socket.on('session.started', (data) => {
227
251
  this.addEvent({ type: 'session', subtype: 'started', timestamp: new Date().toISOString(), data });
@@ -170,11 +170,28 @@ class ConnectionManagerService:
170
170
  # Publish to EventBus with topic format: hook.{event}
171
171
  topic = f"hook.{event}"
172
172
  self.event_bus.publish(topic, claude_event_data)
173
+
174
+ # Enhanced verification logging
173
175
  if DEBUG:
174
176
  print(f"✅ Published to EventBus: {topic}", file=sys.stderr)
177
+ # Get EventBus stats to verify publication
178
+ if hasattr(self.event_bus, "get_stats"):
179
+ stats = self.event_bus.get_stats()
180
+ print(
181
+ f"📊 EventBus stats after publish: {stats}", file=sys.stderr
182
+ )
183
+ # Log the number of data keys being published
184
+ if isinstance(claude_event_data, dict):
185
+ print(
186
+ f"📦 Published data keys: {list(claude_event_data.keys())}",
187
+ file=sys.stderr,
188
+ )
175
189
  except Exception as e:
176
190
  if DEBUG:
177
191
  print(f"⚠️ Failed to publish to EventBus: {e}", file=sys.stderr)
192
+ import traceback
193
+
194
+ traceback.print_exc(file=sys.stderr)
178
195
 
179
196
  # Warn if neither method is available
180
197
  if not self.connection_pool and not self.event_bus and DEBUG:
@@ -59,9 +59,30 @@ class DirectSocketIORelay:
59
59
 
60
60
  # Add debug logging for verification
61
61
  logger.info("[DirectRelay] Subscribed to hook.* events on EventBus")
62
+
63
+ # Check and log broadcaster availability
64
+ broadcaster_available = (
65
+ self.server
66
+ and hasattr(self.server, "broadcaster")
67
+ and self.server.broadcaster is not None
68
+ )
62
69
  logger.info(
63
- f"[DirectRelay] Server broadcaster available: {self.server and self.server.broadcaster is not None}"
70
+ f"[DirectRelay] Server broadcaster available: {broadcaster_available}"
64
71
  )
72
+ if not broadcaster_available:
73
+ if not self.server:
74
+ logger.warning(
75
+ "[DirectRelay] No server instance provided - events will not be relayed!"
76
+ )
77
+ elif not hasattr(self.server, "broadcaster"):
78
+ logger.warning(
79
+ "[DirectRelay] Server has no broadcaster attribute - events will not be relayed!"
80
+ )
81
+ else:
82
+ logger.warning(
83
+ "[DirectRelay] Server broadcaster is None - events will not be relayed!"
84
+ )
85
+
65
86
  logger.info(f"[DirectRelay] EventBus instance: {self.event_bus is not None}")
66
87
 
67
88
  # Mark as connected after successful subscription
@@ -76,9 +97,28 @@ class DirectSocketIORelay:
76
97
  data: The event data
77
98
  """
78
99
  try:
79
- # Log the event reception
100
+ # Enhanced debug logging for troubleshooting
80
101
  if self.debug:
81
102
  logger.debug(f"[DirectRelay] Received event: {event_type}")
103
+ logger.debug(f"[DirectRelay] Event data type: {type(data).__name__}")
104
+ logger.debug(
105
+ f"[DirectRelay] Event data keys: {list(data.keys()) if isinstance(data, dict) else 'not-dict'}"
106
+ )
107
+ logger.debug(
108
+ f"[DirectRelay] Relay state - enabled: {self.enabled}, connected: {self.connected}"
109
+ )
110
+ logger.debug(
111
+ f"[DirectRelay] Server state - has_server: {self.server is not None}, has_broadcaster: {self.server and hasattr(self.server, 'broadcaster') and self.server.broadcaster is not None}"
112
+ )
113
+
114
+ # Always log reception of important events
115
+ if event_type in [
116
+ "hook.pre_tool",
117
+ "hook.post_tool",
118
+ "hook.user_prompt",
119
+ "hook.subagent_stop",
120
+ ]:
121
+ logger.info(f"[DirectRelay] Processing important event: {event_type}")
82
122
 
83
123
  # Only relay hook events
84
124
  if event_type.startswith("hook."):
@@ -143,9 +183,26 @@ class DirectSocketIORelay:
143
183
  f"[DirectRelay] Broadcasted hook event: {event_type}"
144
184
  )
145
185
  else:
186
+ # Enhanced logging when broadcaster is not available
146
187
  logger.warning(
147
188
  f"[DirectRelay] Server broadcaster not available for {event_type}"
148
189
  )
190
+ if self.server:
191
+ logger.warning(
192
+ f"[DirectRelay] Server exists but broadcaster is None"
193
+ )
194
+ logger.warning(
195
+ f"[DirectRelay] Server type: {type(self.server).__name__}"
196
+ )
197
+ logger.warning(
198
+ f"[DirectRelay] Server has broadcaster attr: {hasattr(self.server, 'broadcaster')}"
199
+ )
200
+ if hasattr(self.server, "broadcaster"):
201
+ logger.warning(
202
+ f"[DirectRelay] Broadcaster value: {self.server.broadcaster}"
203
+ )
204
+ else:
205
+ logger.warning(f"[DirectRelay] Server is None")
149
206
  self.stats["events_failed"] += 1
150
207
 
151
208
  except Exception as e:
@@ -177,7 +177,7 @@ class EnhancedConnectionEventHandler(BaseEventHandler):
177
177
  async def ping(sid):
178
178
  """Handle ping from client for health monitoring."""
179
179
  try:
180
- # Update activity in connection manager
180
+ # Update activity in connection manager - CRITICAL for preventing stale connections
181
181
  if self.server.connection_manager:
182
182
  await self.server.connection_manager.update_activity(sid, "ping")
183
183
 
@@ -293,23 +293,8 @@ class EnhancedConnectionEventHandler(BaseEventHandler):
293
293
  except Exception as e:
294
294
  self.logger.error(f"Error getting connection stats for {sid}: {e}")
295
295
 
296
- @sio.event
297
- async def heartbeat(sid):
298
- """Handle client heartbeat for connection monitoring."""
299
- try:
300
- # Update activity
301
- if self.server.connection_manager:
302
- await self.server.connection_manager.update_activity(sid, "event")
303
-
304
- # Send heartbeat response
305
- await sio.emit(
306
- "heartbeat_response",
307
- {"timestamp": datetime.now().isoformat(), "status": "alive"},
308
- room=sid,
309
- )
310
-
311
- except Exception as e:
312
- self.logger.error(f"Error handling heartbeat from {sid}: {e}")
296
+ # Heartbeat handler removed - Using Socket.IO's built-in ping/pong instead
297
+ # This prevents conflicting heartbeat systems that can cause disconnections
313
298
 
314
299
  self.logger.info("Enhanced connection event handlers registered")
315
300