claude-mpm 4.14.6__tar.gz → 4.14.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (893) hide show
  1. claude_mpm-4.14.8/BUILD_NUMBER +1 -0
  2. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/PKG-INFO +1 -1
  3. claude_mpm-4.14.8/VERSION +1 -0
  4. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/pyproject.toml +2 -2
  5. claude_mpm-4.14.8/src/claude_mpm/VERSION +1 -0
  6. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/frontmatter_validator.py +284 -253
  7. claude_mpm-4.14.8/src/claude_mpm/cli/__init__.py +97 -0
  8. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/agent_manager.py +25 -12
  9. claude_mpm-4.14.8/src/claude_mpm/cli/commands/agent_state_manager.py +186 -0
  10. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/agents.py +204 -148
  11. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/aggregate.py +7 -3
  12. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/analyze.py +9 -4
  13. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/analyze_code.py +7 -2
  14. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/config.py +47 -13
  15. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure.py +677 -0
  16. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_agent_display.py +261 -0
  17. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
  18. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_hook_manager.py +225 -0
  19. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_models.py +18 -0
  20. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_navigation.py +165 -0
  21. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_paths.py +104 -0
  22. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_persistence.py +254 -0
  23. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_startup_manager.py +646 -0
  24. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_template_editor.py +497 -0
  25. claude_mpm-4.14.8/src/claude_mpm/cli/commands/configure_validators.py +73 -0
  26. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/memory.py +54 -20
  27. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mpm_init.py +35 -21
  28. claude_mpm-4.14.8/src/claude_mpm/cli/executor.py +202 -0
  29. claude_mpm-4.14.8/src/claude_mpm/cli/helpers.py +105 -0
  30. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/shared/output_formatters.py +28 -19
  31. claude_mpm-4.14.8/src/claude_mpm/cli/startup.py +455 -0
  32. claude_mpm-4.14.8/src/claude_mpm/core/enums.py +322 -0
  33. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/instruction_reinforcement_hook.py +2 -1
  34. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/interactive_session.py +6 -3
  35. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/logging_config.py +6 -2
  36. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/oneshot_session.py +8 -4
  37. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/output_style_manager.py +12 -192
  38. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/service_registry.py +5 -1
  39. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/typing_utils.py +7 -6
  40. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/instruction_reinforcement.py +7 -2
  41. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
  42. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +3 -2
  43. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
  44. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/installation_check.py +3 -2
  45. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +20 -6
  46. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +8 -7
  47. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory_hook_service.py +4 -1
  48. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/daemon_manager.py +3 -2
  49. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/handlers/dashboard.py +2 -1
  50. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/handlers/hooks.py +2 -1
  51. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/management/lifecycle.py +3 -2
  52. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/server.py +2 -1
  53. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/session_management_service.py +3 -2
  54. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/hook.py +3 -2
  55. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/server/main.py +3 -1
  56. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/subprocess_launcher_service.py +14 -5
  57. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +6 -5
  58. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +5 -4
  59. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +5 -4
  60. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +4 -3
  61. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +4 -3
  62. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
  63. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
  64. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/deployment_strategies/local.py +3 -2
  65. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/deployment_strategies/utils.py +2 -1
  66. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/deployment_strategies/vercel.py +2 -1
  67. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/interfaces.py +3 -1
  68. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/unified_analyzer.py +7 -6
  69. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/unified_config.py +2 -1
  70. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/unified_deployment.py +7 -2
  71. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/tools/code_tree_analyzer.py +177 -141
  72. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/tools/code_tree_events.py +4 -2
  73. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm.egg-info/PKG-INFO +1 -1
  74. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm.egg-info/SOURCES.txt +15 -5
  75. claude_mpm-4.14.6/BUILD_NUMBER +0 -1
  76. claude_mpm-4.14.6/VERSION +0 -1
  77. claude_mpm-4.14.6/src/claude_mpm/VERSION +0 -1
  78. claude_mpm-4.14.6/src/claude_mpm/cli/__init__.py +0 -803
  79. claude_mpm-4.14.6/src/claude_mpm/cli/commands/configure.py +0 -2319
  80. claude_mpm-4.14.6/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
  81. claude_mpm-4.14.6/src/claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
  82. claude_mpm-4.14.6/src/claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
  83. claude_mpm-4.14.6/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
  84. claude_mpm-4.14.6/src/claude_mpm/services/project/analyzer_refactored.py +0 -450
  85. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/CLAUDE.md +0 -0
  86. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/LICENSE +0 -0
  87. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/MANIFEST.in +0 -0
  88. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/README.md +0 -0
  89. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/claude-mpm +0 -0
  90. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/scripts/ticket +0 -0
  91. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/setup.cfg +0 -0
  92. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/BUILD_NUMBER +0 -0
  93. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/__init__.py +0 -0
  94. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/__main__.py +0 -0
  95. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  96. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_DOCUMENTATION.md +0 -0
  97. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_ENGINEER.md +0 -0
  98. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_OPS.md +0 -0
  99. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_PM.md +0 -0
  100. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_PROMPT_ENGINEER.md +0 -0
  101. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_QA.md +0 -0
  102. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/BASE_RESEARCH.md +0 -0
  103. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -0
  104. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/MEMORY.md +0 -0
  105. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
  106. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/PM_INSTRUCTIONS.md +0 -0
  107. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/WORKFLOW.md +0 -0
  108. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/__init__.py +0 -0
  109. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/agent-template.yaml +0 -0
  110. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/agent_loader.py +0 -0
  111. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  112. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/agents_metadata.py +0 -0
  113. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/async_agent_loader.py +0 -0
  114. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/base_agent.json +0 -0
  115. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/base_agent_loader.py +0 -0
  116. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/system_agent_config.py +0 -0
  117. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -0
  118. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -0
  119. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/README.md +0 -0
  120. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/__init__.py +0 -0
  121. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
  122. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -0
  123. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/api_qa.json +0 -0
  124. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/circuit_breakers.md +0 -0
  125. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/clerk-ops.json +0 -0
  126. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
  127. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/content-agent.json +0 -0
  128. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/dart_engineer.json +0 -0
  129. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
  130. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/documentation.json +0 -0
  131. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/engineer.json +0 -0
  132. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/gcp_ops_agent.json +0 -0
  133. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/git_file_tracking.md +0 -0
  134. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/golang_engineer.json +0 -0
  135. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/imagemagick.json +0 -0
  136. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/java_engineer.json +0 -0
  137. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/local_ops_agent.json +0 -0
  138. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -0
  139. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -0
  140. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
  141. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/nextjs_engineer.json +0 -0
  142. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/ops.json +0 -0
  143. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/php-engineer.json +0 -0
  144. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/pm_examples.md +0 -0
  145. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/pm_red_flags.md +0 -0
  146. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/product_owner.json +0 -0
  147. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
  148. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/prompt-engineer.json +0 -0
  149. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/python_engineer.json +0 -0
  150. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/qa.json +0 -0
  151. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/react_engineer.json +0 -0
  152. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
  153. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/research.json +0 -0
  154. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/response_format.md +0 -0
  155. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/ruby-engineer.json +0 -0
  156. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/rust_engineer.json +0 -0
  157. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/security.json +0 -0
  158. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/ticketing.json +0 -0
  159. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/typescript_engineer.json +0 -0
  160. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/validation_templates.md +0 -0
  161. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
  162. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/version_control.json +0 -0
  163. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/web_qa.json +0 -0
  164. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/agents/templates/web_ui.json +0 -0
  165. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/__main__.py +0 -0
  166. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/__init__.py +0 -0
  167. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/agents_detect.py +0 -0
  168. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/agents_recommend.py +0 -0
  169. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/auto_configure.py +0 -0
  170. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/cleanup.py +0 -0
  171. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +0 -0
  172. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/dashboard.py +0 -0
  173. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/debug.py +0 -0
  174. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/doctor.py +0 -0
  175. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/info.py +0 -0
  176. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/local_deploy.py +0 -0
  177. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp.py +0 -0
  178. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
  179. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_config.py +0 -0
  180. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
  181. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_external_commands.py +0 -0
  182. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
  183. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_pipx_config.py +0 -0
  184. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
  185. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_setup_external.py +0 -0
  186. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
  187. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/monitor.py +0 -0
  188. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/mpm_init_handler.py +0 -0
  189. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/run.py +0 -0
  190. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/search.py +0 -0
  191. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/tickets.py +0 -0
  192. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/uninstall.py +0 -0
  193. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/upgrade.py +0 -0
  194. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/commands/verify.py +0 -0
  195. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/interactive/__init__.py +0 -0
  196. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/interactive/agent_wizard.py +0 -0
  197. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parser.py +0 -0
  198. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/__init__.py +0 -0
  199. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
  200. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
  201. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/analyze_code_parser.py +0 -0
  202. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/analyze_parser.py +0 -0
  203. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/auto_configure_parser.py +0 -0
  204. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
  205. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
  206. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/configure_parser.py +0 -0
  207. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/dashboard_parser.py +0 -0
  208. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/debug_parser.py +0 -0
  209. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/local_deploy_parser.py +0 -0
  210. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
  211. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
  212. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
  213. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/mpm_init_parser.py +0 -0
  214. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
  215. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/search_parser.py +0 -0
  216. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
  217. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/shared/__init__.py +0 -0
  218. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
  219. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/shared/base_command.py +0 -0
  220. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/shared/error_handling.py +0 -0
  221. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/startup_logging.py +0 -0
  222. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/ticket_cli.py +0 -0
  223. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli/utils.py +0 -0
  224. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli_module/__init__.py +0 -0
  225. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli_module/args.py +0 -0
  226. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli_module/commands.py +0 -0
  227. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/cli_module/migration_example.py +0 -0
  228. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/__init__.py +0 -0
  229. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-agents-detect.md +0 -0
  230. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-agents-recommend.md +0 -0
  231. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-agents.md +0 -0
  232. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-auto-configure.md +0 -0
  233. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-config.md +0 -0
  234. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-doctor.md +0 -0
  235. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-help.md +0 -0
  236. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-init.md +0 -0
  237. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-monitor.md +0 -0
  238. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-organize.md +0 -0
  239. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-status.md +0 -0
  240. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm-tickets.md +0 -0
  241. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/commands/mpm.md +0 -0
  242. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/config/__init__.py +0 -0
  243. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/config/agent_config.py +0 -0
  244. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/config/experimental_features.py +0 -0
  245. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/config/model_config.py +0 -0
  246. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/config/paths.py +0 -0
  247. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/config/socketio_config.py +0 -0
  248. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/constants.py +0 -0
  249. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/__init__.py +0 -0
  250. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  251. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/agent_registry.py +0 -0
  252. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/agent_session_manager.py +0 -0
  253. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/api_validator.py +0 -0
  254. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/base_service.py +0 -0
  255. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/cache.py +0 -0
  256. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/claude_runner.py +0 -0
  257. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/config.py +0 -0
  258. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/config_aliases.py +0 -0
  259. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/config_constants.py +0 -0
  260. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/constants.py +0 -0
  261. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/container.py +0 -0
  262. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/error_handler.py +0 -0
  263. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/exceptions.py +0 -0
  264. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/factories.py +0 -0
  265. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/file_utils.py +0 -0
  266. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/__init__.py +0 -0
  267. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/formatters/__init__.py +0 -0
  268. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/formatters/capability_generator.py +0 -0
  269. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/formatters/content_formatter.py +0 -0
  270. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/formatters/context_generator.py +0 -0
  271. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/loaders/__init__.py +0 -0
  272. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/loaders/agent_loader.py +0 -0
  273. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/loaders/file_loader.py +0 -0
  274. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/loaders/instruction_loader.py +0 -0
  275. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/loaders/packaged_loader.py +0 -0
  276. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/processors/__init__.py +0 -0
  277. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/processors/memory_processor.py +0 -0
  278. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/processors/metadata_processor.py +0 -0
  279. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework/processors/template_processor.py +0 -0
  280. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/framework_loader.py +0 -0
  281. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/hook_manager.py +0 -0
  282. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/hook_performance_config.py +0 -0
  283. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/injectable_service.py +0 -0
  284. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/interfaces.py +0 -0
  285. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/lazy.py +0 -0
  286. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/log_manager.py +0 -0
  287. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/logger.py +0 -0
  288. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/logging_utils.py +0 -0
  289. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  290. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/mixins.py +0 -0
  291. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
  292. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/optimized_startup.py +0 -0
  293. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
  294. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/session_manager.py +0 -0
  295. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/shared/__init__.py +0 -0
  296. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/shared/config_loader.py +0 -0
  297. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/shared/path_resolver.py +0 -0
  298. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
  299. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/socketio_pool.py +0 -0
  300. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/tool_access_control.py +0 -0
  301. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/types.py +0 -0
  302. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/unified_agent_registry.py +0 -0
  303. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/unified_config.py +0 -0
  304. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/core/unified_paths.py +0 -0
  305. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -0
  306. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/__init__.py +0 -0
  307. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/analysis_runner.py +0 -0
  308. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/api/simple_directory.py +0 -0
  309. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/index.html +0 -0
  310. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
  311. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -0
  312. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -0
  313. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -0
  314. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -0
  315. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -0
  316. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -0
  317. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -0
  318. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -0
  319. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_dashboard.html +0 -0
  320. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -0
  321. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -0
  322. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_file_data.html +0 -0
  323. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -0
  324. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -0
  325. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -0
  326. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -0
  327. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -0
  328. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_final_activity.html +0 -0
  329. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -0
  330. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -0
  331. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/activity-tree.js +0 -0
  332. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -0
  333. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
  334. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/build-tracker.js +0 -0
  335. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/code-simple.js +0 -0
  336. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -0
  337. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -0
  338. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -0
  339. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -0
  340. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/code-tree.js +0 -0
  341. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/code-viewer.js +0 -0
  342. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/connection-debug.js +0 -0
  343. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -0
  344. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
  345. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
  346. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
  347. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -0
  348. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -0
  349. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
  350. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/file-viewer.js +0 -0
  351. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
  352. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
  353. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
  354. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
  355. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/nav-bar.js +0 -0
  356. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/page-structure.js +0 -0
  357. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
  358. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
  359. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
  360. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -0
  361. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
  362. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/connection-manager.js +0 -0
  363. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
  364. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/extension-error-handler.js +0 -0
  365. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/react/events.js +0 -0
  366. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -0
  367. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/shared/event-bus.js +0 -0
  368. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -0
  369. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/shared/logger.js +0 -0
  370. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/shared/page-structure.js +0 -0
  371. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -0
  372. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
  373. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -0
  374. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/css/activity.css +0 -0
  375. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/css/code-tree.css +0 -0
  376. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/css/connection-status.css +0 -0
  377. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
  378. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -0
  379. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -0
  380. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
  381. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/code-tree.js +0 -0
  382. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -0
  383. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
  384. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
  385. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
  386. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
  387. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -0
  388. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
  389. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
  390. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
  391. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
  392. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
  393. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
  394. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
  395. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -0
  396. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
  397. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
  398. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/react/events.js +0 -0
  399. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
  400. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/events.html +0 -0
  401. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/index.html +0 -0
  402. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/activity-tree.js +0 -0
  403. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
  404. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
  405. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +0 -0
  406. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/code-simple.js +0 -0
  407. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -0
  408. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -0
  409. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -0
  410. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -0
  411. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/code-tree.js +0 -0
  412. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/code-viewer.js +0 -0
  413. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/connection-debug.js +0 -0
  414. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -0
  415. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
  416. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
  417. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
  418. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -0
  419. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -0
  420. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
  421. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/file-viewer.js +0 -0
  422. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
  423. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
  424. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
  425. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
  426. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
  427. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
  428. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
  429. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -0
  430. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
  431. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/connection-manager.js +0 -0
  432. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
  433. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
  434. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -0
  435. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/shared/event-bus.js +0 -0
  436. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/shared/logger.js +0 -0
  437. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -0
  438. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
  439. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -0
  440. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -0
  441. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/legacy/activity.html +0 -0
  442. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/legacy/agents.html +0 -0
  443. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/legacy/files.html +0 -0
  444. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/legacy/tools.html +0 -0
  445. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/monitors.html +0 -0
  446. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/production/events.html +0 -0
  447. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/production/main.html +0 -0
  448. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/production/monitors.html +0 -0
  449. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/socket.io.min.js +0 -0
  450. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -0
  451. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/test-archive/dashboard.html +0 -0
  452. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/test-archive/debug-events.html +0 -0
  453. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -0
  454. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -0
  455. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/static/test-archive/test_debug.html +0 -0
  456. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/templates/code_simple.html +0 -0
  457. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/templates/index.html +0 -0
  458. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
  459. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/experimental/__init__.py +0 -0
  460. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
  461. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/generators/__init__.py +0 -0
  462. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
  463. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/__init__.py +0 -0
  464. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/base_hook.py +0 -0
  465. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
  466. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
  467. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
  468. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
  469. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
  470. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/installer.py +0 -0
  471. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
  472. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
  473. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/services/__init__.py +0 -0
  474. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/services/connection_manager.py +0 -0
  475. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +0 -0
  476. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +0 -0
  477. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/services/state_manager.py +0 -0
  478. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/services/subagent_processor.py +0 -0
  479. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
  480. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/failure_learning/__init__.py +0 -0
  481. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/failure_learning/failure_detection_hook.py +0 -0
  482. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/failure_learning/fix_detection_hook.py +0 -0
  483. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/failure_learning/learning_extraction_hook.py +0 -0
  484. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/kuzu_enrichment_hook.py +0 -0
  485. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/kuzu_memory_hook.py +0 -0
  486. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/kuzu_response_hook.py +0 -0
  487. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
  488. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  489. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/hooks/validation_hooks.py +0 -0
  490. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/init.py +0 -0
  491. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/models/__init__.py +0 -0
  492. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/models/agent_definition.py +0 -0
  493. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/models/agent_session.py +0 -0
  494. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/schemas/__init__.py +0 -0
  495. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/__init__.py +0 -0
  496. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/claude-hook-handler.sh +0 -0
  497. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/launch_monitor.py +0 -0
  498. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/mcp_server.py +0 -0
  499. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
  500. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/mpm_doctor.py +0 -0
  501. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
  502. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
  503. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/__init__.py +0 -0
  504. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
  505. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/__init__.py +0 -0
  506. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/agent_builder.py +0 -0
  507. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/auto_config_manager.py +0 -0
  508. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
  509. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
  510. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
  511. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
  512. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
  513. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
  514. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
  515. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
  516. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
  517. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
  518. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
  519. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
  520. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_operation_service.py +0 -0
  521. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_record_service.py +0 -0
  522. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
  523. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_state_service.py +0 -0
  524. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
  525. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
  526. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
  527. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
  528. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
  529. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
  530. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/base_agent_locator.py +0 -0
  531. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
  532. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
  533. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
  534. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
  535. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/deployment_results_manager.py +0 -0
  536. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
  537. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
  538. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
  539. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
  540. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
  541. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
  542. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
  543. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
  544. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
  545. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/local_template_deployment.py +0 -0
  546. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
  547. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
  548. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
  549. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
  550. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
  551. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
  552. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
  553. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
  554. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
  555. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
  556. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
  557. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
  558. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
  559. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
  560. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
  561. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
  562. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
  563. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
  564. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/single_agent_deployer.py +0 -0
  565. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
  566. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
  567. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
  568. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
  569. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
  570. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
  571. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
  572. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
  573. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
  574. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
  575. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
  576. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
  577. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
  578. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
  579. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
  580. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
  581. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/local_template_manager.py +0 -0
  582. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/management/__init__.py +0 -0
  583. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
  584. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
  585. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
  586. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
  587. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
  588. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/memory_categorization_service.py +0 -0
  589. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/memory_file_service.py +0 -0
  590. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/memory_format_service.py +0 -0
  591. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/memory_limits_service.py +0 -0
  592. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
  593. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/observers.py +0 -0
  594. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/recommender.py +0 -0
  595. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
  596. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
  597. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
  598. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/async_session_logger.py +0 -0
  599. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/claude_session_logger.py +0 -0
  600. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/__init__.py +0 -0
  601. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/agent_cleanup_service.py +0 -0
  602. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/agent_dependency_service.py +0 -0
  603. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/agent_listing_service.py +0 -0
  604. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/agent_output_formatter.py +0 -0
  605. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/agent_validation_service.py +0 -0
  606. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/memory_crud_service.py +0 -0
  607. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/memory_output_formatter.py +0 -0
  608. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/session_manager.py +0 -0
  609. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/startup_checker.py +0 -0
  610. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/cli/unified_dashboard_manager.py +0 -0
  611. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/command_deployment_service.py +0 -0
  612. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/command_handler_service.py +0 -0
  613. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/communication/__init__.py +0 -0
  614. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/__init__.py +0 -0
  615. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/base.py +0 -0
  616. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/cache_manager.py +0 -0
  617. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
  618. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
  619. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
  620. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/health.py +0 -0
  621. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
  622. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/model.py +0 -0
  623. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/process.py +0 -0
  624. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/project.py +0 -0
  625. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/restart.py +0 -0
  626. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/service.py +0 -0
  627. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces/stability.py +0 -0
  628. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/interfaces.py +0 -0
  629. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/memory_manager.py +0 -0
  630. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/models/__init__.py +0 -0
  631. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/models/agent_config.py +0 -0
  632. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/models/health.py +0 -0
  633. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/models/process.py +0 -0
  634. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/models/restart.py +0 -0
  635. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/models/stability.py +0 -0
  636. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/models/toolchain.py +0 -0
  637. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/path_resolver.py +0 -0
  638. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/service_container.py +0 -0
  639. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/core/service_interfaces.py +0 -0
  640. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
  641. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
  642. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
  643. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
  644. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/claude_code_check.py +0 -0
  645. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
  646. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
  647. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
  648. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/instructions_check.py +0 -0
  649. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/mcp_services_check.py +0 -0
  650. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
  651. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
  652. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
  653. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
  654. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/diagnostics/models.py +0 -0
  655. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/event_aggregator.py +0 -0
  656. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/event_bus/__init__.py +0 -0
  657. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/event_bus/config.py +0 -0
  658. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/event_bus/direct_relay.py +0 -0
  659. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/event_bus/event_bus.py +0 -0
  660. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/event_bus/relay.py +0 -0
  661. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/__init__.py +0 -0
  662. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
  663. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
  664. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/consumers/logging.py +0 -0
  665. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
  666. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
  667. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/core.py +0 -0
  668. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/interfaces.py +0 -0
  669. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/producers/__init__.py +0 -0
  670. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/producers/hook.py +0 -0
  671. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/events/producers/system.py +0 -0
  672. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/exceptions.py +0 -0
  673. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
  674. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  675. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  676. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
  677. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  678. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  679. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
  680. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
  681. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
  682. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
  683. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  684. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  685. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
  686. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
  687. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
  688. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
  689. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  690. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  691. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  692. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/hook_installer_service.py +0 -0
  693. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/hook_service.py +0 -0
  694. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
  695. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
  696. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
  697. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/logging.py +0 -0
  698. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/__init__.py +0 -0
  699. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/aggregator.py +0 -0
  700. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/base.py +0 -0
  701. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/legacy.py +0 -0
  702. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/network.py +0 -0
  703. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/process.py +0 -0
  704. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/resources.py +0 -0
  705. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring/service.py +0 -0
  706. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
  707. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/__init__.py +0 -0
  708. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/crash_detector.py +0 -0
  709. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/health_checks/__init__.py +0 -0
  710. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/health_checks/http_check.py +0 -0
  711. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/health_checks/process_check.py +0 -0
  712. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/health_checks/resource_check.py +0 -0
  713. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/health_manager.py +0 -0
  714. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/log_monitor.py +0 -0
  715. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/memory_leak_detector.py +0 -0
  716. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/process_manager.py +0 -0
  717. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/resource_monitor.py +0 -0
  718. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/restart_manager.py +0 -0
  719. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/restart_policy.py +0 -0
  720. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/state_manager.py +0 -0
  721. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/local_ops/unified_manager.py +0 -0
  722. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_config_manager.py +0 -0
  723. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
  724. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/auto_configure.py +0 -0
  725. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
  726. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
  727. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
  728. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
  729. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
  730. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
  731. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
  732. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
  733. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
  734. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
  735. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
  736. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
  737. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
  738. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
  739. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
  740. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
  741. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
  742. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
  743. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
  744. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
  745. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
  746. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
  747. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -0
  748. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
  749. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -0
  750. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/utils/__init__.py +0 -0
  751. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -0
  752. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -0
  753. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/mcp_service_verifier.py +0 -0
  754. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/__init__.py +0 -0
  755. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/builder.py +0 -0
  756. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
  757. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
  758. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
  759. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/failure_tracker.py +0 -0
  760. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
  761. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/optimizer.py +0 -0
  762. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/memory/router.py +0 -0
  763. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/model/__init__.py +0 -0
  764. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/model/base_provider.py +0 -0
  765. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/model/claude_provider.py +0 -0
  766. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/model/model_router.py +0 -0
  767. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/model/ollama_provider.py +0 -0
  768. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/__init__.py +0 -0
  769. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/daemon.py +0 -0
  770. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/event_emitter.py +0 -0
  771. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/handlers/__init__.py +0 -0
  772. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/handlers/code_analysis.py +0 -0
  773. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/handlers/file.py +0 -0
  774. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/management/__init__.py +0 -0
  775. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor/management/health.py +0 -0
  776. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/monitor_build_service.py +0 -0
  777. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/orphan_detection.py +0 -0
  778. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/port_manager.py +0 -0
  779. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/__init__.py +0 -0
  780. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/analyzer.py +0 -0
  781. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/analyzer_v2.py +0 -0
  782. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/architecture_analyzer.py +0 -0
  783. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/archive_manager.py +0 -0
  784. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/dependency_analyzer.py +0 -0
  785. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/detection_strategies.py +0 -0
  786. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/documentation_manager.py +0 -0
  787. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/enhanced_analyzer.py +0 -0
  788. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/language_analyzer.py +0 -0
  789. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/metrics_collector.py +0 -0
  790. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/project_organizer.py +0 -0
  791. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/registry.py +0 -0
  792. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project/toolchain_analyzer.py +0 -0
  793. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/project_port_allocator.py +0 -0
  794. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/recovery_manager.py +0 -0
  795. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/response_tracker.py +0 -0
  796. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/runner_configuration_service.py +0 -0
  797. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/self_upgrade_service.py +0 -0
  798. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/session_manager.py +0 -0
  799. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/shared/__init__.py +0 -0
  800. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/shared/async_service_base.py +0 -0
  801. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/shared/config_service_base.py +0 -0
  802. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
  803. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/shared/manager_base.py +0 -0
  804. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/shared/service_factory.py +0 -0
  805. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/__init__.py +0 -0
  806. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
  807. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/dashboard_server.py +0 -0
  808. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
  809. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
  810. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
  811. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/code_analysis.py +0 -0
  812. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
  813. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/connection_handler.py +0 -0
  814. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
  815. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
  816. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
  817. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
  818. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
  819. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
  820. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/monitor_client.py +0 -0
  821. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
  822. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
  823. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/server/connection_manager.py +0 -0
  824. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/server/core.py +0 -0
  825. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio/server/eventbus_integration.py +0 -0
  826. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio_client_manager.py +0 -0
  827. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/socketio_server.py +0 -0
  828. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/system_instructions_service.py +0 -0
  829. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/ticket_manager.py +0 -0
  830. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/ticket_services/__init__.py +0 -0
  831. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/ticket_services/crud_service.py +0 -0
  832. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/ticket_services/formatter_service.py +0 -0
  833. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/ticket_services/search_service.py +0 -0
  834. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/ticket_services/validation_service.py +0 -0
  835. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/ticket_services/workflow_service.py +0 -0
  836. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/__init__.py +0 -0
  837. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/analyzer_strategies/__init__.py +0 -0
  838. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/config_strategies/__init__.py +0 -0
  839. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/config_strategies/config_schema.py +0 -0
  840. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/config_strategies/context_strategy.py +0 -0
  841. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/config_strategies/error_handling_strategy.py +0 -0
  842. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/config_strategies/file_loader_strategy.py +0 -0
  843. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/config_strategies/unified_config_service.py +0 -0
  844. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/deployment_strategies/__init__.py +0 -0
  845. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/deployment_strategies/base.py +0 -0
  846. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/migration.py +0 -0
  847. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/unified/strategies.py +0 -0
  848. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/utility_service.py +0 -0
  849. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/version_control/__init__.py +0 -0
  850. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  851. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  852. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  853. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
  854. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/version_control/version_parser.py +0 -0
  855. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/version_service.py +0 -0
  856. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/visualization/__init__.py +0 -0
  857. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/services/visualization/mermaid_generator.py +0 -0
  858. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/storage/__init__.py +0 -0
  859. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/storage/state_storage.py +0 -0
  860. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/ticket_wrapper.py +0 -0
  861. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/tools/__init__.py +0 -0
  862. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/tools/__main__.py +0 -0
  863. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/tools/code_tree_builder.py +0 -0
  864. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/tools/socketio_debug.py +0 -0
  865. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/__init__.py +0 -0
  866. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
  867. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/common.py +0 -0
  868. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/config_manager.py +0 -0
  869. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/console.py +0 -0
  870. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/database_connector.py +0 -0
  871. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/dependency_cache.py +0 -0
  872. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/dependency_manager.py +0 -0
  873. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/dependency_strategies.py +0 -0
  874. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/display_helper.py +0 -0
  875. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/environment_context.py +0 -0
  876. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/error_handler.py +0 -0
  877. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/file_utils.py +0 -0
  878. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/framework_detection.py +0 -0
  879. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/git_analyzer.py +0 -0
  880. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/import_migration_example.py +0 -0
  881. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/imports.py +0 -0
  882. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/log_cleanup.py +0 -0
  883. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/path_operations.py +0 -0
  884. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/robust_installer.py +0 -0
  885. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/session_logging.py +0 -0
  886. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/utils/subprocess_utils.py +0 -0
  887. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/validation/__init__.py +0 -0
  888. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/validation/agent_validator.py +0 -0
  889. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
  890. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  891. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  892. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm.egg-info/requires.txt +0 -0
  893. {claude_mpm-4.14.6 → claude_mpm-4.14.8}/src/claude_mpm.egg-info/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ 469
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.14.6
3
+ Version: 4.14.8
4
4
  Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
5
5
  Author-email: Bob Matsuoka <bob@matsuoka.com>
6
6
  Maintainer: Claude MPM Team
@@ -0,0 +1 @@
1
+ 4.14.8
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "claude-mpm"
7
- version = "4.14.6"
7
+ version = "4.14.8"
8
8
  description = "Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -84,7 +84,7 @@ ignore-imports = false
84
84
 
85
85
  [tool.commitizen]
86
86
  name = "cz_conventional_commits"
87
- version = "4.14.6"
87
+ version = "4.14.8"
88
88
  version_files = [ "VERSION", "src/claude_mpm/VERSION", "package.json:version",]
89
89
  tag_format = "v$version"
90
90
  update_changelog_on_bump = true
@@ -0,0 +1 @@
1
+ 4.14.8
@@ -23,6 +23,7 @@ from typing import Any, Dict, List, Optional, Tuple
23
23
 
24
24
  import yaml
25
25
 
26
+ from claude_mpm.core.enums import ModelTier
26
27
  from claude_mpm.core.logging_utils import get_logger
27
28
 
28
29
  logger = get_logger(__name__)
@@ -54,33 +55,8 @@ class FrontmatterValidator:
54
55
  - Logging of all corrections made
55
56
  """
56
57
 
57
- # Model name mappings for normalization
58
- MODEL_MAPPINGS = {
59
- # Sonnet variations
60
- "claude-3-5-sonnet-20241022": "sonnet",
61
- "claude-3-5-sonnet-20240620": "sonnet",
62
- "claude-sonnet-4-20250514": "sonnet",
63
- "claude-4-sonnet-20250514": "sonnet",
64
- "claude-3-sonnet-20240229": "sonnet",
65
- "20241022": "sonnet", # Common shorthand - maps to current Sonnet
66
- "20240620": "sonnet", # Previous Sonnet version
67
- "3.5-sonnet": "sonnet",
68
- "sonnet-3.5": "sonnet",
69
- "sonnet-4": "sonnet",
70
- # Opus variations
71
- "claude-3-opus-20240229": "opus",
72
- "claude-opus-4-20250514": "opus",
73
- "claude-4-opus-20250514": "opus",
74
- "3-opus": "opus",
75
- "opus-3": "opus",
76
- "opus-4": "opus",
77
- # Haiku variations
78
- "claude-3-haiku-20240307": "haiku",
79
- "claude-3-5-haiku-20241022": "haiku",
80
- "3-haiku": "haiku",
81
- "haiku-3": "haiku",
82
- "haiku-3.5": "haiku",
83
- }
58
+ # NOTE: Model normalization now handled by ModelTier.normalize()
59
+ # This enum-based approach replaced 26 lines of manual mappings
84
60
 
85
61
  # Tool name corrections (case normalization)
86
62
  TOOL_CORRECTIONS = {
@@ -179,13 +155,44 @@ class FrontmatterValidator:
179
155
  Returns:
180
156
  ValidationResult with validation status and corrected frontmatter
181
157
  """
182
- errors = []
183
- warnings = []
184
- corrections = []
158
+ errors: List[str] = []
159
+ warnings: List[str] = []
160
+ corrections: List[str] = []
185
161
  corrected = frontmatter.copy()
186
- field_corrections = {} # Track only the fields that actually need correction
162
+ field_corrections: Dict[str, Any] = {}
163
+
164
+ # Check required fields
165
+ self._validate_required_fields(corrected, errors)
166
+
167
+ # Validate and correct individual fields
168
+ self._validate_name_field(corrected, field_corrections, errors, corrections)
169
+ self._validate_model_field(corrected, field_corrections, errors, corrections)
170
+ self._validate_tools_field(corrected, field_corrections, warnings, corrections)
171
+ self._validate_version_fields(corrected, field_corrections, errors, corrections)
172
+ self._validate_description_field(corrected, errors, warnings)
173
+ self._validate_category_field(corrected, warnings)
174
+ self._validate_resource_tier_field(corrected, warnings)
175
+ self._validate_color_field(corrected, errors)
176
+ self._validate_author_field(corrected, errors, warnings)
177
+ self._validate_tags_field(corrected, errors, warnings)
178
+ self._validate_numeric_fields(corrected, errors, warnings)
179
+
180
+ # Determine if valid
181
+ is_valid = len(errors) == 0
182
+
183
+ return ValidationResult(
184
+ is_valid=is_valid,
185
+ errors=errors,
186
+ warnings=warnings,
187
+ corrections=corrections,
188
+ corrected_frontmatter=corrected if corrections else None,
189
+ field_corrections=field_corrections if field_corrections else None,
190
+ )
187
191
 
188
- # Required fields check (from schema)
192
+ def _validate_required_fields(
193
+ self, corrected: Dict[str, Any], errors: List[str]
194
+ ) -> None:
195
+ """Check that all required fields are present."""
189
196
  required_fields = (
190
197
  self.schema.get("required", ["name", "description", "version", "model"])
191
198
  if self.schema
@@ -195,227 +202,271 @@ class FrontmatterValidator:
195
202
  if field not in corrected:
196
203
  errors.append(f"Missing required field: {field}")
197
204
 
198
- # Validate and correct name field
199
- if "name" in corrected:
200
- name = corrected["name"]
201
- if not isinstance(name, str):
202
- errors.append(
203
- f"Field 'name' must be a string, got {type(name).__name__}"
204
- )
205
- elif not re.match(r"^[a-z][a-z0-9_]*$", name):
206
- # Try to fix the name
207
- fixed_name = name.lower().replace("-", "_").replace(" ", "_")
208
- fixed_name = re.sub(r"[^a-z0-9_]", "", fixed_name)
209
- if fixed_name and fixed_name[0].isalpha():
210
- corrected["name"] = fixed_name
211
- field_corrections["name"] = fixed_name
212
- corrections.append(
213
- f"Corrected name from '{name}' to '{fixed_name}'"
214
- )
215
- else:
216
- errors.append(f"Invalid name format: {name}")
217
-
218
- # Validate and correct model field
219
- if "model" in corrected:
220
- model = corrected["model"]
221
-
222
- # Convert to string if it's a number (YAML might parse dates as integers)
223
- if isinstance(model, (int, float)):
224
- model = str(model)
225
- corrected["model"] = model
226
- field_corrections["model"] = model
227
- corrections.append(f"Converted model from number to string: {model}")
228
-
229
- if not isinstance(model, str):
230
- errors.append(
231
- f"Field 'model' must be a string, got {type(model).__name__}"
232
- )
205
+ def _validate_name_field(
206
+ self,
207
+ corrected: Dict[str, Any],
208
+ field_corrections: Dict[str, Any],
209
+ errors: List[str],
210
+ corrections: List[str],
211
+ ) -> None:
212
+ """Validate and correct the name field."""
213
+ if "name" not in corrected:
214
+ return
215
+
216
+ name = corrected["name"]
217
+ if not isinstance(name, str):
218
+ errors.append(f"Field 'name' must be a string, got {type(name).__name__}")
219
+ return
220
+
221
+ if not re.match(r"^[a-z][a-z0-9_]*$", name):
222
+ # Try to fix the name
223
+ fixed_name = name.lower().replace("-", "_").replace(" ", "_")
224
+ fixed_name = re.sub(r"[^a-z0-9_]", "", fixed_name)
225
+ if fixed_name and fixed_name[0].isalpha():
226
+ corrected["name"] = fixed_name
227
+ field_corrections["name"] = fixed_name
228
+ corrections.append(f"Corrected name from '{name}' to '{fixed_name}'")
233
229
  else:
234
- normalized_model = self._normalize_model(model)
235
- if normalized_model != model:
236
- corrected["model"] = normalized_model
237
- field_corrections["model"] = normalized_model
238
- corrections.append(
239
- f"Normalized model from '{model}' to '{normalized_model}'"
240
- )
241
-
242
- if normalized_model not in self.VALID_MODELS:
243
- errors.append(
244
- f"Invalid model: {model} (normalized to {normalized_model})"
245
- )
246
-
247
- # Validate and correct tools field
248
- if "tools" in corrected:
249
- tools = corrected["tools"]
250
- corrected_tools, tool_corrections = self._correct_tools(tools)
251
- if tool_corrections:
252
- corrected["tools"] = corrected_tools
253
- field_corrections["tools"] = corrected_tools
254
- corrections.extend(tool_corrections)
255
-
256
- # Validate tool names
257
- invalid_tools = []
258
- for tool in corrected_tools:
259
- if tool not in self.VALID_TOOLS:
260
- # Try to correct the tool name
261
- corrected_tool = self.TOOL_CORRECTIONS.get(tool.lower())
262
- if corrected_tool:
263
- idx = corrected_tools.index(tool)
264
- corrected_tools[idx] = corrected_tool
265
- corrected["tools"] = corrected_tools
266
- field_corrections["tools"] = corrected_tools
267
- corrections.append(
268
- f"Corrected tool '{tool}' to '{corrected_tool}'"
269
- )
270
- else:
271
- invalid_tools.append(tool)
272
-
273
- if invalid_tools:
274
- warnings.append(f"Unknown tools: {', '.join(invalid_tools)}")
230
+ errors.append(f"Invalid name format: {name}")
231
+
232
+ def _validate_model_field(
233
+ self,
234
+ corrected: Dict[str, Any],
235
+ field_corrections: Dict[str, Any],
236
+ errors: List[str],
237
+ corrections: List[str],
238
+ ) -> None:
239
+ """Validate and correct the model field."""
240
+ if "model" not in corrected:
241
+ return
242
+
243
+ model = corrected["model"]
244
+
245
+ # Convert to string if it's a number (YAML might parse dates as integers)
246
+ if isinstance(model, (int, float)):
247
+ model = str(model)
248
+ corrected["model"] = model
249
+ field_corrections["model"] = model
250
+ corrections.append(f"Converted model from number to string: {model}")
251
+
252
+ if not isinstance(model, str):
253
+ errors.append(f"Field 'model' must be a string, got {type(model).__name__}")
254
+ return
255
+
256
+ normalized_model = self._normalize_model(model)
257
+ if normalized_model != model:
258
+ corrected["model"] = normalized_model
259
+ field_corrections["model"] = normalized_model
260
+ corrections.append(
261
+ f"Normalized model from '{model}' to '{normalized_model}'"
262
+ )
275
263
 
276
- # Validate version fields
264
+ if normalized_model not in self.VALID_MODELS:
265
+ errors.append(f"Invalid model: {model} (normalized to {normalized_model})")
266
+
267
+ def _validate_tools_field(
268
+ self,
269
+ corrected: Dict[str, Any],
270
+ field_corrections: Dict[str, Any],
271
+ warnings: List[str],
272
+ corrections: List[str],
273
+ ) -> None:
274
+ """Validate and correct the tools field."""
275
+ if "tools" not in corrected:
276
+ return
277
+
278
+ tools = corrected["tools"]
279
+ corrected_tools, tool_corrections = self._correct_tools(tools)
280
+ if tool_corrections:
281
+ corrected["tools"] = corrected_tools
282
+ field_corrections["tools"] = corrected_tools
283
+ corrections.extend(tool_corrections)
284
+
285
+ # Validate tool names
286
+ invalid_tools = []
287
+ for tool in corrected_tools:
288
+ if tool not in self.VALID_TOOLS:
289
+ # Try to correct the tool name
290
+ corrected_tool = self.TOOL_CORRECTIONS.get(tool.lower())
291
+ if corrected_tool:
292
+ idx = corrected_tools.index(tool)
293
+ corrected_tools[idx] = corrected_tool
294
+ corrected["tools"] = corrected_tools
295
+ field_corrections["tools"] = corrected_tools
296
+ corrections.append(f"Corrected tool '{tool}' to '{corrected_tool}'")
297
+ else:
298
+ invalid_tools.append(tool)
299
+
300
+ if invalid_tools:
301
+ warnings.append(f"Unknown tools: {', '.join(invalid_tools)}")
302
+
303
+ def _validate_version_fields(
304
+ self,
305
+ corrected: Dict[str, Any],
306
+ field_corrections: Dict[str, Any],
307
+ errors: List[str],
308
+ corrections: List[str],
309
+ ) -> None:
310
+ """Validate and correct version fields."""
277
311
  version_fields = ["version", "base_version"]
278
312
  for field in version_fields:
279
- if field in corrected:
280
- version = corrected[field]
281
- if not isinstance(version, str):
282
- errors.append(
283
- f"Field '{field}' must be a string, got {type(version).__name__}"
284
- )
285
- elif not re.match(r"^\d+\.\d+\.\d+$", version):
286
- # Try to fix common version issues
287
- if re.match(r"^\d+\.\d+$", version):
288
- fixed_version = f"{version}.0"
289
- corrected[field] = fixed_version
290
- field_corrections[field] = fixed_version
291
- corrections.append(
292
- f"Fixed {field} from '{version}' to '{fixed_version}'"
293
- )
294
- elif re.match(r"^v?\d+\.\d+\.\d+$", version):
295
- fixed_version = version.lstrip("v")
296
- corrected[field] = fixed_version
297
- field_corrections[field] = fixed_version
298
- corrections.append(
299
- f"Fixed {field} from '{version}' to '{fixed_version}'"
300
- )
301
- else:
302
- errors.append(f"Invalid {field} format: {version}")
313
+ if field not in corrected:
314
+ continue
303
315
 
304
- # Validate description
305
- if "description" in corrected:
306
- desc = corrected["description"]
307
- if not isinstance(desc, str):
316
+ version = corrected[field]
317
+ if not isinstance(version, str):
308
318
  errors.append(
309
- f"Field 'description' must be a string, got {type(desc).__name__}"
310
- )
311
- elif len(desc) < 10:
312
- warnings.append(
313
- f"Description too short ({len(desc)} chars, minimum 10)"
314
- )
315
- elif len(desc) > 200:
316
- warnings.append(
317
- f"Description too long ({len(desc)} chars, maximum 200)"
319
+ f"Field '{field}' must be a string, got {type(version).__name__}"
318
320
  )
321
+ continue
319
322
 
320
- # Validate optional fields
321
- if "category" in corrected:
322
- valid_categories = [
323
- "engineering",
324
- "research",
325
- "quality",
326
- "operations",
327
- "specialized",
328
- ]
329
- if corrected["category"] not in valid_categories:
330
- warnings.append(f"Invalid category: {corrected['category']}")
331
-
332
- if "resource_tier" in corrected:
333
- valid_tiers = ["basic", "standard", "intensive", "lightweight"]
334
- if corrected["resource_tier"] not in valid_tiers:
335
- warnings.append(f"Invalid resource_tier: {corrected['resource_tier']}")
336
-
337
- # Validate color field
338
- if "color" in corrected:
339
- color = corrected["color"]
340
- if not isinstance(color, str):
341
- errors.append(
342
- f"Field 'color' must be a string, got {type(color).__name__}"
343
- )
344
- # Color validation could be expanded to check for valid color names/hex codes
323
+ if re.match(r"^\d+\.\d+\.\d+$", version):
324
+ continue # Valid format
345
325
 
346
- # Validate author field
347
- if "author" in corrected:
348
- author = corrected["author"]
349
- if not isinstance(author, str):
350
- errors.append(
351
- f"Field 'author' must be a string, got {type(author).__name__}"
326
+ # Try to fix common version issues
327
+ if re.match(r"^\d+\.\d+$", version):
328
+ fixed_version = f"{version}.0"
329
+ corrected[field] = fixed_version
330
+ field_corrections[field] = fixed_version
331
+ corrections.append(
332
+ f"Fixed {field} from '{version}' to '{fixed_version}'"
352
333
  )
353
- elif len(author) > 100:
354
- warnings.append(
355
- f"Author field too long ({len(author)} chars, maximum 100)"
334
+ elif re.match(r"^v?\d+\.\d+\.\d+$", version):
335
+ fixed_version = version.lstrip("v")
336
+ corrected[field] = fixed_version
337
+ field_corrections[field] = fixed_version
338
+ corrections.append(
339
+ f"Fixed {field} from '{version}' to '{fixed_version}'"
356
340
  )
357
-
358
- # Validate tags field (supports both list and comma-separated string)
359
- if "tags" in corrected:
360
- tags = corrected["tags"]
361
- if isinstance(tags, str):
362
- # Convert comma-separated string to list for validation
363
- tag_list = [tag.strip() for tag in tags.split(",") if tag.strip()]
364
- elif isinstance(tags, list):
365
- tag_list = tags
366
341
  else:
367
- errors.append(
368
- f"Field 'tags' must be a list or comma-separated string, got {type(tags).__name__}"
342
+ errors.append(f"Invalid {field} format: {version}")
343
+
344
+ def _validate_description_field(
345
+ self, corrected: Dict[str, Any], errors: List[str], warnings: List[str]
346
+ ) -> None:
347
+ """Validate the description field."""
348
+ if "description" not in corrected:
349
+ return
350
+
351
+ desc = corrected["description"]
352
+ if not isinstance(desc, str):
353
+ errors.append(
354
+ f"Field 'description' must be a string, got {type(desc).__name__}"
355
+ )
356
+ elif len(desc) < 10:
357
+ warnings.append(f"Description too short ({len(desc)} chars, minimum 10)")
358
+ elif len(desc) > 200:
359
+ warnings.append(f"Description too long ({len(desc)} chars, maximum 200)")
360
+
361
+ def _validate_category_field(
362
+ self, corrected: Dict[str, Any], warnings: List[str]
363
+ ) -> None:
364
+ """Validate the category field."""
365
+ if "category" not in corrected:
366
+ return
367
+
368
+ valid_categories = [
369
+ "engineering",
370
+ "research",
371
+ "quality",
372
+ "operations",
373
+ "specialized",
374
+ ]
375
+ if corrected["category"] not in valid_categories:
376
+ warnings.append(f"Invalid category: {corrected['category']}")
377
+
378
+ def _validate_resource_tier_field(
379
+ self, corrected: Dict[str, Any], warnings: List[str]
380
+ ) -> None:
381
+ """Validate the resource_tier field."""
382
+ if "resource_tier" not in corrected:
383
+ return
384
+
385
+ valid_tiers = ["basic", "standard", "intensive", "lightweight"]
386
+ if corrected["resource_tier"] not in valid_tiers:
387
+ warnings.append(f"Invalid resource_tier: {corrected['resource_tier']}")
388
+
389
+ def _validate_color_field(
390
+ self, corrected: Dict[str, Any], errors: List[str]
391
+ ) -> None:
392
+ """Validate the color field."""
393
+ if "color" not in corrected:
394
+ return
395
+
396
+ color = corrected["color"]
397
+ if not isinstance(color, str):
398
+ errors.append(f"Field 'color' must be a string, got {type(color).__name__}")
399
+
400
+ def _validate_author_field(
401
+ self, corrected: Dict[str, Any], errors: List[str], warnings: List[str]
402
+ ) -> None:
403
+ """Validate the author field."""
404
+ if "author" not in corrected:
405
+ return
406
+
407
+ author = corrected["author"]
408
+ if not isinstance(author, str):
409
+ errors.append(
410
+ f"Field 'author' must be a string, got {type(author).__name__}"
411
+ )
412
+ elif len(author) > 100:
413
+ warnings.append(f"Author field too long ({len(author)} chars, maximum 100)")
414
+
415
+ def _validate_tags_field(
416
+ self, corrected: Dict[str, Any], errors: List[str], warnings: List[str]
417
+ ) -> None:
418
+ """Validate the tags field."""
419
+ if "tags" not in corrected:
420
+ return
421
+
422
+ tags = corrected["tags"]
423
+ if isinstance(tags, str):
424
+ # Convert comma-separated string to list for validation
425
+ tag_list = [tag.strip() for tag in tags.split(",") if tag.strip()]
426
+ elif isinstance(tags, list):
427
+ tag_list = tags
428
+ else:
429
+ errors.append(
430
+ f"Field 'tags' must be a list or comma-separated string, got {type(tags).__name__}"
431
+ )
432
+ return
433
+
434
+ for tag in tag_list:
435
+ if not isinstance(tag, str):
436
+ errors.append(f"All tags must be strings, found {type(tag).__name__}")
437
+ elif not re.match(r"^[a-z][a-z0-9-]*$", tag):
438
+ warnings.append(
439
+ f"Tag '{tag}' doesn't match recommended pattern (lowercase, alphanumeric with hyphens)"
369
440
  )
370
- tag_list = []
371
-
372
- for tag in tag_list:
373
- if not isinstance(tag, str):
374
- errors.append(
375
- f"All tags must be strings, found {type(tag).__name__}"
376
- )
377
- elif not re.match(r"^[a-z][a-z0-9-]*$", tag):
378
- warnings.append(
379
- f"Tag '{tag}' doesn't match recommended pattern (lowercase, alphanumeric with hyphens)"
380
- )
381
-
382
- # Validate numeric fields
441
+
442
+ def _validate_numeric_fields(
443
+ self, corrected: Dict[str, Any], errors: List[str], warnings: List[str]
444
+ ) -> None:
445
+ """Validate numeric fields (max_tokens, temperature)."""
383
446
  for field_name, (min_val, max_val) in [
384
447
  ("max_tokens", (1000, 200000)),
385
448
  ("temperature", (0, 1)),
386
449
  ]:
387
- if field_name in corrected:
388
- value = corrected[field_name]
389
- if field_name == "temperature" and not isinstance(value, (int, float)):
390
- errors.append(
391
- f"Field '{field_name}' must be a number, got {type(value).__name__}"
392
- )
393
- elif field_name == "max_tokens" and not isinstance(value, int):
394
- errors.append(
395
- f"Field '{field_name}' must be an integer, got {type(value).__name__}"
396
- )
397
- elif isinstance(value, (int, float)) and not (
398
- min_val <= value <= max_val
399
- ):
400
- warnings.append(
401
- f"Field '{field_name}' value {value} outside recommended range [{min_val}, {max_val}]"
402
- )
450
+ if field_name not in corrected:
451
+ continue
403
452
 
404
- # Determine if valid
405
- is_valid = len(errors) == 0
406
-
407
- return ValidationResult(
408
- is_valid=is_valid,
409
- errors=errors,
410
- warnings=warnings,
411
- corrections=corrections,
412
- corrected_frontmatter=corrected if corrections else None,
413
- field_corrections=field_corrections if field_corrections else None,
414
- )
453
+ value = corrected[field_name]
454
+ if field_name == "temperature" and not isinstance(value, (int, float)):
455
+ errors.append(
456
+ f"Field '{field_name}' must be a number, got {type(value).__name__}"
457
+ )
458
+ elif field_name == "max_tokens" and not isinstance(value, int):
459
+ errors.append(
460
+ f"Field '{field_name}' must be an integer, got {type(value).__name__}"
461
+ )
462
+ elif isinstance(value, (int, float)) and not (min_val <= value <= max_val):
463
+ warnings.append(
464
+ f"Field '{field_name}' value {value} outside recommended range [{min_val}, {max_val}]"
465
+ )
415
466
 
416
467
  def _normalize_model(self, model: str) -> str:
417
468
  """
418
- Normalize model name to standard tier (opus, sonnet, haiku).
469
+ Normalize model name to standard tier using ModelTier enum.
419
470
 
420
471
  Args:
421
472
  model: Original model name
@@ -423,27 +474,7 @@ class FrontmatterValidator:
423
474
  Returns:
424
475
  Normalized model tier name
425
476
  """
426
- # Direct mapping check
427
- if model in self.MODEL_MAPPINGS:
428
- return self.MODEL_MAPPINGS[model]
429
-
430
- # Already normalized
431
- if model in self.VALID_MODELS:
432
- return model
433
-
434
- # Try case-insensitive match
435
- model_lower = model.lower()
436
- if model_lower in self.VALID_MODELS:
437
- return model_lower
438
-
439
- # Check if model contains tier name
440
- for tier in self.VALID_MODELS:
441
- if tier in model_lower:
442
- return tier
443
-
444
- # Default to sonnet if unrecognized
445
- logger.warning(f"Unrecognized model '{model}', defaulting to 'sonnet'")
446
- return "sonnet"
477
+ return ModelTier.normalize(model).value
447
478
 
448
479
  def _correct_tools(self, tools: Any) -> Tuple[List[str], List[str]]:
449
480
  """