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
@@ -1,3 +1,5 @@
1
+ from pathlib import Path
2
+
1
3
  """Type definitions and utilities for Claude MPM.
2
4
 
3
5
  This module provides common type aliases, protocols, and TypedDict definitions
@@ -12,26 +14,38 @@ that allows for more flexible and maintainable type checking while maintaining
12
14
  strict type safety.
13
15
  """
14
16
 
15
- from typing import (
16
- Any, Callable, Dict, List, Optional, Union, TypeVar, Protocol,
17
- TYPE_CHECKING, Literal, Tuple, Set, Awaitable, Iterator, AsyncIterator
18
- )
19
- from typing_extensions import TypedDict, NotRequired, TypeAlias
20
- from pathlib import Path
17
+ import logging
21
18
  from datetime import datetime
22
19
  from enum import Enum
23
- import logging
20
+ from typing import (
21
+ TYPE_CHECKING,
22
+ Any,
23
+ AsyncIterator,
24
+ Awaitable,
25
+ Callable,
26
+ Dict,
27
+ Iterator,
28
+ List,
29
+ Literal,
30
+ Optional,
31
+ Protocol,
32
+ Set,
33
+ Tuple,
34
+ TypeVar,
35
+ Union,
36
+ )
37
+
38
+ from typing_extensions import NotRequired, TypeAlias, TypedDict
24
39
 
25
40
  if TYPE_CHECKING:
26
41
  from claude_mpm.core.claude_runner import ClaudeRunner
27
42
  from claude_mpm.services.socketio_server import SocketIOClientProxy
28
43
 
29
-
30
44
  # Generic type variables
31
- T = TypeVar('T')
32
- TSession = TypeVar('TSession') # Generic session type
33
- TAgent = TypeVar('TAgent') # Generic agent type
34
- TService = TypeVar('TService') # Generic service type
45
+ T = TypeVar("T")
46
+ TSession = TypeVar("TSession") # Generic session type
47
+ TAgent = TypeVar("TAgent") # Generic agent type
48
+ TService = TypeVar("TService") # Generic service type
35
49
 
36
50
  # Basic type aliases
37
51
  PathLike: TypeAlias = Union[str, Path]
@@ -43,12 +57,15 @@ LogLevel: TypeAlias = Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
43
57
 
44
58
  # Session types
45
59
  SessionId: TypeAlias = str
46
- SessionStatus: TypeAlias = Literal["initializing", "running", "stopped", "error", "completed"]
60
+ SessionStatus: TypeAlias = Literal[
61
+ "initializing", "running", "stopped", "error", "completed"
62
+ ]
47
63
  LaunchMethod: TypeAlias = Literal["exec", "subprocess", "oneshot"]
48
64
 
49
65
 
50
66
  class SessionConfig(TypedDict):
51
67
  """Configuration for a Claude session."""
68
+
52
69
  session_id: SessionId
53
70
  launch_method: LaunchMethod
54
71
  working_dir: str
@@ -62,6 +79,7 @@ class SessionConfig(TypedDict):
62
79
 
63
80
  class SessionResult(TypedDict):
64
81
  """Result from a session execution."""
82
+
65
83
  success: bool
66
84
  session_id: SessionId
67
85
  response: NotRequired[str]
@@ -73,6 +91,7 @@ class SessionResult(TypedDict):
73
91
 
74
92
  class SessionEvent(TypedDict):
75
93
  """Event logged during session execution."""
94
+
76
95
  event: str
77
96
  timestamp: datetime
78
97
  session_id: NotRequired[SessionId]
@@ -92,6 +111,7 @@ ResourceTier: TypeAlias = Literal["standard", "premium", "enterprise"]
92
111
 
93
112
  class AgentCapabilities(TypedDict):
94
113
  """Capabilities of an agent."""
114
+
95
115
  model: ModelName
96
116
  tools: NotRequired[List[str]]
97
117
  resource_tier: NotRequired[ResourceTier]
@@ -102,6 +122,7 @@ class AgentCapabilities(TypedDict):
102
122
 
103
123
  class AgentMetadata(TypedDict):
104
124
  """Metadata for an agent."""
125
+
105
126
  name: str
106
127
  description: str
107
128
  tags: NotRequired[List[str]]
@@ -112,6 +133,7 @@ class AgentMetadata(TypedDict):
112
133
 
113
134
  class AgentDefinition(TypedDict):
114
135
  """Complete agent definition."""
136
+
115
137
  agent_id: AgentId
116
138
  version: AgentVersion
117
139
  metadata: AgentMetadata
@@ -129,6 +151,7 @@ SocketId: TypeAlias = str
129
151
 
130
152
  class WebSocketMessage(TypedDict):
131
153
  """WebSocket message structure."""
154
+
132
155
  event: EventName
133
156
  data: EventData
134
157
  timestamp: NotRequired[datetime]
@@ -137,6 +160,7 @@ class WebSocketMessage(TypedDict):
137
160
 
138
161
  class ClaudeStatus(TypedDict):
139
162
  """Claude process status."""
163
+
140
164
  status: Literal["starting", "running", "stopped", "error"]
141
165
  message: str
142
166
  timestamp: NotRequired[datetime]
@@ -145,6 +169,7 @@ class ClaudeStatus(TypedDict):
145
169
 
146
170
  class DelegationInfo(TypedDict):
147
171
  """Agent delegation information."""
172
+
148
173
  agent: AgentId
149
174
  task: str
150
175
  status: Literal["detected", "started", "completed", "failed"]
@@ -160,6 +185,7 @@ HookResult: TypeAlias = Any
160
185
 
161
186
  class HookConfig(TypedDict):
162
187
  """Hook configuration."""
188
+
163
189
  name: HookName
164
190
  enabled: NotRequired[bool]
165
191
  priority: NotRequired[HookPriority]
@@ -168,6 +194,7 @@ class HookConfig(TypedDict):
168
194
 
169
195
  class HookContext(TypedDict):
170
196
  """Context passed to hook handlers."""
197
+
171
198
  hook_name: HookName
172
199
  session_id: NotRequired[SessionId]
173
200
  agent_id: NotRequired[AgentId]
@@ -181,6 +208,7 @@ ServiceStatus: TypeAlias = Literal["idle", "running", "stopped", "error"]
181
208
 
182
209
  class ServiceConfig(TypedDict):
183
210
  """Service configuration."""
211
+
184
212
  name: ServiceName
185
213
  enabled: NotRequired[bool]
186
214
  port: NotRequired[int]
@@ -190,6 +218,7 @@ class ServiceConfig(TypedDict):
190
218
 
191
219
  class ServiceInfo(TypedDict):
192
220
  """Service information."""
221
+
193
222
  name: ServiceName
194
223
  status: ServiceStatus
195
224
  uptime: NotRequired[float]
@@ -200,14 +229,21 @@ class ServiceInfo(TypedDict):
200
229
 
201
230
  # Memory types
202
231
  MemoryType: TypeAlias = Literal[
203
- "pattern", "architecture", "guideline", "mistake",
204
- "strategy", "integration", "performance", "context"
232
+ "pattern",
233
+ "architecture",
234
+ "guideline",
235
+ "mistake",
236
+ "strategy",
237
+ "integration",
238
+ "performance",
239
+ "context",
205
240
  ]
206
241
  MemoryId: TypeAlias = str
207
242
 
208
243
 
209
244
  class Memory(TypedDict):
210
245
  """Agent memory entry."""
246
+
211
247
  id: MemoryId
212
248
  type: MemoryType
213
249
  content: str
@@ -220,6 +256,7 @@ class Memory(TypedDict):
220
256
 
221
257
  class MemorySearchResult(TypedDict):
222
258
  """Result from memory search."""
259
+
223
260
  memory: Memory
224
261
  score: float
225
262
  matches: NotRequired[List[str]]
@@ -228,6 +265,7 @@ class MemorySearchResult(TypedDict):
228
265
  # Project and deployment types
229
266
  class ProjectConfig(TypedDict):
230
267
  """Project-specific configuration."""
268
+
231
269
  project_name: NotRequired[str]
232
270
  agent_deployment: NotRequired[Dict[str, Any]]
233
271
  excluded_agents: NotRequired[List[AgentId]]
@@ -239,6 +277,7 @@ class ProjectConfig(TypedDict):
239
277
 
240
278
  class DeploymentResult(TypedDict):
241
279
  """Result from agent deployment."""
280
+
242
281
  deployed: List[AgentId]
243
282
  failed: List[Tuple[AgentId, str]]
244
283
  skipped: List[AgentId]
@@ -248,6 +287,7 @@ class DeploymentResult(TypedDict):
248
287
  # Response logging types
249
288
  class ResponseLogEntry(TypedDict):
250
289
  """Entry in response log."""
290
+
251
291
  timestamp: datetime
252
292
  request_summary: str
253
293
  response_content: str
@@ -264,6 +304,7 @@ CommandArgs: TypeAlias = List[str]
264
304
 
265
305
  class CommandResult(TypedDict):
266
306
  """Result from command execution."""
307
+
267
308
  success: bool
268
309
  output: NotRequired[str]
269
310
  error: NotRequired[str]
@@ -272,18 +313,20 @@ class CommandResult(TypedDict):
272
313
 
273
314
  # Protocols for structural typing
274
315
 
316
+
275
317
  class SessionProtocol(Protocol):
276
318
  """Protocol for session handlers."""
277
-
319
+
278
320
  def initialize_session(self, prompt: str) -> Tuple[bool, Optional[str]]:
279
321
  """Initialize the session."""
280
322
  ...
281
-
282
- def execute_command(self, prompt: str, context: Optional[str],
283
- infrastructure: Dict[str, Any]) -> Tuple[bool, Optional[str]]:
323
+
324
+ def execute_command(
325
+ self, prompt: str, context: Optional[str], infrastructure: Dict[str, Any]
326
+ ) -> Tuple[bool, Optional[str]]:
284
327
  """Execute a command."""
285
328
  ...
286
-
329
+
287
330
  def cleanup_session(self) -> None:
288
331
  """Clean up the session."""
289
332
  ...
@@ -291,17 +334,17 @@ class SessionProtocol(Protocol):
291
334
 
292
335
  class LoggerProtocol(Protocol):
293
336
  """Protocol for loggers."""
294
-
295
- def log_system(self, message: str, level: LogLevel = "INFO",
296
- component: Optional[str] = None) -> None:
337
+
338
+ def log_system(
339
+ self, message: str, level: LogLevel = "INFO", component: Optional[str] = None
340
+ ) -> None:
297
341
  """Log a system message."""
298
342
  ...
299
-
300
- def log_agent(self, agent: AgentId, message: str,
301
- level: LogLevel = "INFO") -> None:
343
+
344
+ def log_agent(self, agent: AgentId, message: str, level: LogLevel = "INFO") -> None:
302
345
  """Log an agent message."""
303
346
  ...
304
-
347
+
305
348
  def get_session_summary(self) -> Dict[str, Any]:
306
349
  """Get session summary."""
307
350
  ...
@@ -309,28 +352,29 @@ class LoggerProtocol(Protocol):
309
352
 
310
353
  class WebSocketServerProtocol(Protocol):
311
354
  """Protocol for WebSocket server."""
312
-
355
+
313
356
  def start(self) -> None:
314
357
  """Start the server."""
315
358
  ...
316
-
317
- def session_started(self, session_id: SessionId, launch_method: LaunchMethod,
318
- working_dir: str) -> None:
359
+
360
+ def session_started(
361
+ self, session_id: SessionId, launch_method: LaunchMethod, working_dir: str
362
+ ) -> None:
319
363
  """Notify session start."""
320
364
  ...
321
-
365
+
322
366
  def session_ended(self) -> None:
323
367
  """Notify session end."""
324
368
  ...
325
-
369
+
326
370
  def claude_status_changed(self, status: str, message: str) -> None:
327
371
  """Update Claude status."""
328
372
  ...
329
-
373
+
330
374
  def claude_output(self, output: str, stream: Literal["stdout", "stderr"]) -> None:
331
375
  """Send Claude output."""
332
376
  ...
333
-
377
+
334
378
  def agent_delegated(self, agent: AgentId, task: str, status: str) -> None:
335
379
  """Notify agent delegation."""
336
380
  ...
@@ -338,36 +382,44 @@ class WebSocketServerProtocol(Protocol):
338
382
 
339
383
  class AgentServiceProtocol(Protocol):
340
384
  """Protocol for agent service."""
341
-
342
- def deploy_agents(self, agents: List[AgentDefinition],
343
- target_dir: PathLike) -> DeploymentResult:
385
+
386
+ def deploy_agents(
387
+ self, agents: List[AgentDefinition], target_dir: PathLike
388
+ ) -> DeploymentResult:
344
389
  """Deploy agents to target directory."""
345
390
  ...
346
-
391
+
347
392
  def discover_agents(self, tier: AgentTier) -> List[AgentDefinition]:
348
393
  """Discover agents at specified tier."""
349
394
  ...
350
-
351
- def get_agent(self, agent_id: AgentId, tier: Optional[AgentTier] = None) -> Optional[AgentDefinition]:
395
+
396
+ def get_agent(
397
+ self, agent_id: AgentId, tier: Optional[AgentTier] = None
398
+ ) -> Optional[AgentDefinition]:
352
399
  """Get specific agent."""
353
400
  ...
354
401
 
355
402
 
356
403
  class MemoryServiceProtocol(Protocol):
357
404
  """Protocol for memory service."""
358
-
405
+
359
406
  def add_memory(self, memory: Memory) -> bool:
360
407
  """Add a memory entry."""
361
408
  ...
362
-
363
- def search_memories(self, query: str, agent_id: Optional[AgentId] = None,
364
- memory_type: Optional[MemoryType] = None,
365
- limit: int = 10) -> List[MemorySearchResult]:
409
+
410
+ def search_memories(
411
+ self,
412
+ query: str,
413
+ agent_id: Optional[AgentId] = None,
414
+ memory_type: Optional[MemoryType] = None,
415
+ limit: int = 10,
416
+ ) -> List[MemorySearchResult]:
366
417
  """Search memories."""
367
418
  ...
368
-
369
- def get_relevant_memories(self, context: str, agent_id: AgentId,
370
- limit: int = 5) -> List[Memory]:
419
+
420
+ def get_relevant_memories(
421
+ self, context: str, agent_id: AgentId, limit: int = 5
422
+ ) -> List[Memory]:
371
423
  """Get relevant memories for context."""
372
424
  ...
373
425
 
@@ -377,13 +429,11 @@ SessionFactory = Callable[[Any], SessionProtocol]
377
429
  ServiceFactory = Callable[[ServiceConfig], Any]
378
430
  LoggerFactory = Callable[[str], logging.Logger]
379
431
 
380
-
381
432
  # Validation function types
382
433
  Validator = Callable[[Any], bool]
383
434
  Transformer = Callable[[T], T]
384
435
  ErrorHandler = Callable[[Exception], None]
385
436
 
386
-
387
437
  # Async types for future use
388
438
  AsyncSessionResult = Awaitable[SessionResult]
389
439
  AsyncCommandResult = Awaitable[CommandResult]
@@ -393,15 +443,15 @@ AsyncDeploymentResult = Awaitable[DeploymentResult]
393
443
  # Container/Dependency injection types
394
444
  class ServiceContainer(Protocol):
395
445
  """Protocol for service container."""
396
-
446
+
397
447
  def register(self, name: str, factory: ServiceFactory) -> None:
398
448
  """Register a service."""
399
449
  ...
400
-
450
+
401
451
  def get(self, name: str) -> Any:
402
452
  """Get a service instance."""
403
453
  ...
404
-
454
+
405
455
  def has(self, name: str) -> bool:
406
456
  """Check if service is registered."""
407
457
  ...
@@ -414,6 +464,7 @@ EventFilter = Callable[[EventData], bool]
414
464
 
415
465
  class EventSubscription(TypedDict):
416
466
  """Event subscription details."""
467
+
417
468
  event: EventName
418
469
  handler: EventHandler
419
470
  filter: NotRequired[EventFilter]
@@ -423,6 +474,7 @@ class EventSubscription(TypedDict):
423
474
  # Testing types (for test files)
424
475
  class TestFixture(TypedDict):
425
476
  """Test fixture data."""
477
+
426
478
  name: str
427
479
  data: Any
428
480
  setup: NotRequired[Callable[[], None]]
@@ -435,43 +487,75 @@ ConfigDict = Dict[str, CommonTypes]
435
487
  ErrorResult = Tuple[bool, Optional[str]]
436
488
  SuccessResult = Tuple[bool, Any]
437
489
 
438
-
439
490
  __all__ = [
440
491
  # Basic type aliases
441
- 'PathLike', 'JSONValue', 'JSONDict', 'Headers', 'ErrorCode', 'LogLevel',
442
-
492
+ "PathLike",
493
+ "JSONValue",
494
+ "JSONDict",
495
+ "Headers",
496
+ "ErrorCode",
497
+ "LogLevel",
443
498
  # Session types
444
- 'SessionId', 'SessionStatus', 'LaunchMethod', 'SessionConfig',
445
- 'SessionResult', 'SessionEvent',
446
-
499
+ "SessionId",
500
+ "SessionStatus",
501
+ "LaunchMethod",
502
+ "SessionConfig",
503
+ "SessionResult",
504
+ "SessionEvent",
447
505
  # Agent types
448
- 'AgentId', 'AgentVersion', 'AgentTier', 'ModelName', 'ResourceTier',
449
- 'AgentCapabilities', 'AgentMetadata', 'AgentDefinition',
450
-
506
+ "AgentId",
507
+ "AgentVersion",
508
+ "AgentTier",
509
+ "ModelName",
510
+ "ResourceTier",
511
+ "AgentCapabilities",
512
+ "AgentMetadata",
513
+ "AgentDefinition",
451
514
  # WebSocket types
452
- 'EventName', 'EventData', 'SocketId', 'WebSocketMessage',
453
- 'ClaudeStatus', 'DelegationInfo',
454
-
515
+ "EventName",
516
+ "EventData",
517
+ "SocketId",
518
+ "WebSocketMessage",
519
+ "ClaudeStatus",
520
+ "DelegationInfo",
455
521
  # Hook types
456
- 'HookName', 'HookPriority', 'HookResult', 'HookConfig', 'HookContext',
457
-
522
+ "HookName",
523
+ "HookPriority",
524
+ "HookResult",
525
+ "HookConfig",
526
+ "HookContext",
458
527
  # Service types
459
- 'ServiceName', 'ServiceStatus', 'ServiceConfig', 'ServiceInfo',
460
-
528
+ "ServiceName",
529
+ "ServiceStatus",
530
+ "ServiceConfig",
531
+ "ServiceInfo",
461
532
  # Memory types
462
- 'MemoryType', 'MemoryId', 'Memory', 'MemorySearchResult',
463
-
533
+ "MemoryType",
534
+ "MemoryId",
535
+ "Memory",
536
+ "MemorySearchResult",
464
537
  # Other types
465
- 'ProjectConfig', 'DeploymentResult', 'ResponseLogEntry',
466
- 'CommandName', 'CommandArgs', 'CommandResult',
467
-
538
+ "ProjectConfig",
539
+ "DeploymentResult",
540
+ "ResponseLogEntry",
541
+ "CommandName",
542
+ "CommandArgs",
543
+ "CommandResult",
468
544
  # Protocols
469
- 'SessionProtocol', 'LoggerProtocol', 'WebSocketServerProtocol',
470
- 'AgentServiceProtocol', 'MemoryServiceProtocol', 'ServiceContainer',
471
-
545
+ "SessionProtocol",
546
+ "LoggerProtocol",
547
+ "WebSocketServerProtocol",
548
+ "AgentServiceProtocol",
549
+ "MemoryServiceProtocol",
550
+ "ServiceContainer",
472
551
  # Generic type variables
473
- 'T', 'TSession', 'TAgent', 'TService',
474
-
552
+ "T",
553
+ "TSession",
554
+ "TAgent",
555
+ "TService",
475
556
  # Common combinations
476
- 'CommonTypes', 'ConfigDict', 'ErrorResult', 'SuccessResult',
477
- ]
557
+ "CommonTypes",
558
+ "ConfigDict",
559
+ "ErrorResult",
560
+ "SuccessResult",
561
+ ]