claude-mpm 4.25.10__py3-none-any.whl → 5.1.8__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.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_PM.md +12 -0
- claude_mpm/agents/PM_INSTRUCTIONS.md +1055 -2230
- claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
- claude_mpm/agents/WORKFLOW.md +4 -4
- claude_mpm/agents/__init__.py +6 -0
- claude_mpm/agents/agent_loader.py +1 -4
- claude_mpm/agents/base_agent_loader.py +10 -35
- claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +576 -66
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
- claude_mpm/agents/templates/research-gate-examples.md +669 -0
- claude_mpm/agents/templates/structured-questions-examples.md +615 -0
- claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
- claude_mpm/agents/templates/ticketing-examples.md +277 -0
- claude_mpm/cli/__init__.py +28 -3
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +188 -30
- claude_mpm/cli/commands/agents.py +959 -36
- claude_mpm/cli/commands/agents_cleanup.py +210 -0
- claude_mpm/cli/commands/agents_discover.py +338 -0
- claude_mpm/cli/commands/auto_configure.py +537 -239
- claude_mpm/cli/commands/config.py +7 -4
- claude_mpm/cli/commands/configure.py +924 -45
- claude_mpm/cli/commands/configure_navigation.py +63 -46
- claude_mpm/cli/commands/doctor.py +10 -2
- claude_mpm/cli/commands/local_deploy.py +1 -4
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/run.py +1 -39
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +322 -19
- claude_mpm/cli/executor.py +22 -3
- claude_mpm/cli/interactive/agent_wizard.py +1028 -43
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +256 -4
- claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
- claude_mpm/cli/parsers/base_parser.py +25 -0
- claude_mpm/cli/parsers/config_parser.py +96 -43
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +7 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/startup.py +456 -103
- claude_mpm/cli/startup_display.py +4 -4
- claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
- claude_mpm/commands/mpm-agents-detect.md +9 -0
- claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
- claude_mpm/commands/mpm-agents-recommend.md +9 -0
- claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
- claude_mpm/commands/mpm-doctor.md +9 -0
- claude_mpm/commands/mpm-help.md +14 -2
- claude_mpm/commands/mpm-init.md +9 -0
- claude_mpm/commands/mpm-monitor.md +9 -0
- claude_mpm/commands/mpm-postmortem.md +123 -0
- claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
- claude_mpm/commands/mpm-status.md +9 -0
- claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
- claude_mpm/commands/mpm-ticket-view.md +552 -0
- claude_mpm/commands/mpm-version.md +9 -0
- claude_mpm/commands/mpm.md +10 -0
- claude_mpm/config/agent_presets.py +488 -0
- claude_mpm/config/agent_sources.py +325 -0
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/constants.py +1 -0
- claude_mpm/core/claude_runner.py +5 -34
- claude_mpm/core/config.py +16 -0
- claude_mpm/core/framework/__init__.py +3 -16
- claude_mpm/core/framework/loaders/file_loader.py +54 -101
- claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
- claude_mpm/core/interactive_session.py +83 -7
- claude_mpm/core/oneshot_session.py +71 -8
- claude_mpm/core/protocols/__init__.py +23 -0
- claude_mpm/core/protocols/runner_protocol.py +103 -0
- claude_mpm/core/protocols/session_protocol.py +131 -0
- claude_mpm/core/shared/singleton_manager.py +11 -4
- claude_mpm/core/system_context.py +38 -0
- claude_mpm/core/unified_config.py +22 -0
- claude_mpm/experimental/cli_enhancements.py +1 -5
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
- claude_mpm/hooks/failure_learning/__init__.py +2 -8
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
- claude_mpm/hooks/kuzu_response_hook.py +1 -5
- claude_mpm/models/git_repository.py +198 -0
- claude_mpm/services/agents/agent_builder.py +45 -9
- claude_mpm/services/agents/agent_preset_service.py +238 -0
- claude_mpm/services/agents/agent_selection_service.py +484 -0
- claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
- claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
- claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
- claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
- claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
- claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
- claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
- claude_mpm/services/agents/git_source_manager.py +629 -0
- claude_mpm/services/agents/loading/framework_agent_loader.py +1 -4
- claude_mpm/services/agents/local_template_manager.py +47 -9
- claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
- claude_mpm/services/agents/sources/__init__.py +13 -0
- claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
- claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
- claude_mpm/services/agents/startup_sync.py +239 -0
- claude_mpm/services/agents/toolchain_detector.py +474 -0
- claude_mpm/services/analysis/__init__.py +25 -0
- claude_mpm/services/analysis/postmortem_reporter.py +474 -0
- claude_mpm/services/analysis/postmortem_service.py +765 -0
- claude_mpm/services/command_deployment_service.py +200 -6
- claude_mpm/services/core/base.py +7 -2
- claude_mpm/services/core/interfaces/__init__.py +1 -3
- claude_mpm/services/core/interfaces/health.py +1 -4
- claude_mpm/services/core/models/__init__.py +2 -11
- claude_mpm/services/diagnostics/checks/__init__.py +4 -0
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
- claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
- claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +34 -6
- claude_mpm/services/git/__init__.py +21 -0
- claude_mpm/services/git/git_operations_service.py +494 -0
- claude_mpm/services/github/__init__.py +21 -0
- claude_mpm/services/github/github_cli_service.py +397 -0
- claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
- claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
- claude_mpm/services/instructions/__init__.py +9 -0
- claude_mpm/services/instructions/instruction_cache_service.py +374 -0
- claude_mpm/services/local_ops/__init__.py +3 -13
- claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
- claude_mpm/services/local_ops/health_manager.py +1 -4
- claude_mpm/services/mcp_config_manager.py +75 -145
- claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
- claude_mpm/services/mcp_service_verifier.py +6 -3
- claude_mpm/services/monitor/daemon.py +28 -8
- claude_mpm/services/monitor/daemon_manager.py +96 -19
- claude_mpm/services/pr/__init__.py +14 -0
- claude_mpm/services/pr/pr_template_service.py +329 -0
- claude_mpm/services/project/project_organizer.py +4 -0
- claude_mpm/services/runner_configuration_service.py +16 -3
- claude_mpm/services/session_management_service.py +16 -4
- claude_mpm/services/skills/__init__.py +18 -0
- claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
- claude_mpm/services/skills/skill_discovery_service.py +568 -0
- claude_mpm/services/socketio/server/core.py +1 -4
- claude_mpm/services/socketio/server/main.py +1 -3
- claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
- claude_mpm/services/unified/unified_deployment.py +1 -5
- claude_mpm/services/visualization/__init__.py +1 -5
- claude_mpm/templates/questions/__init__.py +2 -7
- claude_mpm/templates/questions/pr_strategy.py +1 -4
- claude_mpm/templates/questions/project_init.py +1 -4
- claude_mpm/templates/questions/ticket_mgmt.py +1 -4
- claude_mpm/utils/agent_dependency_loader.py +77 -10
- claude_mpm/utils/agent_filters.py +288 -0
- claude_mpm/utils/gitignore.py +3 -0
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/progress.py +387 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/METADATA +356 -112
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/RECORD +188 -439
- claude_mpm/agents/templates/agent-manager.json +0 -273
- claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
- claude_mpm/agents/templates/api_qa.json +0 -183
- claude_mpm/agents/templates/clerk-ops.json +0 -235
- claude_mpm/agents/templates/code_analyzer.json +0 -101
- claude_mpm/agents/templates/content-agent.json +0 -358
- claude_mpm/agents/templates/dart_engineer.json +0 -307
- claude_mpm/agents/templates/data_engineer.json +0 -225
- claude_mpm/agents/templates/documentation.json +0 -238
- claude_mpm/agents/templates/engineer.json +0 -210
- claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
- claude_mpm/agents/templates/golang_engineer.json +0 -270
- claude_mpm/agents/templates/imagemagick.json +0 -264
- claude_mpm/agents/templates/java_engineer.json +0 -346
- claude_mpm/agents/templates/javascript_engineer_agent.json +0 -380
- claude_mpm/agents/templates/local_ops_agent.json +0 -1840
- claude_mpm/agents/templates/memory_manager.json +0 -158
- claude_mpm/agents/templates/nextjs_engineer.json +0 -285
- claude_mpm/agents/templates/ops.json +0 -185
- claude_mpm/agents/templates/php-engineer.json +0 -287
- claude_mpm/agents/templates/product_owner.json +0 -338
- claude_mpm/agents/templates/project_organizer.json +0 -144
- claude_mpm/agents/templates/prompt-engineer.json +0 -737
- claude_mpm/agents/templates/python_engineer.json +0 -387
- claude_mpm/agents/templates/qa.json +0 -243
- claude_mpm/agents/templates/react_engineer.json +0 -239
- claude_mpm/agents/templates/refactoring_engineer.json +0 -276
- claude_mpm/agents/templates/research.json +0 -258
- claude_mpm/agents/templates/ruby-engineer.json +0 -280
- claude_mpm/agents/templates/rust_engineer.json +0 -275
- claude_mpm/agents/templates/security.json +0 -202
- claude_mpm/agents/templates/svelte-engineer.json +0 -225
- claude_mpm/agents/templates/tauri_engineer.json +0 -274
- claude_mpm/agents/templates/ticketing.json +0 -181
- claude_mpm/agents/templates/typescript_engineer.json +0 -285
- claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
- claude_mpm/agents/templates/version_control.json +0 -159
- claude_mpm/agents/templates/web_qa.json +0 -400
- claude_mpm/agents/templates/web_ui.json +0 -189
- claude_mpm/cli/README.md +0 -253
- claude_mpm/cli/commands/mcp_install_commands.py.backup +0 -284
- claude_mpm/cli/commands/mpm_init/README.md +0 -365
- claude_mpm/cli_module/refactoring_guide.md +0 -253
- claude_mpm/commands/mpm-tickets.md +0 -151
- claude_mpm/config/agent_capabilities.yaml +0 -658
- claude_mpm/config/async_logging_config.yaml +0 -145
- claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +0 -34
- claude_mpm/d2/.gitignore +0 -22
- claude_mpm/d2/ARCHITECTURE_COMPARISON.md +0 -273
- claude_mpm/d2/FLASK_INTEGRATION.md +0 -156
- claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +0 -452
- claude_mpm/d2/QUICKSTART.md +0 -186
- claude_mpm/d2/README.md +0 -232
- claude_mpm/d2/STORE_FIX_SUMMARY.md +0 -167
- claude_mpm/d2/SVELTE5_STORES_GUIDE.md +0 -180
- claude_mpm/d2/TESTING.md +0 -288
- claude_mpm/d2/index.html +0 -118
- claude_mpm/d2/package.json +0 -19
- claude_mpm/d2/src/App.svelte +0 -110
- claude_mpm/d2/src/components/Header.svelte +0 -153
- claude_mpm/d2/src/components/MainContent.svelte +0 -74
- claude_mpm/d2/src/components/Sidebar.svelte +0 -85
- claude_mpm/d2/src/components/tabs/EventsTab.svelte +0 -326
- claude_mpm/d2/src/lib/socketio.js +0 -144
- claude_mpm/d2/src/main.js +0 -7
- claude_mpm/d2/src/stores/events.js +0 -114
- claude_mpm/d2/src/stores/socket.js +0 -108
- claude_mpm/d2/src/stores/theme.js +0 -65
- claude_mpm/d2/svelte.config.js +0 -12
- claude_mpm/d2/vite.config.js +0 -15
- claude_mpm/dashboard/.claude-mpm/memories/README.md +0 -36
- claude_mpm/dashboard/BUILD_NUMBER +0 -1
- claude_mpm/dashboard/README.md +0 -121
- claude_mpm/dashboard/VERSION +0 -1
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +0 -273
- claude_mpm/dashboard/react/components/ErrorBoundary.tsx +0 -75
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +0 -141
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +0 -36
- claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
- claude_mpm/dashboard/react/components/shared/FilterBar.tsx +0 -89
- claude_mpm/dashboard/react/contexts/DashboardContext.tsx +0 -215
- claude_mpm/dashboard/react/entries/events.tsx +0 -165
- claude_mpm/dashboard/react/hooks/useEvents.ts +0 -191
- claude_mpm/dashboard/react/hooks/useSocket.ts +0 -225
- claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
- claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +0 -170
- claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/activity-tree.js.map +0 -1
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
- claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/built/components/agent-inference.js.map +0 -1
- claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
- claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
- claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/code-tree.js.map +0 -1
- claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/code-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
- claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
- claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/built/components/event-processor.js.map +0 -1
- claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/event-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/export-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +0 -1
- claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/file-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/module-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
- claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
- claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/session-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/socket-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/built/components/working-directory.js.map +0 -1
- claude_mpm/dashboard/static/built/connection-manager.js +0 -536
- claude_mpm/dashboard/static/built/dashboard.js +0 -2
- claude_mpm/dashboard/static/built/dashboard.js.map +0 -1
- claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
- claude_mpm/dashboard/static/built/react/events.js +0 -30
- claude_mpm/dashboard/static/built/react/events.js.map +0 -1
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
- claude_mpm/dashboard/static/built/shared/logger.js +0 -385
- claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/built/socket-client.js +0 -2
- claude_mpm/dashboard/static/built/socket-client.js.map +0 -1
- claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
- claude_mpm/dashboard/static/events.html +0 -607
- claude_mpm/dashboard/static/index.html +0 -635
- claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +0 -170
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/js/shared/logger.js +0 -385
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
- claude_mpm/dashboard/static/legacy/activity.html +0 -736
- claude_mpm/dashboard/static/legacy/agents.html +0 -786
- claude_mpm/dashboard/static/legacy/files.html +0 -747
- claude_mpm/dashboard/static/legacy/tools.html +0 -831
- claude_mpm/dashboard/static/monitors.html +0 -431
- claude_mpm/dashboard/static/navigation-test-results.md +0 -118
- claude_mpm/dashboard/static/production/events.html +0 -659
- claude_mpm/dashboard/static/production/main.html +0 -698
- claude_mpm/dashboard/static/production/monitors.html +0 -483
- claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
- claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
- claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
- claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
- claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +0 -36
- claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +0 -39
- claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +0 -38
- claude_mpm/hooks/README.md +0 -143
- claude_mpm/hooks/templates/README.md +0 -180
- claude_mpm/hooks/templates/settings.json.example +0 -147
- claude_mpm/schemas/agent_schema.json +0 -596
- claude_mpm/schemas/frontmatter_schema.json +0 -165
- claude_mpm/services/event_bus/README.md +0 -244
- claude_mpm/services/events/README.md +0 -303
- claude_mpm/services/framework_claude_md_generator/README.md +0 -119
- claude_mpm/services/mcp_gateway/README.md +0 -185
- claude_mpm/services/socketio/handlers/connection.py.backup +0 -217
- claude_mpm/services/socketio/handlers/hook.py.backup +0 -154
- claude_mpm/services/static/.gitkeep +0 -2
- claude_mpm/services/version_control/VERSION +0 -1
- claude_mpm/skills/bundled/.gitkeep +0 -2
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +0 -317
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +0 -251
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
- claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +0 -63
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +0 -611
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +0 -596
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +0 -260
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +0 -315
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +0 -436
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +0 -433
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +0 -452
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +0 -404
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +0 -420
- claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +0 -54
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +0 -322
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
- claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
- claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +0 -22
- claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +0 -2
- claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
- claude_mpm/skills/bundled/react/flexlayout-react.md +0 -742
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +0 -495
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +0 -599
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +0 -535
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +0 -613
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +0 -648
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +0 -673
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +0 -767
- claude_mpm/skills/bundled/tauri/tauri-performance.md +0 -669
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +0 -573
- claude_mpm/skills/bundled/tauri/tauri-testing.md +0 -384
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +0 -628
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
- claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +0 -158
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
- claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +0 -458
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +0 -411
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +0 -317
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +0 -270
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +0 -436
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
- claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
- claude_mpm/templates/questions/EXAMPLES.md +0 -501
- claude_mpm/tools/README_SOCKETIO_DEBUG.md +0 -224
- claude_mpm/tools/code_tree_analyzer/README.md +0 -64
- /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
- /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
- /claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +0 -0
- /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
- /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/WHEEL +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/top_level.txt +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
# Async Logging Configuration
|
|
2
|
-
# Optimized logging configuration for high-performance scenarios
|
|
3
|
-
|
|
4
|
-
logging:
|
|
5
|
-
# Enable async logging for improved performance
|
|
6
|
-
async:
|
|
7
|
-
enabled: true
|
|
8
|
-
|
|
9
|
-
# Log format options: json, syslog, journald
|
|
10
|
-
format: json
|
|
11
|
-
|
|
12
|
-
# Maximum queue size for async writes
|
|
13
|
-
max_queue_size: 10000
|
|
14
|
-
|
|
15
|
-
# Enable compression for JSON logs (reduces disk usage)
|
|
16
|
-
compression: false
|
|
17
|
-
|
|
18
|
-
# Worker threads for async processing
|
|
19
|
-
worker_threads: 4
|
|
20
|
-
|
|
21
|
-
# Flush timeout in seconds
|
|
22
|
-
flush_timeout: 5.0
|
|
23
|
-
|
|
24
|
-
# Session logger settings
|
|
25
|
-
session:
|
|
26
|
-
# Base directory for logs
|
|
27
|
-
base_dir: ".claude-mpm/responses"
|
|
28
|
-
|
|
29
|
-
# Use timestamp-based filenames (eliminates race conditions)
|
|
30
|
-
timestamp_filenames: true
|
|
31
|
-
|
|
32
|
-
# Include microseconds in timestamps for uniqueness
|
|
33
|
-
microsecond_precision: true
|
|
34
|
-
|
|
35
|
-
# Filename format with available variables:
|
|
36
|
-
# {agent} - Agent name
|
|
37
|
-
# {timestamp} - ISO timestamp
|
|
38
|
-
# {microseconds} - Microsecond component
|
|
39
|
-
# {session} - Session ID
|
|
40
|
-
filename_format: "{agent}_{timestamp}_{microseconds}.json"
|
|
41
|
-
|
|
42
|
-
# OS-native logging options (for extreme performance)
|
|
43
|
-
syslog:
|
|
44
|
-
# Syslog address (auto-detected by default)
|
|
45
|
-
# address: /var/run/syslog # macOS
|
|
46
|
-
# address: /dev/log # Linux
|
|
47
|
-
# address: ["localhost", 514] # Network
|
|
48
|
-
|
|
49
|
-
# Syslog facility
|
|
50
|
-
facility: local0
|
|
51
|
-
|
|
52
|
-
# Include structured data
|
|
53
|
-
structured_data: true
|
|
54
|
-
|
|
55
|
-
# Performance tuning
|
|
56
|
-
performance:
|
|
57
|
-
# Fire-and-forget mode (don't wait for write confirmation)
|
|
58
|
-
fire_and_forget: true
|
|
59
|
-
|
|
60
|
-
# Drop logs if queue is full (prevents blocking)
|
|
61
|
-
drop_on_full: true
|
|
62
|
-
|
|
63
|
-
# Batch writes for efficiency
|
|
64
|
-
batch_writes: true
|
|
65
|
-
batch_size: 10
|
|
66
|
-
batch_timeout_ms: 100
|
|
67
|
-
|
|
68
|
-
# Hook system optimization
|
|
69
|
-
hooks:
|
|
70
|
-
# Enable hook system
|
|
71
|
-
enabled: true
|
|
72
|
-
|
|
73
|
-
# Optimization settings
|
|
74
|
-
optimization:
|
|
75
|
-
# Cache hook configurations at startup
|
|
76
|
-
cache_configs: true
|
|
77
|
-
|
|
78
|
-
# Lazy load hook implementations
|
|
79
|
-
lazy_loading: true
|
|
80
|
-
|
|
81
|
-
# Use singleton pattern for hook service
|
|
82
|
-
singleton: true
|
|
83
|
-
|
|
84
|
-
# Enable async hook execution
|
|
85
|
-
async_execution: true
|
|
86
|
-
|
|
87
|
-
# Maximum workers for parallel hook execution
|
|
88
|
-
max_workers: 4
|
|
89
|
-
|
|
90
|
-
# Pre-delegation hooks
|
|
91
|
-
pre_delegation:
|
|
92
|
-
enabled: true
|
|
93
|
-
|
|
94
|
-
# Parallel execution for independent hooks
|
|
95
|
-
parallel_safe_hooks:
|
|
96
|
-
- memory_context_hook
|
|
97
|
-
- validation_hook
|
|
98
|
-
- auth_hook
|
|
99
|
-
|
|
100
|
-
# Post-delegation hooks
|
|
101
|
-
post_delegation:
|
|
102
|
-
enabled: true
|
|
103
|
-
|
|
104
|
-
# Parallel execution for independent hooks
|
|
105
|
-
parallel_safe_hooks:
|
|
106
|
-
- logging_hook
|
|
107
|
-
- metrics_hook
|
|
108
|
-
- cleanup_hook
|
|
109
|
-
|
|
110
|
-
# Registered hooks with lazy loading
|
|
111
|
-
registered:
|
|
112
|
-
# NOTE: The builtin hooks have been deprecated and removed
|
|
113
|
-
# These references are kept commented for historical reference
|
|
114
|
-
# memory_context_hook:
|
|
115
|
-
# module: claude_mpm.hooks.builtin.memory_hooks
|
|
116
|
-
# class: MemoryContextHook
|
|
117
|
-
# priority: 10
|
|
118
|
-
# enabled: true
|
|
119
|
-
# params:
|
|
120
|
-
# cache_size: 1000
|
|
121
|
-
#
|
|
122
|
-
# response_logger_hook:
|
|
123
|
-
# module: claude_mpm.hooks.builtin.logging_hooks
|
|
124
|
-
# class: ResponseLoggerHook
|
|
125
|
-
# priority: 90
|
|
126
|
-
# enabled: true
|
|
127
|
-
# params:
|
|
128
|
-
# async: true
|
|
129
|
-
#
|
|
130
|
-
# metrics_hook:
|
|
131
|
-
# module: claude_mpm.hooks.builtin.metrics_hooks
|
|
132
|
-
# class: MetricsCollectorHook
|
|
133
|
-
# priority: 95
|
|
134
|
-
# enabled: true
|
|
135
|
-
# params:
|
|
136
|
-
# buffer_size: 100
|
|
137
|
-
|
|
138
|
-
# Environment variable overrides
|
|
139
|
-
# These can override any setting above:
|
|
140
|
-
#
|
|
141
|
-
# CLAUDE_USE_ASYNC_LOG=true # Enable async logging
|
|
142
|
-
# CLAUDE_LOG_FORMAT=syslog # Use syslog format
|
|
143
|
-
# CLAUDE_LOG_SYNC=true # Disable async (for debugging)
|
|
144
|
-
# CLAUDE_HOOKS_CACHE=true # Enable hook caching
|
|
145
|
-
# CLAUDE_HOOKS_ASYNC=true # Enable async hooks
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
2025-07-30 12:40:20,992 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PostToolUse (session: df539357)
|
|
2
|
-
2025-07-30 12:40:20,992 - claude_mpm_hooks_core - INFO - hook_handler.py:254 - PostToolUse: Bash (exit code: N/A)
|
|
3
|
-
2025-07-30 12:40:33,117 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
4
|
-
2025-07-30 12:40:33,117 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Edit
|
|
5
|
-
2025-07-30 12:40:33,276 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PostToolUse (session: df539357)
|
|
6
|
-
2025-07-30 12:40:33,276 - claude_mpm_hooks_core - INFO - hook_handler.py:254 - PostToolUse: Edit (exit code: N/A)
|
|
7
|
-
2025-07-30 12:40:39,276 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
8
|
-
2025-07-30 12:40:39,276 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Bash
|
|
9
|
-
2025-07-30 12:40:39,541 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PostToolUse (session: df539357)
|
|
10
|
-
2025-07-30 12:40:39,541 - claude_mpm_hooks_core - INFO - hook_handler.py:254 - PostToolUse: Bash (exit code: N/A)
|
|
11
|
-
2025-07-30 12:40:48,610 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
12
|
-
2025-07-30 12:40:48,610 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Bash
|
|
13
|
-
2025-07-30 12:40:49,941 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PostToolUse (session: df539357)
|
|
14
|
-
2025-07-30 12:40:49,941 - claude_mpm_hooks_core - INFO - hook_handler.py:254 - PostToolUse: Bash (exit code: N/A)
|
|
15
|
-
2025-07-30 12:44:50,358 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: UserPromptSubmit (session: df539357)
|
|
16
|
-
2025-07-30 12:44:50,358 - claude_mpm_hooks_core - INFO - hook_handler.py:244 - UserPromptSubmit: OK. Let's make the subprocess the default method
|
|
17
|
-
2025-07-30 13:05:35,872 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: UserPromptSubmit (session: df539357)
|
|
18
|
-
2025-07-30 13:05:35,872 - claude_mpm_hooks_core - INFO - hook_handler.py:244 - UserPromptSubmit: actually leave as is. I want to figure out a simple test to trigger the terminal flow. Use docs/de...
|
|
19
|
-
2025-07-30 13:05:42,930 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
20
|
-
2025-07-30 13:05:42,930 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Read
|
|
21
|
-
2025-07-30 13:05:43,133 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PostToolUse (session: df539357)
|
|
22
|
-
2025-07-30 13:05:43,133 - claude_mpm_hooks_core - INFO - hook_handler.py:254 - PostToolUse: Read (exit code: N/A)
|
|
23
|
-
2025-07-30 13:05:49,996 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
24
|
-
2025-07-30 13:05:49,996 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Grep
|
|
25
|
-
2025-07-30 13:05:50,548 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PostToolUse (session: df539357)
|
|
26
|
-
2025-07-30 13:05:50,548 - claude_mpm_hooks_core - INFO - hook_handler.py:254 - PostToolUse: Grep (exit code: N/A)
|
|
27
|
-
2025-07-30 13:05:56,341 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
28
|
-
2025-07-30 13:05:56,341 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Read
|
|
29
|
-
2025-07-30 13:05:56,527 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PostToolUse (session: df539357)
|
|
30
|
-
2025-07-30 13:05:56,528 - claude_mpm_hooks_core - INFO - hook_handler.py:254 - PostToolUse: Read (exit code: N/A)
|
|
31
|
-
2025-07-30 13:06:01,890 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
32
|
-
2025-07-30 13:06:01,890 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Bash
|
|
33
|
-
2025-07-30 13:06:08,115 - claude_mpm_hooks_core - INFO - hook_handler.py:231 - Claude Code hook event: PreToolUse (session: df539357)
|
|
34
|
-
2025-07-30 13:06:08,115 - claude_mpm_hooks_core - INFO - hook_handler.py:247 - PreToolUse: Bash
|
claude_mpm/d2/.gitignore
DELETED
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
# Before vs After: Store Architecture
|
|
2
|
-
|
|
3
|
-
## The Problem (Before)
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
7
|
-
│ Module Load Time (Outside Component Context) │
|
|
8
|
-
├─────────────────────────────────────────────────────────────┤
|
|
9
|
-
│ │
|
|
10
|
-
│ stores/socket.svelte.js │
|
|
11
|
-
│ ┌─────────────────────────────────────────────────────┐ │
|
|
12
|
-
│ │ function createSocketStore() { │ │
|
|
13
|
-
│ │ let connected = $state(false) ❌ ERROR │ │
|
|
14
|
-
│ │ let statusText = $derived(...) ❌ ERROR │ │
|
|
15
|
-
│ │ │ │
|
|
16
|
-
│ │ // Runes created outside component! │ │
|
|
17
|
-
│ │ // → effect_orphan error │ │
|
|
18
|
-
│ │ // → App fails to mount │ │
|
|
19
|
-
│ │ // → Black screen │ │
|
|
20
|
-
│ │ } │ │
|
|
21
|
-
│ │ │ │
|
|
22
|
-
│ │ export const socketStore = createSocketStore() │ │
|
|
23
|
-
│ │ ▲ │ │
|
|
24
|
-
│ │ │ │ │
|
|
25
|
-
│ │ Called at import time! │ │
|
|
26
|
-
│ └─────────────────────────────────────────────────────┘ │
|
|
27
|
-
│ │
|
|
28
|
-
└─────────────────────────────────────────────────────────────┘
|
|
29
|
-
│
|
|
30
|
-
│
|
|
31
|
-
▼
|
|
32
|
-
❌ effect_orphan
|
|
33
|
-
❌ Black Screen
|
|
34
|
-
❌ No UI
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## The Solution (After)
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
41
|
-
│ Module Load Time (Outside Component Context) │
|
|
42
|
-
├─────────────────────────────────────────────────────────────┤
|
|
43
|
-
│ │
|
|
44
|
-
│ stores/socket.js │
|
|
45
|
-
│ ┌─────────────────────────────────────────────────────┐ │
|
|
46
|
-
│ │ import { writable, derived } from 'svelte/store' │ │
|
|
47
|
-
│ │ │ │
|
|
48
|
-
│ │ function createSocketStore() { │ │
|
|
49
|
-
│ │ const connected = writable(false) ✅ OK │ │
|
|
50
|
-
│ │ const statusText = derived(...) ✅ OK │ │
|
|
51
|
-
│ │ │ │
|
|
52
|
-
│ │ // Traditional stores work at module level! │ │
|
|
53
|
-
│ │ // → No effect_orphan error │ │
|
|
54
|
-
│ │ // → App mounts successfully │ │
|
|
55
|
-
│ │ // → UI renders │ │
|
|
56
|
-
│ │ │ │
|
|
57
|
-
│ │ return { │ │
|
|
58
|
-
│ │ connected: { subscribe: connected.subscribe }, │ │
|
|
59
|
-
│ │ statusText: { subscribe: statusText.subscribe }│ │
|
|
60
|
-
│ │ } │ │
|
|
61
|
-
│ │ } │ │
|
|
62
|
-
│ │ │ │
|
|
63
|
-
│ │ export const socketStore = createSocketStore() │ │
|
|
64
|
-
│ └─────────────────────────────────────────────────────┘ │
|
|
65
|
-
│ │
|
|
66
|
-
└─────────────────────────────────────────────────────────────┘
|
|
67
|
-
│
|
|
68
|
-
│
|
|
69
|
-
▼
|
|
70
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
71
|
-
│ Component Context │
|
|
72
|
-
├─────────────────────────────────────────────────────────────┤
|
|
73
|
-
│ │
|
|
74
|
-
│ App.svelte │
|
|
75
|
-
│ ┌─────────────────────────────────────────────────────┐ │
|
|
76
|
-
│ │ <script> │ │
|
|
77
|
-
│ │ import { socketStore } from './stores/socket.js' │ │
|
|
78
|
-
│ │ │ │
|
|
79
|
-
│ │ // Auto-subscription with $ prefix │ │
|
|
80
|
-
│ │ </script> │ │
|
|
81
|
-
│ │ │ │
|
|
82
|
-
│ │ <Header │ │
|
|
83
|
-
│ │ statusText={$socketStore.statusText} ✅ OK │ │
|
|
84
|
-
│ │ statusColor={$socketStore.statusColor} ✅ OK │ │
|
|
85
|
-
│ │ /> │ │
|
|
86
|
-
│ └─────────────────────────────────────────────────────┘ │
|
|
87
|
-
│ │
|
|
88
|
-
└─────────────────────────────────────────────────────────────┘
|
|
89
|
-
│
|
|
90
|
-
│
|
|
91
|
-
▼
|
|
92
|
-
✅ App renders
|
|
93
|
-
✅ Stores reactive
|
|
94
|
-
✅ UI updates
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Data Flow Comparison
|
|
98
|
-
|
|
99
|
-
### Before (Broken)
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
┌──────────────┐
|
|
103
|
-
│ Module Load │
|
|
104
|
-
└──────┬───────┘
|
|
105
|
-
│
|
|
106
|
-
▼
|
|
107
|
-
┌──────────────────────┐
|
|
108
|
-
│ createSocketStore() │
|
|
109
|
-
│ │
|
|
110
|
-
│ $state() → ❌ FAIL │ → effect_orphan error
|
|
111
|
-
│ $derived() → ❌ FAIL│ → Black screen
|
|
112
|
-
└──────────────────────┘
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### After (Fixed)
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
┌──────────────┐
|
|
119
|
-
│ Module Load │
|
|
120
|
-
└──────┬───────┘
|
|
121
|
-
│
|
|
122
|
-
▼
|
|
123
|
-
┌────────────────────────┐
|
|
124
|
-
│ createSocketStore() │
|
|
125
|
-
│ │
|
|
126
|
-
│ writable() → ✅ Store │
|
|
127
|
-
│ derived() → ✅ Store │
|
|
128
|
-
└────────┬───────────────┘
|
|
129
|
-
│
|
|
130
|
-
▼
|
|
131
|
-
┌─────────────────────┐
|
|
132
|
-
│ Component Mounts │
|
|
133
|
-
└─────────┬───────────┘
|
|
134
|
-
│
|
|
135
|
-
▼
|
|
136
|
-
┌──────────────────────┐
|
|
137
|
-
│ $ Auto-Subscription │
|
|
138
|
-
│ │
|
|
139
|
-
│ $store.value → ✅ │ → UI renders
|
|
140
|
-
│ │ → Reactive updates work
|
|
141
|
-
└──────────────────────┘
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## Code Comparison
|
|
145
|
-
|
|
146
|
-
### Store Definition
|
|
147
|
-
|
|
148
|
-
#### Before (socket.svelte.js)
|
|
149
|
-
```javascript
|
|
150
|
-
function createSocketStore() {
|
|
151
|
-
let connected = $state(false); // ❌ Orphan effect
|
|
152
|
-
let statusText = $derived( // ❌ Orphan effect
|
|
153
|
-
connected ? 'Connected' : 'Disconnected'
|
|
154
|
-
);
|
|
155
|
-
|
|
156
|
-
return {
|
|
157
|
-
get connected() { return connected; },
|
|
158
|
-
get statusText() { return statusText; }
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
#### After (socket.js)
|
|
164
|
-
```javascript
|
|
165
|
-
import { writable, derived } from 'svelte/store';
|
|
166
|
-
|
|
167
|
-
function createSocketStore() {
|
|
168
|
-
const connected = writable(false); // ✅ Valid store
|
|
169
|
-
const statusText = derived( // ✅ Valid store
|
|
170
|
-
connected,
|
|
171
|
-
($connected) => $connected ? 'Connected' : 'Disconnected'
|
|
172
|
-
);
|
|
173
|
-
|
|
174
|
-
return {
|
|
175
|
-
connected: { subscribe: connected.subscribe },
|
|
176
|
-
statusText: { subscribe: statusText.subscribe }
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
### Component Usage
|
|
182
|
-
|
|
183
|
-
#### Before (App.svelte)
|
|
184
|
-
```svelte
|
|
185
|
-
<script>
|
|
186
|
-
import { socketStore } from './stores/socket.svelte.js';
|
|
187
|
-
</script>
|
|
188
|
-
|
|
189
|
-
<Header
|
|
190
|
-
statusText={socketStore.statusText} <!-- ❌ Not reactive -->
|
|
191
|
-
statusColor={socketStore.statusColor} <!-- ❌ Not reactive -->
|
|
192
|
-
/>
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
#### After (App.svelte)
|
|
196
|
-
```svelte
|
|
197
|
-
<script>
|
|
198
|
-
import { socketStore } from './stores/socket.js';
|
|
199
|
-
</script>
|
|
200
|
-
|
|
201
|
-
<Header
|
|
202
|
-
statusText={$socketStore.statusText} <!-- ✅ Reactive -->
|
|
203
|
-
statusColor={$socketStore.statusColor} <!-- ✅ Reactive -->
|
|
204
|
-
/>
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
## Reactivity Flow
|
|
208
|
-
|
|
209
|
-
### Before (Broken)
|
|
210
|
-
```
|
|
211
|
-
User Action → Store Method → Rune Update → ❌ No Component Update
|
|
212
|
-
→ ❌ UI Frozen
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### After (Fixed)
|
|
216
|
-
```
|
|
217
|
-
User Action → Store Method → Store Update → Component Subscription
|
|
218
|
-
↓
|
|
219
|
-
✅ UI Updates Automatically
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
## Performance Impact
|
|
223
|
-
|
|
224
|
-
| Metric | Before | After | Change |
|
|
225
|
-
|--------|--------|-------|--------|
|
|
226
|
-
| Build Time | N/A (failed) | 322ms | ✅ Working |
|
|
227
|
-
| Bundle Size | N/A (failed) | 81KB | ✅ Optimal |
|
|
228
|
-
| Runtime | Black screen | Normal | ✅ Fixed |
|
|
229
|
-
| Memory | Orphaned effects | Clean | ✅ Improved |
|
|
230
|
-
|
|
231
|
-
## Architecture Decision Matrix
|
|
232
|
-
|
|
233
|
-
| Scenario | Use Runes | Use Stores | Why |
|
|
234
|
-
|----------|-----------|------------|-----|
|
|
235
|
-
| Component local state | ✅ | ❌ | Simpler syntax, fine-grained reactivity |
|
|
236
|
-
| Module-level state | ❌ | ✅ | Avoids effect_orphan, proper lifecycle |
|
|
237
|
-
| Shared between components | ❌ | ✅ | Subscribe pattern, broadcast updates |
|
|
238
|
-
| Derived from props | ✅ | ❌ | Component-scoped, auto-cleanup |
|
|
239
|
-
| Global app state | ❌ | ✅ | Module-level singleton required |
|
|
240
|
-
|
|
241
|
-
## Migration Summary
|
|
242
|
-
|
|
243
|
-
```
|
|
244
|
-
Files Renamed:
|
|
245
|
-
socket.svelte.js → socket.js
|
|
246
|
-
events.svelte.js → events.js
|
|
247
|
-
|
|
248
|
-
Imports Changed:
|
|
249
|
-
- import { writable, derived } from 'svelte/store'
|
|
250
|
-
+ Uses traditional Svelte store API
|
|
251
|
-
|
|
252
|
-
Store Creation:
|
|
253
|
-
- let x = $state(0)
|
|
254
|
-
+ const x = writable(0)
|
|
255
|
-
|
|
256
|
-
- let y = $derived(x * 2)
|
|
257
|
-
+ const y = derived(x, $x => $x * 2)
|
|
258
|
-
|
|
259
|
-
Store Updates:
|
|
260
|
-
- x = 5
|
|
261
|
-
+ x.set(5)
|
|
262
|
-
|
|
263
|
-
- x++
|
|
264
|
-
+ x.update(n => n + 1)
|
|
265
|
-
|
|
266
|
-
Component Usage:
|
|
267
|
-
- {store.value}
|
|
268
|
-
+ {$store.value}
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
**Summary**: Moving from Svelte 5 runes (component-scoped) to traditional Svelte stores (module-scoped) resolved the `effect_orphan` error and enabled proper reactive state management at the application level.
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
# Flask Integration Guide
|
|
2
|
-
|
|
3
|
-
## Adding Dashboard2 Route to Flask Server
|
|
4
|
-
|
|
5
|
-
Add these routes to your Flask application (in `src/claude_mpm/services/monitor/server.py` or appropriate Flask app file):
|
|
6
|
-
|
|
7
|
-
### Option 1: Add to UnifiedMonitorServer._setup_http_routes()
|
|
8
|
-
|
|
9
|
-
```python
|
|
10
|
-
def _setup_http_routes(self):
|
|
11
|
-
"""Setup HTTP routes for the dashboard."""
|
|
12
|
-
try:
|
|
13
|
-
# ... existing routes ...
|
|
14
|
-
|
|
15
|
-
# Dashboard2 route
|
|
16
|
-
dashboard2_dir = Path(__file__).parent.parent.parent / "dashboard2" / "dist"
|
|
17
|
-
|
|
18
|
-
async def dashboard2_index(request):
|
|
19
|
-
"""Serve Dashboard2 Svelte app"""
|
|
20
|
-
index_path = dashboard2_dir / "index.html"
|
|
21
|
-
if index_path.exists():
|
|
22
|
-
with index_path.open() as f:
|
|
23
|
-
content = f.read()
|
|
24
|
-
return web.Response(text=content, content_type="text/html")
|
|
25
|
-
return web.Response(text="Dashboard2 not found", status=404)
|
|
26
|
-
|
|
27
|
-
# Register dashboard2 routes
|
|
28
|
-
self.app.router.add_get("/dashboard2", dashboard2_index)
|
|
29
|
-
|
|
30
|
-
# Serve dashboard2 static assets
|
|
31
|
-
if dashboard2_dir.exists():
|
|
32
|
-
async def dashboard2_assets(request):
|
|
33
|
-
"""Serve static files for dashboard2"""
|
|
34
|
-
from aiohttp.web_fileresponse import FileResponse
|
|
35
|
-
|
|
36
|
-
# Get the relative path from the request
|
|
37
|
-
rel_path = request.match_info["filepath"]
|
|
38
|
-
file_path = dashboard2_dir / rel_path
|
|
39
|
-
|
|
40
|
-
if not file_path.exists() or not file_path.is_file():
|
|
41
|
-
raise web.HTTPNotFound()
|
|
42
|
-
|
|
43
|
-
return FileResponse(file_path)
|
|
44
|
-
|
|
45
|
-
self.app.router.add_get("/dashboard2/{filepath:.*}", dashboard2_assets)
|
|
46
|
-
|
|
47
|
-
# ... rest of routes ...
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Option 2: Standalone Flask Route (for testing)
|
|
51
|
-
|
|
52
|
-
If you want to test with a simple Flask app:
|
|
53
|
-
|
|
54
|
-
```python
|
|
55
|
-
from flask import Flask, send_from_directory
|
|
56
|
-
from pathlib import Path
|
|
57
|
-
|
|
58
|
-
app = Flask(__name__)
|
|
59
|
-
|
|
60
|
-
DASHBOARD2_DIR = Path(__file__).parent / "dashboard2" / "dist"
|
|
61
|
-
|
|
62
|
-
@app.route('/dashboard2')
|
|
63
|
-
def dashboard2():
|
|
64
|
-
"""Serve the Svelte dashboard"""
|
|
65
|
-
return send_from_directory(DASHBOARD2_DIR, 'index.html')
|
|
66
|
-
|
|
67
|
-
@app.route('/dashboard2/<path:path>')
|
|
68
|
-
def dashboard2_assets(path):
|
|
69
|
-
"""Serve dashboard2 static assets"""
|
|
70
|
-
return send_from_directory(DASHBOARD2_DIR, path)
|
|
71
|
-
|
|
72
|
-
if __name__ == '__main__':
|
|
73
|
-
app.run(debug=True, port=8765)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Important Notes
|
|
77
|
-
|
|
78
|
-
### Base Path Configuration
|
|
79
|
-
|
|
80
|
-
The Vite build is configured with `base: '/dashboard2/'` which means:
|
|
81
|
-
- All asset paths will be prefixed with `/dashboard2/`
|
|
82
|
-
- The dashboard expects to be served at `/dashboard2` route
|
|
83
|
-
- Assets will load from `/dashboard2/assets/*`
|
|
84
|
-
|
|
85
|
-
If you need a different base path:
|
|
86
|
-
1. Edit `vite.config.js` and change `base: '/your-path/'`
|
|
87
|
-
2. Rebuild: `npm run build`
|
|
88
|
-
3. Update Flask routes accordingly
|
|
89
|
-
|
|
90
|
-
### Socket.IO Connection
|
|
91
|
-
|
|
92
|
-
The dashboard connects to Socket.IO at `http://localhost:8765` by default.
|
|
93
|
-
|
|
94
|
-
To change the connection settings:
|
|
95
|
-
1. Edit `src/stores/socket.svelte.js`
|
|
96
|
-
2. Change `DEFAULT_PORT` and `DEFAULT_HOST`
|
|
97
|
-
3. Rebuild: `npm run build`
|
|
98
|
-
|
|
99
|
-
Or you can make it configurable via environment variables or URL parameters in future iterations.
|
|
100
|
-
|
|
101
|
-
## Testing the Integration
|
|
102
|
-
|
|
103
|
-
1. **Ensure monitor server is running**:
|
|
104
|
-
```bash
|
|
105
|
-
# Check if server is running
|
|
106
|
-
curl http://localhost:8765/health
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
2. **Access Dashboard2**:
|
|
110
|
-
```
|
|
111
|
-
http://localhost:8765/dashboard2
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
3. **Verify Socket.IO connection**:
|
|
115
|
-
- Check header shows "Connected" status
|
|
116
|
-
- Green indicator appears
|
|
117
|
-
- Port number displays correctly
|
|
118
|
-
|
|
119
|
-
4. **Test event reception**:
|
|
120
|
-
- Trigger a Claude Code event
|
|
121
|
-
- Event should appear in Events tab
|
|
122
|
-
- Click event to expand JSON details
|
|
123
|
-
|
|
124
|
-
## Deployment Checklist
|
|
125
|
-
|
|
126
|
-
- [ ] Build dashboard: `cd dashboard2 && npm run build`
|
|
127
|
-
- [ ] Add Flask routes for `/dashboard2` and assets
|
|
128
|
-
- [ ] Verify static files are served correctly
|
|
129
|
-
- [ ] Test Socket.IO connection
|
|
130
|
-
- [ ] Verify events are received and displayed
|
|
131
|
-
- [ ] Check console for errors
|
|
132
|
-
- [ ] Test on production server
|
|
133
|
-
|
|
134
|
-
## Troubleshooting
|
|
135
|
-
|
|
136
|
-
### 404 on Dashboard2 Route
|
|
137
|
-
- Verify `dist/` folder exists
|
|
138
|
-
- Check Flask route path matches
|
|
139
|
-
- Ensure file permissions are correct
|
|
140
|
-
|
|
141
|
-
### Assets Not Loading (404 on CSS/JS)
|
|
142
|
-
- Verify base path in `vite.config.js` matches Flask route
|
|
143
|
-
- Check browser DevTools Network tab for failed requests
|
|
144
|
-
- Ensure `/dashboard2/assets/*` route is registered
|
|
145
|
-
|
|
146
|
-
### Socket.IO Connection Failed
|
|
147
|
-
- Check monitor server is running on port 8765
|
|
148
|
-
- Verify no CORS issues (Socket.IO configured with `cors_allowed_origins="*"`)
|
|
149
|
-
- Check browser console for connection errors
|
|
150
|
-
- Verify firewall/network allows WebSocket connections
|
|
151
|
-
|
|
152
|
-
### No Events Appearing
|
|
153
|
-
- Check Socket.IO connection status (should be green)
|
|
154
|
-
- Verify events are being emitted from server
|
|
155
|
-
- Check browser console for incoming events
|
|
156
|
-
- Test with: `client.socket.onAny((event, ...args) => console.log(event, args))`
|