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,57 +8,50 @@ from enum import Enum
8
8
  from typing import Tuple
9
9
 
10
10
 
11
- # ==============================================================================
12
- # System Limits - Size and count limits
13
- # ==============================================================================
14
-
15
11
  class SystemLimits:
16
12
  """System-wide size and count limits."""
17
-
13
+
18
14
  # Instruction and content limits
19
15
  MAX_INSTRUCTION_LENGTH = 8000 # Maximum characters in agent instructions
20
16
  MAX_AGENT_CONFIG_SIZE = 1024 * 1024 # 1MB limit for agent config files
21
17
  MAX_FILE_SIZE = 1024 * 1024 # 1MB default file read limit
22
-
18
+
23
19
  # Memory and entry limits
24
20
  MAX_MEMORY_ENTRIES = 1000 # Maximum memory entries per agent
25
21
  MAX_EVENT_HISTORY = 1000 # Maximum events to keep in history
22
+ MAX_EVENTS_BUFFER = 1000 # Maximum events to buffer in SocketIO
26
23
  MAX_QUEUE_SIZE = 10000 # Maximum queue size for async operations
27
-
24
+
28
25
  # File and directory limits
29
26
  MAX_FILES_TO_VALIDATE = 100 # Maximum files to validate in batch (DoS prevention)
30
27
  MAX_LOG_FILES = 50 # Maximum log files to retain
31
-
28
+
32
29
  # Content generation limits
33
30
  MIN_CONTENT_LENGTH = 1000 # Minimum content length for validation
34
31
  MAX_TOKEN_LIMIT = 8192 # Default max tokens for agent responses
35
-
32
+
36
33
  # Chunk sizes
37
34
  CHUNK_SIZE = 1024 # Default chunk size for file operations
38
-
35
+
39
36
  # Line limits
40
37
  MAX_LINES = 2000 # Default maximum lines to read from files
41
38
 
42
39
 
43
- # ==============================================================================
44
- # Network Configuration - Ports, timeouts, connection settings
45
- # ==============================================================================
46
-
47
40
  class NetworkConfig:
48
41
  """Network-related configuration constants."""
49
-
42
+
50
43
  # Port ranges
51
44
  SOCKETIO_PORT_RANGE: Tuple[int, int] = (8080, 8099)
52
45
  DEFAULT_SOCKETIO_PORT = 8080
53
46
  DEFAULT_DASHBOARD_PORT = 8765
54
-
47
+
55
48
  # Connection timeouts (seconds)
56
49
  CONNECTION_TIMEOUT = 5.0
57
50
  SOCKET_WAIT_TIMEOUT = 1.0
58
51
  RECONNECTION_DELAY = 0.5
59
52
  RECONNECTION_DELAY_MAX = 5.0
60
53
  RECONNECTION_ATTEMPTS = 3
61
-
54
+
62
55
  # Ping/Pong settings
63
56
  PING_INTERVAL = 30 # seconds
64
57
  PING_TIMEOUT = 120 # seconds
@@ -66,95 +59,83 @@ class NetworkConfig:
66
59
  PING_TIMEOUT_FAST = 30 # seconds (debug mode)
67
60
  PING_INTERVAL_STANDARD = 25 # seconds (standard mode)
68
61
  PING_TIMEOUT_STANDARD = 90 # seconds (standard mode)
69
-
62
+
70
63
  # HTTP status codes
71
64
  HTTP_OK = 200
72
65
  HTTP_INTERNAL_ERROR = 500
73
-
66
+
74
67
  # Batch processing
75
68
  BATCH_INTERVAL = 0.1 # seconds between batch processing
76
69
 
77
70
 
78
- # ==============================================================================
79
- # Timeout Configuration - All timeout values
80
- # ==============================================================================
81
-
82
71
  class TimeoutConfig:
83
72
  """Timeout configuration constants."""
84
-
73
+
85
74
  # Query and operation timeouts (seconds)
86
75
  QUERY_TIMEOUT = 600 # 10 minutes for long-running queries
87
76
  DEFAULT_TIMEOUT = 600 # Default timeout for operations
88
77
  DEPLOYMENT_TIMEOUT = 120 # Timeout for deployment operations
89
78
  SUBPROCESS_TIMEOUT = 120000 # 2 minutes in milliseconds
90
79
  SUBPROCESS_WAIT = 2 # Seconds to wait for subprocess cleanup
91
-
80
+
92
81
  # Quick timeouts (seconds)
93
82
  QUICK_TIMEOUT = 2.0 # Quick operations timeout
94
83
  HEALTH_CHECK_TIMEOUT = 1.0 # Health check timeout
95
84
  FILE_OPERATION_TIMEOUT = 5.0 # File operation timeout
96
-
85
+
97
86
  # Session and thread timeouts
98
87
  SESSION_TIMEOUT = 30 # Session initialization timeout
99
88
  THREAD_JOIN_TIMEOUT = 5 # Thread join timeout
100
89
  WORKER_TIMEOUT = 60 # Worker thread timeout
101
-
90
+
102
91
  # Async operation timeouts
103
92
  QUEUE_GET_TIMEOUT = 0.1 # Queue get operation timeout
104
93
  FLUSH_TIMEOUT = 5.0 # Flush operation timeout
105
-
94
+
106
95
  # Performance monitoring intervals
107
96
  CPU_SAMPLE_INTERVAL = 0.1 # CPU sampling interval
108
97
  HEARTBEAT_INTERVAL = 100 # Heartbeat log interval (iterations)
109
-
98
+
110
99
  # Resource tier timeouts (min, max)
111
100
  INTENSIVE_TIMEOUT_RANGE = (600, 3600) # 10 min to 1 hour
112
101
  STANDARD_TIMEOUT_RANGE = (300, 1200) # 5 min to 20 min
113
102
  LIGHTWEIGHT_TIMEOUT_RANGE = (30, 600) # 30 sec to 10 min
114
103
 
115
104
 
116
- # ==============================================================================
117
- # Resource Limits - Memory, CPU, and resource constraints
118
- # ==============================================================================
119
-
120
105
  class ResourceLimits:
121
106
  """Resource limitation constants."""
122
-
107
+
123
108
  # Memory limits (MB) - (min, max) tuples
124
109
  INTENSIVE_MEMORY_RANGE = (4096, 8192) # 4GB to 8GB
125
110
  STANDARD_MEMORY_RANGE = (2048, 4096) # 2GB to 4GB
126
111
  LIGHTWEIGHT_MEMORY_RANGE = (512, 2048) # 512MB to 2GB
127
-
112
+
128
113
  # CPU limits (%) - (min, max) tuples
129
114
  INTENSIVE_CPU_RANGE = (60, 100) # 60% to 100%
130
115
  STANDARD_CPU_RANGE = (30, 60) # 30% to 60%
131
116
  LIGHTWEIGHT_CPU_RANGE = (10, 30) # 10% to 30%
132
-
117
+
133
118
  # Process limits
134
119
  MAX_PARALLEL_AGENTS = 10 # Maximum parallel subagents
135
120
  MAX_WORKERS = 4 # Maximum worker threads
136
-
121
+
137
122
  # Memory conversion
138
123
  BYTES_TO_MB = 1024 * 1024 # Conversion factor
139
124
 
140
125
 
141
- # ==============================================================================
142
- # Retry Configuration - Retry attempts and delays
143
- # ==============================================================================
144
-
145
126
  class RetryConfig:
146
127
  """Retry configuration constants."""
147
-
128
+
148
129
  # Retry attempts
149
130
  MAX_RETRIES = 3
150
131
  MAX_CONNECTION_RETRIES = 3
151
132
  MAX_INSTALL_RETRIES = 3
152
-
133
+
153
134
  # Retry delays (seconds)
154
135
  INITIAL_RETRY_DELAY = 0.1 # 100ms initial delay
155
136
  MAX_RETRY_DELAY = 5.0 # Maximum retry delay
156
137
  EXPONENTIAL_BASE = 2 # Base for exponential backoff
157
-
138
+
158
139
  # Circuit breaker
159
140
  FAILURE_THRESHOLD = 5 # Failures before circuit opens
160
141
  SUCCESS_THRESHOLD = 3 # Successes to close circuit
@@ -164,32 +145,28 @@ class RetryConfig:
164
145
  CRITICAL_THRESHOLD = 1 # Critical failures threshold
165
146
 
166
147
 
167
- # ==============================================================================
168
- # Complexity Metrics - Code quality thresholds
169
- # ==============================================================================
170
-
171
148
  class ComplexityMetrics:
172
149
  """Code complexity and quality metrics."""
173
-
150
+
174
151
  # Complexity thresholds
175
152
  HIGH_COMPLEXITY = 10 # High cyclomatic complexity
176
153
  CRITICAL_COMPLEXITY = 20 # Critical cyclomatic complexity
177
-
154
+
178
155
  # Size thresholds
179
156
  LONG_FUNCTION_LINES = 50 # Function is getting long
180
157
  CRITICAL_FUNCTION_LINES = 100 # Function too long
181
158
  LARGE_CLASS_LINES = 300 # Class needs refactoring
182
159
  CRITICAL_CLASS_LINES = 500 # Class too large
183
160
  GOD_CLASS_LINES = 500 # God object threshold
184
-
161
+
185
162
  # Coupling thresholds
186
163
  HIGH_IMPORT_COUNT = 20 # High coupling
187
164
  CRITICAL_IMPORT_COUNT = 40 # Critical coupling/fan-out
188
-
165
+
189
166
  # Duplication thresholds
190
167
  DUPLICATION_WARNING = 5 # 5% duplication needs attention
191
168
  DUPLICATION_CRITICAL = 10 # 10% duplication is critical
192
-
169
+
193
170
  # Maintainability grades
194
171
  GRADE_A_THRESHOLD = 80
195
172
  GRADE_B_THRESHOLD = 60
@@ -197,143 +174,124 @@ class ComplexityMetrics:
197
174
  GRADE_D_THRESHOLD = 20
198
175
 
199
176
 
200
- # ==============================================================================
201
- # Error Messages - Standardized error message templates
202
- # ==============================================================================
203
-
204
177
  class ErrorMessages:
205
178
  """Standardized error message templates."""
206
-
179
+
207
180
  # Validation errors
208
- INSTRUCTION_TOO_LONG = "Instructions exceed {limit} character limit: {actual} characters"
181
+ INSTRUCTION_TOO_LONG = (
182
+ "Instructions exceed {limit} character limit: {actual} characters"
183
+ )
209
184
  CONFIG_TOO_LARGE = "Configuration file exceeds {limit} size limit: {actual} bytes"
210
185
  FILE_TOO_LARGE = "File exceeds maximum size of {limit} bytes"
211
186
  TOO_MANY_FILES = "Too many files to validate: {count} exceeds limit of {limit}"
212
-
187
+
213
188
  # Connection errors
214
189
  CONNECTION_FAILED = "Failed to connect to {service} on port {port}"
215
190
  CONNECTION_TIMEOUT = "Connection to {service} timed out after {timeout} seconds"
216
191
  PORT_IN_USE = "Port {port} is already in use"
217
192
  PORT_NOT_IN_RANGE = "Port {port} is outside allowed range {range}"
218
-
193
+
219
194
  # Resource errors
220
195
  MEMORY_EXCEEDED = "Memory usage {usage}MB exceeds limit of {limit}MB"
221
196
  CPU_EXCEEDED = "CPU usage {usage}% exceeds limit of {limit}%"
222
197
  QUEUE_FULL = "Queue is full: {size} items exceeds limit of {limit}"
223
-
198
+
224
199
  # Timeout errors
225
200
  OPERATION_TIMEOUT = "Operation timed out after {timeout} seconds"
226
201
  SUBPROCESS_TIMEOUT = "Subprocess timed out after {timeout} milliseconds"
227
-
202
+
228
203
  # Retry errors
229
204
  MAX_RETRIES_EXCEEDED = "Maximum retries ({max_retries}) exceeded for {operation}"
230
205
  CIRCUIT_OPEN = "Circuit breaker is open for {service}"
231
206
 
232
207
 
233
- # ==============================================================================
234
- # Default Values - Default configuration values
235
- # ==============================================================================
236
-
237
208
  class Defaults:
238
209
  """Default configuration values."""
239
-
210
+
240
211
  # Agent defaults
241
212
  DEFAULT_AUTHOR = "claude-mpm"
242
213
  DEFAULT_VERSION = "1.0.0"
243
214
  DEFAULT_PRIORITY = "medium"
244
215
  DEFAULT_TEMPERATURE = 0.5
245
-
216
+
246
217
  # Logging defaults
247
218
  DEFAULT_LOG_LEVEL = "INFO"
248
219
  DEFAULT_LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
249
-
220
+
250
221
  # Session defaults
251
222
  DEFAULT_SESSION_PREFIX = "session"
252
223
  DEFAULT_WORKSPACE = ".claude-mpm"
253
-
224
+
254
225
  # Dashboard defaults
255
226
  DEFAULT_DASHBOARD_HOST = "localhost"
256
227
  DEFAULT_DASHBOARD_TITLE = "Claude MPM Dashboard"
257
-
228
+
258
229
  # Time formats
259
230
  TIMESTAMP_FORMAT = "%Y%m%d_%H%M%S"
260
231
  LOG_TIMESTAMP_FORMAT = "%Y-%m-%d %H:%M:%S"
261
232
 
262
233
 
263
- # ==============================================================================
264
- # Performance Configuration - Performance-related settings
265
- # ==============================================================================
266
-
267
234
  class PerformanceConfig:
268
235
  """Performance optimization settings."""
269
-
236
+
270
237
  # Scoring weights for server selection
271
238
  VERSION_SCORE_MAJOR = 1000
272
239
  VERSION_SCORE_MINOR = 100
273
240
  VERSION_SCORE_PATCH = 1
274
-
241
+
275
242
  # Time conversion
276
243
  SECONDS_TO_MS = 1000
277
244
  MS_TO_SECONDS = 0.001
278
-
245
+
279
246
  # Logging frequencies
280
247
  LOG_EVERY_N_ITERATIONS = 100 # Log every N iterations
281
248
  LOG_EVERY_N_SECONDS = 10 # Log every N seconds
282
-
249
+
283
250
  # Batch sizes
284
251
  DEFAULT_BATCH_SIZE = 100
285
252
  MAX_BATCH_SIZE = 1000
286
-
253
+
287
254
  # Cache settings
288
255
  CACHE_CLEANUP_INTERVAL = 60 # seconds
289
256
  CACHE_TTL = 3600 # 1 hour default TTL
290
-
257
+
291
258
  # Memory thresholds
292
259
  LOW_MEMORY_THRESHOLD = 100 # MB
293
260
  CRITICAL_MEMORY_THRESHOLD = 50 # MB
294
261
 
295
262
 
296
- # ==============================================================================
297
- # Validation Rules - Validation thresholds and rules
298
- # ==============================================================================
299
-
300
263
  class ValidationRules:
301
264
  """Validation rules and thresholds."""
302
-
265
+
303
266
  # Name validation
304
267
  MIN_NAME_LENGTH = 3
305
268
  MAX_NAME_LENGTH = 50
306
-
269
+
307
270
  # Version validation
308
271
  MIN_VERSION_PARTS = 3 # major.minor.patch
309
-
272
+
310
273
  # Description validation
311
274
  MIN_DESCRIPTION_LENGTH = 10
312
275
  MAX_DESCRIPTION_LENGTH = 500
313
-
276
+
314
277
  # Tag validation
315
278
  MAX_TAGS = 10
316
279
  MAX_TAG_LENGTH = 30
317
-
280
+
318
281
  # Tool validation
319
282
  MAX_TOOLS = 20
320
-
283
+
321
284
  # Priority levels
322
285
  VALID_PRIORITIES = ["low", "medium", "high", "critical"]
323
-
286
+
324
287
  # Resource tiers
325
288
  VALID_RESOURCE_TIERS = ["intensive", "standard", "lightweight"]
326
289
 
327
290
 
328
- # ==============================================================================
329
- # Backwards Compatibility Exports
330
- # ==============================================================================
331
-
332
- # Export commonly used constants at module level for backwards compatibility
333
291
  MAX_INSTRUCTION_LENGTH = SystemLimits.MAX_INSTRUCTION_LENGTH
334
292
  MAX_AGENT_CONFIG_SIZE = SystemLimits.MAX_AGENT_CONFIG_SIZE
335
293
  MAX_FILE_SIZE = SystemLimits.MAX_FILE_SIZE
336
294
  SOCKETIO_PORT_RANGE = NetworkConfig.SOCKETIO_PORT_RANGE
337
295
  QUERY_TIMEOUT = TimeoutConfig.QUERY_TIMEOUT
338
296
  MAX_RETRIES = RetryConfig.MAX_RETRIES
339
- DEFAULT_TIMEOUT = TimeoutConfig.DEFAULT_TIMEOUT
297
+ DEFAULT_TIMEOUT = TimeoutConfig.DEFAULT_TIMEOUT