claude-mpm 4.21.3__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 (484) 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 +11 -2
  63. claude_mpm/commands/mpm-init.md +27 -2
  64. claude_mpm/commands/mpm-monitor.md +9 -0
  65. claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -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 +10 -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/interfaces/__init__.py +1 -3
  162. claude_mpm/services/core/interfaces/health.py +1 -4
  163. claude_mpm/services/core/models/__init__.py +2 -11
  164. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  165. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  166. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  167. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  168. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  169. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  170. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  171. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  172. claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
  173. claude_mpm/services/event_bus/direct_relay.py +3 -3
  174. claude_mpm/services/event_bus/event_bus.py +36 -3
  175. claude_mpm/services/events/consumers/logging.py +1 -2
  176. claude_mpm/services/git/__init__.py +21 -0
  177. claude_mpm/services/git/git_operations_service.py +494 -0
  178. claude_mpm/services/github/__init__.py +21 -0
  179. claude_mpm/services/github/github_cli_service.py +397 -0
  180. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  181. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  182. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  183. claude_mpm/services/instructions/__init__.py +9 -0
  184. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  185. claude_mpm/services/local_ops/__init__.py +3 -13
  186. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  187. claude_mpm/services/local_ops/health_manager.py +1 -4
  188. claude_mpm/services/local_ops/process_manager.py +1 -1
  189. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  190. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  191. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  192. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  193. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  194. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  195. claude_mpm/services/memory/optimizer.py +1 -1
  196. claude_mpm/services/model/model_router.py +8 -9
  197. claude_mpm/services/monitor/daemon.py +1 -1
  198. claude_mpm/services/monitor/server.py +2 -2
  199. claude_mpm/services/native_agent_converter.py +356 -0
  200. claude_mpm/services/port_manager.py +1 -1
  201. claude_mpm/services/pr/__init__.py +14 -0
  202. claude_mpm/services/pr/pr_template_service.py +329 -0
  203. claude_mpm/services/project/documentation_manager.py +2 -1
  204. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  205. claude_mpm/services/runner_configuration_service.py +1 -0
  206. claude_mpm/services/self_upgrade_service.py +165 -7
  207. claude_mpm/services/skills/__init__.py +18 -0
  208. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  209. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  210. claude_mpm/services/skills_config.py +547 -0
  211. claude_mpm/services/skills_deployer.py +955 -0
  212. claude_mpm/services/socketio/handlers/connection.py +1 -1
  213. claude_mpm/services/socketio/handlers/git.py +2 -2
  214. claude_mpm/services/socketio/server/core.py +1 -4
  215. claude_mpm/services/socketio/server/main.py +1 -3
  216. claude_mpm/services/system_instructions_service.py +1 -3
  217. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  218. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  219. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  220. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  221. claude_mpm/services/unified/unified_deployment.py +1 -5
  222. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  223. claude_mpm/services/visualization/__init__.py +1 -5
  224. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  225. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  226. claude_mpm/skills/bundled/performance-profiling.md +6 -0
  227. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
  228. claude_mpm/skills/skills_registry.py +0 -1
  229. claude_mpm/templates/questions/__init__.py +38 -0
  230. claude_mpm/templates/questions/base.py +193 -0
  231. claude_mpm/templates/questions/pr_strategy.py +311 -0
  232. claude_mpm/templates/questions/project_init.py +385 -0
  233. claude_mpm/templates/questions/ticket_mgmt.py +394 -0
  234. claude_mpm/tools/__main__.py +8 -8
  235. claude_mpm/tools/code_tree_analyzer/analysis.py +1 -1
  236. claude_mpm/utils/agent_dependency_loader.py +80 -13
  237. claude_mpm/utils/dependency_cache.py +3 -1
  238. claude_mpm/utils/gitignore.py +241 -0
  239. claude_mpm/utils/log_cleanup.py +3 -3
  240. claude_mpm/utils/progress.py +383 -0
  241. claude_mpm/utils/robust_installer.py +3 -5
  242. claude_mpm/utils/structured_questions.py +619 -0
  243. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/METADATA +429 -59
  244. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/RECORD +252 -425
  245. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  246. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  247. claude_mpm/agents/templates/agent-manager.json +0 -273
  248. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  249. claude_mpm/agents/templates/api_qa.json +0 -180
  250. claude_mpm/agents/templates/clerk-ops.json +0 -235
  251. claude_mpm/agents/templates/code_analyzer.json +0 -101
  252. claude_mpm/agents/templates/content-agent.json +0 -358
  253. claude_mpm/agents/templates/dart_engineer.json +0 -307
  254. claude_mpm/agents/templates/data_engineer.json +0 -225
  255. claude_mpm/agents/templates/documentation.json +0 -211
  256. claude_mpm/agents/templates/engineer.json +0 -210
  257. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  258. claude_mpm/agents/templates/golang_engineer.json +0 -270
  259. claude_mpm/agents/templates/imagemagick.json +0 -264
  260. claude_mpm/agents/templates/java_engineer.json +0 -346
  261. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  262. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  263. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  264. claude_mpm/agents/templates/memory_manager.json +0 -158
  265. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  266. claude_mpm/agents/templates/ops.json +0 -185
  267. claude_mpm/agents/templates/php-engineer.json +0 -287
  268. claude_mpm/agents/templates/product_owner.json +0 -338
  269. claude_mpm/agents/templates/project_organizer.json +0 -140
  270. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  271. claude_mpm/agents/templates/python_engineer.json +0 -387
  272. claude_mpm/agents/templates/qa.json +0 -242
  273. claude_mpm/agents/templates/react_engineer.json +0 -238
  274. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  275. claude_mpm/agents/templates/research.json +0 -188
  276. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  277. claude_mpm/agents/templates/rust_engineer.json +0 -275
  278. claude_mpm/agents/templates/security.json +0 -202
  279. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  280. claude_mpm/agents/templates/ticketing.json +0 -177
  281. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  282. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  283. claude_mpm/agents/templates/version_control.json +0 -157
  284. claude_mpm/agents/templates/web_qa.json +0 -399
  285. claude_mpm/agents/templates/web_ui.json +0 -189
  286. claude_mpm/commands/mpm-tickets.md +0 -102
  287. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  288. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  289. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  290. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  291. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  292. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  293. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  294. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  295. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  296. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  297. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  298. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  299. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  300. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  301. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  302. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  303. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  304. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  305. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  306. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  307. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  308. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  309. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  310. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  311. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  312. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  313. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  314. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  315. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  316. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  317. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  318. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  319. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  320. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  321. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  322. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  323. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  324. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  325. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  326. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  327. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  328. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  329. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  330. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  331. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  332. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  333. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  334. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  335. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  336. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  337. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  338. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  339. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  340. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  341. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  342. claude_mpm/dashboard/static/built/react/events.js +0 -30
  343. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  344. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  345. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  346. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  347. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  348. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  349. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  350. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  351. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  352. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  353. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  354. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  355. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  356. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  357. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  358. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  359. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  360. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  361. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  362. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  363. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  364. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  365. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  366. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  367. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  368. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  369. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  370. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  371. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  372. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  373. claude_mpm/dashboard/static/events.html +0 -607
  374. claude_mpm/dashboard/static/index.html +0 -635
  375. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  376. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  377. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  378. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  379. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  380. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  381. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  382. claude_mpm/dashboard/static/legacy/files.html +0 -747
  383. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  384. claude_mpm/dashboard/static/monitors.html +0 -431
  385. claude_mpm/dashboard/static/production/events.html +0 -659
  386. claude_mpm/dashboard/static/production/main.html +0 -698
  387. claude_mpm/dashboard/static/production/monitors.html +0 -483
  388. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  389. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  390. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  391. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  392. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  393. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  394. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  395. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  396. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  397. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  398. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  399. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  400. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  401. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  402. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  403. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  404. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  405. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  406. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  407. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  408. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  409. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  410. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  411. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  412. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  413. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  414. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  415. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  416. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  417. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  418. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  419. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  420. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  421. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  422. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  423. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  424. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  425. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  426. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  427. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  428. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  429. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  430. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  431. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  432. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  433. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  434. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  435. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  436. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  437. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  438. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  439. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  440. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  441. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  442. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  443. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  444. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  445. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  446. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  447. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  448. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  449. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  450. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  451. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  452. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  453. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  454. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  455. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  456. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  457. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  458. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  459. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  460. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  461. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  462. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  463. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  464. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  465. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  466. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  467. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  468. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  469. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  470. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  471. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  472. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  473. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  474. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  475. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  476. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  477. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  478. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  479. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  480. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  481. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/WHEEL +0 -0
  482. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/entry_points.txt +0 -0
  483. {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/licenses/LICENSE +0 -0
  484. {claude_mpm-4.21.3.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
  }