claude-mpm 3.9.11__py3-none-any.whl → 4.0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/__init__.py +2 -2
  3. claude_mpm/__main__.py +3 -2
  4. claude_mpm/agents/__init__.py +85 -79
  5. claude_mpm/agents/agent_loader.py +464 -1003
  6. claude_mpm/agents/agent_loader_integration.py +45 -45
  7. claude_mpm/agents/agents_metadata.py +29 -30
  8. claude_mpm/agents/async_agent_loader.py +156 -138
  9. claude_mpm/agents/base_agent.json +1 -1
  10. claude_mpm/agents/base_agent_loader.py +179 -151
  11. claude_mpm/agents/frontmatter_validator.py +229 -130
  12. claude_mpm/agents/schema/agent_schema.json +1 -1
  13. claude_mpm/agents/system_agent_config.py +213 -147
  14. claude_mpm/agents/templates/__init__.py +13 -13
  15. claude_mpm/agents/templates/code_analyzer.json +2 -2
  16. claude_mpm/agents/templates/data_engineer.json +1 -1
  17. claude_mpm/agents/templates/documentation.json +23 -11
  18. claude_mpm/agents/templates/engineer.json +22 -6
  19. claude_mpm/agents/templates/memory_manager.json +1 -1
  20. claude_mpm/agents/templates/ops.json +2 -2
  21. claude_mpm/agents/templates/project_organizer.json +1 -1
  22. claude_mpm/agents/templates/qa.json +1 -1
  23. claude_mpm/agents/templates/refactoring_engineer.json +222 -0
  24. claude_mpm/agents/templates/research.json +20 -14
  25. claude_mpm/agents/templates/security.json +1 -1
  26. claude_mpm/agents/templates/ticketing.json +2 -2
  27. claude_mpm/agents/templates/version_control.json +1 -1
  28. claude_mpm/agents/templates/web_qa.json +3 -1
  29. claude_mpm/agents/templates/web_ui.json +2 -2
  30. claude_mpm/cli/__init__.py +79 -51
  31. claude_mpm/cli/__main__.py +3 -2
  32. claude_mpm/cli/commands/__init__.py +20 -20
  33. claude_mpm/cli/commands/agents.py +279 -247
  34. claude_mpm/cli/commands/aggregate.py +138 -157
  35. claude_mpm/cli/commands/cleanup.py +147 -147
  36. claude_mpm/cli/commands/config.py +93 -76
  37. claude_mpm/cli/commands/info.py +17 -16
  38. claude_mpm/cli/commands/mcp.py +140 -905
  39. claude_mpm/cli/commands/mcp_command_router.py +139 -0
  40. claude_mpm/cli/commands/mcp_config_commands.py +20 -0
  41. claude_mpm/cli/commands/mcp_install_commands.py +20 -0
  42. claude_mpm/cli/commands/mcp_server_commands.py +175 -0
  43. claude_mpm/cli/commands/mcp_tool_commands.py +34 -0
  44. claude_mpm/cli/commands/memory.py +239 -203
  45. claude_mpm/cli/commands/monitor.py +330 -86
  46. claude_mpm/cli/commands/run.py +380 -429
  47. claude_mpm/cli/commands/run_config_checker.py +160 -0
  48. claude_mpm/cli/commands/socketio_monitor.py +235 -0
  49. claude_mpm/cli/commands/tickets.py +363 -220
  50. claude_mpm/cli/parser.py +24 -1156
  51. claude_mpm/cli/parsers/__init__.py +29 -0
  52. claude_mpm/cli/parsers/agents_parser.py +136 -0
  53. claude_mpm/cli/parsers/base_parser.py +331 -0
  54. claude_mpm/cli/parsers/config_parser.py +85 -0
  55. claude_mpm/cli/parsers/mcp_parser.py +152 -0
  56. claude_mpm/cli/parsers/memory_parser.py +138 -0
  57. claude_mpm/cli/parsers/monitor_parser.py +124 -0
  58. claude_mpm/cli/parsers/run_parser.py +147 -0
  59. claude_mpm/cli/parsers/tickets_parser.py +203 -0
  60. claude_mpm/cli/ticket_cli.py +7 -3
  61. claude_mpm/cli/utils.py +55 -37
  62. claude_mpm/cli_module/__init__.py +6 -6
  63. claude_mpm/cli_module/args.py +188 -140
  64. claude_mpm/cli_module/commands.py +79 -70
  65. claude_mpm/cli_module/migration_example.py +38 -60
  66. claude_mpm/config/__init__.py +32 -25
  67. claude_mpm/config/agent_config.py +151 -119
  68. claude_mpm/config/experimental_features.py +71 -73
  69. claude_mpm/config/paths.py +94 -208
  70. claude_mpm/config/socketio_config.py +84 -73
  71. claude_mpm/constants.py +35 -18
  72. claude_mpm/core/__init__.py +9 -6
  73. claude_mpm/core/agent_name_normalizer.py +68 -71
  74. claude_mpm/core/agent_registry.py +372 -521
  75. claude_mpm/core/agent_session_manager.py +74 -63
  76. claude_mpm/core/base_service.py +116 -87
  77. claude_mpm/core/cache.py +119 -153
  78. claude_mpm/core/claude_runner.py +425 -1120
  79. claude_mpm/core/config.py +263 -168
  80. claude_mpm/core/config_aliases.py +69 -61
  81. claude_mpm/core/config_constants.py +292 -0
  82. claude_mpm/core/constants.py +57 -99
  83. claude_mpm/core/container.py +211 -178
  84. claude_mpm/core/exceptions.py +233 -89
  85. claude_mpm/core/factories.py +92 -54
  86. claude_mpm/core/framework_loader.py +378 -220
  87. claude_mpm/core/hook_manager.py +198 -83
  88. claude_mpm/core/hook_performance_config.py +136 -0
  89. claude_mpm/core/injectable_service.py +61 -55
  90. claude_mpm/core/interactive_session.py +165 -155
  91. claude_mpm/core/interfaces.py +221 -195
  92. claude_mpm/core/lazy.py +96 -96
  93. claude_mpm/core/logger.py +133 -107
  94. claude_mpm/core/logging_config.py +185 -157
  95. claude_mpm/core/minimal_framework_loader.py +20 -15
  96. claude_mpm/core/mixins.py +30 -29
  97. claude_mpm/core/oneshot_session.py +215 -181
  98. claude_mpm/core/optimized_agent_loader.py +134 -138
  99. claude_mpm/core/optimized_startup.py +159 -157
  100. claude_mpm/core/pm_hook_interceptor.py +85 -72
  101. claude_mpm/core/service_registry.py +103 -101
  102. claude_mpm/core/session_manager.py +97 -87
  103. claude_mpm/core/socketio_pool.py +212 -158
  104. claude_mpm/core/tool_access_control.py +58 -51
  105. claude_mpm/core/types.py +46 -24
  106. claude_mpm/core/typing_utils.py +166 -82
  107. claude_mpm/core/unified_agent_registry.py +721 -0
  108. claude_mpm/core/unified_config.py +550 -0
  109. claude_mpm/core/unified_paths.py +549 -0
  110. claude_mpm/dashboard/index.html +1 -1
  111. claude_mpm/dashboard/open_dashboard.py +51 -17
  112. claude_mpm/dashboard/static/built/components/agent-inference.js +2 -0
  113. claude_mpm/dashboard/static/built/components/event-processor.js +2 -0
  114. claude_mpm/dashboard/static/built/components/event-viewer.js +2 -0
  115. claude_mpm/dashboard/static/built/components/export-manager.js +2 -0
  116. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +2 -0
  117. claude_mpm/dashboard/static/built/components/hud-library-loader.js +2 -0
  118. claude_mpm/dashboard/static/built/components/hud-manager.js +2 -0
  119. claude_mpm/dashboard/static/built/components/hud-visualizer.js +2 -0
  120. claude_mpm/dashboard/static/built/components/module-viewer.js +2 -0
  121. claude_mpm/dashboard/static/built/components/session-manager.js +2 -0
  122. claude_mpm/dashboard/static/built/components/socket-manager.js +2 -0
  123. claude_mpm/dashboard/static/built/components/ui-state-manager.js +2 -0
  124. claude_mpm/dashboard/static/built/components/working-directory.js +2 -0
  125. claude_mpm/dashboard/static/built/dashboard.js +2 -0
  126. claude_mpm/dashboard/static/built/socket-client.js +2 -0
  127. claude_mpm/dashboard/static/css/dashboard.css +27 -8
  128. claude_mpm/dashboard/static/dist/components/agent-inference.js +2 -0
  129. claude_mpm/dashboard/static/dist/components/event-processor.js +2 -0
  130. claude_mpm/dashboard/static/dist/components/event-viewer.js +2 -0
  131. claude_mpm/dashboard/static/dist/components/export-manager.js +2 -0
  132. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +2 -0
  133. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +2 -0
  134. claude_mpm/dashboard/static/dist/components/hud-manager.js +2 -0
  135. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +2 -0
  136. claude_mpm/dashboard/static/dist/components/module-viewer.js +2 -0
  137. claude_mpm/dashboard/static/dist/components/session-manager.js +2 -0
  138. claude_mpm/dashboard/static/dist/components/socket-manager.js +2 -0
  139. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +2 -0
  140. claude_mpm/dashboard/static/dist/components/working-directory.js +2 -0
  141. claude_mpm/dashboard/static/dist/dashboard.js +2 -0
  142. claude_mpm/dashboard/static/dist/socket-client.js +2 -0
  143. claude_mpm/dashboard/static/js/components/agent-inference.js +80 -76
  144. claude_mpm/dashboard/static/js/components/event-processor.js +71 -67
  145. claude_mpm/dashboard/static/js/components/event-viewer.js +93 -72
  146. claude_mpm/dashboard/static/js/components/export-manager.js +31 -28
  147. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +110 -96
  148. claude_mpm/dashboard/static/js/components/hud-library-loader.js +11 -11
  149. claude_mpm/dashboard/static/js/components/hud-manager.js +73 -73
  150. claude_mpm/dashboard/static/js/components/hud-visualizer.js +163 -163
  151. claude_mpm/dashboard/static/js/components/module-viewer.js +305 -233
  152. claude_mpm/dashboard/static/js/components/session-manager.js +32 -29
  153. claude_mpm/dashboard/static/js/components/socket-manager.js +27 -20
  154. claude_mpm/dashboard/static/js/components/ui-state-manager.js +21 -18
  155. claude_mpm/dashboard/static/js/components/working-directory.js +74 -71
  156. claude_mpm/dashboard/static/js/dashboard.js +178 -453
  157. claude_mpm/dashboard/static/js/extension-error-handler.js +164 -0
  158. claude_mpm/dashboard/static/js/socket-client.js +133 -53
  159. claude_mpm/dashboard/templates/index.html +40 -50
  160. claude_mpm/experimental/cli_enhancements.py +60 -58
  161. claude_mpm/generators/__init__.py +1 -1
  162. claude_mpm/generators/agent_profile_generator.py +75 -65
  163. claude_mpm/hooks/__init__.py +1 -1
  164. claude_mpm/hooks/base_hook.py +33 -28
  165. claude_mpm/hooks/claude_hooks/__init__.py +1 -1
  166. claude_mpm/hooks/claude_hooks/connection_pool.py +120 -0
  167. claude_mpm/hooks/claude_hooks/event_handlers.py +743 -0
  168. claude_mpm/hooks/claude_hooks/hook_handler.py +415 -1331
  169. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +4 -4
  170. claude_mpm/hooks/claude_hooks/memory_integration.py +221 -0
  171. claude_mpm/hooks/claude_hooks/response_tracking.py +348 -0
  172. claude_mpm/hooks/claude_hooks/tool_analysis.py +230 -0
  173. claude_mpm/hooks/memory_integration_hook.py +140 -100
  174. claude_mpm/hooks/tool_call_interceptor.py +89 -76
  175. claude_mpm/hooks/validation_hooks.py +57 -49
  176. claude_mpm/init.py +145 -121
  177. claude_mpm/models/__init__.py +9 -9
  178. claude_mpm/models/agent_definition.py +33 -23
  179. claude_mpm/models/agent_session.py +228 -200
  180. claude_mpm/scripts/__init__.py +1 -1
  181. claude_mpm/scripts/socketio_daemon.py +192 -75
  182. claude_mpm/scripts/socketio_server_manager.py +328 -0
  183. claude_mpm/scripts/start_activity_logging.py +25 -22
  184. claude_mpm/services/__init__.py +68 -43
  185. claude_mpm/services/agent_capabilities_service.py +271 -0
  186. claude_mpm/services/agents/__init__.py +23 -32
  187. claude_mpm/services/agents/deployment/__init__.py +3 -3
  188. claude_mpm/services/agents/deployment/agent_config_provider.py +310 -0
  189. claude_mpm/services/agents/deployment/agent_configuration_manager.py +359 -0
  190. claude_mpm/services/agents/deployment/agent_definition_factory.py +84 -0
  191. claude_mpm/services/agents/deployment/agent_deployment.py +415 -2113
  192. claude_mpm/services/agents/deployment/agent_discovery_service.py +387 -0
  193. claude_mpm/services/agents/deployment/agent_environment_manager.py +293 -0
  194. claude_mpm/services/agents/deployment/agent_filesystem_manager.py +387 -0
  195. claude_mpm/services/agents/deployment/agent_format_converter.py +453 -0
  196. claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +161 -0
  197. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +345 -495
  198. claude_mpm/services/agents/deployment/agent_metrics_collector.py +279 -0
  199. claude_mpm/services/agents/deployment/agent_restore_handler.py +88 -0
  200. claude_mpm/services/agents/deployment/agent_template_builder.py +406 -0
  201. claude_mpm/services/agents/deployment/agent_validator.py +352 -0
  202. claude_mpm/services/agents/deployment/agent_version_manager.py +313 -0
  203. claude_mpm/services/agents/deployment/agent_versioning.py +6 -9
  204. claude_mpm/services/agents/deployment/agents_directory_resolver.py +79 -0
  205. claude_mpm/services/agents/deployment/async_agent_deployment.py +298 -234
  206. claude_mpm/services/agents/deployment/config/__init__.py +13 -0
  207. claude_mpm/services/agents/deployment/config/deployment_config.py +182 -0
  208. claude_mpm/services/agents/deployment/config/deployment_config_manager.py +200 -0
  209. claude_mpm/services/agents/deployment/deployment_config_loader.py +54 -0
  210. claude_mpm/services/agents/deployment/deployment_type_detector.py +124 -0
  211. claude_mpm/services/agents/deployment/facade/__init__.py +18 -0
  212. claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +159 -0
  213. claude_mpm/services/agents/deployment/facade/deployment_executor.py +73 -0
  214. claude_mpm/services/agents/deployment/facade/deployment_facade.py +270 -0
  215. claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +178 -0
  216. claude_mpm/services/agents/deployment/interface_adapter.py +227 -0
  217. claude_mpm/services/agents/deployment/lifecycle_health_checker.py +85 -0
  218. claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +100 -0
  219. claude_mpm/services/agents/deployment/pipeline/__init__.py +32 -0
  220. claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +158 -0
  221. claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +159 -0
  222. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +169 -0
  223. claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +19 -0
  224. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +195 -0
  225. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +119 -0
  226. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +79 -0
  227. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +90 -0
  228. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +100 -0
  229. claude_mpm/services/agents/deployment/processors/__init__.py +15 -0
  230. claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +98 -0
  231. claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +235 -0
  232. claude_mpm/services/agents/deployment/processors/agent_processor.py +258 -0
  233. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +318 -0
  234. claude_mpm/services/agents/deployment/results/__init__.py +13 -0
  235. claude_mpm/services/agents/deployment/results/deployment_metrics.py +200 -0
  236. claude_mpm/services/agents/deployment/results/deployment_result_builder.py +249 -0
  237. claude_mpm/services/agents/deployment/strategies/__init__.py +25 -0
  238. claude_mpm/services/agents/deployment/strategies/base_strategy.py +119 -0
  239. claude_mpm/services/agents/deployment/strategies/project_strategy.py +150 -0
  240. claude_mpm/services/agents/deployment/strategies/strategy_selector.py +117 -0
  241. claude_mpm/services/agents/deployment/strategies/system_strategy.py +116 -0
  242. claude_mpm/services/agents/deployment/strategies/user_strategy.py +137 -0
  243. claude_mpm/services/agents/deployment/system_instructions_deployer.py +108 -0
  244. claude_mpm/services/agents/deployment/validation/__init__.py +19 -0
  245. claude_mpm/services/agents/deployment/validation/agent_validator.py +323 -0
  246. claude_mpm/services/agents/deployment/validation/deployment_validator.py +238 -0
  247. claude_mpm/services/agents/deployment/validation/template_validator.py +299 -0
  248. claude_mpm/services/agents/deployment/validation/validation_result.py +226 -0
  249. claude_mpm/services/agents/loading/__init__.py +2 -2
  250. claude_mpm/services/agents/loading/agent_profile_loader.py +259 -229
  251. claude_mpm/services/agents/loading/base_agent_manager.py +90 -81
  252. claude_mpm/services/agents/loading/framework_agent_loader.py +154 -129
  253. claude_mpm/services/agents/management/__init__.py +2 -2
  254. claude_mpm/services/agents/management/agent_capabilities_generator.py +72 -58
  255. claude_mpm/services/agents/management/agent_management_service.py +209 -156
  256. claude_mpm/services/agents/memory/__init__.py +9 -6
  257. claude_mpm/services/agents/memory/agent_memory_manager.py +218 -1152
  258. claude_mpm/services/agents/memory/agent_persistence_service.py +20 -16
  259. claude_mpm/services/agents/memory/analyzer.py +430 -0
  260. claude_mpm/services/agents/memory/content_manager.py +376 -0
  261. claude_mpm/services/agents/memory/template_generator.py +468 -0
  262. claude_mpm/services/agents/registry/__init__.py +7 -10
  263. claude_mpm/services/agents/registry/deployed_agent_discovery.py +122 -97
  264. claude_mpm/services/agents/registry/modification_tracker.py +351 -285
  265. claude_mpm/services/async_session_logger.py +187 -153
  266. claude_mpm/services/claude_session_logger.py +87 -72
  267. claude_mpm/services/command_handler_service.py +217 -0
  268. claude_mpm/services/communication/__init__.py +3 -2
  269. claude_mpm/services/core/__init__.py +50 -97
  270. claude_mpm/services/core/base.py +60 -53
  271. claude_mpm/services/core/interfaces/__init__.py +188 -0
  272. claude_mpm/services/core/interfaces/agent.py +351 -0
  273. claude_mpm/services/core/interfaces/communication.py +343 -0
  274. claude_mpm/services/core/interfaces/infrastructure.py +413 -0
  275. claude_mpm/services/core/interfaces/service.py +434 -0
  276. claude_mpm/services/core/interfaces.py +19 -944
  277. claude_mpm/services/event_aggregator.py +208 -170
  278. claude_mpm/services/exceptions.py +387 -308
  279. claude_mpm/services/framework_claude_md_generator/__init__.py +75 -79
  280. claude_mpm/services/framework_claude_md_generator/content_assembler.py +69 -60
  281. claude_mpm/services/framework_claude_md_generator/content_validator.py +65 -61
  282. claude_mpm/services/framework_claude_md_generator/deployment_manager.py +68 -49
  283. claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +34 -34
  284. claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +25 -22
  285. claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +10 -10
  286. claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +4 -3
  287. claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +4 -3
  288. claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +4 -3
  289. claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +6 -5
  290. claude_mpm/services/framework_claude_md_generator/section_generators/header.py +8 -7
  291. claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +4 -3
  292. claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +6 -5
  293. claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +9 -8
  294. claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +4 -3
  295. claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +5 -4
  296. claude_mpm/services/framework_claude_md_generator/section_manager.py +28 -27
  297. claude_mpm/services/framework_claude_md_generator/version_manager.py +30 -28
  298. claude_mpm/services/hook_service.py +106 -114
  299. claude_mpm/services/infrastructure/__init__.py +7 -5
  300. claude_mpm/services/infrastructure/context_preservation.py +233 -199
  301. claude_mpm/services/infrastructure/daemon_manager.py +279 -0
  302. claude_mpm/services/infrastructure/logging.py +83 -76
  303. claude_mpm/services/infrastructure/monitoring.py +547 -404
  304. claude_mpm/services/mcp_gateway/__init__.py +30 -13
  305. claude_mpm/services/mcp_gateway/config/__init__.py +2 -2
  306. claude_mpm/services/mcp_gateway/config/config_loader.py +61 -56
  307. claude_mpm/services/mcp_gateway/config/config_schema.py +50 -41
  308. claude_mpm/services/mcp_gateway/config/configuration.py +82 -75
  309. claude_mpm/services/mcp_gateway/core/__init__.py +13 -20
  310. claude_mpm/services/mcp_gateway/core/base.py +80 -67
  311. claude_mpm/services/mcp_gateway/core/exceptions.py +60 -46
  312. claude_mpm/services/mcp_gateway/core/interfaces.py +87 -84
  313. claude_mpm/services/mcp_gateway/main.py +287 -137
  314. claude_mpm/services/mcp_gateway/registry/__init__.py +1 -1
  315. claude_mpm/services/mcp_gateway/registry/service_registry.py +97 -94
  316. claude_mpm/services/mcp_gateway/registry/tool_registry.py +135 -126
  317. claude_mpm/services/mcp_gateway/server/__init__.py +2 -2
  318. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +105 -110
  319. claude_mpm/services/mcp_gateway/server/stdio_handler.py +105 -107
  320. claude_mpm/services/mcp_gateway/server/stdio_server.py +691 -0
  321. claude_mpm/services/mcp_gateway/tools/__init__.py +4 -2
  322. claude_mpm/services/mcp_gateway/tools/base_adapter.py +109 -119
  323. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +283 -215
  324. claude_mpm/services/mcp_gateway/tools/hello_world.py +122 -120
  325. claude_mpm/services/mcp_gateway/tools/ticket_tools.py +652 -0
  326. claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +606 -0
  327. claude_mpm/services/memory/__init__.py +2 -2
  328. claude_mpm/services/memory/builder.py +451 -362
  329. claude_mpm/services/memory/cache/__init__.py +2 -2
  330. claude_mpm/services/memory/cache/shared_prompt_cache.py +232 -194
  331. claude_mpm/services/memory/cache/simple_cache.py +107 -93
  332. claude_mpm/services/memory/indexed_memory.py +195 -193
  333. claude_mpm/services/memory/optimizer.py +267 -234
  334. claude_mpm/services/memory/router.py +571 -263
  335. claude_mpm/services/memory_hook_service.py +237 -0
  336. claude_mpm/services/port_manager.py +575 -0
  337. claude_mpm/services/project/__init__.py +3 -3
  338. claude_mpm/services/project/analyzer.py +451 -305
  339. claude_mpm/services/project/registry.py +262 -240
  340. claude_mpm/services/recovery_manager.py +287 -231
  341. claude_mpm/services/response_tracker.py +87 -67
  342. claude_mpm/services/runner_configuration_service.py +587 -0
  343. claude_mpm/services/session_management_service.py +304 -0
  344. claude_mpm/services/socketio/__init__.py +4 -4
  345. claude_mpm/services/socketio/client_proxy.py +174 -0
  346. claude_mpm/services/socketio/handlers/__init__.py +3 -3
  347. claude_mpm/services/socketio/handlers/base.py +44 -30
  348. claude_mpm/services/socketio/handlers/connection.py +166 -64
  349. claude_mpm/services/socketio/handlers/file.py +123 -108
  350. claude_mpm/services/socketio/handlers/git.py +607 -373
  351. claude_mpm/services/socketio/handlers/hook.py +185 -0
  352. claude_mpm/services/socketio/handlers/memory.py +4 -4
  353. claude_mpm/services/socketio/handlers/project.py +4 -4
  354. claude_mpm/services/socketio/handlers/registry.py +53 -38
  355. claude_mpm/services/socketio/server/__init__.py +18 -0
  356. claude_mpm/services/socketio/server/broadcaster.py +252 -0
  357. claude_mpm/services/socketio/server/core.py +399 -0
  358. claude_mpm/services/socketio/server/main.py +323 -0
  359. claude_mpm/services/socketio_client_manager.py +160 -133
  360. claude_mpm/services/socketio_server.py +36 -1885
  361. claude_mpm/services/subprocess_launcher_service.py +316 -0
  362. claude_mpm/services/system_instructions_service.py +258 -0
  363. claude_mpm/services/ticket_manager.py +19 -533
  364. claude_mpm/services/utility_service.py +285 -0
  365. claude_mpm/services/version_control/__init__.py +18 -21
  366. claude_mpm/services/version_control/branch_strategy.py +20 -10
  367. claude_mpm/services/version_control/conflict_resolution.py +37 -13
  368. claude_mpm/services/version_control/git_operations.py +52 -21
  369. claude_mpm/services/version_control/semantic_versioning.py +92 -53
  370. claude_mpm/services/version_control/version_parser.py +145 -125
  371. claude_mpm/services/version_service.py +270 -0
  372. claude_mpm/storage/__init__.py +2 -2
  373. claude_mpm/storage/state_storage.py +177 -181
  374. claude_mpm/ticket_wrapper.py +2 -2
  375. claude_mpm/utils/__init__.py +2 -2
  376. claude_mpm/utils/agent_dependency_loader.py +453 -243
  377. claude_mpm/utils/config_manager.py +157 -118
  378. claude_mpm/utils/console.py +1 -1
  379. claude_mpm/utils/dependency_cache.py +102 -107
  380. claude_mpm/utils/dependency_manager.py +52 -47
  381. claude_mpm/utils/dependency_strategies.py +131 -96
  382. claude_mpm/utils/environment_context.py +110 -102
  383. claude_mpm/utils/error_handler.py +75 -55
  384. claude_mpm/utils/file_utils.py +80 -67
  385. claude_mpm/utils/framework_detection.py +12 -11
  386. claude_mpm/utils/import_migration_example.py +12 -60
  387. claude_mpm/utils/imports.py +48 -45
  388. claude_mpm/utils/path_operations.py +100 -93
  389. claude_mpm/utils/robust_installer.py +172 -164
  390. claude_mpm/utils/session_logging.py +30 -23
  391. claude_mpm/utils/subprocess_utils.py +99 -61
  392. claude_mpm/validation/__init__.py +1 -1
  393. claude_mpm/validation/agent_validator.py +151 -111
  394. claude_mpm/validation/frontmatter_validator.py +92 -71
  395. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/METADATA +90 -22
  396. claude_mpm-4.0.4.dist-info/RECORD +417 -0
  397. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/entry_points.txt +1 -0
  398. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/licenses/LICENSE +1 -1
  399. claude_mpm/cli/commands/run_guarded.py +0 -511
  400. claude_mpm/config/memory_guardian_config.py +0 -325
  401. claude_mpm/config/memory_guardian_yaml.py +0 -335
  402. claude_mpm/core/config_paths.py +0 -150
  403. claude_mpm/core/memory_aware_runner.py +0 -353
  404. claude_mpm/dashboard/static/js/dashboard-original.js +0 -4134
  405. claude_mpm/deployment_paths.py +0 -261
  406. claude_mpm/hooks/claude_hooks/hook_handler_fixed.py +0 -454
  407. claude_mpm/models/state_models.py +0 -433
  408. claude_mpm/services/agent/__init__.py +0 -24
  409. claude_mpm/services/agent/deployment.py +0 -2548
  410. claude_mpm/services/agent/management.py +0 -598
  411. claude_mpm/services/agent/registry.py +0 -813
  412. claude_mpm/services/agents/registry/agent_registry.py +0 -813
  413. claude_mpm/services/communication/socketio.py +0 -1935
  414. claude_mpm/services/communication/websocket.py +0 -479
  415. claude_mpm/services/framework_claude_md_generator.py +0 -624
  416. claude_mpm/services/health_monitor.py +0 -893
  417. claude_mpm/services/infrastructure/graceful_degradation.py +0 -616
  418. claude_mpm/services/infrastructure/health_monitor.py +0 -775
  419. claude_mpm/services/infrastructure/memory_dashboard.py +0 -479
  420. claude_mpm/services/infrastructure/memory_guardian.py +0 -944
  421. claude_mpm/services/infrastructure/restart_protection.py +0 -642
  422. claude_mpm/services/infrastructure/state_manager.py +0 -774
  423. claude_mpm/services/mcp_gateway/manager.py +0 -334
  424. claude_mpm/services/optimized_hook_service.py +0 -542
  425. claude_mpm/services/project_analyzer.py +0 -864
  426. claude_mpm/services/project_registry.py +0 -608
  427. claude_mpm/services/standalone_socketio_server.py +0 -1300
  428. claude_mpm/services/ticket_manager_di.py +0 -318
  429. claude_mpm/services/ticketing_service_original.py +0 -510
  430. claude_mpm/utils/paths.py +0 -395
  431. claude_mpm/utils/platform_memory.py +0 -524
  432. claude_mpm-3.9.11.dist-info/RECORD +0 -306
  433. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/WHEEL +0 -0
  434. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/top_level.txt +0 -0
@@ -8,55 +8,52 @@ Provides backward compatibility while enabling advanced features.
8
8
  """
9
9
 
10
10
  import logging
11
- from typing import Optional, Dict, Any
11
+ from typing import Any, Dict, Optional
12
12
 
13
- from .agent_loader import (
14
- load_agent_prompt_from_md,
15
- get_agent_prompt
16
- )
17
- from ..services import AgentManager
18
13
  from ..models.agent_definition import AgentDefinition
14
+ from ..services import AgentManager
15
+ from .agent_loader import get_agent_prompt, load_agent_prompt_from_md
19
16
 
20
17
  logger = logging.getLogger(__name__)
21
18
 
22
19
 
23
20
  class EnhancedAgentLoader:
24
21
  """Enhanced agent loader with management capabilities."""
25
-
22
+
26
23
  def __init__(self):
27
24
  """Initialize enhanced loader."""
28
25
  self.manager = AgentManager()
29
-
26
+
30
27
  def get_agent_definition(self, agent_name: str) -> Optional[AgentDefinition]:
31
28
  """
32
29
  Get full agent definition with structured data.
33
-
30
+
34
31
  Args:
35
32
  agent_name: Agent name (e.g., 'documentation', 'ticketing')
36
-
33
+
37
34
  Returns:
38
35
  AgentDefinition or None
39
36
  """
40
37
  # Map from old naming to new naming if needed
41
38
  # Since AGENT_MAPPINGS no longer exists, use direct naming
42
39
  agent_file_name = agent_name
43
-
40
+
44
41
  return self.manager.read_agent(agent_file_name)
45
-
42
+
46
43
  def get_agent_metadata(self, agent_name: str) -> Optional[Dict[str, Any]]:
47
44
  """
48
45
  Get agent metadata only.
49
-
46
+
50
47
  Args:
51
48
  agent_name: Agent name
52
-
49
+
53
50
  Returns:
54
51
  Metadata dict or None
55
52
  """
56
53
  agent_def = self.get_agent_definition(agent_name)
57
54
  if not agent_def:
58
55
  return None
59
-
56
+
60
57
  return {
61
58
  "name": agent_def.name,
62
59
  "title": agent_def.title,
@@ -64,80 +61,83 @@ class EnhancedAgentLoader:
64
61
  "type": agent_def.metadata.type.value,
65
62
  "model_preference": agent_def.metadata.model_preference,
66
63
  "specializations": agent_def.metadata.specializations,
67
- "last_updated": agent_def.metadata.last_updated.isoformat()
68
- if agent_def.metadata.last_updated else None
64
+ "last_updated": (
65
+ agent_def.metadata.last_updated.isoformat()
66
+ if agent_def.metadata.last_updated
67
+ else None
68
+ ),
69
69
  }
70
-
70
+
71
71
  def get_agent_capabilities(self, agent_name: str) -> Optional[Dict[str, Any]]:
72
72
  """
73
73
  Get agent capabilities and permissions.
74
-
74
+
75
75
  Args:
76
76
  agent_name: Agent name
77
-
77
+
78
78
  Returns:
79
79
  Capabilities dict or None
80
80
  """
81
81
  agent_def = self.get_agent_definition(agent_name)
82
82
  if not agent_def:
83
83
  return None
84
-
84
+
85
85
  return {
86
86
  "capabilities": agent_def.capabilities,
87
87
  "authority": {
88
88
  "write_access": agent_def.authority.exclusive_write_access,
89
89
  "forbidden": agent_def.authority.forbidden_operations,
90
- "read_access": agent_def.authority.read_access
90
+ "read_access": agent_def.authority.read_access,
91
91
  },
92
92
  "workflows": [w.name for w in agent_def.workflows],
93
- "tools_available": bool(agent_def.tools_commands)
93
+ "tools_available": bool(agent_def.tools_commands),
94
94
  }
95
-
95
+
96
96
  def get_agent_selection_criteria(self, agent_name: str) -> Optional[Dict[str, Any]]:
97
97
  """
98
98
  Get agent selection criteria for routing.
99
-
99
+
100
100
  Args:
101
101
  agent_name: Agent name
102
-
102
+
103
103
  Returns:
104
104
  Selection criteria dict or None
105
105
  """
106
106
  agent_def = self.get_agent_definition(agent_name)
107
107
  if not agent_def:
108
108
  return None
109
-
109
+
110
110
  return {
111
111
  "when_to_select": agent_def.when_to_use.get("select", []),
112
112
  "when_not_to_select": agent_def.when_to_use.get("do_not_select", []),
113
113
  "specializations": agent_def.metadata.specializations,
114
114
  "dependencies": agent_def.dependencies,
115
- "escalation_triggers": agent_def.escalation_triggers
115
+ "escalation_triggers": agent_def.escalation_triggers,
116
116
  }
117
-
117
+
118
118
  def update_agent_version(self, agent_name: str) -> bool:
119
119
  """
120
120
  Increment agent version (serial).
121
-
121
+
122
122
  Args:
123
123
  agent_name: Agent name
124
-
124
+
125
125
  Returns:
126
126
  True if updated, False otherwise
127
127
  """
128
128
  # Map name - since AGENT_MAPPINGS no longer exists, use direct naming
129
129
  agent_file_name = agent_name
130
-
130
+
131
131
  result = self.manager.update_agent(agent_file_name, {}, increment_version=True)
132
132
  return result is not None
133
-
133
+
134
134
  def refresh_agent_prompt(self, agent_name: str) -> str:
135
135
  """
136
136
  Force refresh agent prompt from file.
137
-
137
+
138
138
  Args:
139
139
  agent_name: Agent name
140
-
140
+
141
141
  Returns:
142
142
  Agent prompt with base instructions
143
143
  """
@@ -174,7 +174,7 @@ def check_agent_capability(agent_name: str, capability_keyword: str) -> bool:
174
174
  caps = get_enhanced_loader().get_agent_capabilities(agent_name)
175
175
  if not caps:
176
176
  return False
177
-
177
+
178
178
  # Check in capabilities list
179
179
  for cap in caps["capabilities"]:
180
180
  if capability_keyword.lower() in cap.lower():
@@ -185,42 +185,42 @@ def check_agent_capability(agent_name: str, capability_keyword: str) -> bool:
185
185
  def should_select_agent(agent_name: str, task_description: str) -> Dict[str, Any]:
186
186
  """
187
187
  Determine if an agent should be selected for a task.
188
-
188
+
189
189
  Args:
190
190
  agent_name: Agent name
191
191
  task_description: Task description
192
-
192
+
193
193
  Returns:
194
194
  Dict with selection recommendation and reasons
195
195
  """
196
196
  criteria = get_enhanced_loader().get_agent_selection_criteria(agent_name)
197
197
  if not criteria:
198
198
  return {"should_select": False, "reason": "Agent not found"}
199
-
199
+
200
200
  task_lower = task_description.lower()
201
-
201
+
202
202
  # Check positive matches
203
203
  positive_matches = []
204
204
  for criterion in criteria["when_to_select"]:
205
205
  # Extract keywords from criterion
206
206
  if "Keywords:" in criterion:
207
207
  keywords = criterion.split("Keywords:")[1].strip()
208
- for keyword in keywords.split(','):
208
+ for keyword in keywords.split(","):
209
209
  keyword = keyword.strip().strip('"').strip("'")
210
210
  if keyword.lower() in task_lower:
211
211
  positive_matches.append(f"Keyword match: {keyword}")
212
212
  elif any(word in task_lower for word in criterion.lower().split()):
213
213
  positive_matches.append(f"Criterion match: {criterion[:50]}...")
214
-
214
+
215
215
  # Check negative matches
216
216
  negative_matches = []
217
217
  for criterion in criteria["when_not_to_select"]:
218
218
  if any(word in task_lower for word in criterion.lower().split()[:5]):
219
219
  negative_matches.append(f"Exclusion: {criterion[:50]}...")
220
-
220
+
221
221
  return {
222
222
  "should_select": len(positive_matches) > 0 and len(negative_matches) == 0,
223
223
  "positive_matches": positive_matches,
224
224
  "negative_matches": negative_matches,
225
- "specializations": criteria["specializations"]
226
- }
225
+ "specializations": criteria["specializations"],
226
+ }
@@ -19,17 +19,16 @@ DOCUMENTATION_CONFIG = {
19
19
  "api_documentation",
20
20
  "version_documentation",
21
21
  "operational_docs",
22
- "quality_assurance"
22
+ "quality_assurance",
23
23
  ],
24
24
  "primary_interface": "documentation_management",
25
25
  "performance_targets": {
26
26
  "changelog_generation": "5m",
27
27
  "documentation_update": "24h",
28
- "coverage_target": "90%"
29
- }
28
+ "coverage_target": "90%",
29
+ },
30
30
  }
31
31
 
32
-
33
32
  # Version Control Agent Metadata
34
33
  VERSION_CONTROL_CONFIG = {
35
34
  "name": "version_control_agent",
@@ -42,15 +41,15 @@ VERSION_CONTROL_CONFIG = {
42
41
  "semantic_versioning",
43
42
  "tag_management",
44
43
  "release_coordination",
45
- "version_file_updates"
44
+ "version_file_updates",
46
45
  ],
47
46
  "primary_interface": "git_cli",
48
47
  "performance_targets": {
49
48
  "branch_creation": "5s",
50
49
  "merge_operation": "30s",
51
50
  "version_bump": "10s",
52
- "conflict_resolution": "5m"
53
- }
51
+ "conflict_resolution": "5m",
52
+ },
54
53
  }
55
54
 
56
55
  # QA Agent Metadata
@@ -65,15 +64,15 @@ QA_CONFIG = {
65
64
  "performance_testing",
66
65
  "security_testing",
67
66
  "regression_testing",
68
- "test_automation"
67
+ "test_automation",
69
68
  ],
70
69
  "primary_interface": "testing_framework",
71
70
  "performance_targets": {
72
71
  "unit_test_suite": "5m",
73
72
  "integration_tests": "15m",
74
73
  "full_test_suite": "30m",
75
- "coverage_target": "80%"
76
- }
74
+ "coverage_target": "80%",
75
+ },
77
76
  }
78
77
 
79
78
  # Research Agent Metadata
@@ -88,14 +87,14 @@ RESEARCH_CONFIG = {
88
87
  "performance_analysis",
89
88
  "security_research",
90
89
  "market_analysis",
91
- "feasibility_studies"
90
+ "feasibility_studies",
92
91
  ],
93
92
  "primary_interface": "research_tools",
94
93
  "performance_targets": {
95
94
  "quick_research": "15m",
96
95
  "deep_analysis": "2h",
97
- "comprehensive_report": "24h"
98
- }
96
+ "comprehensive_report": "24h",
97
+ },
99
98
  }
100
99
 
101
100
  # Ops Agent Metadata
@@ -110,15 +109,15 @@ OPS_CONFIG = {
110
109
  "ci_cd_pipeline",
111
110
  "containerization",
112
111
  "cloud_services",
113
- "performance_optimization"
112
+ "performance_optimization",
114
113
  ],
115
114
  "primary_interface": "deployment_tools",
116
115
  "performance_targets": {
117
116
  "deployment": "10m",
118
117
  "rollback": "5m",
119
118
  "infrastructure_update": "30m",
120
- "monitoring_setup": "1h"
121
- }
119
+ "monitoring_setup": "1h",
120
+ },
122
121
  }
123
122
 
124
123
  # Security Agent Metadata
@@ -133,15 +132,15 @@ SECURITY_CONFIG = {
133
132
  "code_security_review",
134
133
  "dependency_scanning",
135
134
  "security_patching",
136
- "compliance_checking"
135
+ "compliance_checking",
137
136
  ],
138
137
  "primary_interface": "security_tools",
139
138
  "performance_targets": {
140
139
  "quick_scan": "10m",
141
140
  "full_audit": "2h",
142
141
  "penetration_test": "4h",
143
- "dependency_scan": "30m"
144
- }
142
+ "dependency_scan": "30m",
143
+ },
145
144
  }
146
145
 
147
146
  # Engineer Agent Metadata
@@ -156,15 +155,15 @@ ENGINEER_CONFIG = {
156
155
  "code_refactoring",
157
156
  "performance_optimization",
158
157
  "api_development",
159
- "database_design"
158
+ "database_design",
160
159
  ],
161
160
  "primary_interface": "development_tools",
162
161
  "performance_targets": {
163
162
  "feature_implementation": "4h",
164
163
  "bug_fix": "1h",
165
164
  "code_review": "30m",
166
- "refactoring": "2h"
167
- }
165
+ "refactoring": "2h",
166
+ },
168
167
  }
169
168
 
170
169
  # Data Engineer Agent Metadata
@@ -180,15 +179,15 @@ DATA_ENGINEER_CONFIG = {
180
179
  "data_migration",
181
180
  "api_key_management",
182
181
  "data_analytics",
183
- "schema_design"
182
+ "schema_design",
184
183
  ],
185
184
  "primary_interface": "data_management_tools",
186
185
  "performance_targets": {
187
186
  "pipeline_setup": "2h",
188
187
  "data_migration": "4h",
189
188
  "api_integration": "1h",
190
- "schema_update": "30m"
191
- }
189
+ "schema_update": "30m",
190
+ },
192
191
  }
193
192
 
194
193
  # Project Organizer Agent Metadata
@@ -203,15 +202,15 @@ PROJECT_ORGANIZER_CONFIG = {
203
202
  "convention_enforcement",
204
203
  "batch_reorganization",
205
204
  "framework_recognition",
206
- "documentation_maintenance"
205
+ "documentation_maintenance",
207
206
  ],
208
207
  "primary_interface": "organization_tools",
209
208
  "performance_targets": {
210
209
  "structure_analysis": "2m",
211
210
  "file_placement": "10s",
212
211
  "validation_scan": "5m",
213
- "batch_reorganization": "15m"
214
- }
212
+ "batch_reorganization": "15m",
213
+ },
215
214
  }
216
215
 
217
216
  # Aggregate all configs for easy access
@@ -224,5 +223,5 @@ ALL_AGENT_CONFIGS = {
224
223
  "security": SECURITY_CONFIG,
225
224
  "engineer": ENGINEER_CONFIG,
226
225
  "data_engineer": DATA_ENGINEER_CONFIG,
227
- "project_organizer": PROJECT_ORGANIZER_CONFIG
228
- }
226
+ "project_organizer": PROJECT_ORGANIZER_CONFIG,
227
+ }