claude-mpm 4.21.0__py3-none-any.whl → 5.0.2__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 (497) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +12 -0
  3. claude_mpm/agents/OUTPUT_STYLE.md +3 -48
  4. claude_mpm/agents/PM_INSTRUCTIONS.md +632 -334
  5. claude_mpm/agents/WORKFLOW.md +75 -2
  6. claude_mpm/agents/__init__.py +6 -0
  7. claude_mpm/agents/agent_loader.py +1 -4
  8. claude_mpm/agents/base_agent.json +6 -3
  9. claude_mpm/agents/frontmatter_validator.py +1 -1
  10. claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +370 -3
  11. claude_mpm/agents/templates/context-management-examples.md +544 -0
  12. claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +89 -19
  13. claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
  14. claude_mpm/agents/templates/research-gate-examples.md +669 -0
  15. claude_mpm/agents/templates/structured-questions-examples.md +615 -0
  16. claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
  17. claude_mpm/agents/templates/ticketing-examples.md +277 -0
  18. claude_mpm/cli/__init__.py +38 -2
  19. claude_mpm/cli/commands/agent_source.py +774 -0
  20. claude_mpm/cli/commands/agent_state_manager.py +125 -20
  21. claude_mpm/cli/commands/agents.py +684 -13
  22. claude_mpm/cli/commands/agents_cleanup.py +210 -0
  23. claude_mpm/cli/commands/agents_discover.py +338 -0
  24. claude_mpm/cli/commands/aggregate.py +1 -1
  25. claude_mpm/cli/commands/analyze.py +3 -3
  26. claude_mpm/cli/commands/auto_configure.py +2 -6
  27. claude_mpm/cli/commands/cleanup.py +1 -1
  28. claude_mpm/cli/commands/config.py +7 -4
  29. claude_mpm/cli/commands/configure.py +478 -44
  30. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  31. claude_mpm/cli/commands/configure_navigation.py +63 -46
  32. claude_mpm/cli/commands/debug.py +12 -12
  33. claude_mpm/cli/commands/doctor.py +10 -2
  34. claude_mpm/cli/commands/hook_errors.py +277 -0
  35. claude_mpm/cli/commands/local_deploy.py +1 -4
  36. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  37. claude_mpm/cli/commands/mpm_init/core.py +50 -2
  38. claude_mpm/cli/commands/mpm_init/git_activity.py +10 -10
  39. claude_mpm/cli/commands/mpm_init/prompts.py +6 -6
  40. claude_mpm/cli/commands/run.py +124 -128
  41. claude_mpm/cli/commands/skill_source.py +694 -0
  42. claude_mpm/cli/commands/skills.py +435 -1
  43. claude_mpm/cli/executor.py +78 -3
  44. claude_mpm/cli/interactive/agent_wizard.py +919 -41
  45. claude_mpm/cli/parsers/agent_source_parser.py +171 -0
  46. claude_mpm/cli/parsers/agents_parser.py +173 -4
  47. claude_mpm/cli/parsers/base_parser.py +49 -0
  48. claude_mpm/cli/parsers/config_parser.py +96 -43
  49. claude_mpm/cli/parsers/skill_source_parser.py +169 -0
  50. claude_mpm/cli/parsers/skills_parser.py +138 -0
  51. claude_mpm/cli/parsers/source_parser.py +138 -0
  52. claude_mpm/cli/startup.py +499 -84
  53. claude_mpm/cli/startup_display.py +480 -0
  54. claude_mpm/cli/utils.py +1 -1
  55. claude_mpm/cli_module/commands.py +1 -1
  56. claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
  57. claude_mpm/commands/mpm-agents-detect.md +9 -0
  58. claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
  59. claude_mpm/commands/mpm-agents-recommend.md +9 -0
  60. claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
  61. claude_mpm/commands/mpm-doctor.md +9 -0
  62. claude_mpm/commands/mpm-help.md +14 -2
  63. claude_mpm/commands/mpm-init.md +27 -2
  64. claude_mpm/commands/mpm-monitor.md +9 -0
  65. claude_mpm/commands/mpm-session-resume.md +381 -0
  66. claude_mpm/commands/mpm-status.md +9 -0
  67. claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
  68. claude_mpm/commands/mpm-ticket-view.md +552 -0
  69. claude_mpm/commands/mpm-version.md +9 -0
  70. claude_mpm/commands/mpm.md +11 -0
  71. claude_mpm/config/agent_presets.py +258 -0
  72. claude_mpm/config/agent_sources.py +325 -0
  73. claude_mpm/config/skill_sources.py +590 -0
  74. claude_mpm/constants.py +12 -0
  75. claude_mpm/core/api_validator.py +1 -1
  76. claude_mpm/core/claude_runner.py +17 -10
  77. claude_mpm/core/config.py +24 -0
  78. claude_mpm/core/constants.py +1 -1
  79. claude_mpm/core/framework/__init__.py +3 -16
  80. claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
  81. claude_mpm/core/framework/processors/metadata_processor.py +1 -1
  82. claude_mpm/core/hook_error_memory.py +381 -0
  83. claude_mpm/core/hook_manager.py +41 -2
  84. claude_mpm/core/interactive_session.py +112 -5
  85. claude_mpm/core/logger.py +3 -1
  86. claude_mpm/core/oneshot_session.py +94 -4
  87. claude_mpm/dashboard/static/css/activity.css +69 -69
  88. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  89. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  90. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  91. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  92. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  93. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  94. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  95. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  96. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  97. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  98. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  99. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  100. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  101. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  102. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  103. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  104. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  105. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  106. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  107. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  108. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  109. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  110. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  111. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  112. claude_mpm/dashboard/templates/code_simple.html +23 -23
  113. claude_mpm/dashboard/templates/index.html +18 -18
  114. claude_mpm/experimental/cli_enhancements.py +1 -5
  115. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  116. claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
  117. claude_mpm/hooks/claude_hooks/installer.py +45 -0
  118. claude_mpm/hooks/failure_learning/__init__.py +2 -8
  119. claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
  120. claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
  121. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
  122. claude_mpm/hooks/kuzu_response_hook.py +1 -5
  123. claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
  124. claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
  125. claude_mpm/models/git_repository.py +198 -0
  126. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  127. claude_mpm/scripts/start_activity_logging.py +3 -1
  128. claude_mpm/services/agents/agent_builder.py +45 -9
  129. claude_mpm/services/agents/agent_preset_service.py +238 -0
  130. claude_mpm/services/agents/agent_selection_service.py +484 -0
  131. claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
  132. claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
  133. claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
  134. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  135. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
  136. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  137. claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
  138. claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
  139. claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
  140. claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
  141. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  142. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
  143. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  144. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
  145. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
  146. claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
  147. claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
  148. claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
  149. claude_mpm/services/agents/git_source_manager.py +629 -0
  150. claude_mpm/services/agents/loading/framework_agent_loader.py +9 -12
  151. claude_mpm/services/agents/local_template_manager.py +50 -10
  152. claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
  153. claude_mpm/services/agents/sources/__init__.py +13 -0
  154. claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
  155. claude_mpm/services/agents/sources/git_source_sync_service.py +1055 -0
  156. claude_mpm/services/agents/startup_sync.py +239 -0
  157. claude_mpm/services/agents/toolchain_detector.py +474 -0
  158. claude_mpm/services/cli/session_pause_manager.py +1 -1
  159. claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
  160. claude_mpm/services/command_deployment_service.py +92 -1
  161. claude_mpm/services/core/base.py +26 -11
  162. claude_mpm/services/core/interfaces/__init__.py +1 -3
  163. claude_mpm/services/core/interfaces/health.py +1 -4
  164. claude_mpm/services/core/models/__init__.py +2 -11
  165. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  166. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  167. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  168. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  169. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  170. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  171. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  172. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  173. claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
  174. claude_mpm/services/event_bus/direct_relay.py +3 -3
  175. claude_mpm/services/event_bus/event_bus.py +36 -3
  176. claude_mpm/services/event_bus/relay.py +23 -7
  177. claude_mpm/services/events/consumers/logging.py +1 -2
  178. claude_mpm/services/git/__init__.py +21 -0
  179. claude_mpm/services/git/git_operations_service.py +494 -0
  180. claude_mpm/services/github/__init__.py +21 -0
  181. claude_mpm/services/github/github_cli_service.py +397 -0
  182. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  183. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  184. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  185. claude_mpm/services/instructions/__init__.py +9 -0
  186. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  187. claude_mpm/services/local_ops/__init__.py +3 -13
  188. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  189. claude_mpm/services/local_ops/health_manager.py +1 -4
  190. claude_mpm/services/local_ops/process_manager.py +1 -1
  191. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  192. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  193. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  194. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  195. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  196. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  197. claude_mpm/services/memory/failure_tracker.py +19 -4
  198. claude_mpm/services/memory/optimizer.py +1 -1
  199. claude_mpm/services/model/model_router.py +8 -9
  200. claude_mpm/services/monitor/daemon.py +1 -1
  201. claude_mpm/services/monitor/server.py +2 -2
  202. claude_mpm/services/native_agent_converter.py +356 -0
  203. claude_mpm/services/port_manager.py +1 -1
  204. claude_mpm/services/pr/__init__.py +14 -0
  205. claude_mpm/services/pr/pr_template_service.py +329 -0
  206. claude_mpm/services/project/documentation_manager.py +2 -1
  207. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  208. claude_mpm/services/runner_configuration_service.py +1 -0
  209. claude_mpm/services/self_upgrade_service.py +165 -7
  210. claude_mpm/services/skills/__init__.py +18 -0
  211. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  212. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  213. claude_mpm/services/skills_config.py +547 -0
  214. claude_mpm/services/skills_deployer.py +955 -0
  215. claude_mpm/services/socketio/handlers/connection.py +1 -1
  216. claude_mpm/services/socketio/handlers/git.py +2 -2
  217. claude_mpm/services/socketio/server/core.py +1 -4
  218. claude_mpm/services/socketio/server/main.py +1 -3
  219. claude_mpm/services/system_instructions_service.py +1 -3
  220. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  221. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  222. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  223. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  224. claude_mpm/services/unified/unified_deployment.py +1 -5
  225. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  226. claude_mpm/services/visualization/__init__.py +1 -5
  227. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  228. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  229. claude_mpm/skills/bundled/performance-profiling.md +6 -0
  230. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
  231. claude_mpm/skills/skills_registry.py +0 -1
  232. claude_mpm/templates/questions/__init__.py +38 -0
  233. claude_mpm/templates/questions/base.py +193 -0
  234. claude_mpm/templates/questions/pr_strategy.py +311 -0
  235. claude_mpm/templates/questions/project_init.py +385 -0
  236. claude_mpm/templates/questions/ticket_mgmt.py +394 -0
  237. claude_mpm/tools/__main__.py +8 -8
  238. claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
  239. claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
  240. claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
  241. claude_mpm/tools/code_tree_analyzer/core.py +380 -0
  242. claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
  243. claude_mpm/tools/code_tree_analyzer/events.py +168 -0
  244. claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
  245. claude_mpm/tools/code_tree_analyzer/models.py +39 -0
  246. claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
  247. claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
  248. claude_mpm/utils/agent_dependency_loader.py +80 -13
  249. claude_mpm/utils/dependency_cache.py +3 -1
  250. claude_mpm/utils/gitignore.py +241 -0
  251. claude_mpm/utils/log_cleanup.py +3 -3
  252. claude_mpm/utils/progress.py +383 -0
  253. claude_mpm/utils/robust_installer.py +3 -5
  254. claude_mpm/utils/structured_questions.py +619 -0
  255. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/METADATA +429 -59
  256. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/RECORD +264 -427
  257. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  258. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  259. claude_mpm/agents/templates/agent-manager.json +0 -273
  260. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  261. claude_mpm/agents/templates/api_qa.json +0 -180
  262. claude_mpm/agents/templates/clerk-ops.json +0 -235
  263. claude_mpm/agents/templates/code_analyzer.json +0 -101
  264. claude_mpm/agents/templates/content-agent.json +0 -358
  265. claude_mpm/agents/templates/dart_engineer.json +0 -307
  266. claude_mpm/agents/templates/data_engineer.json +0 -225
  267. claude_mpm/agents/templates/documentation.json +0 -211
  268. claude_mpm/agents/templates/engineer.json +0 -210
  269. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  270. claude_mpm/agents/templates/golang_engineer.json +0 -270
  271. claude_mpm/agents/templates/imagemagick.json +0 -264
  272. claude_mpm/agents/templates/java_engineer.json +0 -346
  273. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  274. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  275. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  276. claude_mpm/agents/templates/memory_manager.json +0 -158
  277. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  278. claude_mpm/agents/templates/ops.json +0 -185
  279. claude_mpm/agents/templates/php-engineer.json +0 -287
  280. claude_mpm/agents/templates/product_owner.json +0 -338
  281. claude_mpm/agents/templates/project_organizer.json +0 -140
  282. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  283. claude_mpm/agents/templates/python_engineer.json +0 -387
  284. claude_mpm/agents/templates/qa.json +0 -242
  285. claude_mpm/agents/templates/react_engineer.json +0 -238
  286. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  287. claude_mpm/agents/templates/research.json +0 -188
  288. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  289. claude_mpm/agents/templates/rust_engineer.json +0 -275
  290. claude_mpm/agents/templates/security.json +0 -202
  291. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  292. claude_mpm/agents/templates/ticketing.json +0 -177
  293. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  294. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  295. claude_mpm/agents/templates/version_control.json +0 -157
  296. claude_mpm/agents/templates/web_qa.json +0 -399
  297. claude_mpm/agents/templates/web_ui.json +0 -189
  298. claude_mpm/commands/mpm-tickets.md +0 -102
  299. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  300. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  301. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  302. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  303. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  304. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  305. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  306. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  307. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  308. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  309. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  310. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  311. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  312. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  313. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  314. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  315. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  316. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  317. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  318. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  319. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  320. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  321. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  322. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  323. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  324. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  325. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  326. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  327. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  328. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  329. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  330. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  331. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  332. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  333. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  334. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  335. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  336. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  337. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  338. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  339. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  340. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  341. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  342. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  343. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  344. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  345. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  346. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  347. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  348. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  349. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  350. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  351. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  352. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  353. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  354. claude_mpm/dashboard/static/built/react/events.js +0 -30
  355. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  356. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  357. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  358. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  359. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  360. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  361. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  362. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  363. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  364. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  365. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  366. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  367. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  368. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  369. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  370. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  371. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  372. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  373. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  374. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  375. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  376. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  377. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  378. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  379. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  380. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  381. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  382. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  383. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  384. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  385. claude_mpm/dashboard/static/events.html +0 -607
  386. claude_mpm/dashboard/static/index.html +0 -635
  387. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  388. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  389. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  390. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  391. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  392. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  393. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  394. claude_mpm/dashboard/static/legacy/files.html +0 -747
  395. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  396. claude_mpm/dashboard/static/monitors.html +0 -431
  397. claude_mpm/dashboard/static/production/events.html +0 -659
  398. claude_mpm/dashboard/static/production/main.html +0 -698
  399. claude_mpm/dashboard/static/production/monitors.html +0 -483
  400. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  401. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  402. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  403. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  404. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  405. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  406. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  407. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  408. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  409. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  410. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  411. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  412. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  413. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  414. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  415. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  416. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  417. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  418. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  419. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  420. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  421. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  422. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  423. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  424. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  425. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  426. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  427. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  428. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  429. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  430. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  431. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  432. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  433. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  434. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  435. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  436. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  437. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  438. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  439. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  440. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  441. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  442. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  443. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  444. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  445. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  446. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  447. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  448. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  449. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  450. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  451. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  452. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  453. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  454. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  455. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  456. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  457. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  458. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  459. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  460. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  461. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  462. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  463. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  464. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  465. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  466. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  467. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  468. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  469. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  470. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  471. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  472. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  473. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  474. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  475. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  476. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  477. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  478. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  479. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  480. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  481. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  482. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  483. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  484. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  485. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  486. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  487. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  488. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  489. claude_mpm/tools/code_tree_analyzer.py +0 -1825
  490. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  491. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  492. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  493. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  494. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/WHEEL +0 -0
  495. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/entry_points.txt +0 -0
  496. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/licenses/LICENSE +0 -0
  497. {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Connection Debug Panel
3
- *
3
+ *
4
4
  * Provides detailed connection metrics and debugging tools
5
5
  * for troubleshooting connection issues.
6
6
  */
@@ -10,17 +10,17 @@ class ConnectionDebugPanel {
10
10
  this.connectionManager = connectionManager;
11
11
  this.isVisible = false;
12
12
  this.updateInterval = null;
13
-
13
+
14
14
  this.init();
15
15
  }
16
-
16
+
17
17
  init() {
18
18
  // Create debug panel HTML
19
19
  this.createPanel();
20
-
20
+
21
21
  // Setup event listeners
22
22
  this.setupEventListeners();
23
-
23
+
24
24
  // Start metric updates when visible
25
25
  this.connectionManager.onStatusChange(() => {
26
26
  if (this.isVisible) {
@@ -28,19 +28,19 @@ class ConnectionDebugPanel {
28
28
  }
29
29
  });
30
30
  }
31
-
31
+
32
32
  createPanel() {
33
33
  const panel = document.createElement('div');
34
34
  panel.id = 'connection-debug-panel';
35
35
  panel.className = 'connection-debug-panel';
36
36
  panel.style.display = 'none';
37
-
37
+
38
38
  panel.innerHTML = `
39
39
  <div class="debug-panel-header">
40
40
  <h3>🔧 Connection Debug</h3>
41
41
  <button id="close-debug-panel" class="btn-close">✕</button>
42
42
  </div>
43
-
43
+
44
44
  <div class="debug-panel-content">
45
45
  <!-- Connection Info -->
46
46
  <div class="debug-section">
@@ -68,7 +68,7 @@ class ConnectionDebugPanel {
68
68
  </div>
69
69
  </div>
70
70
  </div>
71
-
71
+
72
72
  <!-- Connection Metrics -->
73
73
  <div class="debug-section">
74
74
  <h4>Metrics</h4>
@@ -91,7 +91,7 @@ class ConnectionDebugPanel {
91
91
  </div>
92
92
  </div>
93
93
  </div>
94
-
94
+
95
95
  <!-- Connection Timeline -->
96
96
  <div class="debug-section">
97
97
  <h4>Connection Timeline</h4>
@@ -99,7 +99,7 @@ class ConnectionDebugPanel {
99
99
  <!-- Timeline events will be added here -->
100
100
  </div>
101
101
  </div>
102
-
102
+
103
103
  <!-- Debug Actions -->
104
104
  <div class="debug-section">
105
105
  <h4>Debug Actions</h4>
@@ -111,7 +111,7 @@ class ConnectionDebugPanel {
111
111
  <button id="debug-export-logs" class="btn-action">Export Logs</button>
112
112
  </div>
113
113
  </div>
114
-
114
+
115
115
  <!-- Network Tests -->
116
116
  <div class="debug-section">
117
117
  <h4>Network Tests</h4>
@@ -130,7 +130,7 @@ class ConnectionDebugPanel {
130
130
  </div>
131
131
  </div>
132
132
  </div>
133
-
133
+
134
134
  <!-- Event Log -->
135
135
  <div class="debug-section">
136
136
  <h4>Recent Events</h4>
@@ -140,13 +140,13 @@ class ConnectionDebugPanel {
140
140
  </div>
141
141
  </div>
142
142
  `;
143
-
143
+
144
144
  document.body.appendChild(panel);
145
-
145
+
146
146
  // Add styles
147
147
  this.addStyles();
148
148
  }
149
-
149
+
150
150
  addStyles() {
151
151
  const style = document.createElement('style');
152
152
  style.textContent = `
@@ -164,7 +164,7 @@ class ConnectionDebugPanel {
164
164
  display: flex;
165
165
  flex-direction: column;
166
166
  }
167
-
167
+
168
168
  .debug-panel-header {
169
169
  display: flex;
170
170
  justify-content: space-between;
@@ -173,12 +173,12 @@ class ConnectionDebugPanel {
173
173
  background: linear-gradient(135deg, #667eea 0%, #4299e1 100%);
174
174
  color: white;
175
175
  }
176
-
176
+
177
177
  .debug-panel-header h3 {
178
178
  margin: 0;
179
179
  font-size: 16px;
180
180
  }
181
-
181
+
182
182
  .btn-close {
183
183
  background: rgba(255,255,255,0.2);
184
184
  border: none;
@@ -190,63 +190,63 @@ class ConnectionDebugPanel {
190
190
  font-size: 16px;
191
191
  transition: background 0.2s;
192
192
  }
193
-
193
+
194
194
  .btn-close:hover {
195
195
  background: rgba(255,255,255,0.3);
196
196
  }
197
-
197
+
198
198
  .debug-panel-content {
199
199
  overflow-y: auto;
200
200
  padding: 16px;
201
201
  max-height: calc(80vh - 60px);
202
202
  }
203
-
203
+
204
204
  .debug-section {
205
205
  margin-bottom: 20px;
206
206
  padding-bottom: 16px;
207
207
  border-bottom: 1px solid #e2e8f0;
208
208
  }
209
-
209
+
210
210
  .debug-section:last-child {
211
211
  border-bottom: none;
212
212
  }
213
-
213
+
214
214
  .debug-section h4 {
215
215
  margin: 0 0 12px 0;
216
216
  font-size: 14px;
217
217
  color: #2d3748;
218
218
  font-weight: 600;
219
219
  }
220
-
220
+
221
221
  .debug-info {
222
222
  background: #f7fafc;
223
223
  padding: 12px;
224
224
  border-radius: 8px;
225
225
  }
226
-
226
+
227
227
  .info-row {
228
228
  display: flex;
229
229
  justify-content: space-between;
230
230
  padding: 4px 0;
231
231
  font-size: 13px;
232
232
  }
233
-
233
+
234
234
  .info-label {
235
235
  color: #718096;
236
236
  }
237
-
237
+
238
238
  .info-value {
239
239
  font-family: 'SF Mono', Monaco, monospace;
240
240
  color: #2d3748;
241
241
  font-weight: 500;
242
242
  }
243
-
243
+
244
244
  .debug-actions {
245
245
  display: grid;
246
246
  grid-template-columns: repeat(2, 1fr);
247
247
  gap: 8px;
248
248
  }
249
-
249
+
250
250
  .btn-action {
251
251
  padding: 8px 12px;
252
252
  background: #4299e1;
@@ -257,23 +257,23 @@ class ConnectionDebugPanel {
257
257
  cursor: pointer;
258
258
  transition: background 0.2s;
259
259
  }
260
-
260
+
261
261
  .btn-action:hover {
262
262
  background: #3182ce;
263
263
  }
264
-
264
+
265
265
  .network-tests {
266
266
  display: flex;
267
267
  flex-direction: column;
268
268
  gap: 8px;
269
269
  }
270
-
270
+
271
271
  .test-row {
272
272
  display: flex;
273
273
  align-items: center;
274
274
  gap: 12px;
275
275
  }
276
-
276
+
277
277
  .btn-test {
278
278
  flex: 0 0 120px;
279
279
  padding: 6px 12px;
@@ -284,7 +284,7 @@ class ConnectionDebugPanel {
284
284
  font-size: 12px;
285
285
  cursor: pointer;
286
286
  }
287
-
287
+
288
288
  .test-result {
289
289
  flex: 1;
290
290
  padding: 6px 12px;
@@ -293,7 +293,7 @@ class ConnectionDebugPanel {
293
293
  font-size: 12px;
294
294
  font-family: 'SF Mono', Monaco, monospace;
295
295
  }
296
-
296
+
297
297
  .debug-timeline {
298
298
  max-height: 150px;
299
299
  overflow-y: auto;
@@ -302,26 +302,26 @@ class ConnectionDebugPanel {
302
302
  border-radius: 8px;
303
303
  font-size: 12px;
304
304
  }
305
-
305
+
306
306
  .timeline-event {
307
307
  padding: 4px 0;
308
308
  border-bottom: 1px solid #e2e8f0;
309
309
  }
310
-
310
+
311
311
  .timeline-event:last-child {
312
312
  border-bottom: none;
313
313
  }
314
-
314
+
315
315
  .timeline-time {
316
316
  color: #718096;
317
317
  font-size: 11px;
318
318
  }
319
-
319
+
320
320
  .timeline-desc {
321
321
  color: #2d3748;
322
322
  margin-top: 2px;
323
323
  }
324
-
324
+
325
325
  .event-log {
326
326
  max-height: 200px;
327
327
  overflow-y: auto;
@@ -332,24 +332,24 @@ class ConnectionDebugPanel {
332
332
  font-family: 'SF Mono', Monaco, monospace;
333
333
  font-size: 11px;
334
334
  }
335
-
335
+
336
336
  .log-entry {
337
337
  padding: 2px 0;
338
338
  }
339
-
339
+
340
340
  .log-time {
341
341
  color: #718096;
342
342
  }
343
-
343
+
344
344
  .log-type {
345
345
  color: #4299e1;
346
346
  font-weight: 600;
347
347
  }
348
-
348
+
349
349
  .log-data {
350
350
  color: #cbd5e0;
351
351
  }
352
-
352
+
353
353
  @media (max-width: 768px) {
354
354
  .connection-debug-panel {
355
355
  right: 10px;
@@ -358,72 +358,72 @@ class ConnectionDebugPanel {
358
358
  }
359
359
  }
360
360
  `;
361
-
361
+
362
362
  document.head.appendChild(style);
363
363
  }
364
-
364
+
365
365
  setupEventListeners() {
366
366
  // Close button
367
367
  document.getElementById('close-debug-panel').addEventListener('click', () => {
368
368
  this.hide();
369
369
  });
370
-
370
+
371
371
  // Debug actions
372
372
  document.getElementById('debug-force-reconnect').addEventListener('click', () => {
373
373
  this.forceReconnect();
374
374
  });
375
-
375
+
376
376
  document.getElementById('debug-request-stats').addEventListener('click', () => {
377
377
  this.requestStats();
378
378
  });
379
-
379
+
380
380
  document.getElementById('debug-clear-buffer').addEventListener('click', () => {
381
381
  this.clearBuffer();
382
382
  });
383
-
383
+
384
384
  document.getElementById('debug-simulate-disconnect').addEventListener('click', () => {
385
385
  this.simulateDisconnect();
386
386
  });
387
-
387
+
388
388
  document.getElementById('debug-export-logs').addEventListener('click', () => {
389
389
  this.exportLogs();
390
390
  });
391
-
391
+
392
392
  // Network tests
393
393
  document.getElementById('test-latency').addEventListener('click', () => {
394
394
  this.testLatency();
395
395
  });
396
-
396
+
397
397
  document.getElementById('test-throughput').addEventListener('click', () => {
398
398
  this.testThroughput();
399
399
  });
400
-
400
+
401
401
  document.getElementById('test-stability').addEventListener('click', () => {
402
402
  this.testStability();
403
403
  });
404
404
  }
405
-
405
+
406
406
  show() {
407
407
  const panel = document.getElementById('connection-debug-panel');
408
408
  panel.style.display = 'flex';
409
409
  this.isVisible = true;
410
-
410
+
411
411
  // Start metric updates
412
412
  this.startMetricUpdates();
413
-
413
+
414
414
  // Initial update
415
415
  this.updateMetrics();
416
416
  }
417
-
417
+
418
418
  hide() {
419
419
  const panel = document.getElementById('connection-debug-panel');
420
420
  panel.style.display = 'none';
421
421
  this.isVisible = false;
422
-
422
+
423
423
  // Stop metric updates
424
424
  this.stopMetricUpdates();
425
425
  }
426
-
426
+
427
427
  toggle() {
428
428
  if (this.isVisible) {
429
429
  this.hide();
@@ -431,78 +431,78 @@ class ConnectionDebugPanel {
431
431
  this.show();
432
432
  }
433
433
  }
434
-
434
+
435
435
  startMetricUpdates() {
436
436
  this.updateInterval = setInterval(() => {
437
437
  this.updateMetrics();
438
438
  }, 1000);
439
439
  }
440
-
440
+
441
441
  stopMetricUpdates() {
442
442
  if (this.updateInterval) {
443
443
  clearInterval(this.updateInterval);
444
444
  this.updateInterval = null;
445
445
  }
446
446
  }
447
-
447
+
448
448
  updateMetrics() {
449
449
  const metrics = this.connectionManager.getMetrics();
450
450
  const socket = this.connectionManager.socket;
451
-
451
+
452
452
  // Update connection info
453
453
  document.getElementById('debug-client-id').textContent = metrics.clientId || '--';
454
454
  document.getElementById('debug-socket-id').textContent = socket?.id || '--';
455
455
  document.getElementById('debug-state').textContent = metrics.connectionState || '--';
456
- document.getElementById('debug-quality').textContent =
456
+ document.getElementById('debug-quality').textContent =
457
457
  `${Math.round(metrics.connectionQuality * 100)}%`;
458
458
  document.getElementById('debug-sequence').textContent = metrics.lastSequence || '0';
459
-
459
+
460
460
  // Update metrics
461
461
  document.getElementById('debug-total-events').textContent = metrics.totalEvents || '0';
462
462
  document.getElementById('debug-events-acked').textContent = metrics.eventsAcked || '0';
463
463
  document.getElementById('debug-buffered').textContent = metrics.bufferedEvents || '0';
464
464
  document.getElementById('debug-reconnects').textContent = metrics.totalReconnections || '0';
465
465
  }
466
-
466
+
467
467
  addTimelineEvent(description) {
468
468
  const timeline = document.getElementById('debug-timeline');
469
469
  const event = document.createElement('div');
470
470
  event.className = 'timeline-event';
471
-
471
+
472
472
  const now = new Date();
473
473
  event.innerHTML = `
474
474
  <div class="timeline-time">${now.toLocaleTimeString()}</div>
475
475
  <div class="timeline-desc">${description}</div>
476
476
  `;
477
-
477
+
478
478
  timeline.insertBefore(event, timeline.firstChild);
479
-
479
+
480
480
  // Keep only last 20 events
481
481
  while (timeline.children.length > 20) {
482
482
  timeline.removeChild(timeline.lastChild);
483
483
  }
484
484
  }
485
-
485
+
486
486
  addLogEntry(type, data) {
487
487
  const log = document.getElementById('debug-event-log');
488
488
  const entry = document.createElement('div');
489
489
  entry.className = 'log-entry';
490
-
490
+
491
491
  const now = new Date();
492
492
  entry.innerHTML = `
493
493
  <span class="log-time">${now.toLocaleTimeString()}</span>
494
494
  <span class="log-type">${type}</span>
495
495
  <span class="log-data">${JSON.stringify(data)}</span>
496
496
  `;
497
-
497
+
498
498
  log.insertBefore(entry, log.firstChild);
499
-
499
+
500
500
  // Keep only last 50 entries
501
501
  while (log.children.length > 50) {
502
502
  log.removeChild(log.lastChild);
503
503
  }
504
504
  }
505
-
505
+
506
506
  // Debug actions
507
507
  forceReconnect() {
508
508
  this.addTimelineEvent('Force reconnect initiated');
@@ -513,47 +513,47 @@ class ConnectionDebugPanel {
513
513
  }, 100);
514
514
  }
515
515
  }
516
-
516
+
517
517
  requestStats() {
518
518
  this.addTimelineEvent('Requesting connection stats');
519
519
  if (this.connectionManager.socket) {
520
520
  this.connectionManager.socket.emit('get_connection_stats');
521
521
  }
522
522
  }
523
-
523
+
524
524
  clearBuffer() {
525
525
  this.addTimelineEvent('Clearing event buffer');
526
526
  this.connectionManager.eventBuffer = [];
527
527
  localStorage.removeItem('claude_mpm_event_buffer');
528
528
  this.updateMetrics();
529
529
  }
530
-
530
+
531
531
  simulateDisconnect() {
532
532
  this.addTimelineEvent('Simulating disconnect');
533
533
  if (this.connectionManager.socket) {
534
534
  this.connectionManager.socket.disconnect();
535
535
  }
536
536
  }
537
-
537
+
538
538
  exportLogs() {
539
539
  const logs = {
540
540
  metrics: this.connectionManager.getMetrics(),
541
541
  timeline: [],
542
542
  events: []
543
543
  };
544
-
544
+
545
545
  // Collect timeline events
546
546
  const timeline = document.getElementById('debug-timeline');
547
547
  Array.from(timeline.children).forEach(child => {
548
548
  logs.timeline.push(child.textContent.trim());
549
549
  });
550
-
550
+
551
551
  // Collect event log
552
552
  const eventLog = document.getElementById('debug-event-log');
553
553
  Array.from(eventLog.children).forEach(child => {
554
554
  logs.events.push(child.textContent.trim());
555
555
  });
556
-
556
+
557
557
  // Download as JSON
558
558
  const blob = new Blob([JSON.stringify(logs, null, 2)], { type: 'application/json' });
559
559
  const url = URL.createObjectURL(blob);
@@ -562,18 +562,18 @@ class ConnectionDebugPanel {
562
562
  a.download = `connection-debug-${Date.now()}.json`;
563
563
  a.click();
564
564
  URL.revokeObjectURL(url);
565
-
565
+
566
566
  this.addTimelineEvent('Logs exported');
567
567
  }
568
-
568
+
569
569
  // Network tests
570
570
  async testLatency() {
571
571
  const resultEl = document.getElementById('latency-result');
572
572
  resultEl.textContent = 'Testing...';
573
-
573
+
574
574
  const start = Date.now();
575
575
  this.connectionManager.socket.emit('ping');
576
-
576
+
577
577
  // Wait for pong
578
578
  const pongHandler = () => {
579
579
  const latency = Date.now() - start;
@@ -581,9 +581,9 @@ class ConnectionDebugPanel {
581
581
  this.connectionManager.socket.off('pong', pongHandler);
582
582
  this.addTimelineEvent(`Latency test: ${latency}ms`);
583
583
  };
584
-
584
+
585
585
  this.connectionManager.socket.on('pong', pongHandler);
586
-
586
+
587
587
  // Timeout after 5 seconds
588
588
  setTimeout(() => {
589
589
  this.connectionManager.socket.off('pong', pongHandler);
@@ -592,15 +592,15 @@ class ConnectionDebugPanel {
592
592
  }
593
593
  }, 5000);
594
594
  }
595
-
595
+
596
596
  async testThroughput() {
597
597
  const resultEl = document.getElementById('throughput-result');
598
598
  resultEl.textContent = 'Testing...';
599
-
599
+
600
600
  // Send 100 events rapidly
601
601
  const start = Date.now();
602
602
  let received = 0;
603
-
603
+
604
604
  const handler = () => {
605
605
  received++;
606
606
  if (received === 100) {
@@ -610,13 +610,13 @@ class ConnectionDebugPanel {
610
610
  this.addTimelineEvent(`Throughput test: ${throughput} events/sec`);
611
611
  }
612
612
  };
613
-
613
+
614
614
  this.connectionManager.socket.on('test_response', handler);
615
-
615
+
616
616
  for (let i = 0; i < 100; i++) {
617
617
  this.connectionManager.socket.emit('test_event', { index: i });
618
618
  }
619
-
619
+
620
620
  // Cleanup after 10 seconds
621
621
  setTimeout(() => {
622
622
  this.connectionManager.socket.off('test_response', handler);
@@ -625,26 +625,26 @@ class ConnectionDebugPanel {
625
625
  }
626
626
  }, 10000);
627
627
  }
628
-
628
+
629
629
  async testStability() {
630
630
  const resultEl = document.getElementById('stability-result');
631
631
  resultEl.textContent = 'Testing (30s)...';
632
-
632
+
633
633
  let disconnects = 0;
634
634
  let reconnects = 0;
635
635
  const startMetrics = { ...this.connectionManager.metrics };
636
-
636
+
637
637
  // Monitor for 30 seconds
638
638
  setTimeout(() => {
639
639
  const endMetrics = this.connectionManager.metrics;
640
640
  disconnects = endMetrics.totalConnections - startMetrics.totalConnections;
641
-
641
+
642
642
  if (disconnects === 0) {
643
643
  resultEl.textContent = 'Stable ✓';
644
644
  } else {
645
645
  resultEl.textContent = `${disconnects} drops`;
646
646
  }
647
-
647
+
648
648
  this.addTimelineEvent(`Stability test: ${disconnects} disconnections`);
649
649
  }, 30000);
650
650
  }