claude-mpm 5.0.9__py3-none-any.whl → 5.6.23__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.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (614) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/__init__.py +4 -0
  3. claude_mpm/agents/BASE_AGENT.md +164 -0
  4. claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +115 -0
  5. claude_mpm/agents/CLAUDE_MPM_RESEARCH_OUTPUT_STYLE.md +413 -0
  6. claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +186 -0
  7. claude_mpm/agents/MEMORY.md +1 -1
  8. claude_mpm/agents/PM_INSTRUCTIONS.md +479 -616
  9. claude_mpm/agents/WORKFLOW.md +6 -253
  10. claude_mpm/agents/agent_loader.py +13 -44
  11. claude_mpm/agents/base_agent.json +1 -1
  12. claude_mpm/agents/frontmatter_validator.py +70 -2
  13. claude_mpm/agents/templates/circuit-breakers.md +457 -62
  14. claude_mpm/cli/__init__.py +5 -2
  15. claude_mpm/cli/__main__.py +4 -0
  16. claude_mpm/cli/chrome_devtools_installer.py +175 -0
  17. claude_mpm/cli/commands/agent_state_manager.py +18 -27
  18. claude_mpm/cli/commands/agents.py +177 -41
  19. claude_mpm/cli/commands/agents_reconcile.py +197 -0
  20. claude_mpm/cli/commands/auto_configure.py +723 -236
  21. claude_mpm/cli/commands/autotodos.py +566 -0
  22. claude_mpm/cli/commands/commander.py +216 -0
  23. claude_mpm/cli/commands/config.py +88 -2
  24. claude_mpm/cli/commands/configure.py +1874 -170
  25. claude_mpm/cli/commands/configure_agent_display.py +27 -6
  26. claude_mpm/cli/commands/hook_errors.py +60 -60
  27. claude_mpm/cli/commands/monitor.py +2 -2
  28. claude_mpm/cli/commands/mpm_init/core.py +232 -46
  29. claude_mpm/cli/commands/mpm_init/knowledge_extractor.py +481 -0
  30. claude_mpm/cli/commands/mpm_init/prompts.py +280 -0
  31. claude_mpm/cli/commands/postmortem.py +1 -1
  32. claude_mpm/cli/commands/profile.py +276 -0
  33. claude_mpm/cli/commands/run.py +35 -3
  34. claude_mpm/cli/commands/skill_source.py +51 -2
  35. claude_mpm/cli/commands/skills.py +379 -204
  36. claude_mpm/cli/commands/summarize.py +413 -0
  37. claude_mpm/cli/executor.py +141 -19
  38. claude_mpm/cli/interactive/__init__.py +10 -0
  39. claude_mpm/cli/interactive/agent_wizard.py +115 -60
  40. claude_mpm/cli/interactive/questionary_styles.py +65 -0
  41. claude_mpm/cli/interactive/skill_selector.py +481 -0
  42. claude_mpm/cli/parsers/agents_parser.py +54 -9
  43. claude_mpm/cli/parsers/auto_configure_parser.py +13 -138
  44. claude_mpm/cli/parsers/base_parser.py +88 -1
  45. claude_mpm/cli/parsers/commander_parser.py +116 -0
  46. claude_mpm/cli/parsers/config_parser.py +153 -83
  47. claude_mpm/cli/parsers/profile_parser.py +147 -0
  48. claude_mpm/cli/parsers/run_parser.py +10 -0
  49. claude_mpm/cli/parsers/skill_source_parser.py +4 -0
  50. claude_mpm/cli/parsers/skills_parser.py +1 -1
  51. claude_mpm/cli/startup.py +1017 -266
  52. claude_mpm/cli/startup_display.py +74 -6
  53. claude_mpm/cli/startup_logging.py +2 -2
  54. claude_mpm/cli/utils.py +7 -3
  55. claude_mpm/commander/__init__.py +78 -0
  56. claude_mpm/commander/adapters/__init__.py +60 -0
  57. claude_mpm/commander/adapters/auggie.py +260 -0
  58. claude_mpm/commander/adapters/base.py +288 -0
  59. claude_mpm/commander/adapters/claude_code.py +392 -0
  60. claude_mpm/commander/adapters/codex.py +237 -0
  61. claude_mpm/commander/adapters/communication.py +366 -0
  62. claude_mpm/commander/adapters/example_usage.py +310 -0
  63. claude_mpm/commander/adapters/mpm.py +389 -0
  64. claude_mpm/commander/adapters/registry.py +204 -0
  65. claude_mpm/commander/api/__init__.py +16 -0
  66. claude_mpm/commander/api/app.py +121 -0
  67. claude_mpm/commander/api/errors.py +133 -0
  68. claude_mpm/commander/api/routes/__init__.py +8 -0
  69. claude_mpm/commander/api/routes/events.py +184 -0
  70. claude_mpm/commander/api/routes/inbox.py +171 -0
  71. claude_mpm/commander/api/routes/messages.py +148 -0
  72. claude_mpm/commander/api/routes/projects.py +271 -0
  73. claude_mpm/commander/api/routes/sessions.py +226 -0
  74. claude_mpm/commander/api/routes/work.py +296 -0
  75. claude_mpm/commander/api/schemas.py +186 -0
  76. claude_mpm/commander/chat/__init__.py +7 -0
  77. claude_mpm/commander/chat/cli.py +146 -0
  78. claude_mpm/commander/chat/commands.py +96 -0
  79. claude_mpm/commander/chat/repl.py +310 -0
  80. claude_mpm/commander/config.py +51 -0
  81. claude_mpm/commander/config_loader.py +115 -0
  82. claude_mpm/commander/core/__init__.py +10 -0
  83. claude_mpm/commander/core/block_manager.py +325 -0
  84. claude_mpm/commander/core/response_manager.py +323 -0
  85. claude_mpm/commander/daemon.py +603 -0
  86. claude_mpm/commander/env_loader.py +59 -0
  87. claude_mpm/commander/events/__init__.py +26 -0
  88. claude_mpm/commander/events/manager.py +332 -0
  89. claude_mpm/commander/frameworks/__init__.py +12 -0
  90. claude_mpm/commander/frameworks/base.py +146 -0
  91. claude_mpm/commander/frameworks/claude_code.py +58 -0
  92. claude_mpm/commander/frameworks/mpm.py +62 -0
  93. claude_mpm/commander/inbox/__init__.py +16 -0
  94. claude_mpm/commander/inbox/dedup.py +128 -0
  95. claude_mpm/commander/inbox/inbox.py +224 -0
  96. claude_mpm/commander/inbox/models.py +70 -0
  97. claude_mpm/commander/instance_manager.py +450 -0
  98. claude_mpm/commander/llm/__init__.py +6 -0
  99. claude_mpm/commander/llm/openrouter_client.py +167 -0
  100. claude_mpm/commander/llm/summarizer.py +70 -0
  101. claude_mpm/commander/memory/__init__.py +45 -0
  102. claude_mpm/commander/memory/compression.py +347 -0
  103. claude_mpm/commander/memory/embeddings.py +230 -0
  104. claude_mpm/commander/memory/entities.py +310 -0
  105. claude_mpm/commander/memory/example_usage.py +290 -0
  106. claude_mpm/commander/memory/integration.py +325 -0
  107. claude_mpm/commander/memory/search.py +381 -0
  108. claude_mpm/commander/memory/store.py +657 -0
  109. claude_mpm/commander/models/__init__.py +18 -0
  110. claude_mpm/commander/models/events.py +121 -0
  111. claude_mpm/commander/models/project.py +162 -0
  112. claude_mpm/commander/models/work.py +214 -0
  113. claude_mpm/commander/parsing/__init__.py +20 -0
  114. claude_mpm/commander/parsing/extractor.py +132 -0
  115. claude_mpm/commander/parsing/output_parser.py +270 -0
  116. claude_mpm/commander/parsing/patterns.py +100 -0
  117. claude_mpm/commander/persistence/__init__.py +11 -0
  118. claude_mpm/commander/persistence/event_store.py +274 -0
  119. claude_mpm/commander/persistence/state_store.py +309 -0
  120. claude_mpm/commander/persistence/work_store.py +164 -0
  121. claude_mpm/commander/polling/__init__.py +13 -0
  122. claude_mpm/commander/polling/event_detector.py +104 -0
  123. claude_mpm/commander/polling/output_buffer.py +49 -0
  124. claude_mpm/commander/polling/output_poller.py +153 -0
  125. claude_mpm/commander/project_session.py +268 -0
  126. claude_mpm/commander/proxy/__init__.py +12 -0
  127. claude_mpm/commander/proxy/formatter.py +89 -0
  128. claude_mpm/commander/proxy/output_handler.py +191 -0
  129. claude_mpm/commander/proxy/relay.py +155 -0
  130. claude_mpm/commander/registry.py +410 -0
  131. claude_mpm/commander/runtime/__init__.py +10 -0
  132. claude_mpm/commander/runtime/executor.py +191 -0
  133. claude_mpm/commander/runtime/monitor.py +346 -0
  134. claude_mpm/commander/session/__init__.py +6 -0
  135. claude_mpm/commander/session/context.py +81 -0
  136. claude_mpm/commander/session/manager.py +59 -0
  137. claude_mpm/commander/tmux_orchestrator.py +361 -0
  138. claude_mpm/commander/web/__init__.py +1 -0
  139. claude_mpm/commander/work/__init__.py +30 -0
  140. claude_mpm/commander/work/executor.py +207 -0
  141. claude_mpm/commander/work/queue.py +405 -0
  142. claude_mpm/commander/workflow/__init__.py +27 -0
  143. claude_mpm/commander/workflow/event_handler.py +241 -0
  144. claude_mpm/commander/workflow/notifier.py +146 -0
  145. claude_mpm/commands/mpm-config.md +36 -0
  146. claude_mpm/commands/mpm-doctor.md +16 -21
  147. claude_mpm/commands/mpm-help.md +12 -286
  148. claude_mpm/commands/mpm-init.md +88 -506
  149. claude_mpm/commands/mpm-monitor.md +22 -401
  150. claude_mpm/commands/mpm-organize.md +128 -0
  151. claude_mpm/commands/mpm-postmortem.md +13 -107
  152. claude_mpm/commands/mpm-session-resume.md +20 -363
  153. claude_mpm/commands/mpm-status.md +13 -69
  154. claude_mpm/commands/mpm-ticket-view.md +60 -495
  155. claude_mpm/commands/mpm-version.md +13 -107
  156. claude_mpm/commands/mpm.md +8 -0
  157. claude_mpm/config/agent_presets.py +8 -7
  158. claude_mpm/config/agent_sources.py +27 -0
  159. claude_mpm/config/skill_sources.py +16 -0
  160. claude_mpm/constants.py +1 -0
  161. claude_mpm/core/claude_runner.py +154 -2
  162. claude_mpm/core/config.py +37 -26
  163. claude_mpm/core/config_constants.py +74 -9
  164. claude_mpm/core/constants.py +56 -12
  165. claude_mpm/core/framework/formatters/content_formatter.py +3 -13
  166. claude_mpm/core/framework/loaders/agent_loader.py +8 -5
  167. claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
  168. claude_mpm/core/framework_loader.py +4 -2
  169. claude_mpm/core/hook_manager.py +51 -3
  170. claude_mpm/core/interactive_session.py +12 -11
  171. claude_mpm/core/logger.py +39 -9
  172. claude_mpm/core/logging_utils.py +35 -11
  173. claude_mpm/core/network_config.py +148 -0
  174. claude_mpm/core/oneshot_session.py +7 -6
  175. claude_mpm/core/optimized_startup.py +61 -0
  176. claude_mpm/core/output_style_manager.py +219 -44
  177. claude_mpm/core/shared/config_loader.py +3 -1
  178. claude_mpm/core/socketio_pool.py +16 -8
  179. claude_mpm/core/unified_agent_registry.py +134 -16
  180. claude_mpm/core/unified_config.py +76 -8
  181. claude_mpm/core/unified_paths.py +95 -90
  182. claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
  183. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
  184. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
  185. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/1WZnGYqX.js +24 -0
  186. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/67pF3qNn.js +1 -0
  187. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/6RxdMKe4.js +1 -0
  188. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/8cZrfX0h.js +60 -0
  189. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js +7 -0
  190. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js +1 -0
  191. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js +1 -0
  192. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js +1 -0
  193. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
  194. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js +4 -0
  195. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BSNlmTZj.js +1 -0
  196. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js +43 -0
  197. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BViJ8lZt.js +128 -0
  198. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BcQ-Q0FE.js +1 -0
  199. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bpyvgze_.js +30 -0
  200. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
  201. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
  202. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C3rbW_a-.js +1 -0
  203. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C8WYN38h.js +1 -0
  204. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C9I8FlXH.js +61 -0
  205. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIQcWgO2.js +36 -0
  206. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIctN7YN.js +7 -0
  207. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CKrS_JZW.js +145 -0
  208. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CR6P9C4A.js +89 -0
  209. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRRR9MD_.js +2 -0
  210. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
  211. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CSXtMOf0.js +1 -0
  212. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CT-sbxSk.js +1 -0
  213. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWm6DJsp.js +1 -0
  214. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
  215. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CpqQ1Kzn.js +1 -0
  216. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
  217. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D2nGpDRe.js +1 -0
  218. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9iCMida.js +267 -0
  219. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9ykgMoY.js +10 -0
  220. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DL2Ldur1.js +1 -0
  221. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DPfltzjH.js +165 -0
  222. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DR8nis88.js +2 -0
  223. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUliQN2b.js +1 -0
  224. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
  225. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DXlhR01x.js +122 -0
  226. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D_lyTybS.js +1 -0
  227. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DngoTTgh.js +1 -0
  228. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DqkmHtDC.js +220 -0
  229. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DsDh8EYs.js +1 -0
  230. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DypDmXgd.js +139 -0
  231. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
  232. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/IPYC-LnN.js +162 -0
  233. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
  234. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JpevfAFt.js +68 -0
  235. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/NqQ1dWOy.js +1 -0
  236. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/R8CEIRAd.js +2 -0
  237. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Zxy7qc-l.js +64 -0
  238. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
  239. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/qtd3IeO4.js +15 -0
  240. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ulBFON_C.js +65 -0
  241. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/wQVh1CoA.js +10 -0
  242. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.Dr7t0z2J.js +2 -0
  243. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
  244. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.RgBboRvH.js +1 -0
  245. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DG-KkbDf.js +1 -0
  246. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
  247. claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
  248. claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
  249. claude_mpm/dashboard/static/svelte-build/index.html +36 -0
  250. claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
  251. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
  252. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
  253. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
  254. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
  255. claude_mpm/experimental/cli_enhancements.py +2 -1
  256. claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
  257. claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
  258. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  259. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
  260. claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
  261. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  262. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  263. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  264. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  265. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
  266. claude_mpm/hooks/claude_hooks/auto_pause_handler.py +485 -0
  267. claude_mpm/hooks/claude_hooks/correlation_manager.py +60 -0
  268. claude_mpm/hooks/claude_hooks/event_handlers.py +479 -128
  269. claude_mpm/hooks/claude_hooks/hook_handler.py +254 -83
  270. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
  271. claude_mpm/hooks/claude_hooks/installer.py +149 -18
  272. claude_mpm/hooks/claude_hooks/memory_integration.py +67 -19
  273. claude_mpm/hooks/claude_hooks/response_tracking.py +44 -62
  274. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  275. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  276. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
  277. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  278. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  279. claude_mpm/hooks/claude_hooks/services/connection_manager.py +69 -30
  280. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +36 -103
  281. claude_mpm/hooks/claude_hooks/services/state_manager.py +23 -36
  282. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +73 -75
  283. claude_mpm/hooks/kuzu_memory_hook.py +5 -5
  284. claude_mpm/hooks/memory_integration_hook.py +46 -1
  285. claude_mpm/hooks/session_resume_hook.py +89 -1
  286. claude_mpm/hooks/templates/pre_tool_use_template.py +10 -2
  287. claude_mpm/init.py +276 -19
  288. claude_mpm/models/agent_definition.py +7 -0
  289. claude_mpm/models/git_repository.py +3 -3
  290. claude_mpm/scripts/claude-hook-handler.sh +87 -20
  291. claude_mpm/scripts/launch_monitor.py +93 -13
  292. claude_mpm/scripts/start_activity_logging.py +0 -0
  293. claude_mpm/services/agents/agent_builder.py +3 -3
  294. claude_mpm/services/agents/agent_recommendation_service.py +278 -0
  295. claude_mpm/services/agents/agent_review_service.py +280 -0
  296. claude_mpm/services/agents/agent_selection_service.py +2 -2
  297. claude_mpm/services/agents/cache_git_manager.py +7 -7
  298. claude_mpm/services/agents/deployment/agent_deployment.py +29 -7
  299. claude_mpm/services/agents/deployment/agent_discovery_service.py +6 -5
  300. claude_mpm/services/agents/deployment/agent_format_converter.py +25 -13
  301. claude_mpm/services/agents/deployment/agent_template_builder.py +42 -20
  302. claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
  303. claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
  304. claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
  305. claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
  306. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +348 -29
  307. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +570 -68
  308. claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
  309. claude_mpm/services/agents/git_source_manager.py +57 -4
  310. claude_mpm/services/agents/loading/base_agent_manager.py +1 -13
  311. claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
  312. claude_mpm/services/agents/recommender.py +5 -3
  313. claude_mpm/services/agents/single_tier_deployment_service.py +6 -6
  314. claude_mpm/services/agents/sources/git_source_sync_service.py +129 -11
  315. claude_mpm/services/agents/startup_sync.py +27 -4
  316. claude_mpm/services/agents/toolchain_detector.py +10 -6
  317. claude_mpm/services/analysis/__init__.py +11 -1
  318. claude_mpm/services/analysis/clone_detector.py +1030 -0
  319. claude_mpm/services/cli/__init__.py +3 -0
  320. claude_mpm/services/cli/incremental_pause_manager.py +561 -0
  321. claude_mpm/services/cli/session_resume_helper.py +10 -2
  322. claude_mpm/services/command_deployment_service.py +81 -10
  323. claude_mpm/services/delegation_detector.py +175 -0
  324. claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
  325. claude_mpm/services/diagnostics/checks/agent_sources_check.py +31 -1
  326. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
  327. claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
  328. claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
  329. claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
  330. claude_mpm/services/diagnostics/models.py +14 -1
  331. claude_mpm/services/event_bus/config.py +3 -1
  332. claude_mpm/services/event_log.py +325 -0
  333. claude_mpm/services/git/git_operations_service.py +101 -16
  334. claude_mpm/services/infrastructure/__init__.py +4 -0
  335. claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
  336. claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
  337. claude_mpm/services/monitor/daemon.py +9 -2
  338. claude_mpm/services/monitor/daemon_manager.py +54 -7
  339. claude_mpm/services/monitor/management/lifecycle.py +15 -3
  340. claude_mpm/services/monitor/server.py +796 -30
  341. claude_mpm/services/pm_skills_deployer.py +884 -0
  342. claude_mpm/services/profile_manager.py +337 -0
  343. claude_mpm/services/project/project_organizer.py +4 -0
  344. claude_mpm/services/self_upgrade_service.py +120 -12
  345. claude_mpm/services/skills/__init__.py +3 -0
  346. claude_mpm/services/skills/git_skill_source_manager.py +303 -12
  347. claude_mpm/services/skills/selective_skill_deployer.py +869 -0
  348. claude_mpm/services/skills/skill_discovery_service.py +74 -4
  349. claude_mpm/services/skills/skill_to_agent_mapper.py +406 -0
  350. claude_mpm/services/skills_deployer.py +294 -55
  351. claude_mpm/services/socketio/dashboard_server.py +1 -0
  352. claude_mpm/services/socketio/event_normalizer.py +51 -6
  353. claude_mpm/services/socketio/handlers/hook.py +14 -7
  354. claude_mpm/services/socketio/server/core.py +386 -108
  355. claude_mpm/services/socketio/server/main.py +12 -4
  356. claude_mpm/services/version_control/git_operations.py +103 -0
  357. claude_mpm/skills/__init__.py +2 -1
  358. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  359. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  360. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  361. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  362. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  363. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  364. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  365. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  366. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  367. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  368. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  369. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  370. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  371. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  372. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  373. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  374. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  375. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  376. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  377. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  378. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  379. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  380. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  381. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  382. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  383. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  384. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  385. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  386. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  387. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  388. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  389. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  390. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  391. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  392. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  393. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  394. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  395. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  396. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  397. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  398. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  399. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  400. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  401. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  402. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  403. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  404. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  405. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  406. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  407. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  408. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  409. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  410. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  411. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  412. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  413. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  414. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  415. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  416. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  417. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  418. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  419. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  420. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  421. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  422. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  423. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  424. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  425. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  426. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  427. claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
  428. claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
  429. claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
  430. claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
  431. claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
  432. claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
  433. claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
  434. claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
  435. claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
  436. claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
  437. claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
  438. claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
  439. claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
  440. claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
  441. claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
  442. claude_mpm/skills/bundled/pm/mpm-session-pause/SKILL.md +170 -0
  443. claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
  444. claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
  445. claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
  446. claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
  447. claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
  448. claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
  449. claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
  450. claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
  451. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  452. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  453. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  454. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  455. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  456. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  457. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  458. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  459. claude_mpm/skills/bundled/security-scanning.md +112 -0
  460. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  461. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  462. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  463. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  464. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  465. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  466. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  467. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  468. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  469. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  470. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  471. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  472. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  473. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  474. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  475. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  476. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  477. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  478. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  479. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  480. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  481. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  482. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  483. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  484. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  485. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  486. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  487. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  488. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  489. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  490. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  491. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  492. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  493. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  494. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  495. claude_mpm/skills/registry.py +295 -90
  496. claude_mpm/skills/skill_manager.py +98 -3
  497. claude_mpm/templates/.pre-commit-config.yaml +112 -0
  498. claude_mpm/utils/agent_dependency_loader.py +115 -4
  499. claude_mpm/utils/agent_filters.py +17 -44
  500. claude_mpm/utils/gitignore.py +3 -0
  501. claude_mpm/utils/migration.py +4 -4
  502. claude_mpm/utils/robust_installer.py +86 -21
  503. claude_mpm-5.6.23.dist-info/METADATA +393 -0
  504. {claude_mpm-5.0.9.dist-info → claude_mpm-5.6.23.dist-info}/RECORD +508 -261
  505. claude_mpm-5.6.23.dist-info/entry_points.txt +5 -0
  506. claude_mpm-5.6.23.dist-info/licenses/LICENSE +94 -0
  507. claude_mpm-5.6.23.dist-info/licenses/LICENSE-FAQ.md +153 -0
  508. claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -292
  509. claude_mpm/agents/BASE_DOCUMENTATION.md +0 -53
  510. claude_mpm/agents/BASE_OPS.md +0 -219
  511. claude_mpm/agents/BASE_PM.md +0 -480
  512. claude_mpm/agents/BASE_PROMPT_ENGINEER.md +0 -787
  513. claude_mpm/agents/BASE_QA.md +0 -167
  514. claude_mpm/agents/BASE_RESEARCH.md +0 -53
  515. claude_mpm/agents/OUTPUT_STYLE.md +0 -290
  516. claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +0 -1322
  517. claude_mpm/agents/base_agent_loader.py +0 -601
  518. claude_mpm/cli/commands/agents_detect.py +0 -380
  519. claude_mpm/cli/commands/agents_recommend.py +0 -309
  520. claude_mpm/cli/ticket_cli.py +0 -35
  521. claude_mpm/commands/mpm-agents-auto-configure.md +0 -278
  522. claude_mpm/commands/mpm-agents-detect.md +0 -177
  523. claude_mpm/commands/mpm-agents-list.md +0 -131
  524. claude_mpm/commands/mpm-agents-recommend.md +0 -223
  525. claude_mpm/commands/mpm-config-view.md +0 -150
  526. claude_mpm/commands/mpm-ticket-organize.md +0 -304
  527. claude_mpm/dashboard/analysis_runner.py +0 -455
  528. claude_mpm/dashboard/index.html +0 -13
  529. claude_mpm/dashboard/open_dashboard.py +0 -66
  530. claude_mpm/dashboard/static/css/activity.css +0 -1958
  531. claude_mpm/dashboard/static/css/connection-status.css +0 -370
  532. claude_mpm/dashboard/static/css/dashboard.css +0 -4701
  533. claude_mpm/dashboard/static/js/components/activity-tree.js +0 -1871
  534. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -777
  535. claude_mpm/dashboard/static/js/components/agent-inference.js +0 -956
  536. claude_mpm/dashboard/static/js/components/build-tracker.js +0 -333
  537. claude_mpm/dashboard/static/js/components/code-simple.js +0 -857
  538. claude_mpm/dashboard/static/js/components/connection-debug.js +0 -654
  539. claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -891
  540. claude_mpm/dashboard/static/js/components/event-processor.js +0 -542
  541. claude_mpm/dashboard/static/js/components/event-viewer.js +0 -1155
  542. claude_mpm/dashboard/static/js/components/export-manager.js +0 -368
  543. claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -443
  544. claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -690
  545. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -724
  546. claude_mpm/dashboard/static/js/components/file-viewer.js +0 -580
  547. claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -211
  548. claude_mpm/dashboard/static/js/components/hud-manager.js +0 -671
  549. claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -1718
  550. claude_mpm/dashboard/static/js/components/module-viewer.js +0 -2764
  551. claude_mpm/dashboard/static/js/components/session-manager.js +0 -579
  552. claude_mpm/dashboard/static/js/components/socket-manager.js +0 -368
  553. claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -749
  554. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -1824
  555. claude_mpm/dashboard/static/js/components/working-directory.js +0 -920
  556. claude_mpm/dashboard/static/js/connection-manager.js +0 -536
  557. claude_mpm/dashboard/static/js/dashboard.js +0 -1914
  558. claude_mpm/dashboard/static/js/extension-error-handler.js +0 -164
  559. claude_mpm/dashboard/static/js/socket-client.js +0 -1474
  560. claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -185
  561. claude_mpm/dashboard/static/socket.io.min.js +0 -7
  562. claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -7
  563. claude_mpm/dashboard/templates/code_simple.html +0 -153
  564. claude_mpm/dashboard/templates/index.html +0 -606
  565. claude_mpm/dashboard/test_dashboard.html +0 -372
  566. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  567. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
  568. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
  569. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
  570. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
  571. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
  572. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
  573. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
  574. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
  575. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
  576. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
  577. claude_mpm/scripts/mcp_server.py +0 -75
  578. claude_mpm/scripts/mcp_wrapper.py +0 -39
  579. claude_mpm/services/mcp_gateway/__init__.py +0 -159
  580. claude_mpm/services/mcp_gateway/auto_configure.py +0 -369
  581. claude_mpm/services/mcp_gateway/config/__init__.py +0 -17
  582. claude_mpm/services/mcp_gateway/config/config_loader.py +0 -296
  583. claude_mpm/services/mcp_gateway/config/config_schema.py +0 -243
  584. claude_mpm/services/mcp_gateway/config/configuration.py +0 -429
  585. claude_mpm/services/mcp_gateway/core/__init__.py +0 -43
  586. claude_mpm/services/mcp_gateway/core/base.py +0 -312
  587. claude_mpm/services/mcp_gateway/core/exceptions.py +0 -253
  588. claude_mpm/services/mcp_gateway/core/interfaces.py +0 -443
  589. claude_mpm/services/mcp_gateway/core/process_pool.py +0 -977
  590. claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -315
  591. claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -316
  592. claude_mpm/services/mcp_gateway/main.py +0 -589
  593. claude_mpm/services/mcp_gateway/registry/__init__.py +0 -12
  594. claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -412
  595. claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -489
  596. claude_mpm/services/mcp_gateway/server/__init__.py +0 -15
  597. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -414
  598. claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -372
  599. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -712
  600. claude_mpm/services/mcp_gateway/tools/__init__.py +0 -36
  601. claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -485
  602. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -789
  603. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -654
  604. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -456
  605. claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -551
  606. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -555
  607. claude_mpm/services/mcp_gateway/utils/__init__.py +0 -14
  608. claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -160
  609. claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -170
  610. claude_mpm-5.0.9.dist-info/METADATA +0 -1028
  611. claude_mpm-5.0.9.dist-info/entry_points.txt +0 -10
  612. claude_mpm-5.0.9.dist-info/licenses/LICENSE +0 -21
  613. {claude_mpm-5.0.9.dist-info → claude_mpm-5.6.23.dist-info}/WHEEL +0 -0
  614. {claude_mpm-5.0.9.dist-info → claude_mpm-5.6.23.dist-info}/top_level.txt +0 -0
@@ -1,671 +0,0 @@
1
- /**
2
- * HUD Manager Module
3
- *
4
- * Manages HUD (Heads-Up Display) visualization mode, including toggling between
5
- * normal and HUD views, processing events for visualization, and coordinating
6
- * with the HUD visualizer component.
7
- *
8
- * WHY: Extracted from main dashboard to isolate HUD-specific functionality
9
- * and provide better separation between standard event viewing and advanced
10
- * HUD visualization modes. This improves maintainability of complex visualization logic.
11
- *
12
- * DESIGN DECISION: Acts as a coordinator between the dashboard state and the
13
- * HUD visualizer component, managing mode switching and event processing
14
- * while maintaining clean separation from core dashboard functionality.
15
- */
16
- class HUDManager {
17
- constructor(eventViewer, sessionManager) {
18
- this.eventViewer = eventViewer;
19
- this.sessionManager = sessionManager;
20
- this.hudVisualizer = null;
21
- this.hudMode = false;
22
- this.isInitialized = false;
23
-
24
- this.initializeHUDVisualizer();
25
- this.setupEventHandlers();
26
-
27
- // Initial button state update with a small delay to ensure all components are ready
28
- setTimeout(() => {
29
- this.updateHUDButtonState();
30
- }, 100);
31
-
32
- console.log('HUD manager initialized');
33
- }
34
-
35
- /**
36
- * Initialize the HUD visualizer component
37
- */
38
- initializeHUDVisualizer() {
39
- try {
40
- this.hudVisualizer = new HUDVisualizer();
41
- window.hudVisualizer = this.hudVisualizer; // Backward compatibility
42
-
43
- // Initialize HUD visualizer
44
- this.hudVisualizer.initialize();
45
- this.isInitialized = true;
46
-
47
- console.log('HUD visualizer initialized successfully');
48
- } catch (error) {
49
- console.error('Failed to initialize HUD visualizer:', error);
50
- this.isInitialized = false;
51
- }
52
- }
53
-
54
- /**
55
- * Set up event handlers for HUD functionality
56
- */
57
- setupEventHandlers() {
58
- console.log('[HUD-DEBUG] Setting up HUD event handlers');
59
-
60
- // HUD toggle button
61
- const hudToggleBtn = document.getElementById('hud-toggle-btn');
62
- if (hudToggleBtn) {
63
- console.log('[HUD-DEBUG] HUD toggle button found, adding click listener');
64
- hudToggleBtn.addEventListener('click', () => {
65
- console.log('[HUD-DEBUG] HUD toggle button clicked');
66
- this.toggleHUD();
67
- });
68
- } else {
69
- console.warn('[HUD-DEBUG] HUD toggle button not found during setup');
70
- // Check if the DOM is ready
71
- if (document.readyState === 'loading') {
72
- console.log('[HUD-DEBUG] DOM still loading, will retry after DOMContentLoaded');
73
- document.addEventListener('DOMContentLoaded', () => {
74
- console.log('[HUD-DEBUG] DOM loaded, retrying HUD button setup');
75
- this.setupEventHandlers();
76
- });
77
- return;
78
- }
79
- }
80
-
81
- // Listen for session changes to update HUD button state
82
- console.log('[HUD-DEBUG] Adding sessionChanged event listener');
83
- document.addEventListener('sessionChanged', (e) => {
84
- console.log('[HUD-DEBUG] sessionChanged event received:', e.detail);
85
- this.updateHUDButtonState();
86
- });
87
-
88
- // Also listen for sessionFilterChanged for backward compatibility
89
- console.log('[HUD-DEBUG] Adding sessionFilterChanged event listener');
90
- document.addEventListener('sessionFilterChanged', (e) => {
91
- console.log('[HUD-DEBUG] sessionFilterChanged event received:', e.detail);
92
- this.updateHUDButtonState();
93
- });
94
- }
95
-
96
- /**
97
- * Toggle HUD mode on/off
98
- */
99
- toggleHUD() {
100
- console.log('[HUD-DEBUG] toggleHUD called');
101
-
102
- if (!this.isSessionSelected()) {
103
- console.log('[HUD-DEBUG] Cannot toggle HUD: No session selected');
104
- return;
105
- }
106
-
107
- if (!this.isInitialized) {
108
- console.error('[HUD-DEBUG] Cannot toggle HUD: HUD visualizer not initialized');
109
- return;
110
- }
111
-
112
- const oldMode = this.hudMode;
113
- this.hudMode = !this.hudMode;
114
- console.log('[HUD-DEBUG] HUD mode changed from', oldMode, 'to', this.hudMode);
115
-
116
- this.updateHUDDisplay();
117
-
118
- console.log('[HUD-DEBUG] HUD mode toggled:', this.hudMode ? 'ON' : 'OFF');
119
- }
120
-
121
- /**
122
- * Check if a session is currently selected
123
- * @returns {boolean} - True if session is selected
124
- */
125
- isSessionSelected() {
126
- const hasManager = !!this.sessionManager;
127
- const selectedId = this.sessionManager?.selectedSessionId;
128
- const isValidSelection = selectedId && selectedId !== 'all' && selectedId !== '';
129
-
130
- console.log('[HUD-DEBUG] isSessionSelected check:', {
131
- hasManager: hasManager,
132
- selectedId: selectedId,
133
- isValidSelection: isValidSelection,
134
- finalResult: hasManager && isValidSelection
135
- });
136
-
137
- return hasManager && isValidSelection;
138
- }
139
-
140
- /**
141
- * Update HUD display based on current mode
142
- */
143
- updateHUDDisplay() {
144
- console.log('[HUD-DEBUG] updateHUDDisplay called, hudMode:', this.hudMode);
145
-
146
- const eventsWrapper = document.querySelector('.events-wrapper');
147
- const hudToggleBtn = document.getElementById('hud-toggle-btn');
148
-
149
- console.log('[HUD-DEBUG] DOM elements found:', {
150
- eventsWrapper: !!eventsWrapper,
151
- hudToggleBtn: !!hudToggleBtn,
152
- hudVisualizer: !!this.hudVisualizer
153
- });
154
-
155
- if (!eventsWrapper || !hudToggleBtn) {
156
- console.error('[HUD-DEBUG] Missing DOM elements for HUD display update');
157
- return;
158
- }
159
-
160
- if (this.hudMode) {
161
- console.log('[HUD-DEBUG] Switching to HUD mode...');
162
- // Switch to HUD mode
163
- eventsWrapper.classList.add('hud-mode');
164
- hudToggleBtn.classList.add('btn-hud-active');
165
- hudToggleBtn.textContent = 'Normal View';
166
-
167
- // Activate HUD visualizer and process events
168
- if (this.hudVisualizer) {
169
- console.log('[HUD-DEBUG] Activating HUD visualizer...');
170
- this.hudVisualizer.activate().then(() => {
171
- console.log('[HUD-DEBUG] HUD visualizer activated successfully, processing existing events...');
172
-
173
- // Additional resize attempts after DOM settles
174
- setTimeout(() => {
175
- console.log('[HUD-DEBUG] Post-activation resize check...');
176
- if (this.hudVisualizer && this.hudVisualizer.ensureContainerResize) {
177
- this.hudVisualizer.ensureContainerResize();
178
- }
179
- }, 100);
180
-
181
- // Process existing events after libraries are loaded
182
- this.processExistingEventsForHUD();
183
- }).catch((error) => {
184
- console.error('[HUD-DEBUG] Failed to activate HUD:', error);
185
- console.error('[HUD-DEBUG] Error stack:', error.stack);
186
- // Optionally revert HUD mode on failure
187
- this.hudMode = false;
188
- this.updateHUDDisplay();
189
- });
190
- } else {
191
- console.error('[HUD-DEBUG] No HUD visualizer available');
192
- }
193
- } else {
194
- console.log('[HUD-DEBUG] Switching to normal mode...');
195
- // Switch to normal mode
196
- eventsWrapper.classList.remove('hud-mode');
197
- hudToggleBtn.classList.remove('btn-hud-active');
198
- hudToggleBtn.textContent = 'HUD View';
199
-
200
- // Deactivate HUD visualizer
201
- if (this.hudVisualizer) {
202
- console.log('[HUD-DEBUG] Deactivating HUD visualizer...');
203
- this.hudVisualizer.deactivate();
204
- }
205
- }
206
- }
207
-
208
- /**
209
- * Update HUD button state based on session selection
210
- */
211
- updateHUDButtonState() {
212
- console.log('[HUD-DEBUG] updateHUDButtonState called');
213
-
214
- const hudToggleBtn = document.getElementById('hud-toggle-btn');
215
- if (!hudToggleBtn) {
216
- console.warn('[HUD-DEBUG] HUD toggle button not found in DOM');
217
- // Let's check what buttons do exist
218
- const allButtons = document.querySelectorAll('button');
219
- console.log('[HUD-DEBUG] Available buttons:', Array.from(allButtons).map(btn => ({ id: btn.id, className: btn.className, text: btn.textContent })));
220
- return;
221
- }
222
-
223
- console.log('[HUD-DEBUG] HUD button found:', {
224
- id: hudToggleBtn.id,
225
- className: hudToggleBtn.className,
226
- disabled: hudToggleBtn.disabled,
227
- title: hudToggleBtn.title,
228
- textContent: hudToggleBtn.textContent
229
- });
230
-
231
- const sessionSelected = this.isSessionSelected();
232
- const selectedSessionId = this.sessionManager?.selectedSessionId;
233
-
234
- console.log('[HUD-DEBUG] HUD Button State Update:', {
235
- sessionSelected,
236
- selectedSessionId,
237
- currentHudMode: this.hudMode,
238
- sessionManagerExists: !!this.sessionManager
239
- });
240
-
241
- if (sessionSelected) {
242
- hudToggleBtn.disabled = false;
243
- hudToggleBtn.title = 'Toggle HUD visualization mode';
244
- console.log('[HUD-DEBUG] HUD button enabled - session selected:', selectedSessionId);
245
- } else {
246
- hudToggleBtn.disabled = true;
247
- hudToggleBtn.title = 'Select a session to enable HUD mode';
248
- console.log('[HUD-DEBUG] HUD button disabled - no session selected');
249
-
250
- // Disable HUD mode if currently active
251
- if (this.hudMode) {
252
- console.log('[HUD-DEBUG] Disabling HUD mode because no session selected');
253
- this.hudMode = false;
254
- this.updateHUDDisplay();
255
- }
256
- }
257
-
258
- console.log('[HUD-DEBUG] Final HUD button state:', {
259
- disabled: hudToggleBtn.disabled,
260
- title: hudToggleBtn.title
261
- });
262
- }
263
-
264
- /**
265
- * Process existing events for HUD visualization
266
- * Called when HUD mode is activated
267
- */
268
- processExistingEventsForHUD() {
269
- console.log('[HUD-MANAGER-DEBUG] processExistingEventsForHUD called');
270
-
271
- if (!this.hudVisualizer) {
272
- console.error('[HUD-MANAGER-DEBUG] No HUD visualizer available');
273
- return;
274
- }
275
-
276
- if (!this.eventViewer) {
277
- console.error('[HUD-MANAGER-DEBUG] No event viewer available');
278
- return;
279
- }
280
-
281
- console.log('[HUD-MANAGER-DEBUG] 🔄 Processing existing events for HUD visualization...');
282
-
283
- // Clear existing visualization
284
- this.hudVisualizer.clear();
285
-
286
- // Get all events (not just filtered ones) to build complete tree structure
287
- const allEvents = this.eventViewer.getAllEvents();
288
- console.log(`[HUD-MANAGER-DEBUG] Retrieved ${allEvents ? allEvents.length : 0} events from event viewer`);
289
-
290
- if (!allEvents) {
291
- console.error('[HUD-MANAGER-DEBUG] Event viewer returned null/undefined events');
292
- return;
293
- }
294
-
295
- if (!Array.isArray(allEvents)) {
296
- console.error('[HUD-MANAGER-DEBUG] Event viewer returned non-array:', typeof allEvents);
297
- return;
298
- }
299
-
300
- if (allEvents.length === 0) {
301
- console.log('⚠️ No events available for HUD processing');
302
- return;
303
- }
304
-
305
- console.log(`[HUD-MANAGER-DEBUG] 📊 Found ${allEvents.length} total events for HUD processing`);
306
-
307
- // Check if we should filter by selected session
308
- const selectedSessionId = this.sessionManager?.selectedSessionId;
309
- console.log(`[HUD-MANAGER-DEBUG] Selected session ID: ${selectedSessionId}`);
310
-
311
- let eventsToProcess = allEvents;
312
-
313
- if (selectedSessionId && selectedSessionId !== '' && selectedSessionId !== 'all') {
314
- console.log(`[HUD-MANAGER-DEBUG] Filtering events for session: ${selectedSessionId}`);
315
- eventsToProcess = allEvents.filter(event => {
316
- const eventSessionId = event.session_id || (event.data && event.data.session_id);
317
- const matches = eventSessionId === selectedSessionId;
318
- if (!matches) {
319
- console.log(`[HUD-MANAGER-DEBUG] Event ${event.timestamp} session ${eventSessionId} does not match ${selectedSessionId}`);
320
- }
321
- return matches;
322
- });
323
- console.log(`[HUD-MANAGER-DEBUG] Filtered to ${eventsToProcess.length} events for session ${selectedSessionId}`);
324
- } else {
325
- console.log('[HUD-MANAGER-DEBUG] No session filtering - processing all events');
326
- }
327
-
328
- // Sort events by timestamp to ensure chronological processing
329
- const sortedEvents = eventsToProcess.slice().sort((a, b) => {
330
- const timeA = new Date(a.timestamp).getTime();
331
- const timeB = new Date(b.timestamp).getTime();
332
- return timeA - timeB;
333
- });
334
-
335
- console.log(`[HUD-MANAGER-DEBUG] Sorted ${sortedEvents.length} events chronologically`);
336
-
337
- // Process events in chronological order
338
- console.log(`[HUD-MANAGER-DEBUG] Calling hudVisualizer.processExistingEvents with ${sortedEvents.length} events`);
339
- this.hudVisualizer.processExistingEvents(sortedEvents);
340
-
341
- console.log(`[HUD-MANAGER-DEBUG] ✅ Processed ${sortedEvents.length} events for HUD visualization`);
342
-
343
- // After processing, check if nodes were created
344
- setTimeout(() => {
345
- const nodeCount = this.hudVisualizer?.nodes?.size || 0;
346
- console.log(`[HUD-MANAGER-DEBUG] HUD visualizer now has ${nodeCount} nodes`);
347
-
348
- if (nodeCount === 0) {
349
- console.warn(`[HUD-MANAGER-DEBUG] No nodes created! Check event processing logic`);
350
- console.log(`[HUD-MANAGER-DEBUG] Sample processed events:`, sortedEvents.slice(0, 3));
351
- } else {
352
- console.log(`[HUD-MANAGER-DEBUG] Successfully created ${nodeCount} nodes`);
353
- // List the nodes
354
- if (this.hudVisualizer.nodes) {
355
- this.hudVisualizer.nodes.forEach((nodeData, nodeId) => {
356
- console.log(`[HUD-MANAGER-DEBUG] Node: ${nodeId} - ${nodeData.label} (${nodeData.type})`);
357
- });
358
- }
359
- }
360
- }, 100);
361
- }
362
-
363
- /**
364
- * Handle a new event for HUD processing
365
- * Called when new events arrive via socket
366
- * @param {Object} event - Event to process
367
- */
368
- handleHUDEvent(event) {
369
- if (this.hudMode && this.hudVisualizer && this.isInitialized) {
370
- this.hudVisualizer.processEvent(event);
371
- }
372
- }
373
-
374
- /**
375
- * Handle multiple new events for HUD processing
376
- * @param {Array} events - Events to process
377
- */
378
- handleHUDEvents(events) {
379
- if (this.hudMode && this.hudVisualizer && this.isInitialized && events.length > 0) {
380
- // Get the most recent event for HUD processing
381
- const latestEvent = events[events.length - 1];
382
- this.handleHUDEvent(latestEvent);
383
- }
384
- }
385
-
386
- /**
387
- * Clear HUD visualization
388
- */
389
- clearHUD() {
390
- if (this.hudVisualizer) {
391
- this.hudVisualizer.clear();
392
- }
393
- }
394
-
395
- /**
396
- * Get current HUD mode state
397
- * @returns {boolean} - True if HUD mode is active
398
- */
399
- isHUDMode() {
400
- return this.hudMode;
401
- }
402
-
403
- /**
404
- * Get HUD visualizer instance
405
- * @returns {HUDVisualizer|null} - HUD visualizer instance
406
- */
407
- getHUDVisualizer() {
408
- return this.hudVisualizer;
409
- }
410
-
411
- /**
412
- * Check if HUD is initialized properly
413
- * @returns {boolean} - True if initialized
414
- */
415
- isHUDInitialized() {
416
- return this.isInitialized;
417
- }
418
-
419
- /**
420
- * Reinitialize HUD visualizer
421
- * Useful for recovery from errors
422
- */
423
- reinitialize() {
424
- console.log('Reinitializing HUD manager...');
425
- this.isInitialized = false;
426
- this.hudMode = false;
427
-
428
- this.initializeHUDVisualizer();
429
- this.updateHUDDisplay();
430
- this.updateHUDButtonState();
431
- }
432
-
433
- /**
434
- * Debug method to manually test HUD activation
435
- * Can be called from browser console: window.dashboard.hudManager.debugActivateHUD()
436
- */
437
- debugActivateHUD() {
438
- console.log('[HUD-DEBUG] debugActivateHUD() called manually');
439
- console.log('[HUD-DEBUG] Current state:', {
440
- hudMode: this.hudMode,
441
- isInitialized: this.isInitialized,
442
- hasHudVisualizer: !!this.hudVisualizer,
443
- hasEventViewer: !!this.eventViewer,
444
- hasSessionManager: !!this.sessionManager,
445
- selectedSessionId: this.sessionManager?.selectedSessionId,
446
- isSessionSelected: this.isSessionSelected()
447
- });
448
-
449
- if (!this.isSessionSelected()) {
450
- console.error('[HUD-DEBUG] Cannot debug HUD: No session selected');
451
- return;
452
- }
453
-
454
- // Force HUD mode and call updateHUDDisplay
455
- this.hudMode = true;
456
- this.updateHUDDisplay();
457
- }
458
-
459
- /**
460
- * Comprehensive HUD debugging that coordinates with HUD visualizer
461
- * Can be called from browser console: window.dashboard.hudManager.debugHUDComprehensive()
462
- */
463
- debugHUDComprehensive() {
464
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] ===============================');
465
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] COMPREHENSIVE HUD DEBUG START');
466
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] ===============================');
467
-
468
- // 1. Check HUD Manager state
469
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] 1. HUD Manager State:');
470
- const managerState = {
471
- hudMode: this.hudMode,
472
- isInitialized: this.isInitialized,
473
- hasHudVisualizer: !!this.hudVisualizer,
474
- hasEventViewer: !!this.eventViewer,
475
- hasSessionManager: !!this.sessionManager,
476
- selectedSessionId: this.sessionManager?.selectedSessionId,
477
- isSessionSelected: this.isSessionSelected()
478
- };
479
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG]', managerState);
480
-
481
- // 2. Check DOM elements
482
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] 2. DOM Elements:');
483
- const domElements = {
484
- hudToggleBtn: !!document.getElementById('hud-toggle-btn'),
485
- hudVisualizer: !!document.getElementById('hud-visualizer'),
486
- hudCytoscape: !!document.getElementById('hud-cytoscape'),
487
- eventsWrapper: !!document.querySelector('.events-wrapper'),
488
- normalView: !!document.getElementById('normal-view')
489
- };
490
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG]', domElements);
491
-
492
- // 3. Force activate HUD if not active
493
- if (!this.hudMode) {
494
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] 3. HUD not active, forcing activation...');
495
- if (!this.isSessionSelected()) {
496
- console.warn('[HUD-MANAGER-COMPREHENSIVE-DEBUG] No session selected, will use debug mode');
497
- // Force set a session for debugging
498
- if (this.sessionManager && this.sessionManager.sessionIds && this.sessionManager.sessionIds.length > 0) {
499
- const firstSession = this.sessionManager.sessionIds[0];
500
- console.log(`[HUD-MANAGER-COMPREHENSIVE-DEBUG] Setting first available session: ${firstSession}`);
501
- this.sessionManager.selectedSessionId = firstSession;
502
- }
503
- }
504
-
505
- this.hudMode = true;
506
- this.updateHUDDisplay();
507
- } else {
508
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] 3. HUD already active');
509
- }
510
-
511
- // 4. Wait for HUD activation, then run visualizer debug
512
- setTimeout(() => {
513
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] 4. Running HUD Visualizer Debug...');
514
- if (this.hudVisualizer && this.hudVisualizer.debugBlankScreen) {
515
- this.hudVisualizer.debugBlankScreen();
516
- } else {
517
- console.error('[HUD-MANAGER-COMPREHENSIVE-DEBUG] HUD Visualizer debug method not available');
518
- }
519
- }, 1000);
520
-
521
- // 5. Add test events if event viewer has no events
522
- setTimeout(() => {
523
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] 5. Checking event data...');
524
- const allEvents = this.eventViewer?.getAllEvents();
525
- console.log(`[HUD-MANAGER-COMPREHENSIVE-DEBUG] Found ${allEvents ? allEvents.length : 0} events`);
526
-
527
- if (!allEvents || allEvents.length === 0) {
528
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] No events found, adding test events...');
529
- this.debugAddTestEvents();
530
- } else {
531
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] Events exist, processing for HUD...');
532
- this.processExistingEventsForHUD();
533
- }
534
- }, 1500);
535
-
536
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] Comprehensive debug initiated. Check logs above.');
537
- }
538
-
539
- /**
540
- * Add test events for debugging when no real events exist
541
- */
542
- debugAddTestEvents() {
543
- if (!this.hudVisualizer) {
544
- console.error('[HUD-MANAGER-COMPREHENSIVE-DEBUG] No HUD visualizer for test events');
545
- return;
546
- }
547
-
548
- console.log('[HUD-MANAGER-COMPREHENSIVE-DEBUG] Adding test events...');
549
-
550
- const testEvents = [
551
- {
552
- timestamp: new Date().toISOString(),
553
- hook_event_name: 'session',
554
- subtype: 'started',
555
- session_id: 'debug-session-001',
556
- data: { session_id: 'debug-session-001' }
557
- },
558
- {
559
- timestamp: new Date(Date.now() + 1000).toISOString(),
560
- hook_event_name: 'hook',
561
- subtype: 'user_prompt',
562
- session_id: 'debug-session-001',
563
- data: {
564
- session_id: 'debug-session-001',
565
- prompt_preview: 'Debug the HUD rendering issue'
566
- }
567
- },
568
- {
569
- timestamp: new Date(Date.now() + 2000).toISOString(),
570
- hook_event_name: 'hook',
571
- subtype: 'pre_tool',
572
- session_id: 'debug-session-001',
573
- data: {
574
- session_id: 'debug-session-001',
575
- tool_name: 'Read'
576
- }
577
- },
578
- {
579
- timestamp: new Date(Date.now() + 3000).toISOString(),
580
- hook_event_name: 'agent',
581
- subtype: 'activated',
582
- session_id: 'debug-session-001',
583
- data: {
584
- session_id: 'debug-session-001',
585
- agent_type: 'engineer',
586
- agent_name: 'Debug Engineer'
587
- }
588
- },
589
- {
590
- timestamp: new Date(Date.now() + 4000).toISOString(),
591
- hook_event_name: 'todo',
592
- subtype: 'updated',
593
- session_id: 'debug-session-001',
594
- data: {
595
- session_id: 'debug-session-001'
596
- }
597
- }
598
- ];
599
-
600
- console.log(`[HUD-MANAGER-COMPREHENSIVE-DEBUG] Processing ${testEvents.length} test events...`);
601
- this.hudVisualizer.processExistingEvents(testEvents);
602
-
603
- // Also add to event viewer if it exists
604
- if (this.eventViewer && this.eventViewer.addEvent) {
605
- testEvents.forEach(event => {
606
- this.eventViewer.addEvent(event);
607
- });
608
- }
609
- }
610
-
611
- /**
612
- * Force HUD container visibility and test canvas rendering
613
- */
614
- debugForceHUDVisibility() {
615
- console.log('[HUD-MANAGER-VISIBILITY-DEBUG] Forcing HUD visibility...');
616
-
617
- // Force HUD mode DOM changes
618
- const eventsWrapper = document.querySelector('.events-wrapper');
619
- const hudVisualizer = document.getElementById('hud-visualizer');
620
- const hudCytoscape = document.getElementById('hud-cytoscape');
621
- const normalView = document.getElementById('normal-view');
622
-
623
- if (eventsWrapper) {
624
- eventsWrapper.classList.add('hud-mode');
625
- console.log('[HUD-MANAGER-VISIBILITY-DEBUG] Added hud-mode class to events-wrapper');
626
- }
627
-
628
- if (hudVisualizer) {
629
- hudVisualizer.style.display = 'block';
630
- hudVisualizer.style.visibility = 'visible';
631
- hudVisualizer.style.opacity = '1';
632
- console.log('[HUD-MANAGER-VISIBILITY-DEBUG] Forced HUD visualizer visibility');
633
- }
634
-
635
- if (hudCytoscape) {
636
- hudCytoscape.style.width = '100%';
637
- hudCytoscape.style.height = '500px';
638
- hudCytoscape.style.backgroundColor = '#f0f0f0';
639
- hudCytoscape.style.border = '2px solid #007bff';
640
- console.log('[HUD-MANAGER-VISIBILITY-DEBUG] Forced HUD cytoscape container dimensions and visibility');
641
- }
642
-
643
- if (normalView) {
644
- normalView.style.display = 'none';
645
- console.log('[HUD-MANAGER-VISIBILITY-DEBUG] Hidden normal view');
646
- }
647
-
648
- // Wait then test canvas
649
- setTimeout(() => {
650
- if (this.hudVisualizer && this.hudVisualizer.debugDrawSimpleShape) {
651
- console.log('[HUD-MANAGER-VISIBILITY-DEBUG] Testing canvas rendering...');
652
- this.hudVisualizer.debugDrawSimpleShape();
653
- }
654
- }, 500);
655
- }
656
-
657
- /**
658
- * Cleanup HUD resources
659
- */
660
- cleanup() {
661
- if (this.hudVisualizer) {
662
- this.hudVisualizer.deactivate();
663
- this.hudVisualizer.clear();
664
- }
665
-
666
- this.hudMode = false;
667
- this.isInitialized = false;
668
-
669
- console.log('HUD manager cleaned up');
670
- }
671
- }