claude-mpm 4.1.2__py3-none-any.whl → 4.1.3__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 (53) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/templates/engineer.json +33 -11
  3. claude_mpm/cli/commands/agents.py +556 -1009
  4. claude_mpm/cli/commands/memory.py +248 -927
  5. claude_mpm/cli/commands/run.py +139 -484
  6. claude_mpm/cli/startup_logging.py +76 -0
  7. claude_mpm/core/agent_registry.py +6 -10
  8. claude_mpm/core/framework_loader.py +114 -595
  9. claude_mpm/core/logging_config.py +2 -4
  10. claude_mpm/hooks/claude_hooks/event_handlers.py +7 -117
  11. claude_mpm/hooks/claude_hooks/hook_handler.py +91 -755
  12. claude_mpm/hooks/claude_hooks/hook_handler_original.py +1040 -0
  13. claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +347 -0
  14. claude_mpm/hooks/claude_hooks/services/__init__.py +13 -0
  15. claude_mpm/hooks/claude_hooks/services/connection_manager.py +190 -0
  16. claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +106 -0
  17. claude_mpm/hooks/claude_hooks/services/state_manager.py +282 -0
  18. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +374 -0
  19. claude_mpm/services/agents/deployment/agent_deployment.py +42 -454
  20. claude_mpm/services/agents/deployment/base_agent_locator.py +132 -0
  21. claude_mpm/services/agents/deployment/deployment_results_manager.py +185 -0
  22. claude_mpm/services/agents/deployment/single_agent_deployer.py +315 -0
  23. claude_mpm/services/agents/memory/agent_memory_manager.py +42 -508
  24. claude_mpm/services/agents/memory/memory_categorization_service.py +165 -0
  25. claude_mpm/services/agents/memory/memory_file_service.py +103 -0
  26. claude_mpm/services/agents/memory/memory_format_service.py +201 -0
  27. claude_mpm/services/agents/memory/memory_limits_service.py +99 -0
  28. claude_mpm/services/agents/registry/__init__.py +1 -1
  29. claude_mpm/services/cli/__init__.py +18 -0
  30. claude_mpm/services/cli/agent_cleanup_service.py +407 -0
  31. claude_mpm/services/cli/agent_dependency_service.py +395 -0
  32. claude_mpm/services/cli/agent_listing_service.py +463 -0
  33. claude_mpm/services/cli/agent_output_formatter.py +605 -0
  34. claude_mpm/services/cli/agent_validation_service.py +589 -0
  35. claude_mpm/services/cli/dashboard_launcher.py +424 -0
  36. claude_mpm/services/cli/memory_crud_service.py +617 -0
  37. claude_mpm/services/cli/memory_output_formatter.py +604 -0
  38. claude_mpm/services/cli/session_manager.py +513 -0
  39. claude_mpm/services/cli/socketio_manager.py +498 -0
  40. claude_mpm/services/cli/startup_checker.py +370 -0
  41. claude_mpm/services/core/cache_manager.py +311 -0
  42. claude_mpm/services/core/memory_manager.py +637 -0
  43. claude_mpm/services/core/path_resolver.py +498 -0
  44. claude_mpm/services/core/service_container.py +520 -0
  45. claude_mpm/services/core/service_interfaces.py +436 -0
  46. claude_mpm/services/diagnostics/checks/agent_check.py +65 -19
  47. {claude_mpm-4.1.2.dist-info → claude_mpm-4.1.3.dist-info}/METADATA +1 -1
  48. {claude_mpm-4.1.2.dist-info → claude_mpm-4.1.3.dist-info}/RECORD +52 -22
  49. claude_mpm/cli/commands/run_config_checker.py +0 -159
  50. {claude_mpm-4.1.2.dist-info → claude_mpm-4.1.3.dist-info}/WHEEL +0 -0
  51. {claude_mpm-4.1.2.dist-info → claude_mpm-4.1.3.dist-info}/entry_points.txt +0 -0
  52. {claude_mpm-4.1.2.dist-info → claude_mpm-4.1.3.dist-info}/licenses/LICENSE +0 -0
  53. {claude_mpm-4.1.2.dist-info → claude_mpm-4.1.3.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
2
- claude_mpm/VERSION,sha256=s7tvaRWG3pAZ48x5vJPwUv5iiRHPOL_3cxmgUkLMf-w,6
2
+ claude_mpm/VERSION,sha256=2RozybmTQOPh97pI8EOhD26XGciF_-yqT9gQiVfsr3I,6
3
3
  claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
4
4
  claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
5
5
  claude_mpm/constants.py,sha256=8iLwOogyO85tq8hnBIlX2JfOoAL_eu8_9hDEEtNS394,5650
@@ -30,7 +30,7 @@ claude_mpm/agents/templates/api_qa.json,sha256=uyKVTkHh_wY5hbrQoshM1sVq9lO0Pkkbs
30
30
  claude_mpm/agents/templates/code_analyzer.json,sha256=WZ5z27cB3-SgXU9ubbK1m_XyiIqSigZFAes_ZnpP7NE,24778
31
31
  claude_mpm/agents/templates/data_engineer.json,sha256=1xlnCPJM4IR8jlqh_wkV7G1x7uuo15afl1l7zo64yt8,17442
32
32
  claude_mpm/agents/templates/documentation.json,sha256=Lfd2WvlpQVLMPgJkrgJNvF1QrEzDy0Ej3Junh5brXaE,13820
33
- claude_mpm/agents/templates/engineer.json,sha256=99sm1Pv7Ez5c_NhUPM_byr2jaLv0R1kl-ve-7YMsKYM,8518
33
+ claude_mpm/agents/templates/engineer.json,sha256=IJ26Z-6NKlV6H2k23esncEJ_Xi1qvDe9iGYhGMeM2BQ,13120
34
34
  claude_mpm/agents/templates/imagemagick.json,sha256=yszLBxNkcGXHbRdFKGMsZYXFeuJL5yGXTgIi_kbi7D4,17596
35
35
  claude_mpm/agents/templates/memory_manager.json,sha256=XgXZYJFXFsNHRzwl_qyIKF6jzBa0dv6DqoiU8uuzHvw,12613
36
36
  claude_mpm/agents/templates/ops.json,sha256=CR4a_PAKorVPEPKEMTnVeItZMVFyah-wlU5qC0caCwY,6639
@@ -58,12 +58,12 @@ claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json,sh
58
58
  claude_mpm/cli/__init__.py,sha256=Ld4NA9EoNj5SHeYFWU26Hdd1mCP4lrlSwss-tvnbfKA,15522
59
59
  claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
60
60
  claude_mpm/cli/parser.py,sha256=pG4B8kcROCNLF5-3YiZTXwDBs4EoKxTdhw8CHKezYHc,1362
61
- claude_mpm/cli/startup_logging.py,sha256=esVpwncpLwLSC-HHys2Vj8TLJP0YxlfPl-Or8OXZXV8,19811
61
+ claude_mpm/cli/startup_logging.py,sha256=Xq1SHRZloSlH2UcszYvW1SETHsYnbpakS2-25x5h3Vk,22230
62
62
  claude_mpm/cli/ticket_cli.py,sha256=Cco0riIeo-PuzBslX3-5LAtLUcsLvexSRtVlheb7-cQ,916
63
63
  claude_mpm/cli/utils.py,sha256=-ObCOxPff4CB6xYulsneC19Fwwb3UHn53UI7u-B_pJ8,7023
64
64
  claude_mpm/cli/commands/__init__.py,sha256=fpng_LKNL_kdi1qmZ1I6wVop0U8rShOnPyv-GtZ50xE,979
65
65
  claude_mpm/cli/commands/agent_manager.py,sha256=Q_uJk_s2ZGfZnimZ7WCGu-bxzr2hFydbLQEWx-a8zVA,19713
66
- claude_mpm/cli/commands/agents.py,sha256=0cfS_MiT_mY5_FBbuZg9f1yeV596AA1YiSf4mIen7JY,51436
66
+ claude_mpm/cli/commands/agents.py,sha256=Zz0UZF8t6KOsgMSehTDjEb39pevPwKCDhH-2WoYFq-Y,38064
67
67
  claude_mpm/cli/commands/aggregate.py,sha256=rLwZxXmIyTPuDUYKTooVtTgiW4mU3vw4_383jK1nXHU,18065
68
68
  claude_mpm/cli/commands/cleanup.py,sha256=c4QyAs9odx7__rSM9RDy2r9iwPlrfeIzx2vINbl7WaA,19694
69
69
  claude_mpm/cli/commands/cleanup_orphaned_agents.py,sha256=JR8crvgrz7Sa6d-SI-gKywok5S9rwc_DzDVk_h85sVs,4467
@@ -77,10 +77,9 @@ claude_mpm/cli/commands/mcp_install_commands.py,sha256=dFjMT2p15-F2VLS6o1whXgmBt
77
77
  claude_mpm/cli/commands/mcp_pipx_config.py,sha256=sE62VD6Q1CcO2k1nlbIhHMfAJFQTZfIzCss99LmfNqA,6088
78
78
  claude_mpm/cli/commands/mcp_server_commands.py,sha256=-1G_2Y5ScTvzDd-kY8fTAao2H6FH7DnsLimleF1rVqQ,6197
79
79
  claude_mpm/cli/commands/mcp_tool_commands.py,sha256=q17GzlFT3JiLTrDqwPO2tz1-fKmPO5QU449syTnKTz4,1283
80
- claude_mpm/cli/commands/memory.py,sha256=YEoOPqDdyS9834RHTwyML5S1bpBeorGGgHKcxTS5AaA,51485
80
+ claude_mpm/cli/commands/memory.py,sha256=Yzfs3_oiKciv3sfOoDm2lJL4M9idG7ARV3-sNw1ge_g,26186
81
81
  claude_mpm/cli/commands/monitor.py,sha256=F4HY3x1A6hJgtHJlLssIWJFgND1xFGfzZSLU0ylwHpM,27308
82
- claude_mpm/cli/commands/run.py,sha256=Se7LsWuf13PBU3Yt_2i4JZ_m7uZHqtQDITMlrnhbnv4,56537
83
- claude_mpm/cli/commands/run_config_checker.py,sha256=OEtAyBMG83Ws_cX-HeAluFZe4xuxL4An9i06gkuN-DM,6929
82
+ claude_mpm/cli/commands/run.py,sha256=7jvKy4emK8szoHR9nEigXnOrkugx4MduLmUadfWnUv0,43113
84
83
  claude_mpm/cli/commands/socketio_monitor.py,sha256=GHHY5pKg0XCffoqLoO0l0Nxa9HQY4gdrpYebLVahzl4,9540
85
84
  claude_mpm/cli/commands/tickets.py,sha256=gK8IL4IRZmLQTqJh3eEWU4TU_kbdo-Z9BE1QtFaF9dI,33514
86
85
  claude_mpm/cli/parsers/__init__.py,sha256=f0Fm1DDXorlVOZPLxUpjC-GIvLh01G-FZOK7TEV1L3I,1005
@@ -109,7 +108,7 @@ claude_mpm/config/paths.py,sha256=Dl35_QF0kfC2I6Fy7ETcNjz7jlumNGt45qlRKqsPJrk,76
109
108
  claude_mpm/config/socketio_config.py,sha256=qNLvjKZWUZEsNmSXUe0ueXu1q7-EOlxK3mdQquEZwTI,9714
110
109
  claude_mpm/core/__init__.py,sha256=QhEX_NpiCprUp87bV75FnMapblMeqC5soNVJXVvZObc,887
111
110
  claude_mpm/core/agent_name_normalizer.py,sha256=_h92sTPltmvqevCjdKQ7EsOz-CAm1-hd8GOubWjuRgw,8907
112
- claude_mpm/core/agent_registry.py,sha256=dd0H7RtEaymHqUQPIr4dRu09nGUTh7AXyd1rbomnUIo,19064
111
+ claude_mpm/core/agent_registry.py,sha256=cPQsOSIyrspr3KpS-P9MQ6Dv_BLXa9BWhs9RM0iu4C4,18798
113
112
  claude_mpm/core/agent_session_manager.py,sha256=JmhP67tZuJhGaXOriWeYdl69edxB8szVMLMxcO9EGsg,11043
114
113
  claude_mpm/core/base_service.py,sha256=OGFg2IrvkSVhDUoN12y9HD6L6YGka0pc6Wj3AmHKxYk,29182
115
114
  claude_mpm/core/cache.py,sha256=aCvZg08gT8uMFSDp-s0-xqRYSgcfBTDGM3MlJTTboMY,17170
@@ -121,7 +120,7 @@ claude_mpm/core/constants.py,sha256=88J9bGT05Fbr3lzHLWtLQbBYRuJuLBjK3Bfq_qyWcIo,
121
120
  claude_mpm/core/container.py,sha256=tktmoChULNzNm_wUNR0YCzzRO8wH2AEy-hCaCFis4JU,32137
122
121
  claude_mpm/core/exceptions.py,sha256=vrEJGpgThvqRRD6qsNkmaQcYAoUMQSNuHUOnNFJcEGg,19628
123
122
  claude_mpm/core/factories.py,sha256=vtlwkbpxeWzqgPRGO1ehnMOzddLCHWTeiKa8halV_dU,7271
124
- claude_mpm/core/framework_loader.py,sha256=WgQat9BpTrbpKjQE_CCm0w3Yn-KnYCuVrwVzJ8eRfkw,88509
123
+ claude_mpm/core/framework_loader.py,sha256=ldo03G3p3-YIbsDgnwQ1dFq7xZ0p7F9YVzzlgekNW6Y,68569
125
124
  claude_mpm/core/hook_manager.py,sha256=_Y7QWv8MfZgSHbKmWYfojuDRPxC2niZgOb7JkeUFQaE,11059
126
125
  claude_mpm/core/hook_performance_config.py,sha256=e7a7oFctkRhA3aPXMO5Wavr-E6ku7ikLxMzPU7P1-yg,5779
127
126
  claude_mpm/core/injectable_service.py,sha256=6MUqTVTBBw6legToIVj1C_BzdERO0zKYEPnFPVZJJfE,7398
@@ -130,7 +129,7 @@ claude_mpm/core/interfaces.py,sha256=RNqXxUioEpV4vOaEoUJ38OvKYPMlpSb3V5Sb97l0w3Q
130
129
  claude_mpm/core/lazy.py,sha256=6EYpXGZwsMAMQ3GXepNtyw_b7IxDwOTjfOVE6mV-S2s,14774
131
130
  claude_mpm/core/log_manager.py,sha256=J_WaF7qWbqCOo3dBEizMi7CPTgzSlXIMW8XJyIF8DuU,19677
132
131
  claude_mpm/core/logger.py,sha256=O_6X9LS-qpkpQnbQMitwpBj-C7Ll0HmTvo3nWAf_H1Y,20730
133
- claude_mpm/core/logging_config.py,sha256=fd7f68PQVaiMc7Dirnl9P9PmaD2pCgeyr_XYcCGiES4,14687
132
+ claude_mpm/core/logging_config.py,sha256=tCxM3EpSmjZ7kT7hckQxQZlrxuWVm4g-qu9RHe8hDcw,14588
134
133
  claude_mpm/core/minimal_framework_loader.py,sha256=vmDEjL3MjnV7W4WIR-ymaL8QgsGsgxJJ0KdiQqAtudM,3640
135
134
  claude_mpm/core/mixins.py,sha256=vmZ7Nu2ZOnKjbhN07Ixk4noIej9nsJiknrp-Sclfu0A,5344
136
135
  claude_mpm/core/oneshot_session.py,sha256=QkSw-gs7tTQkdKQiZh7mbia5hc5PMt_xaMoDY-9_bZk,17693
@@ -214,13 +213,20 @@ claude_mpm/hooks/tool_call_interceptor.py,sha256=mTE3QLC3UN8DeH2pwUBaDfPcGAQCp7p
214
213
  claude_mpm/hooks/validation_hooks.py,sha256=qTkO93lJWInqvEibKbY-Fj-qDvMtKRcE6dDfV29VTiQ,6433
215
214
  claude_mpm/hooks/claude_hooks/__init__.py,sha256=b4mud_g3S-3itHY_Dzpbb_SmdMEcJwtUU8fTcqpLqqs,130
216
215
  claude_mpm/hooks/claude_hooks/connection_pool.py,sha256=OSVJk4q-Zj_4UrQIKyGsJv6sab-oZfq-BB4_9mQqPYU,8618
217
- claude_mpm/hooks/claude_hooks/event_handlers.py,sha256=uO1BvLD27jnPPEUp32Nke9kQJDOxLlizRYcydye1x4U,34873
218
- claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=AOcGOf2WiA_aaRsaENKBvaj3Vi_UzeL_zaEgN3zxCrk,42964
216
+ claude_mpm/hooks/claude_hooks/event_handlers.py,sha256=OWglHktyzLmuNhkKmV_Bgka7M_YUB84lspYJlR3HQ7I,30312
217
+ claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=TW8i7heEzLT0EkQmZrc8LWpBMiQbfOSLZ3XzvWiGweI,14171
219
218
  claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py,sha256=IZKE3cJok_gb4UGFEtftic5MjYBAPupt3iDq20L9Pfc,14848
219
+ claude_mpm/hooks/claude_hooks/hook_handler_original.py,sha256=AOcGOf2WiA_aaRsaENKBvaj3Vi_UzeL_zaEgN3zxCrk,42964
220
+ claude_mpm/hooks/claude_hooks/hook_handler_refactored.py,sha256=e8phCM18f-IcovV9_xVNYSV8nndVKdzmFJa-xjKGkq8,12983
220
221
  claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=4lG3TlLVoVfTJipPj1X_ICUlS-KpnkbUp1U3oSq80Bw,2476
221
222
  claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=TXLavDM9eEoakPX_n2WtnfXyqGn80N-xgAvcYgvoW8s,8832
222
223
  claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=4RcM54LyYeINf3A_toaSOPuD3oXS6jZtiRstHxgSOao,14990
223
224
  claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=3_o2PP9D7wEMwLriCtIBOw0cj2fSZfepN7lI4P1meSQ,7862
225
+ claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=xd8L37zh9JccPvliQEQj6SiUlrWL2oZDzZf_sPXPkqA,410
226
+ claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=brkw3wE5m5RWa3fOo4noRO0xl0GpLWUPVacxcP6QYpM,7496
227
+ claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM9t0U1v2l_fuBwvNpVkl_0EF8Wu5KLHQ,3882
228
+ claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=c7OldfemaMU37YGJxgO2uEcTOuPc-C80SRhzEH07j7I,11072
229
+ claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=l8fPF5CgmYnj1GqZQs3D_611xuZkRq3bFeg9axl-EEg,15229
224
230
  claude_mpm/models/__init__.py,sha256=GADyLAiF-1VVghYKI7Urz3zSnf2sjJUXlOEMuCOs7_g,468
225
231
  claude_mpm/models/agent_definition.py,sha256=LC7EwihixF2Gw4QqOxiCNchsEzzyQJPR6AgPrcTrWTM,6674
226
232
  claude_mpm/models/agent_session.py,sha256=7YU9oklwqEDyH3PTKUQ52yh6N9C9eJX8GJKhxDCpDj0,19988
@@ -261,7 +267,7 @@ claude_mpm/services/agents/deployment/__init__.py,sha256=iprW-Ww3LBtWu9pVFjAX45_
261
267
  claude_mpm/services/agents/deployment/agent_config_provider.py,sha256=_voUMuk_6IiJy_VHloDC6OA803-Z2wENOK60extV_ZU,13312
262
268
  claude_mpm/services/agents/deployment/agent_configuration_manager.py,sha256=5nf69hfo7lUa3_55sDcU5WfpzBtOZCMSTPYGr2dlIdY,12173
263
269
  claude_mpm/services/agents/deployment/agent_definition_factory.py,sha256=DaJ__b3-ADinfd-qNnW6LKWfclOaZbkBBcfuHgqlUic,2697
264
- claude_mpm/services/agents/deployment/agent_deployment.py,sha256=lTRdlH-Osfdu8sidTUF1TpV8CN8R3NR6ccHpH-Hd4hg,51253
270
+ claude_mpm/services/agents/deployment/agent_deployment.py,sha256=6YFg1ZcAMI_cb7xGhSm0e3qdPOrVNoQ_-o1qoc_PM2k,35514
265
271
  claude_mpm/services/agents/deployment/agent_discovery_service.py,sha256=VxTm-jq51nDlGek_srK5BRTAQk2XH5OxGjEgazL1e6o,13443
266
272
  claude_mpm/services/agents/deployment/agent_environment_manager.py,sha256=kjMiLyZYHs-s9pVdtj4av4hJW0gNXnD7lZz2CJpxmZI,9863
267
273
  claude_mpm/services/agents/deployment/agent_filesystem_manager.py,sha256=kstcGvufqF3cmmkJ_hDIHutPbIrMo_ZsGCKlIKmNbMA,12904
@@ -276,7 +282,9 @@ claude_mpm/services/agents/deployment/agent_version_manager.py,sha256=RtU3zrz9VJ
276
282
  claude_mpm/services/agents/deployment/agent_versioning.py,sha256=cDkSv12m6_XjhhD6Tr_tmcnvx4RrXhMAKpjm6E_fKyQ,989
277
283
  claude_mpm/services/agents/deployment/agents_directory_resolver.py,sha256=4ylwNMs9i8eGa1jSBkU0wW1O0Jvr4GNrrWX81F0wQWU,2175
278
284
  claude_mpm/services/agents/deployment/async_agent_deployment.py,sha256=VDUw-UcGDby99ZULTK6G4rF3yp33Pef3O5zmnQxdQFg,28163
285
+ claude_mpm/services/agents/deployment/base_agent_locator.py,sha256=szw9N1Di6AJuuWGIZHRfgWij6wwMbag--6XzjFvmpiA,4751
279
286
  claude_mpm/services/agents/deployment/deployment_config_loader.py,sha256=Wlm64Ovb-9qgm6F4AOMoBNsUb796Ixe0lDh8gRvKO3o,1935
287
+ claude_mpm/services/agents/deployment/deployment_results_manager.py,sha256=oNJ8DhmeXswD4_6qmLpDusI2edyJy2gd203ePxmJEy8,6609
280
288
  claude_mpm/services/agents/deployment/deployment_type_detector.py,sha256=b6x6qpGVSGPzNzioqN4kSOXHAhSiIqbqiaLTdlcvwsY,4378
281
289
  claude_mpm/services/agents/deployment/deployment_wrapper.py,sha256=qu2U43LBmAGhGWOEgzD9H9-Kj5tGt_J5hODP5UaGU5c,2400
282
290
  claude_mpm/services/agents/deployment/interface_adapter.py,sha256=mOsQ5IJHLEezq8vCoGSY5OarxolDw1B6Yr0dAYUMMVE,8078
@@ -284,6 +292,7 @@ claude_mpm/services/agents/deployment/lifecycle_health_checker.py,sha256=2dphAvY
284
292
  claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py,sha256=lK_yg0uRL55opUoecOJBL83Tjj6Pu_z4-4EYWPeN6tM,4336
285
293
  claude_mpm/services/agents/deployment/multi_source_deployment_service.py,sha256=OHiNvdd4qb5gpmXLcHzUsm0OvJHNfyyOZQ8clWTB8No,39184
286
294
  claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py,sha256=5-StpaZYqVvm-WrmLMsoIp85WFYL2p0VLWQOfZEn8jU,11707
295
+ claude_mpm/services/agents/deployment/single_agent_deployer.py,sha256=6QtHP-y4T_-UXYXYvdQgdIooOfjnC5NArlbkUo4EPl0,11492
287
296
  claude_mpm/services/agents/deployment/system_instructions_deployer.py,sha256=SCBBXleIn322X_w-swOHjO22J3HCxSHGkd3V-rSbbOs,4060
288
297
  claude_mpm/services/agents/deployment/config/__init__.py,sha256=gVzYqpnF_1it3VjDHRQoUs2VRDVm_WwkhDzNv8x23nM,397
289
298
  claude_mpm/services/agents/deployment/config/deployment_config.py,sha256=CdKUySW30GRE3aR4WL8oTDxtOcNkHdkiofsOMVpYcOQ,6427
@@ -329,17 +338,38 @@ claude_mpm/services/agents/management/__init__.py,sha256=--BL1mjPq28_Lil5Ogsz367
329
338
  claude_mpm/services/agents/management/agent_capabilities_generator.py,sha256=CR2aPfgcKHEq_c5OPGHPMn2-LxjY0b3U1V2q0_nFWIU,6971
330
339
  claude_mpm/services/agents/management/agent_management_service.py,sha256=EmwywtVTtxcARJTSZVSPQHqsGpSGj_fy0VeX1fz7ERA,22949
331
340
  claude_mpm/services/agents/memory/__init__.py,sha256=cu8XUsFeI06NjPwDIysofA0dSpALEKd1f3_E_hJ9wyI,608
332
- claude_mpm/services/agents/memory/agent_memory_manager.py,sha256=uxff_Y4akhqOscNeWSr_JhEORA4pEkjUyl5HrDDQXfI,47913
341
+ claude_mpm/services/agents/memory/agent_memory_manager.py,sha256=ewmfS80ZqLGdoalGCVNxlpPVBp5qf1uGUfUpqPtwtOA,31721
333
342
  claude_mpm/services/agents/memory/agent_persistence_service.py,sha256=1_wMyoXRdAo82xg8yLBd4vR1nl-hze0gECOJDOPwsZc,2757
334
343
  claude_mpm/services/agents/memory/content_manager.py,sha256=OUrTFKvw1Ym8JyMt6bPQbfCARgMGN__nqNVPkxQnF6A,16385
344
+ claude_mpm/services/agents/memory/memory_categorization_service.py,sha256=nJTztLXl_g5Z6bjUFvvDL8mOqqfLNFrbqYBJR5_EchM,4713
345
+ claude_mpm/services/agents/memory/memory_file_service.py,sha256=uQ7Ou39UsFabHCNYocO9XjkJdlXmR7Z6LS4o1L7yA98,3319
346
+ claude_mpm/services/agents/memory/memory_format_service.py,sha256=Y4lgKb6SV1iVTSFNDSGy8Ve267mvKaPJZhzYxYOJHtc,6183
347
+ claude_mpm/services/agents/memory/memory_limits_service.py,sha256=6nkCXOE3_3aPla7n8GwWBVJTxZI7w0aA596E9J-a48c,3310
335
348
  claude_mpm/services/agents/memory/template_generator.py,sha256=bfRY_GEhsO3WoIU36VjlVYWqmXR9UEPngeBcSpWoDUQ,2547
336
- claude_mpm/services/agents/registry/__init__.py,sha256=eI7hDul-gf00hQKxXefFVzmpTPChYqAv0QJI6m09Yy4,727
349
+ claude_mpm/services/agents/registry/__init__.py,sha256=ROBX82Ac4iLHEE7-aFUy7mT3NSz5eIub19ck5Q81NHQ,681
337
350
  claude_mpm/services/agents/registry/deployed_agent_discovery.py,sha256=aaqu50tjonWURgBWFXUKZvWw9qJYLQgUtCux9xCL1rE,10213
338
351
  claude_mpm/services/agents/registry/modification_tracker.py,sha256=bA4F2chibZCTTK_aUVapuK_z0mYZQ7wOi8-OejjZ0AU,33909
352
+ claude_mpm/services/cli/__init__.py,sha256=6yavdruQywt9k39RBOrPxUTz6dEEJ6mHzjY4pl_Q3Do,559
353
+ claude_mpm/services/cli/agent_cleanup_service.py,sha256=2d_f4owY06Vr6NqFyq3zAOm02VgHSiM6tuPZhuzi5KE,14098
354
+ claude_mpm/services/cli/agent_dependency_service.py,sha256=a9bt0Crkglo3D4X-yVgUYKY_FPok_vLfPjHeJh3-WOc,13700
355
+ claude_mpm/services/cli/agent_listing_service.py,sha256=bRb7rAsybTOZ-0F22xE3a4S1QPkuq3K7FavlFePCrVc,15999
356
+ claude_mpm/services/cli/agent_output_formatter.py,sha256=FcJ18m3CyeFr_wotJfEmIURHeZ71eomqO_vK7wsPWsM,20521
357
+ claude_mpm/services/cli/agent_validation_service.py,sha256=6qRpRm6Qwjr_Kj4dH1RxIyffdN_3wJsYH5XxviuK5gU,21756
358
+ claude_mpm/services/cli/dashboard_launcher.py,sha256=l0bwF37jU_P9bHYBfQj0Sr9GtdHHF-XembC8LTSOstg,14473
359
+ claude_mpm/services/cli/memory_crud_service.py,sha256=ciN9Pl_12iDAqF9zPBWOzu-iXiAzpy3CiIwXRoeB5m0,22645
360
+ claude_mpm/services/cli/memory_output_formatter.py,sha256=nbf7VsjGvH4e9fLv9c7PzjuO9COZhbK5P2fNZ79055w,24783
361
+ claude_mpm/services/cli/session_manager.py,sha256=rla_Stbcvt93wa9G9MCMu9UqB3FLGqlPt_eN5lQb3Gg,16599
362
+ claude_mpm/services/cli/socketio_manager.py,sha256=90pvf97Q2Upz9WMP4_SOMfDmlgdkdiCJ0ix6vA7hgco,16745
363
+ claude_mpm/services/cli/startup_checker.py,sha256=FfRoJV0lEjw7hFJhl0JHHOZPHhQSnLCrQx2ni5RLhCY,12687
339
364
  claude_mpm/services/communication/__init__.py,sha256=b4qc7_Rqy4DE9q7BAUlfUZjoYG4uimAyUnE0irPcXyU,560
340
365
  claude_mpm/services/core/__init__.py,sha256=evEayLlBqJvxMZhrhuK6aagXmNrKGSj8Jm9OOxKzqvU,2195
341
366
  claude_mpm/services/core/base.py,sha256=iA-F7DgGp-FJIMvQTiHQ68RkG_k-AtUWlArJPMw6ZPk,7297
367
+ claude_mpm/services/core/cache_manager.py,sha256=KI70dHFuh4SgF1be49eQHJ6cP5lQnM_2-bGd6EILF5g,11594
342
368
  claude_mpm/services/core/interfaces.py,sha256=FbLhWiOUMlvBfqjYBCeoWgsmRscQGBKteRMW-BGz4hQ,1261
369
+ claude_mpm/services/core/memory_manager.py,sha256=CxKyA9uquU6FPKfCz3lxlP56-2t_5hEOaeq9f7EPlWk,23953
370
+ claude_mpm/services/core/path_resolver.py,sha256=sY7EoZ6SZa1VTlSwn0kAylJPUhrA5Fd7AEMWy4H7iUA,17703
371
+ claude_mpm/services/core/service_container.py,sha256=iwfZAGTKO-pt8pNV9J3ZYDs1aPWlh79vCEnTK1cJSsc,18496
372
+ claude_mpm/services/core/service_interfaces.py,sha256=dlNp0K4gaMcLiNSZxXjsL-kto6vipYw87pBuFK7oVNo,10770
343
373
  claude_mpm/services/core/interfaces/__init__.py,sha256=1oFXxW9U8rQNQGzWd9kI_FJeo4uU17-24wC63-KswWE,6398
344
374
  claude_mpm/services/core/interfaces/agent.py,sha256=EaPYn6k9HjB2DRTiZIMJwEIBABZFvQ9fUPEtfERkIIE,10368
345
375
  claude_mpm/services/core/interfaces/communication.py,sha256=evwtLbYCFa3Zb8kEfL10LOBVdwP4-n3a3wa7NqIHmKQ,8887
@@ -350,7 +380,7 @@ claude_mpm/services/diagnostics/diagnostic_runner.py,sha256=zPWNEV0YYmocz2S0X05h
350
380
  claude_mpm/services/diagnostics/doctor_reporter.py,sha256=Z8hYLqUbGC02gL7nX9kZKbLWRzOmTORRINfCr7EHbBI,10537
351
381
  claude_mpm/services/diagnostics/models.py,sha256=nqOQLllZyZmw3Zt5eFJfE1Al7C3Vrn3REgFlARtT3jQ,3831
352
382
  claude_mpm/services/diagnostics/checks/__init__.py,sha256=6FGHqefdlt17BGhwHSOFFk9QCBW_LNL8hxEby-MUGmc,848
353
- claude_mpm/services/diagnostics/checks/agent_check.py,sha256=2c7VnsEdcKtHi23wYlC9fM3mfX1tpF_y_L7On4LCakI,12213
383
+ claude_mpm/services/diagnostics/checks/agent_check.py,sha256=JZwqu4o4Q46uk2jKKU-AS0Y_n4AjVcmq2XR61t18UKE,14022
354
384
  claude_mpm/services/diagnostics/checks/base_check.py,sha256=FdCPk4z5wdBVR5Y4bikwVY4P4BIIXBkYCmhr-qu1ChM,1574
355
385
  claude_mpm/services/diagnostics/checks/claude_desktop_check.py,sha256=fRM-hZM5nkM4aB6PhbydSBLpM5u80xSyLXHu0AmI4qY,11337
356
386
  claude_mpm/services/diagnostics/checks/common_issues_check.py,sha256=Yi73_1yGNcQUCF8Jwba6xHvDHr4QbklWEbzidby-o0o,13353
@@ -490,9 +520,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
490
520
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
491
521
  claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
492
522
  claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
493
- claude_mpm-4.1.2.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
494
- claude_mpm-4.1.2.dist-info/METADATA,sha256=qezACcqEJHOfB9qlWK3gwYksOAQphYaDuINS6C-N1Ew,13327
495
- claude_mpm-4.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
496
- claude_mpm-4.1.2.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
497
- claude_mpm-4.1.2.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
498
- claude_mpm-4.1.2.dist-info/RECORD,,
523
+ claude_mpm-4.1.3.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
524
+ claude_mpm-4.1.3.dist-info/METADATA,sha256=5hgpN2Kq-uKxnidEjMePKiFSHbQAfrtuarNiw-l5mKg,13327
525
+ claude_mpm-4.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
526
+ claude_mpm-4.1.3.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
527
+ claude_mpm-4.1.3.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
528
+ claude_mpm-4.1.3.dist-info/RECORD,,
@@ -1,159 +0,0 @@
1
- """Configuration checking functionality for run commands.
2
-
3
- This module provides configuration health checking and memory validation.
4
- Extracted from run.py to reduce complexity and improve maintainability.
5
- """
6
-
7
- import os
8
- from pathlib import Path
9
-
10
- from ...core.config import Config
11
-
12
-
13
- class RunConfigChecker:
14
- """Handles configuration checking for run commands."""
15
-
16
- def __init__(self, logger):
17
- """Initialize the config checker."""
18
- self.logger = logger
19
-
20
- def check_claude_json_memory(self, args):
21
- """Check .claude.json file size and warn about memory issues.
22
-
23
- WHY: Large .claude.json files (>500KB) cause significant memory issues when
24
- using --resume. Claude Code loads the entire conversation history into
25
- memory, leading to 2GB+ memory consumption.
26
- """
27
- try:
28
- # Only check if --mpm-resume is being used
29
- if not getattr(args, "mpm_resume", False):
30
- return
31
-
32
- claude_json_path = Path.cwd() / ".claude.json"
33
- if not claude_json_path.exists():
34
- self.logger.debug("No .claude.json file found")
35
- return
36
-
37
- file_size = claude_json_path.stat().st_size
38
-
39
- def format_size(size_bytes):
40
- """Format file size in human readable format."""
41
- if size_bytes < 1024:
42
- return f"{size_bytes} B"
43
- if size_bytes < 1024 * 1024:
44
- return f"{size_bytes / 1024:.1f} KB"
45
- return f"{size_bytes / (1024 * 1024):.1f} MB"
46
-
47
- # Warn if file is larger than 500KB
48
- if file_size > 500 * 1024: # 500KB threshold
49
- print(
50
- f"\n⚠️ WARNING: Large .claude.json file detected ({format_size(file_size)})"
51
- )
52
- print(" This may cause memory issues when using --mpm-resume")
53
- print(
54
- " 💡 Consider running 'claude-mpm cleanup-memory' to archive old conversations\n"
55
- )
56
- # Just warn, don't block execution
57
-
58
- self.logger.info(f".claude.json size: {format_size(file_size)}")
59
-
60
- except Exception as e:
61
- self.logger.warning(f"Failed to check .claude.json size: {e}")
62
- # Just warn, don't block execution
63
-
64
- def check_configuration_health(self):
65
- """Check configuration health at startup and warn about issues.
66
-
67
- WHY: Configuration errors can cause silent failures, especially for response
68
- logging. This function proactively checks configuration at startup and warns
69
- users about any issues, providing actionable guidance.
70
-
71
- DESIGN DECISIONS:
72
- - Non-blocking: Issues are logged as warnings, not errors
73
- - Actionable: Provides specific commands to fix issues
74
- - Focused: Only checks critical configuration that affects runtime
75
- """
76
- try:
77
- config = Config()
78
-
79
- # Check response logging configuration
80
- response_logging = config.get("response_logging", {})
81
- if response_logging.get("enabled", False):
82
- log_dir = response_logging.get("directory")
83
- if log_dir:
84
- log_path = Path(log_dir)
85
- if not log_path.exists():
86
- self.logger.warning(
87
- f"Response logging directory does not exist: {log_path}"
88
- )
89
- print(f"⚠️ Response logging directory missing: {log_path}")
90
- print(f" Run: mkdir -p {log_path}")
91
- elif not log_path.is_dir():
92
- self.logger.warning(
93
- f"Response logging path is not a directory: {log_path}"
94
- )
95
- print(
96
- f"⚠️ Response logging path is not a directory: {log_path}"
97
- )
98
- elif not os.access(log_path, os.W_OK):
99
- self.logger.warning(
100
- f"Response logging directory is not writable: {log_path}"
101
- )
102
- print(
103
- f"⚠️ Response logging directory is not writable: {log_path}"
104
- )
105
- print(f" Run: chmod 755 {log_path}")
106
-
107
- # Check agent deployment configuration
108
- agent_deployment = config.get("agent_deployment", {})
109
- excluded_agents = agent_deployment.get("excluded_agents", [])
110
- if excluded_agents:
111
- self.logger.info(f"Agent exclusions configured: {excluded_agents}")
112
-
113
- # Check memory management configuration
114
- memory_config = config.get("memory_management", {})
115
- if memory_config.get("auto_cleanup", False):
116
- cleanup_threshold = memory_config.get("cleanup_threshold_mb", 100)
117
- if cleanup_threshold < 50:
118
- self.logger.warning(
119
- f"Memory cleanup threshold very low: {cleanup_threshold}MB"
120
- )
121
- print(
122
- f"⚠️ Memory cleanup threshold is very low: {cleanup_threshold}MB"
123
- )
124
- print(" Consider increasing to at least 50MB")
125
-
126
- # Check for common configuration issues
127
- self._check_common_config_issues(config)
128
-
129
- except Exception as e:
130
- self.logger.warning(f"Configuration health check failed: {e}")
131
- # Don't block execution for config check failures
132
-
133
- def _check_common_config_issues(self, config):
134
- """Check for common configuration issues."""
135
- try:
136
- import os
137
-
138
- # Check if config file exists and is readable
139
- config_file = config.config_file
140
- if config_file and Path(config_file).exists():
141
- if not os.access(config_file, os.R_OK):
142
- self.logger.warning(
143
- f"Configuration file is not readable: {config_file}"
144
- )
145
- print(f"⚠️ Configuration file is not readable: {config_file}")
146
- print(f" Run: chmod 644 {config_file}")
147
-
148
- # Check for deprecated configuration keys
149
- deprecated_keys = ["legacy_mode", "old_agent_format", "deprecated_logging"]
150
-
151
- for key in deprecated_keys:
152
- if config.get(key) is not None:
153
- self.logger.warning(f"Deprecated configuration key found: {key}")
154
- print(f"⚠️ Deprecated configuration key: {key}")
155
- print(" Consider removing this key from your configuration")
156
-
157
- except Exception as e:
158
- self.logger.debug(f"Common config issues check failed: {e}")
159
- # Don't propagate errors from this check