claude-mpm 3.9.11__py3-none-any.whl → 4.0.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 (419) 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 +1 -1
  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 +203 -81
  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 +305 -197
  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 +104 -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/css/dashboard.css +27 -8
  113. claude_mpm/dashboard/static/dist/components/agent-inference.js +2 -0
  114. claude_mpm/dashboard/static/dist/components/event-processor.js +2 -0
  115. claude_mpm/dashboard/static/dist/components/event-viewer.js +2 -0
  116. claude_mpm/dashboard/static/dist/components/export-manager.js +2 -0
  117. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +2 -0
  118. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +2 -0
  119. claude_mpm/dashboard/static/dist/components/hud-manager.js +2 -0
  120. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +2 -0
  121. claude_mpm/dashboard/static/dist/components/module-viewer.js +2 -0
  122. claude_mpm/dashboard/static/dist/components/session-manager.js +2 -0
  123. claude_mpm/dashboard/static/dist/components/socket-manager.js +2 -0
  124. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +2 -0
  125. claude_mpm/dashboard/static/dist/components/working-directory.js +2 -0
  126. claude_mpm/dashboard/static/dist/dashboard.js +2 -0
  127. claude_mpm/dashboard/static/dist/socket-client.js +2 -0
  128. claude_mpm/dashboard/static/js/components/agent-inference.js +80 -76
  129. claude_mpm/dashboard/static/js/components/event-processor.js +71 -67
  130. claude_mpm/dashboard/static/js/components/event-viewer.js +74 -70
  131. claude_mpm/dashboard/static/js/components/export-manager.js +31 -28
  132. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +106 -92
  133. claude_mpm/dashboard/static/js/components/hud-library-loader.js +11 -11
  134. claude_mpm/dashboard/static/js/components/hud-manager.js +73 -73
  135. claude_mpm/dashboard/static/js/components/hud-visualizer.js +163 -163
  136. claude_mpm/dashboard/static/js/components/module-viewer.js +305 -233
  137. claude_mpm/dashboard/static/js/components/session-manager.js +32 -29
  138. claude_mpm/dashboard/static/js/components/socket-manager.js +27 -20
  139. claude_mpm/dashboard/static/js/components/ui-state-manager.js +21 -18
  140. claude_mpm/dashboard/static/js/components/working-directory.js +74 -71
  141. claude_mpm/dashboard/static/js/dashboard.js +178 -453
  142. claude_mpm/dashboard/static/js/extension-error-handler.js +164 -0
  143. claude_mpm/dashboard/static/js/socket-client.js +120 -54
  144. claude_mpm/dashboard/templates/index.html +40 -50
  145. claude_mpm/experimental/cli_enhancements.py +60 -58
  146. claude_mpm/generators/__init__.py +1 -1
  147. claude_mpm/generators/agent_profile_generator.py +75 -65
  148. claude_mpm/hooks/__init__.py +1 -1
  149. claude_mpm/hooks/base_hook.py +33 -28
  150. claude_mpm/hooks/claude_hooks/__init__.py +1 -1
  151. claude_mpm/hooks/claude_hooks/connection_pool.py +120 -0
  152. claude_mpm/hooks/claude_hooks/event_handlers.py +743 -0
  153. claude_mpm/hooks/claude_hooks/hook_handler.py +415 -1331
  154. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +4 -4
  155. claude_mpm/hooks/claude_hooks/memory_integration.py +221 -0
  156. claude_mpm/hooks/claude_hooks/response_tracking.py +348 -0
  157. claude_mpm/hooks/claude_hooks/tool_analysis.py +230 -0
  158. claude_mpm/hooks/memory_integration_hook.py +140 -100
  159. claude_mpm/hooks/tool_call_interceptor.py +89 -76
  160. claude_mpm/hooks/validation_hooks.py +57 -49
  161. claude_mpm/init.py +145 -121
  162. claude_mpm/models/__init__.py +9 -9
  163. claude_mpm/models/agent_definition.py +33 -23
  164. claude_mpm/models/agent_session.py +228 -200
  165. claude_mpm/scripts/__init__.py +1 -1
  166. claude_mpm/scripts/socketio_daemon.py +192 -75
  167. claude_mpm/scripts/socketio_server_manager.py +328 -0
  168. claude_mpm/scripts/start_activity_logging.py +25 -22
  169. claude_mpm/services/__init__.py +68 -43
  170. claude_mpm/services/agent_capabilities_service.py +271 -0
  171. claude_mpm/services/agents/__init__.py +23 -32
  172. claude_mpm/services/agents/deployment/__init__.py +3 -3
  173. claude_mpm/services/agents/deployment/agent_config_provider.py +310 -0
  174. claude_mpm/services/agents/deployment/agent_configuration_manager.py +359 -0
  175. claude_mpm/services/agents/deployment/agent_definition_factory.py +84 -0
  176. claude_mpm/services/agents/deployment/agent_deployment.py +415 -2113
  177. claude_mpm/services/agents/deployment/agent_discovery_service.py +387 -0
  178. claude_mpm/services/agents/deployment/agent_environment_manager.py +293 -0
  179. claude_mpm/services/agents/deployment/agent_filesystem_manager.py +387 -0
  180. claude_mpm/services/agents/deployment/agent_format_converter.py +453 -0
  181. claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +161 -0
  182. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +345 -495
  183. claude_mpm/services/agents/deployment/agent_metrics_collector.py +279 -0
  184. claude_mpm/services/agents/deployment/agent_restore_handler.py +88 -0
  185. claude_mpm/services/agents/deployment/agent_template_builder.py +406 -0
  186. claude_mpm/services/agents/deployment/agent_validator.py +352 -0
  187. claude_mpm/services/agents/deployment/agent_version_manager.py +313 -0
  188. claude_mpm/services/agents/deployment/agent_versioning.py +6 -9
  189. claude_mpm/services/agents/deployment/agents_directory_resolver.py +79 -0
  190. claude_mpm/services/agents/deployment/async_agent_deployment.py +298 -234
  191. claude_mpm/services/agents/deployment/config/__init__.py +13 -0
  192. claude_mpm/services/agents/deployment/config/deployment_config.py +182 -0
  193. claude_mpm/services/agents/deployment/config/deployment_config_manager.py +200 -0
  194. claude_mpm/services/agents/deployment/deployment_config_loader.py +54 -0
  195. claude_mpm/services/agents/deployment/deployment_type_detector.py +124 -0
  196. claude_mpm/services/agents/deployment/facade/__init__.py +18 -0
  197. claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +159 -0
  198. claude_mpm/services/agents/deployment/facade/deployment_executor.py +73 -0
  199. claude_mpm/services/agents/deployment/facade/deployment_facade.py +270 -0
  200. claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +178 -0
  201. claude_mpm/services/agents/deployment/interface_adapter.py +227 -0
  202. claude_mpm/services/agents/deployment/lifecycle_health_checker.py +85 -0
  203. claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +100 -0
  204. claude_mpm/services/agents/deployment/pipeline/__init__.py +32 -0
  205. claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +158 -0
  206. claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +159 -0
  207. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +169 -0
  208. claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +19 -0
  209. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +195 -0
  210. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +119 -0
  211. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +79 -0
  212. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +90 -0
  213. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +100 -0
  214. claude_mpm/services/agents/deployment/processors/__init__.py +15 -0
  215. claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +98 -0
  216. claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +235 -0
  217. claude_mpm/services/agents/deployment/processors/agent_processor.py +258 -0
  218. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +318 -0
  219. claude_mpm/services/agents/deployment/results/__init__.py +13 -0
  220. claude_mpm/services/agents/deployment/results/deployment_metrics.py +200 -0
  221. claude_mpm/services/agents/deployment/results/deployment_result_builder.py +249 -0
  222. claude_mpm/services/agents/deployment/strategies/__init__.py +25 -0
  223. claude_mpm/services/agents/deployment/strategies/base_strategy.py +119 -0
  224. claude_mpm/services/agents/deployment/strategies/project_strategy.py +150 -0
  225. claude_mpm/services/agents/deployment/strategies/strategy_selector.py +117 -0
  226. claude_mpm/services/agents/deployment/strategies/system_strategy.py +116 -0
  227. claude_mpm/services/agents/deployment/strategies/user_strategy.py +137 -0
  228. claude_mpm/services/agents/deployment/system_instructions_deployer.py +108 -0
  229. claude_mpm/services/agents/deployment/validation/__init__.py +19 -0
  230. claude_mpm/services/agents/deployment/validation/agent_validator.py +323 -0
  231. claude_mpm/services/agents/deployment/validation/deployment_validator.py +238 -0
  232. claude_mpm/services/agents/deployment/validation/template_validator.py +299 -0
  233. claude_mpm/services/agents/deployment/validation/validation_result.py +226 -0
  234. claude_mpm/services/agents/loading/__init__.py +2 -2
  235. claude_mpm/services/agents/loading/agent_profile_loader.py +259 -229
  236. claude_mpm/services/agents/loading/base_agent_manager.py +90 -81
  237. claude_mpm/services/agents/loading/framework_agent_loader.py +154 -129
  238. claude_mpm/services/agents/management/__init__.py +2 -2
  239. claude_mpm/services/agents/management/agent_capabilities_generator.py +72 -58
  240. claude_mpm/services/agents/management/agent_management_service.py +209 -156
  241. claude_mpm/services/agents/memory/__init__.py +9 -6
  242. claude_mpm/services/agents/memory/agent_memory_manager.py +218 -1152
  243. claude_mpm/services/agents/memory/agent_persistence_service.py +20 -16
  244. claude_mpm/services/agents/memory/analyzer.py +430 -0
  245. claude_mpm/services/agents/memory/content_manager.py +376 -0
  246. claude_mpm/services/agents/memory/template_generator.py +468 -0
  247. claude_mpm/services/agents/registry/__init__.py +7 -10
  248. claude_mpm/services/agents/registry/deployed_agent_discovery.py +122 -97
  249. claude_mpm/services/agents/registry/modification_tracker.py +351 -285
  250. claude_mpm/services/async_session_logger.py +187 -153
  251. claude_mpm/services/claude_session_logger.py +87 -72
  252. claude_mpm/services/command_handler_service.py +217 -0
  253. claude_mpm/services/communication/__init__.py +3 -2
  254. claude_mpm/services/core/__init__.py +50 -97
  255. claude_mpm/services/core/base.py +60 -53
  256. claude_mpm/services/core/interfaces/__init__.py +188 -0
  257. claude_mpm/services/core/interfaces/agent.py +351 -0
  258. claude_mpm/services/core/interfaces/communication.py +343 -0
  259. claude_mpm/services/core/interfaces/infrastructure.py +413 -0
  260. claude_mpm/services/core/interfaces/service.py +434 -0
  261. claude_mpm/services/core/interfaces.py +19 -944
  262. claude_mpm/services/event_aggregator.py +208 -170
  263. claude_mpm/services/exceptions.py +387 -308
  264. claude_mpm/services/framework_claude_md_generator/__init__.py +75 -79
  265. claude_mpm/services/framework_claude_md_generator/content_assembler.py +69 -60
  266. claude_mpm/services/framework_claude_md_generator/content_validator.py +65 -61
  267. claude_mpm/services/framework_claude_md_generator/deployment_manager.py +68 -49
  268. claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +34 -34
  269. claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +25 -22
  270. claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +10 -10
  271. claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +4 -3
  272. claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +4 -3
  273. claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +4 -3
  274. claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +6 -5
  275. claude_mpm/services/framework_claude_md_generator/section_generators/header.py +8 -7
  276. claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +4 -3
  277. claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +6 -5
  278. claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +9 -8
  279. claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +4 -3
  280. claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +5 -4
  281. claude_mpm/services/framework_claude_md_generator/section_manager.py +28 -27
  282. claude_mpm/services/framework_claude_md_generator/version_manager.py +30 -28
  283. claude_mpm/services/hook_service.py +106 -114
  284. claude_mpm/services/infrastructure/__init__.py +7 -5
  285. claude_mpm/services/infrastructure/context_preservation.py +233 -199
  286. claude_mpm/services/infrastructure/daemon_manager.py +279 -0
  287. claude_mpm/services/infrastructure/logging.py +83 -76
  288. claude_mpm/services/infrastructure/monitoring.py +547 -404
  289. claude_mpm/services/mcp_gateway/__init__.py +30 -13
  290. claude_mpm/services/mcp_gateway/config/__init__.py +2 -2
  291. claude_mpm/services/mcp_gateway/config/config_loader.py +61 -56
  292. claude_mpm/services/mcp_gateway/config/config_schema.py +50 -41
  293. claude_mpm/services/mcp_gateway/config/configuration.py +82 -75
  294. claude_mpm/services/mcp_gateway/core/__init__.py +13 -20
  295. claude_mpm/services/mcp_gateway/core/base.py +80 -67
  296. claude_mpm/services/mcp_gateway/core/exceptions.py +60 -46
  297. claude_mpm/services/mcp_gateway/core/interfaces.py +87 -84
  298. claude_mpm/services/mcp_gateway/main.py +287 -137
  299. claude_mpm/services/mcp_gateway/registry/__init__.py +1 -1
  300. claude_mpm/services/mcp_gateway/registry/service_registry.py +97 -94
  301. claude_mpm/services/mcp_gateway/registry/tool_registry.py +135 -126
  302. claude_mpm/services/mcp_gateway/server/__init__.py +2 -2
  303. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +105 -110
  304. claude_mpm/services/mcp_gateway/server/stdio_handler.py +105 -107
  305. claude_mpm/services/mcp_gateway/server/stdio_server.py +691 -0
  306. claude_mpm/services/mcp_gateway/tools/__init__.py +4 -2
  307. claude_mpm/services/mcp_gateway/tools/base_adapter.py +109 -119
  308. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +283 -215
  309. claude_mpm/services/mcp_gateway/tools/hello_world.py +122 -120
  310. claude_mpm/services/mcp_gateway/tools/ticket_tools.py +652 -0
  311. claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +606 -0
  312. claude_mpm/services/memory/__init__.py +2 -2
  313. claude_mpm/services/memory/builder.py +451 -362
  314. claude_mpm/services/memory/cache/__init__.py +2 -2
  315. claude_mpm/services/memory/cache/shared_prompt_cache.py +232 -194
  316. claude_mpm/services/memory/cache/simple_cache.py +107 -93
  317. claude_mpm/services/memory/indexed_memory.py +195 -193
  318. claude_mpm/services/memory/optimizer.py +267 -234
  319. claude_mpm/services/memory/router.py +571 -263
  320. claude_mpm/services/memory_hook_service.py +237 -0
  321. claude_mpm/services/port_manager.py +223 -0
  322. claude_mpm/services/project/__init__.py +3 -3
  323. claude_mpm/services/project/analyzer.py +451 -305
  324. claude_mpm/services/project/registry.py +262 -240
  325. claude_mpm/services/recovery_manager.py +287 -231
  326. claude_mpm/services/response_tracker.py +87 -67
  327. claude_mpm/services/runner_configuration_service.py +587 -0
  328. claude_mpm/services/session_management_service.py +304 -0
  329. claude_mpm/services/socketio/__init__.py +4 -4
  330. claude_mpm/services/socketio/client_proxy.py +174 -0
  331. claude_mpm/services/socketio/handlers/__init__.py +3 -3
  332. claude_mpm/services/socketio/handlers/base.py +44 -30
  333. claude_mpm/services/socketio/handlers/connection.py +145 -65
  334. claude_mpm/services/socketio/handlers/file.py +123 -108
  335. claude_mpm/services/socketio/handlers/git.py +607 -373
  336. claude_mpm/services/socketio/handlers/hook.py +170 -0
  337. claude_mpm/services/socketio/handlers/memory.py +4 -4
  338. claude_mpm/services/socketio/handlers/project.py +4 -4
  339. claude_mpm/services/socketio/handlers/registry.py +53 -38
  340. claude_mpm/services/socketio/server/__init__.py +18 -0
  341. claude_mpm/services/socketio/server/broadcaster.py +252 -0
  342. claude_mpm/services/socketio/server/core.py +399 -0
  343. claude_mpm/services/socketio/server/main.py +323 -0
  344. claude_mpm/services/socketio_client_manager.py +160 -133
  345. claude_mpm/services/socketio_server.py +36 -1885
  346. claude_mpm/services/subprocess_launcher_service.py +316 -0
  347. claude_mpm/services/system_instructions_service.py +258 -0
  348. claude_mpm/services/ticket_manager.py +19 -533
  349. claude_mpm/services/utility_service.py +285 -0
  350. claude_mpm/services/version_control/__init__.py +18 -21
  351. claude_mpm/services/version_control/branch_strategy.py +20 -10
  352. claude_mpm/services/version_control/conflict_resolution.py +37 -13
  353. claude_mpm/services/version_control/git_operations.py +52 -21
  354. claude_mpm/services/version_control/semantic_versioning.py +92 -53
  355. claude_mpm/services/version_control/version_parser.py +145 -125
  356. claude_mpm/services/version_service.py +270 -0
  357. claude_mpm/storage/__init__.py +2 -2
  358. claude_mpm/storage/state_storage.py +177 -181
  359. claude_mpm/ticket_wrapper.py +2 -2
  360. claude_mpm/utils/__init__.py +2 -2
  361. claude_mpm/utils/agent_dependency_loader.py +453 -243
  362. claude_mpm/utils/config_manager.py +157 -118
  363. claude_mpm/utils/console.py +1 -1
  364. claude_mpm/utils/dependency_cache.py +102 -107
  365. claude_mpm/utils/dependency_manager.py +52 -47
  366. claude_mpm/utils/dependency_strategies.py +131 -96
  367. claude_mpm/utils/environment_context.py +110 -102
  368. claude_mpm/utils/error_handler.py +75 -55
  369. claude_mpm/utils/file_utils.py +80 -67
  370. claude_mpm/utils/framework_detection.py +12 -11
  371. claude_mpm/utils/import_migration_example.py +12 -60
  372. claude_mpm/utils/imports.py +48 -45
  373. claude_mpm/utils/path_operations.py +100 -93
  374. claude_mpm/utils/robust_installer.py +172 -164
  375. claude_mpm/utils/session_logging.py +30 -23
  376. claude_mpm/utils/subprocess_utils.py +99 -61
  377. claude_mpm/validation/__init__.py +1 -1
  378. claude_mpm/validation/agent_validator.py +151 -111
  379. claude_mpm/validation/frontmatter_validator.py +92 -71
  380. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/METADATA +27 -1
  381. claude_mpm-4.0.3.dist-info/RECORD +402 -0
  382. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/entry_points.txt +1 -0
  383. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/licenses/LICENSE +1 -1
  384. claude_mpm/cli/commands/run_guarded.py +0 -511
  385. claude_mpm/config/memory_guardian_config.py +0 -325
  386. claude_mpm/config/memory_guardian_yaml.py +0 -335
  387. claude_mpm/core/config_paths.py +0 -150
  388. claude_mpm/core/memory_aware_runner.py +0 -353
  389. claude_mpm/dashboard/static/js/dashboard-original.js +0 -4134
  390. claude_mpm/deployment_paths.py +0 -261
  391. claude_mpm/hooks/claude_hooks/hook_handler_fixed.py +0 -454
  392. claude_mpm/models/state_models.py +0 -433
  393. claude_mpm/services/agent/__init__.py +0 -24
  394. claude_mpm/services/agent/deployment.py +0 -2548
  395. claude_mpm/services/agent/management.py +0 -598
  396. claude_mpm/services/agent/registry.py +0 -813
  397. claude_mpm/services/agents/registry/agent_registry.py +0 -813
  398. claude_mpm/services/communication/socketio.py +0 -1935
  399. claude_mpm/services/communication/websocket.py +0 -479
  400. claude_mpm/services/framework_claude_md_generator.py +0 -624
  401. claude_mpm/services/health_monitor.py +0 -893
  402. claude_mpm/services/infrastructure/graceful_degradation.py +0 -616
  403. claude_mpm/services/infrastructure/health_monitor.py +0 -775
  404. claude_mpm/services/infrastructure/memory_dashboard.py +0 -479
  405. claude_mpm/services/infrastructure/memory_guardian.py +0 -944
  406. claude_mpm/services/infrastructure/restart_protection.py +0 -642
  407. claude_mpm/services/infrastructure/state_manager.py +0 -774
  408. claude_mpm/services/mcp_gateway/manager.py +0 -334
  409. claude_mpm/services/optimized_hook_service.py +0 -542
  410. claude_mpm/services/project_analyzer.py +0 -864
  411. claude_mpm/services/project_registry.py +0 -608
  412. claude_mpm/services/standalone_socketio_server.py +0 -1300
  413. claude_mpm/services/ticket_manager_di.py +0 -318
  414. claude_mpm/services/ticketing_service_original.py +0 -510
  415. claude_mpm/utils/paths.py +0 -395
  416. claude_mpm/utils/platform_memory.py +0 -524
  417. claude_mpm-3.9.11.dist-info/RECORD +0 -306
  418. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/WHEEL +0 -0
  419. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.3.dist-info}/top_level.txt +0 -0
@@ -9,115 +9,68 @@ and implement the appropriate interfaces.
9
9
  Part of TSK-0046: Service Layer Architecture Reorganization
10
10
  """
11
11
 
12
- from .interfaces import (
13
- # Core dependency injection
14
- IServiceContainer,
15
- ServiceType,
16
-
17
- # Configuration management
18
- IConfigurationService,
19
- IConfigurationManager,
20
-
21
- # Agent management
22
- IAgentRegistry,
12
+ from .base import BaseService, SingletonService, SyncBaseService
13
+ from .interfaces import ( # Core dependency injection; Configuration management; Agent management; Health monitoring; Caching; Template management; Factory patterns; Event system; Logging; Service lifecycle; Error handling; Performance monitoring; Cache service; Agent deployment; Memory service; Hook service; SocketIO service; Project analyzer; Ticket manager; Interface registry
14
+ AgentDeploymentInterface,
23
15
  AgentMetadata,
24
-
25
- # Health monitoring
26
- IHealthMonitor,
16
+ CacheEntry,
27
17
  HealthStatus,
28
-
29
- # Caching
18
+ HookServiceInterface,
19
+ IAgentRegistry,
20
+ ICacheService,
21
+ IConfigurationManager,
22
+ IConfigurationService,
23
+ IErrorHandler,
24
+ IEventBus,
25
+ IHealthMonitor,
26
+ InterfaceRegistry,
27
+ IPerformanceMonitor,
30
28
  IPromptCache,
31
- CacheEntry,
32
-
33
- # Template management
34
- ITemplateManager,
35
- TemplateRenderContext,
36
-
37
- # Factory patterns
29
+ IServiceContainer,
38
30
  IServiceFactory,
39
-
40
- # Event system
41
- IEventBus,
42
-
43
- # Logging
44
- IStructuredLogger,
45
-
46
- # Service lifecycle
47
31
  IServiceLifecycle,
48
-
49
- # Error handling
50
- IErrorHandler,
51
-
52
- # Performance monitoring
53
- IPerformanceMonitor,
54
-
55
- # Cache service
56
- ICacheService,
57
-
58
- # Agent deployment
59
- AgentDeploymentInterface,
60
-
61
- # Memory service
32
+ IStructuredLogger,
33
+ ITemplateManager,
62
34
  MemoryServiceInterface,
63
-
64
- # Hook service
65
- HookServiceInterface,
66
-
67
- # SocketIO service
68
- SocketIOServiceInterface,
69
-
70
- # Project analyzer
71
35
  ProjectAnalyzerInterface,
72
-
73
- # Ticket manager
36
+ ServiceType,
37
+ SocketIOServiceInterface,
38
+ TemplateRenderContext,
74
39
  TicketManagerInterface,
75
-
76
- # Interface registry
77
- InterfaceRegistry,
78
- )
79
-
80
- from .base import (
81
- BaseService,
82
- SyncBaseService,
83
- SingletonService,
84
40
  )
85
41
 
86
42
  __all__ = [
87
43
  # Core interfaces
88
- 'IServiceContainer',
89
- 'ServiceType',
90
- 'IConfigurationService',
91
- 'IConfigurationManager',
92
- 'IAgentRegistry',
93
- 'AgentMetadata',
94
- 'IHealthMonitor',
95
- 'HealthStatus',
96
- 'IPromptCache',
97
- 'CacheEntry',
98
- 'ITemplateManager',
99
- 'TemplateRenderContext',
100
- 'IServiceFactory',
101
- 'IEventBus',
102
- 'IStructuredLogger',
103
- 'IServiceLifecycle',
104
- 'IErrorHandler',
105
- 'IPerformanceMonitor',
106
- 'ICacheService',
107
-
44
+ "IServiceContainer",
45
+ "ServiceType",
46
+ "IConfigurationService",
47
+ "IConfigurationManager",
48
+ "IAgentRegistry",
49
+ "AgentMetadata",
50
+ "IHealthMonitor",
51
+ "HealthStatus",
52
+ "IPromptCache",
53
+ "CacheEntry",
54
+ "ITemplateManager",
55
+ "TemplateRenderContext",
56
+ "IServiceFactory",
57
+ "IEventBus",
58
+ "IStructuredLogger",
59
+ "IServiceLifecycle",
60
+ "IErrorHandler",
61
+ "IPerformanceMonitor",
62
+ "ICacheService",
108
63
  # Service interfaces
109
- 'AgentDeploymentInterface',
110
- 'MemoryServiceInterface',
111
- 'HookServiceInterface',
112
- 'SocketIOServiceInterface',
113
- 'ProjectAnalyzerInterface',
114
- 'TicketManagerInterface',
115
-
64
+ "AgentDeploymentInterface",
65
+ "MemoryServiceInterface",
66
+ "HookServiceInterface",
67
+ "SocketIOServiceInterface",
68
+ "ProjectAnalyzerInterface",
69
+ "TicketManagerInterface",
116
70
  # Registry
117
- 'InterfaceRegistry',
118
-
71
+ "InterfaceRegistry",
119
72
  # Base classes
120
- 'BaseService',
121
- 'SyncBaseService',
122
- 'SingletonService',
123
- ]
73
+ "BaseService",
74
+ "SyncBaseService",
75
+ "SingletonService",
76
+ ]
@@ -9,10 +9,9 @@ and lifecycle management.
9
9
  Part of TSK-0046: Service Layer Architecture Reorganization
10
10
  """
11
11
 
12
+ import logging
12
13
  from abc import ABC, abstractmethod
13
14
  from typing import Any, Dict, Optional
14
- import logging
15
- from pathlib import Path
16
15
 
17
16
  from claude_mpm.core.logger import get_logger
18
17
 
@@ -20,18 +19,22 @@ from claude_mpm.core.logger import get_logger
20
19
  class BaseService(ABC):
21
20
  """
22
21
  Base class for all services in the Claude MPM framework.
23
-
22
+
24
23
  Provides:
25
24
  - Logging setup
26
25
  - Configuration access
27
26
  - Lifecycle management
28
27
  - Common error handling patterns
29
28
  """
30
-
31
- def __init__(self, service_name: Optional[str] = None, config: Optional[Dict[str, Any]] = None):
29
+
30
+ def __init__(
31
+ self,
32
+ service_name: Optional[str] = None,
33
+ config: Optional[Dict[str, Any]] = None,
34
+ ):
32
35
  """
33
36
  Initialize base service.
34
-
37
+
35
38
  Args:
36
39
  service_name: Name of the service for logging
37
40
  config: Service-specific configuration
@@ -41,78 +44,78 @@ class BaseService(ABC):
41
44
  self._config = config or {}
42
45
  self._initialized = False
43
46
  self._shutdown = False
44
-
47
+
45
48
  @abstractmethod
46
49
  async def initialize(self) -> bool:
47
50
  """
48
51
  Initialize the service.
49
-
52
+
50
53
  This method should be called before the service is used.
51
54
  Implementations should set up any required resources.
52
-
55
+
53
56
  Returns:
54
57
  True if initialization successful, False otherwise
55
58
  """
56
59
  pass
57
-
60
+
58
61
  @abstractmethod
59
62
  async def shutdown(self) -> None:
60
63
  """
61
64
  Shutdown the service gracefully.
62
-
65
+
63
66
  This method should clean up any resources held by the service.
64
67
  """
65
68
  pass
66
-
69
+
67
70
  def get_config(self, key: str, default: Any = None) -> Any:
68
71
  """
69
72
  Get configuration value.
70
-
73
+
71
74
  Args:
72
75
  key: Configuration key
73
76
  default: Default value if key not found
74
-
77
+
75
78
  Returns:
76
79
  Configuration value or default
77
80
  """
78
81
  return self._config.get(key, default)
79
-
82
+
80
83
  def set_config(self, key: str, value: Any) -> None:
81
84
  """
82
85
  Set configuration value.
83
-
86
+
84
87
  Args:
85
88
  key: Configuration key
86
89
  value: Configuration value
87
90
  """
88
91
  self._config[key] = value
89
-
92
+
90
93
  @property
91
94
  def is_initialized(self) -> bool:
92
95
  """Check if service is initialized."""
93
96
  return self._initialized
94
-
97
+
95
98
  @property
96
99
  def is_shutdown(self) -> bool:
97
100
  """Check if service is shutdown."""
98
101
  return self._shutdown
99
-
102
+
100
103
  def log_debug(self, message: str, **kwargs) -> None:
101
104
  """Log debug message."""
102
105
  self.logger.debug(f"[{self.service_name}] {message}", **kwargs)
103
-
106
+
104
107
  def log_info(self, message: str, **kwargs) -> None:
105
108
  """Log info message."""
106
109
  self.logger.info(f"[{self.service_name}] {message}", **kwargs)
107
-
110
+
108
111
  def log_warning(self, message: str, **kwargs) -> None:
109
112
  """Log warning message."""
110
113
  self.logger.warning(f"[{self.service_name}] {message}", **kwargs)
111
-
114
+
112
115
  def log_error(self, message: str, **kwargs) -> None:
113
116
  """Log error message."""
114
117
  self.logger.error(f"[{self.service_name}] {message}", **kwargs)
115
-
118
+
116
119
  def log_critical(self, message: str, **kwargs) -> None:
117
120
  """Log critical message."""
118
121
  self.logger.critical(f"[{self.service_name}] {message}", **kwargs)
@@ -121,14 +124,18 @@ class BaseService(ABC):
121
124
  class SyncBaseService(ABC):
122
125
  """
123
126
  Base class for synchronous services in the Claude MPM framework.
124
-
127
+
125
128
  Similar to BaseService but for services that don't require async operations.
126
129
  """
127
-
128
- def __init__(self, service_name: Optional[str] = None, config: Optional[Dict[str, Any]] = None):
130
+
131
+ def __init__(
132
+ self,
133
+ service_name: Optional[str] = None,
134
+ config: Optional[Dict[str, Any]] = None,
135
+ ):
129
136
  """
130
137
  Initialize base service.
131
-
138
+
132
139
  Args:
133
140
  service_name: Name of the service for logging
134
141
  config: Service-specific configuration
@@ -138,78 +145,78 @@ class SyncBaseService(ABC):
138
145
  self._config = config or {}
139
146
  self._initialized = False
140
147
  self._shutdown = False
141
-
148
+
142
149
  @abstractmethod
143
150
  def initialize(self) -> bool:
144
151
  """
145
152
  Initialize the service.
146
-
153
+
147
154
  This method should be called before the service is used.
148
155
  Implementations should set up any required resources.
149
-
156
+
150
157
  Returns:
151
158
  True if initialization successful, False otherwise
152
159
  """
153
160
  pass
154
-
161
+
155
162
  @abstractmethod
156
163
  def shutdown(self) -> None:
157
164
  """
158
165
  Shutdown the service gracefully.
159
-
166
+
160
167
  This method should clean up any resources held by the service.
161
168
  """
162
169
  pass
163
-
170
+
164
171
  def get_config(self, key: str, default: Any = None) -> Any:
165
172
  """
166
173
  Get configuration value.
167
-
174
+
168
175
  Args:
169
176
  key: Configuration key
170
177
  default: Default value if key not found
171
-
178
+
172
179
  Returns:
173
180
  Configuration value or default
174
181
  """
175
182
  return self._config.get(key, default)
176
-
183
+
177
184
  def set_config(self, key: str, value: Any) -> None:
178
185
  """
179
186
  Set configuration value.
180
-
187
+
181
188
  Args:
182
189
  key: Configuration key
183
190
  value: Configuration value
184
191
  """
185
192
  self._config[key] = value
186
-
193
+
187
194
  @property
188
195
  def is_initialized(self) -> bool:
189
196
  """Check if service is initialized."""
190
197
  return self._initialized
191
-
198
+
192
199
  @property
193
200
  def is_shutdown(self) -> bool:
194
201
  """Check if service is shutdown."""
195
202
  return self._shutdown
196
-
203
+
197
204
  def log_debug(self, message: str, **kwargs) -> None:
198
205
  """Log debug message."""
199
206
  self.logger.debug(f"[{self.service_name}] {message}", **kwargs)
200
-
207
+
201
208
  def log_info(self, message: str, **kwargs) -> None:
202
209
  """Log info message."""
203
210
  self.logger.info(f"[{self.service_name}] {message}", **kwargs)
204
-
211
+
205
212
  def log_warning(self, message: str, **kwargs) -> None:
206
213
  """Log warning message."""
207
214
  self.logger.warning(f"[{self.service_name}] {message}", **kwargs)
208
-
215
+
209
216
  def log_error(self, message: str, **kwargs) -> None:
210
217
  """Log error message."""
211
218
  self.logger.error(f"[{self.service_name}] {message}", **kwargs)
212
-
219
+
213
220
  def log_critical(self, message: str, **kwargs) -> None:
214
221
  """Log critical message."""
215
222
  self.logger.critical(f"[{self.service_name}] {message}", **kwargs)
@@ -218,30 +225,30 @@ class SyncBaseService(ABC):
218
225
  class SingletonService(SyncBaseService):
219
226
  """
220
227
  Base class for singleton services.
221
-
228
+
222
229
  Ensures only one instance of the service exists.
223
230
  """
224
-
225
- _instances: Dict[type, 'SingletonService'] = {}
226
-
231
+
232
+ _instances: Dict[type, "SingletonService"] = {}
233
+
227
234
  def __new__(cls, *args, **kwargs):
228
235
  """Ensure only one instance exists."""
229
236
  if cls not in cls._instances:
230
237
  cls._instances[cls] = super().__new__(cls)
231
238
  return cls._instances[cls]
232
-
239
+
233
240
  @classmethod
234
- def get_instance(cls) -> 'SingletonService':
241
+ def get_instance(cls) -> "SingletonService":
235
242
  """Get the singleton instance."""
236
243
  if cls not in cls._instances:
237
244
  cls._instances[cls] = cls()
238
245
  return cls._instances[cls]
239
-
246
+
240
247
  @classmethod
241
248
  def clear_instance(cls) -> None:
242
249
  """Clear the singleton instance (useful for testing)."""
243
250
  if cls in cls._instances:
244
251
  instance = cls._instances[cls]
245
- if hasattr(instance, 'shutdown') and not instance.is_shutdown:
252
+ if hasattr(instance, "shutdown") and not instance.is_shutdown:
246
253
  instance.shutdown()
247
- del cls._instances[cls]
254
+ del cls._instances[cls]
@@ -0,0 +1,188 @@
1
+ """
2
+ Core Interfaces Package for Claude MPM Framework
3
+ ===============================================
4
+
5
+ WHY: This package contains the modular interface definitions that were extracted
6
+ from the monolithic interfaces.py file. The interfaces are now organized by
7
+ domain for better maintainability and discoverability.
8
+
9
+ DESIGN DECISION: Interfaces are grouped by domain (infrastructure, agent, service,
10
+ communication) rather than alphabetically to create logical cohesion and make
11
+ it easier to understand the system architecture.
12
+
13
+ REFACTORING IMPACT:
14
+ - Original interfaces.py: 1,437 lines with 34 classes
15
+ - Split into 4 focused modules: ~1,200 lines total
16
+ - Improved organization and maintainability
17
+ - Preserved all original functionality through re-exports
18
+
19
+ MODULES:
20
+ - infrastructure.py: Core framework services (DI, config, caching, health)
21
+ - agent.py: Agent management, deployment, and capabilities
22
+ - service.py: Business services (memory, hooks, utilities)
23
+ - communication.py: External communication (WebSocket, project analysis, tickets)
24
+ """
25
+
26
+ # Agent interfaces (agent management and operations)
27
+ from .agent import ( # Agent registry; Agent deployment; Agent capabilities; System instructions; Subprocess management; Runner configuration
28
+ AgentCapabilitiesInterface,
29
+ AgentDeploymentInterface,
30
+ AgentMetadata,
31
+ IAgentRegistry,
32
+ RunnerConfigurationInterface,
33
+ SubprocessLauncherInterface,
34
+ SystemInstructionsInterface,
35
+ )
36
+
37
+ # Communication interfaces (external services)
38
+ from .communication import ( # WebSocket/SocketIO; Project analysis; Ticket management
39
+ ProjectAnalyzerInterface,
40
+ SocketIOServiceInterface,
41
+ TicketManagerInterface,
42
+ )
43
+
44
+ # Infrastructure interfaces (core framework services)
45
+ from .infrastructure import ( # Type variables; Core dependency injection; Configuration management; Caching; Health monitoring; Template management; Service factory; Logging; Service lifecycle; Error handling; Performance monitoring; Event system
46
+ CacheEntry,
47
+ HealthStatus,
48
+ ICacheService,
49
+ IConfigurationManager,
50
+ IConfigurationService,
51
+ IErrorHandler,
52
+ IEventBus,
53
+ IHealthMonitor,
54
+ IPerformanceMonitor,
55
+ IPromptCache,
56
+ IServiceContainer,
57
+ IServiceFactory,
58
+ IServiceLifecycle,
59
+ IStructuredLogger,
60
+ ITemplateManager,
61
+ ServiceType,
62
+ T,
63
+ TemplateRenderContext,
64
+ )
65
+
66
+ # Service interfaces (business services)
67
+ from .service import ( # Version service; Command handling; Memory management; Session management; Utilities; Hook service
68
+ CommandHandlerInterface,
69
+ HookServiceInterface,
70
+ MemoryHookInterface,
71
+ MemoryServiceInterface,
72
+ SessionManagementInterface,
73
+ UtilityServiceInterface,
74
+ VersionServiceInterface,
75
+ )
76
+
77
+
78
+ # Interface registry for dependency injection discovery
79
+ class InterfaceRegistry:
80
+ """Registry of all core interfaces for dependency injection.
81
+
82
+ WHY: Provides a centralized registry for interface discovery and
83
+ dependency injection container registration. This enables dynamic
84
+ service discovery and loose coupling between components.
85
+ """
86
+
87
+ _interfaces = {
88
+ # Infrastructure interfaces
89
+ "service_container": IServiceContainer,
90
+ "configuration_service": IConfigurationService,
91
+ "configuration_manager": IConfigurationManager,
92
+ "cache_service": ICacheService,
93
+ "prompt_cache": IPromptCache,
94
+ "health_monitor": IHealthMonitor,
95
+ "template_manager": ITemplateManager,
96
+ "service_factory": IServiceFactory,
97
+ "structured_logger": IStructuredLogger,
98
+ "service_lifecycle": IServiceLifecycle,
99
+ "error_handler": IErrorHandler,
100
+ "performance_monitor": IPerformanceMonitor,
101
+ "event_bus": IEventBus,
102
+ # Agent interfaces
103
+ "agent_registry": IAgentRegistry,
104
+ "agent_deployment": AgentDeploymentInterface,
105
+ "agent_capabilities": AgentCapabilitiesInterface,
106
+ "system_instructions": SystemInstructionsInterface,
107
+ "subprocess_launcher": SubprocessLauncherInterface,
108
+ "runner_configuration": RunnerConfigurationInterface,
109
+ # Service interfaces
110
+ "version_service": VersionServiceInterface,
111
+ "command_handler": CommandHandlerInterface,
112
+ "memory_hook": MemoryHookInterface,
113
+ "memory_service": MemoryServiceInterface,
114
+ "session_management": SessionManagementInterface,
115
+ "utility_service": UtilityServiceInterface,
116
+ "hook_service": HookServiceInterface,
117
+ # Communication interfaces
118
+ "socketio_service": SocketIOServiceInterface,
119
+ "project_analyzer": ProjectAnalyzerInterface,
120
+ "ticket_manager": TicketManagerInterface,
121
+ }
122
+
123
+ @classmethod
124
+ def get_interface(cls, name: str):
125
+ """Get interface by name."""
126
+ return cls._interfaces.get(name)
127
+
128
+ @classmethod
129
+ def get_all_interfaces(cls):
130
+ """Get all registered interfaces."""
131
+ return cls._interfaces.copy()
132
+
133
+ @classmethod
134
+ def register_interface(cls, name: str, interface_class):
135
+ """Register a new interface."""
136
+ cls._interfaces[name] = interface_class
137
+
138
+ @classmethod
139
+ def list_interface_names(cls):
140
+ """Get list of all interface names."""
141
+ return list(cls._interfaces.keys())
142
+
143
+
144
+ # Re-export everything for backward compatibility
145
+ __all__ = [
146
+ # Type variables
147
+ "T",
148
+ "ServiceType",
149
+ # Infrastructure interfaces
150
+ "IServiceContainer",
151
+ "IConfigurationService",
152
+ "IConfigurationManager",
153
+ "ICacheService",
154
+ "IPromptCache",
155
+ "CacheEntry",
156
+ "IHealthMonitor",
157
+ "HealthStatus",
158
+ "ITemplateManager",
159
+ "TemplateRenderContext",
160
+ "IServiceFactory",
161
+ "IStructuredLogger",
162
+ "IServiceLifecycle",
163
+ "IErrorHandler",
164
+ "IPerformanceMonitor",
165
+ "IEventBus",
166
+ # Agent interfaces
167
+ "IAgentRegistry",
168
+ "AgentMetadata",
169
+ "AgentDeploymentInterface",
170
+ "AgentCapabilitiesInterface",
171
+ "SystemInstructionsInterface",
172
+ "SubprocessLauncherInterface",
173
+ "RunnerConfigurationInterface",
174
+ # Service interfaces
175
+ "VersionServiceInterface",
176
+ "CommandHandlerInterface",
177
+ "MemoryHookInterface",
178
+ "MemoryServiceInterface",
179
+ "SessionManagementInterface",
180
+ "UtilityServiceInterface",
181
+ "HookServiceInterface",
182
+ # Communication interfaces
183
+ "SocketIOServiceInterface",
184
+ "ProjectAnalyzerInterface",
185
+ "TicketManagerInterface",
186
+ # Registry
187
+ "InterfaceRegistry",
188
+ ]