claude-flow 2.0.0-alpha.60 → 2.0.0-alpha.62
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.
- package/.claude/commands/sparc/analyzer.md +24 -77
- package/.claude/commands/sparc/architect.md +25 -76
- package/.claude/commands/sparc/batch-executor.md +28 -78
- package/.claude/commands/sparc/coder.md +28 -79
- package/.claude/commands/sparc/debugger.md +26 -76
- package/.claude/commands/sparc/designer.md +25 -75
- package/.claude/commands/sparc/documenter.md +26 -75
- package/.claude/commands/sparc/innovator.md +26 -76
- package/.claude/commands/sparc/memory-manager.md +28 -77
- package/.claude/commands/sparc/optimizer.md +26 -76
- package/.claude/commands/sparc/orchestrator.md +23 -74
- package/.claude/commands/sparc/researcher.md +26 -77
- package/.claude/commands/sparc/reviewer.md +26 -76
- package/.claude/commands/sparc/sparc-modes.md +38 -358
- package/.claude/commands/sparc/swarm-coordinator.md +28 -77
- package/.claude/commands/sparc/tdd.md +28 -78
- package/.claude/commands/sparc/tester.md +26 -76
- package/.claude/commands/sparc/workflow-manager.md +28 -77
- package/.claude/commands/swarm/analysis.md +14 -17
- package/.claude/commands/swarm/development.md +14 -16
- package/.claude/commands/swarm/examples.md +20 -53
- package/.claude/commands/swarm/maintenance.md +14 -17
- package/.claude/commands/swarm/optimization.md +15 -17
- package/.claude/commands/swarm/research.md +14 -17
- package/.claude/commands/swarm/testing.md +15 -17
- package/.claude/config.json +32 -11
- package/CHANGELOG.md +113 -0
- package/bin/claude-flow +1 -1
- package/dist/adapters/cliffy-node.d.ts.map +1 -1
- package/dist/adapters/cliffy-node.js +13 -7
- package/dist/adapters/cliffy-node.js.map +1 -1
- package/dist/agents/agent-manager.d.ts.map +1 -1
- package/dist/agents/agent-manager.js +77 -65
- package/dist/agents/agent-manager.js.map +1 -1
- package/dist/agents/agent-registry.d.ts.map +1 -1
- package/dist/agents/agent-registry.js +38 -30
- package/dist/agents/agent-registry.js.map +1 -1
- package/dist/api/claude-client.d.ts.map +1 -1
- package/dist/api/claude-client.js +22 -16
- package/dist/api/claude-client.js.map +1 -1
- package/dist/cli/agents/analyst.d.ts.map +1 -1
- package/dist/cli/agents/analyst.js +94 -114
- package/dist/cli/agents/analyst.js.map +1 -1
- package/dist/cli/agents/architect.d.ts.map +1 -1
- package/dist/cli/agents/architect.js +100 -114
- package/dist/cli/agents/architect.js.map +1 -1
- package/dist/cli/agents/base-agent.d.ts.map +1 -1
- package/dist/cli/agents/base-agent.js +27 -27
- package/dist/cli/agents/base-agent.js.map +1 -1
- package/dist/cli/agents/capabilities.d.ts.map +1 -1
- package/dist/cli/agents/capabilities.js +49 -51
- package/dist/cli/agents/capabilities.js.map +1 -1
- package/dist/cli/agents/coder.d.ts.map +1 -1
- package/dist/cli/agents/coder.js +92 -98
- package/dist/cli/agents/coder.js.map +1 -1
- package/dist/cli/agents/coordinator.d.ts.map +1 -1
- package/dist/cli/agents/coordinator.js +59 -64
- package/dist/cli/agents/coordinator.js.map +1 -1
- package/dist/cli/agents/hive-agents.d.ts.map +1 -1
- package/dist/cli/agents/hive-agents.js +22 -24
- package/dist/cli/agents/hive-agents.js.map +1 -1
- package/dist/cli/agents/index.d.ts.map +1 -1
- package/dist/cli/agents/index.js +17 -17
- package/dist/cli/agents/index.js.map +1 -1
- package/dist/cli/agents/researcher.d.ts.map +1 -1
- package/dist/cli/agents/researcher.js +41 -61
- package/dist/cli/agents/researcher.js.map +1 -1
- package/dist/cli/agents/tester.d.ts.map +1 -1
- package/dist/cli/agents/tester.js +78 -90
- package/dist/cli/agents/tester.js.map +1 -1
- package/dist/cli/cli-core.d.ts +4 -1
- package/dist/cli/cli-core.d.ts.map +1 -1
- package/dist/cli/cli-core.js +40 -39
- package/dist/cli/cli-core.js.map +1 -1
- package/dist/cli/command-registry.d.ts.map +1 -1
- package/dist/cli/command-registry.js +99 -74
- package/dist/cli/command-registry.js.map +1 -1
- package/dist/cli/commands/advanced-memory-commands.d.ts.map +1 -1
- package/dist/cli/commands/advanced-memory-commands.js +49 -40
- package/dist/cli/commands/advanced-memory-commands.js.map +1 -1
- package/dist/cli/commands/agent-simple.d.ts +3 -0
- package/dist/cli/commands/agent-simple.d.ts.map +1 -1
- package/dist/cli/commands/agent-simple.js +30 -27
- package/dist/cli/commands/agent-simple.js.map +1 -1
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +53 -40
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/claude-api.js +4 -4
- package/dist/cli/commands/claude-api.js.map +1 -1
- package/dist/cli/commands/claude.d.ts.map +1 -1
- package/dist/cli/commands/claude.js +2 -2
- package/dist/cli/commands/claude.js.map +1 -1
- package/dist/cli/commands/config-integration.d.ts +7 -1
- package/dist/cli/commands/config-integration.d.ts.map +1 -1
- package/dist/cli/commands/config-integration.js +18 -9
- package/dist/cli/commands/config-integration.js.map +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +2 -3
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/enterprise.d.ts.map +1 -1
- package/dist/cli/commands/enterprise.js +115 -95
- package/dist/cli/commands/enterprise.js.map +1 -1
- package/dist/cli/commands/help-new.d.ts +7 -0
- package/dist/cli/commands/help-new.d.ts.map +1 -0
- package/dist/cli/commands/help-new.js +236 -0
- package/dist/cli/commands/help-new.js.map +1 -0
- package/dist/cli/commands/help.d.ts +2 -1
- package/dist/cli/commands/help.d.ts.map +1 -1
- package/dist/cli/commands/help.js +283 -133
- package/dist/cli/commands/help.js.map +1 -1
- package/dist/cli/commands/hive-mind/index.d.ts +1 -1
- package/dist/cli/commands/hive-mind/index.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/index.js +1 -1
- package/dist/cli/commands/hive-mind/index.js.map +1 -1
- package/dist/cli/commands/hive-mind/init.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/init.js.map +1 -1
- package/dist/cli/commands/hive-mind/optimize-memory.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/optimize-memory.js +35 -26
- package/dist/cli/commands/hive-mind/optimize-memory.js.map +1 -1
- package/dist/cli/commands/hive-mind/pause.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/pause.js +8 -6
- package/dist/cli/commands/hive-mind/pause.js.map +1 -1
- package/dist/cli/commands/hive-mind/ps.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/ps.js +17 -12
- package/dist/cli/commands/hive-mind/ps.js.map +1 -1
- package/dist/cli/commands/hive-mind/resume.js +12 -10
- package/dist/cli/commands/hive-mind/resume.js.map +1 -1
- package/dist/cli/commands/hive-mind/spawn.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/spawn.js +20 -11
- package/dist/cli/commands/hive-mind/spawn.js.map +1 -1
- package/dist/cli/commands/hive-mind/status.js +17 -22
- package/dist/cli/commands/hive-mind/status.js.map +1 -1
- package/dist/cli/commands/hive-mind/stop.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/stop.js +23 -15
- package/dist/cli/commands/hive-mind/stop.js.map +1 -1
- package/dist/cli/commands/hive-mind/task.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/task.js +25 -19
- package/dist/cli/commands/hive-mind/task.js.map +1 -1
- package/dist/cli/commands/hive-mind/wizard.d.ts.map +1 -1
- package/dist/cli/commands/hive-mind/wizard.js +86 -68
- package/dist/cli/commands/hive-mind/wizard.js.map +1 -1
- package/dist/cli/commands/hive.js +73 -38
- package/dist/cli/commands/hive.js.map +1 -1
- package/dist/cli/commands/hook-validator.d.ts.map +1 -1
- package/dist/cli/commands/hook-validator.js +4 -2
- package/dist/cli/commands/hook-validator.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +8 -8
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/index.d.ts +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +850 -784
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +8 -16
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +8 -8
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +3 -3
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/monitor.d.ts.map +1 -1
- package/dist/cli/commands/monitor.js +50 -34
- package/dist/cli/commands/monitor.js.map +1 -1
- package/dist/cli/commands/ruv-swarm.d.ts +7 -1
- package/dist/cli/commands/ruv-swarm.d.ts.map +1 -1
- package/dist/cli/commands/ruv-swarm.js +6 -6
- package/dist/cli/commands/ruv-swarm.js.map +1 -1
- package/dist/cli/commands/session.d.ts.map +1 -1
- package/dist/cli/commands/session.js +22 -17
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/sparc.d.ts +1 -1
- package/dist/cli/commands/sparc.d.ts.map +1 -1
- package/dist/cli/commands/sparc.js +146 -126
- package/dist/cli/commands/sparc.js.map +1 -1
- package/dist/cli/commands/start/event-emitter.js +1 -1
- package/dist/cli/commands/start/event-emitter.js.map +1 -1
- package/dist/cli/commands/start/process-manager.d.ts.map +1 -1
- package/dist/cli/commands/start/process-manager.js +20 -18
- package/dist/cli/commands/start/process-manager.js.map +1 -1
- package/dist/cli/commands/start/process-ui-simple.d.ts +4 -0
- package/dist/cli/commands/start/process-ui-simple.d.ts.map +1 -1
- package/dist/cli/commands/start/process-ui-simple.js +2 -2
- package/dist/cli/commands/start/process-ui-simple.js.map +1 -1
- package/dist/cli/commands/start/start-command.d.ts.map +1 -1
- package/dist/cli/commands/start/start-command.js +27 -15
- package/dist/cli/commands/start/start-command.js.map +1 -1
- package/dist/cli/commands/start/system-monitor.d.ts +3 -0
- package/dist/cli/commands/start/system-monitor.d.ts.map +1 -1
- package/dist/cli/commands/start/system-monitor.js +16 -18
- package/dist/cli/commands/start/system-monitor.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +28 -33
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/swarm-spawn.d.ts.map +1 -1
- package/dist/cli/commands/swarm-spawn.js +1 -1
- package/dist/cli/commands/swarm-spawn.js.map +1 -1
- package/dist/cli/commands/swarm.d.ts +4 -1
- package/dist/cli/commands/swarm.d.ts.map +1 -1
- package/dist/cli/commands/swarm.js +23 -18
- package/dist/cli/commands/swarm.js.map +1 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js.map +1 -1
- package/dist/cli/commands/workflow.d.ts.map +1 -1
- package/dist/cli/commands/workflow.js +49 -45
- package/dist/cli/commands/workflow.js.map +1 -1
- package/dist/cli/completion.d.ts +3 -0
- package/dist/cli/completion.d.ts.map +1 -1
- package/dist/cli/completion.js +15 -5
- package/dist/cli/completion.js.map +1 -1
- package/dist/cli/formatter.d.ts +3 -0
- package/dist/cli/formatter.d.ts.map +1 -1
- package/dist/cli/formatter.js +3 -3
- package/dist/cli/formatter.js.map +1 -1
- package/dist/cli/help-formatter.d.ts +49 -0
- package/dist/cli/help-formatter.d.ts.map +1 -0
- package/dist/cli/help-formatter.js +108 -0
- package/dist/cli/help-formatter.js.map +1 -0
- package/dist/cli/index-remote.d.ts +4 -0
- package/dist/cli/index-remote.d.ts.map +1 -1
- package/dist/cli/index-remote.js +1 -1
- package/dist/cli/index-remote.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +32 -34
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/batch-tools.d.ts.map +1 -1
- package/dist/cli/init/batch-tools.js.map +1 -1
- package/dist/cli/init/claude-config.d.ts.map +1 -1
- package/dist/cli/init/claude-config.js +111 -106
- package/dist/cli/init/claude-config.js.map +1 -1
- package/dist/cli/init/directory-structure.d.ts.map +1 -1
- package/dist/cli/init/directory-structure.js +3 -3
- package/dist/cli/init/directory-structure.js.map +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +1 -1
- package/dist/cli/init/index.js.map +1 -1
- package/dist/cli/init/sparc-environment.d.ts.map +1 -1
- package/dist/cli/init/sparc-environment.js +69 -69
- package/dist/cli/init/sparc-environment.js.map +1 -1
- package/dist/cli/init/swarm-commands.d.ts.map +1 -1
- package/dist/cli/init/swarm-commands.js +1 -1
- package/dist/cli/init/swarm-commands.js.map +1 -1
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +6 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/node-compat.d.ts.map +1 -1
- package/dist/cli/node-compat.js +24 -18
- package/dist/cli/node-compat.js.map +1 -1
- package/dist/cli/node-repl.d.ts +4 -0
- package/dist/cli/node-repl.d.ts.map +1 -1
- package/dist/cli/node-repl.js +24 -30
- package/dist/cli/node-repl.js.map +1 -1
- package/dist/cli/repl.d.ts.map +1 -1
- package/dist/cli/repl.js +81 -70
- package/dist/cli/repl.js.map +1 -1
- package/dist/cli/runtime-detector.d.ts.map +1 -1
- package/dist/cli/runtime-detector.js +11 -7
- package/dist/cli/runtime-detector.js.map +1 -1
- package/dist/cli/simple-cli.d.ts +4 -0
- package/dist/cli/simple-cli.d.ts.map +1 -1
- package/dist/cli/simple-cli.js +109 -95
- package/dist/cli/simple-cli.js.map +1 -1
- package/dist/cli/simple-commands/analysis.d.ts.map +1 -1
- package/dist/cli/simple-commands/analysis.js +18 -11
- package/dist/cli/simple-commands/analysis.js.map +1 -1
- package/dist/cli/simple-commands/automation.js +32 -17
- package/dist/cli/simple-commands/automation.js.map +1 -1
- package/dist/cli/simple-commands/batch-manager.js +44 -39
- package/dist/cli/simple-commands/batch-manager.js.map +1 -1
- package/dist/cli/simple-commands/config.d.ts.map +1 -1
- package/dist/cli/simple-commands/config.js +22 -21
- package/dist/cli/simple-commands/config.js.map +1 -1
- package/dist/cli/simple-commands/coordination.d.ts.map +1 -1
- package/dist/cli/simple-commands/coordination.js +12 -12
- package/dist/cli/simple-commands/coordination.js.map +1 -1
- package/dist/cli/simple-commands/fix-hook-variables.d.ts.map +1 -1
- package/dist/cli/simple-commands/fix-hook-variables.js +36 -30
- package/dist/cli/simple-commands/fix-hook-variables.js.map +1 -1
- package/dist/cli/simple-commands/github.d.ts.map +1 -1
- package/dist/cli/simple-commands/github.js +15 -15
- package/dist/cli/simple-commands/github.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/auto-save-middleware.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/auto-save-middleware.js +12 -10
- package/dist/cli/simple-commands/hive-mind/auto-save-middleware.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/communication.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/communication.js +42 -45
- package/dist/cli/simple-commands/hive-mind/communication.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/core.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/core.js +97 -89
- package/dist/cli/simple-commands/hive-mind/core.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/db-optimizer.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/db-optimizer.js +114 -59
- package/dist/cli/simple-commands/hive-mind/db-optimizer.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/mcp-wrapper.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js +182 -103
- package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/memory.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/memory.js +105 -75
- package/dist/cli/simple-commands/hive-mind/memory.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/performance-optimizer.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/performance-optimizer.js +45 -43
- package/dist/cli/simple-commands/hive-mind/performance-optimizer.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/queen.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind/queen.js +101 -88
- package/dist/cli/simple-commands/hive-mind/queen.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind/session-manager.js +75 -53
- package/dist/cli/simple-commands/hive-mind/session-manager.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind-optimize.js +18 -18
- package/dist/cli/simple-commands/hive-mind-optimize.js.map +1 -1
- package/dist/cli/simple-commands/hive-mind.d.ts.map +1 -1
- package/dist/cli/simple-commands/hive-mind.js +207 -144
- package/dist/cli/simple-commands/hive-mind.js.map +1 -1
- package/dist/cli/simple-commands/hook-safety.d.ts.map +1 -1
- package/dist/cli/simple-commands/hook-safety.js +19 -19
- package/dist/cli/simple-commands/hook-safety.js.map +1 -1
- package/dist/cli/simple-commands/hooks.d.ts.map +1 -1
- package/dist/cli/simple-commands/hooks.js +85 -71
- package/dist/cli/simple-commands/hooks.js.map +1 -1
- package/dist/cli/simple-commands/init/batch-init.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/batch-init.js +62 -55
- package/dist/cli/simple-commands/init/batch-init.js.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +2 -2
- package/dist/cli/simple-commands/init/claude-commands/optimized-slash-commands.js.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/optimized-sparc-commands.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +58 -50
- package/dist/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/slash-commands.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/slash-commands.js.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/sparc-commands.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/claude-commands/sparc-commands.js +34 -28
- package/dist/cli/simple-commands/init/claude-commands/sparc-commands.js.map +1 -1
- package/dist/cli/simple-commands/init/executable-wrapper.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/executable-wrapper.js +7 -4
- package/dist/cli/simple-commands/init/executable-wrapper.js.map +1 -1
- package/dist/cli/simple-commands/init/gitignore-updater.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/gitignore-updater.js +10 -9
- package/dist/cli/simple-commands/init/gitignore-updater.js.map +1 -1
- package/dist/cli/simple-commands/init/help.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/help.js.map +1 -1
- package/dist/cli/simple-commands/init/index.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/index.js +159 -103
- package/dist/cli/simple-commands/init/index.js.map +1 -1
- package/dist/cli/simple-commands/init/performance-monitor.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/performance-monitor.js +17 -18
- package/dist/cli/simple-commands/init/performance-monitor.js.map +1 -1
- package/dist/cli/simple-commands/init/rollback/backup-manager.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/rollback/backup-manager.js +19 -25
- package/dist/cli/simple-commands/init/rollback/backup-manager.js.map +1 -1
- package/dist/cli/simple-commands/init/rollback/index.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/rollback/index.js +18 -15
- package/dist/cli/simple-commands/init/rollback/index.js.map +1 -1
- package/dist/cli/simple-commands/init/rollback/recovery-manager.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/rollback/recovery-manager.js +49 -68
- package/dist/cli/simple-commands/init/rollback/recovery-manager.js.map +1 -1
- package/dist/cli/simple-commands/init/rollback/rollback-executor.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/rollback/rollback-executor.js +16 -24
- package/dist/cli/simple-commands/init/rollback/rollback-executor.js.map +1 -1
- package/dist/cli/simple-commands/init/rollback/state-tracker.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/rollback/state-tracker.js +25 -25
- package/dist/cli/simple-commands/init/rollback/state-tracker.js.map +1 -1
- package/dist/cli/simple-commands/init/sparc/roomodes-config.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/sparc/roomodes-config.js +57 -57
- package/dist/cli/simple-commands/init/sparc/roomodes-config.js.map +1 -1
- package/dist/cli/simple-commands/init/sparc/workflows.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/sparc/workflows.js +21 -21
- package/dist/cli/simple-commands/init/sparc/workflows.js.map +1 -1
- package/dist/cli/simple-commands/init/sparc-structure.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/sparc-structure.js +1 -1
- package/dist/cli/simple-commands/init/sparc-structure.js.map +1 -1
- package/dist/cli/simple-commands/init/templates/enhanced-templates.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/templates/enhanced-templates.js +69 -78
- package/dist/cli/simple-commands/init/templates/enhanced-templates.js.map +1 -1
- package/dist/cli/simple-commands/init/templates/sparc-modes.js +2 -2
- package/dist/cli/simple-commands/init/validation/config-validator.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/validation/config-validator.js +12 -16
- package/dist/cli/simple-commands/init/validation/config-validator.js.map +1 -1
- package/dist/cli/simple-commands/init/validation/health-checker.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/validation/health-checker.js +39 -41
- package/dist/cli/simple-commands/init/validation/health-checker.js.map +1 -1
- package/dist/cli/simple-commands/init/validation/index.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/validation/index.js +8 -8
- package/dist/cli/simple-commands/init/validation/index.js.map +1 -1
- package/dist/cli/simple-commands/init/validation/mode-validator.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/validation/mode-validator.js +12 -12
- package/dist/cli/simple-commands/init/validation/mode-validator.js.map +1 -1
- package/dist/cli/simple-commands/init/validation/post-init-validator.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/validation/post-init-validator.js +13 -13
- package/dist/cli/simple-commands/init/validation/post-init-validator.js.map +1 -1
- package/dist/cli/simple-commands/init/validation/pre-init-validator.d.ts.map +1 -1
- package/dist/cli/simple-commands/init/validation/pre-init-validator.js +19 -24
- package/dist/cli/simple-commands/init/validation/pre-init-validator.js.map +1 -1
- package/dist/cli/simple-commands/mcp.js +2 -2
- package/dist/cli/simple-commands/mcp.js.map +1 -1
- package/dist/cli/simple-commands/memory.js +4 -4
- package/dist/cli/simple-commands/memory.js.map +1 -1
- package/dist/cli/simple-commands/migrate-hooks.d.ts.map +1 -1
- package/dist/cli/simple-commands/migrate-hooks.js +3 -3
- package/dist/cli/simple-commands/migrate-hooks.js.map +1 -1
- package/dist/cli/simple-commands/monitor.d.ts.map +1 -1
- package/dist/cli/simple-commands/monitor.js +34 -26
- package/dist/cli/simple-commands/monitor.js.map +1 -1
- package/dist/cli/simple-commands/process-ui-enhanced.d.ts.map +1 -1
- package/dist/cli/simple-commands/process-ui-enhanced.js +53 -39
- package/dist/cli/simple-commands/process-ui-enhanced.js.map +1 -1
- package/dist/cli/simple-commands/sparc-modes/index.js +11 -11
- package/dist/cli/simple-commands/sparc-modes/index.js.map +1 -1
- package/dist/cli/simple-commands/sparc-modes/swarm.js +50 -50
- package/dist/cli/simple-commands/sparc.d.ts.map +1 -1
- package/dist/cli/simple-commands/sparc.js +21 -11
- package/dist/cli/simple-commands/sparc.js.map +1 -1
- package/dist/cli/simple-commands/start-ui.d.ts.map +1 -1
- package/dist/cli/simple-commands/start-ui.js +5 -3
- package/dist/cli/simple-commands/start-ui.js.map +1 -1
- package/dist/cli/simple-commands/start-wrapper.d.ts.map +1 -1
- package/dist/cli/simple-commands/start-wrapper.js +1 -1
- package/dist/cli/simple-commands/start-wrapper.js.map +1 -1
- package/dist/cli/simple-commands/status.js +14 -14
- package/dist/cli/simple-commands/status.js.map +1 -1
- package/dist/cli/simple-commands/swarm-executor.d.ts.map +1 -1
- package/dist/cli/simple-commands/swarm-executor.js +19 -19
- package/dist/cli/simple-commands/swarm-executor.js.map +1 -1
- package/dist/cli/simple-commands/swarm-metrics-integration.d.ts.map +1 -1
- package/dist/cli/simple-commands/swarm-metrics-integration.js +30 -21
- package/dist/cli/simple-commands/swarm-metrics-integration.js.map +1 -1
- package/dist/cli/simple-commands/swarm-webui-integration.d.ts.map +1 -1
- package/dist/cli/simple-commands/swarm-webui-integration.js +30 -18
- package/dist/cli/simple-commands/swarm-webui-integration.js.map +1 -1
- package/dist/cli/simple-commands/swarm.d.ts +1 -1
- package/dist/cli/simple-commands/swarm.d.ts.map +1 -1
- package/dist/cli/simple-commands/swarm.js +81 -76
- package/dist/cli/simple-commands/swarm.js.map +1 -1
- package/dist/cli/simple-commands/training.d.ts.map +1 -1
- package/dist/cli/simple-commands/training.js +7 -7
- package/dist/cli/simple-commands/training.js.map +1 -1
- package/dist/cli/simple-commands/web-server.d.ts.map +1 -1
- package/dist/cli/simple-commands/web-server.js +68 -66
- package/dist/cli/simple-commands/web-server.js.map +1 -1
- package/dist/cli/simple-mcp.d.ts.map +1 -1
- package/dist/cli/simple-mcp.js +2 -4
- package/dist/cli/simple-mcp.js.map +1 -1
- package/dist/cli/simple-orchestrator.d.ts +3 -0
- package/dist/cli/simple-orchestrator.d.ts.map +1 -1
- package/dist/cli/simple-orchestrator.js +36 -35
- package/dist/cli/simple-orchestrator.js.map +1 -1
- package/dist/cli/ui/compatible-ui.d.ts +4 -0
- package/dist/cli/ui/compatible-ui.d.ts.map +1 -1
- package/dist/cli/ui/compatible-ui.js +9 -8
- package/dist/cli/ui/compatible-ui.js.map +1 -1
- package/dist/cli/ui/fallback-handler.d.ts.map +1 -1
- package/dist/cli/ui/fallback-handler.js +4 -4
- package/dist/cli/ui/fallback-handler.js.map +1 -1
- package/dist/cli/ui/index.d.ts +2 -2
- package/dist/cli/ui/index.d.ts.map +1 -1
- package/dist/cli/ui/index.js +3 -3
- package/dist/cli/ui/index.js.map +1 -1
- package/dist/cli/utils/environment-detector.d.ts.map +1 -1
- package/dist/cli/utils/environment-detector.js +13 -11
- package/dist/cli/utils/environment-detector.js.map +1 -1
- package/dist/cli/utils/interactive-detector.d.ts.map +1 -1
- package/dist/cli/utils/interactive-detector.js +1 -1
- package/dist/cli/utils/interactive-detector.js.map +1 -1
- package/dist/cli/utils/prompt-defaults.d.ts.map +1 -1
- package/dist/cli/utils/prompt-defaults.js +6 -7
- package/dist/cli/utils/prompt-defaults.js.map +1 -1
- package/dist/cli/utils/safe-interactive.d.ts.map +1 -1
- package/dist/cli/utils/safe-interactive.js +7 -6
- package/dist/cli/utils/safe-interactive.js.map +1 -1
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +58 -50
- package/dist/cli/utils.js.map +1 -1
- package/dist/cli/validation-helper.d.ts +27 -0
- package/dist/cli/validation-helper.d.ts.map +1 -0
- package/dist/cli/validation-helper.js +72 -0
- package/dist/cli/validation-helper.js.map +1 -0
- package/dist/communication/message-bus.d.ts.map +1 -1
- package/dist/communication/message-bus.js +80 -74
- package/dist/communication/message-bus.js.map +1 -1
- package/dist/config/config-manager.d.ts +3 -0
- package/dist/config/config-manager.d.ts.map +1 -1
- package/dist/config/config-manager.js +23 -6
- package/dist/config/config-manager.js.map +1 -1
- package/dist/config/ruv-swarm-config.d.ts +6 -0
- package/dist/config/ruv-swarm-config.d.ts.map +1 -1
- package/dist/config/ruv-swarm-config.js +37 -22
- package/dist/config/ruv-swarm-config.js.map +1 -1
- package/dist/config/ruv-swarm-integration.d.ts.map +1 -1
- package/dist/config/ruv-swarm-integration.js +21 -21
- package/dist/config/ruv-swarm-integration.js.map +1 -1
- package/dist/constants/agent-types.d.ts +4 -4
- package/dist/constants/agent-types.d.ts.map +1 -1
- package/dist/constants/agent-types.js +4 -4
- package/dist/constants/agent-types.js.map +1 -1
- package/dist/coordination/advanced-scheduler.d.ts.map +1 -1
- package/dist/coordination/advanced-scheduler.js +6 -10
- package/dist/coordination/advanced-scheduler.js.map +1 -1
- package/dist/coordination/advanced-task-executor.d.ts.map +1 -1
- package/dist/coordination/advanced-task-executor.js +33 -33
- package/dist/coordination/advanced-task-executor.js.map +1 -1
- package/dist/coordination/background-executor.d.ts.map +1 -1
- package/dist/coordination/background-executor.js +17 -16
- package/dist/coordination/background-executor.js.map +1 -1
- package/dist/coordination/circuit-breaker.d.ts.map +1 -1
- package/dist/coordination/circuit-breaker.js +3 -0
- package/dist/coordination/circuit-breaker.js.map +1 -1
- package/dist/coordination/conflict-resolution.d.ts.map +1 -1
- package/dist/coordination/conflict-resolution.js +10 -8
- package/dist/coordination/conflict-resolution.js.map +1 -1
- package/dist/coordination/dependency-graph.d.ts.map +1 -1
- package/dist/coordination/dependency-graph.js +4 -3
- package/dist/coordination/dependency-graph.js.map +1 -1
- package/dist/coordination/hive-orchestrator.d.ts.map +1 -1
- package/dist/coordination/hive-orchestrator.js +29 -25
- package/dist/coordination/hive-orchestrator.js.map +1 -1
- package/dist/coordination/hive-protocol.d.ts.map +1 -1
- package/dist/coordination/hive-protocol.js +22 -23
- package/dist/coordination/hive-protocol.js.map +1 -1
- package/dist/coordination/index.d.ts +1 -1
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +1 -1
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/load-balancer.d.ts.map +1 -1
- package/dist/coordination/load-balancer.js +55 -56
- package/dist/coordination/load-balancer.js.map +1 -1
- package/dist/coordination/manager.d.ts.map +1 -1
- package/dist/coordination/manager.js +2 -8
- package/dist/coordination/manager.js.map +1 -1
- package/dist/coordination/messaging.d.ts.map +1 -1
- package/dist/coordination/messaging.js +4 -4
- package/dist/coordination/messaging.js.map +1 -1
- package/dist/coordination/metrics.d.ts.map +1 -1
- package/dist/coordination/metrics.js +11 -9
- package/dist/coordination/metrics.js.map +1 -1
- package/dist/coordination/resources.d.ts.map +1 -1
- package/dist/coordination/resources.js +10 -6
- package/dist/coordination/resources.js.map +1 -1
- package/dist/coordination/scheduler.d.ts.map +1 -1
- package/dist/coordination/scheduler.js +4 -4
- package/dist/coordination/scheduler.js.map +1 -1
- package/dist/coordination/swarm-coordinator.d.ts.map +1 -1
- package/dist/coordination/swarm-coordinator.js +32 -34
- package/dist/coordination/swarm-coordinator.js.map +1 -1
- package/dist/coordination/swarm-monitor.d.ts.map +1 -1
- package/dist/coordination/swarm-monitor.js +17 -17
- package/dist/coordination/swarm-monitor.js.map +1 -1
- package/dist/coordination/work-stealing.d.ts.map +1 -1
- package/dist/coordination/work-stealing.js +3 -0
- package/dist/coordination/work-stealing.js.map +1 -1
- package/dist/core/config.d.ts +4 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +28 -31
- package/dist/core/config.js.map +1 -1
- package/dist/core/event-bus.d.ts +3 -0
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/json-persistence.d.ts +3 -0
- package/dist/core/json-persistence.d.ts.map +1 -1
- package/dist/core/json-persistence.js +19 -23
- package/dist/core/json-persistence.js.map +1 -1
- package/dist/core/logger.d.ts +3 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +2 -6
- package/dist/core/logger.js.map +1 -1
- package/dist/core/orchestrator-fixed.d.ts.map +1 -1
- package/dist/core/orchestrator-fixed.js +4 -1
- package/dist/core/orchestrator-fixed.js.map +1 -1
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +66 -33
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/persistence.d.ts +3 -0
- package/dist/core/persistence.d.ts.map +1 -1
- package/dist/core/persistence.js +25 -19
- package/dist/core/persistence.js.map +1 -1
- package/dist/enterprise/analytics-manager.d.ts.map +1 -1
- package/dist/enterprise/analytics-manager.js +141 -134
- package/dist/enterprise/analytics-manager.js.map +1 -1
- package/dist/enterprise/audit-manager.d.ts.map +1 -1
- package/dist/enterprise/audit-manager.js +144 -122
- package/dist/enterprise/audit-manager.js.map +1 -1
- package/dist/enterprise/cloud-manager.d.ts.map +1 -1
- package/dist/enterprise/cloud-manager.js +104 -99
- package/dist/enterprise/cloud-manager.js.map +1 -1
- package/dist/enterprise/deployment-manager.d.ts.map +1 -1
- package/dist/enterprise/deployment-manager.js +104 -97
- package/dist/enterprise/deployment-manager.js.map +1 -1
- package/dist/enterprise/index.d.ts +6 -6
- package/dist/enterprise/index.d.ts.map +1 -1
- package/dist/enterprise/project-manager.d.ts.map +1 -1
- package/dist/enterprise/project-manager.js +74 -66
- package/dist/enterprise/project-manager.js.map +1 -1
- package/dist/enterprise/security-manager.d.ts.map +1 -1
- package/dist/enterprise/security-manager.js +137 -129
- package/dist/enterprise/security-manager.js.map +1 -1
- package/dist/hive-mind/core/Agent.d.ts.map +1 -1
- package/dist/hive-mind/core/Agent.js +36 -36
- package/dist/hive-mind/core/Agent.js.map +1 -1
- package/dist/hive-mind/core/Communication.d.ts.map +1 -1
- package/dist/hive-mind/core/Communication.js +17 -17
- package/dist/hive-mind/core/Communication.js.map +1 -1
- package/dist/hive-mind/core/DatabaseManager.d.ts.map +1 -1
- package/dist/hive-mind/core/DatabaseManager.js +104 -58
- package/dist/hive-mind/core/DatabaseManager.js.map +1 -1
- package/dist/hive-mind/core/HiveMind.d.ts.map +1 -1
- package/dist/hive-mind/core/HiveMind.js +35 -35
- package/dist/hive-mind/core/HiveMind.js.map +1 -1
- package/dist/hive-mind/core/Memory.d.ts.map +1 -1
- package/dist/hive-mind/core/Memory.js +78 -71
- package/dist/hive-mind/core/Memory.js.map +1 -1
- package/dist/hive-mind/core/MemoryMonitor.d.ts.map +1 -1
- package/dist/hive-mind/core/MemoryMonitor.js +38 -38
- package/dist/hive-mind/core/MemoryMonitor.js.map +1 -1
- package/dist/hive-mind/core/Queen.d.ts.map +1 -1
- package/dist/hive-mind/core/Queen.js +110 -47
- package/dist/hive-mind/core/Queen.js.map +1 -1
- package/dist/hive-mind/integration/ConsensusEngine.d.ts.map +1 -1
- package/dist/hive-mind/integration/ConsensusEngine.js +25 -23
- package/dist/hive-mind/integration/ConsensusEngine.js.map +1 -1
- package/dist/hive-mind/integration/MCPToolWrapper.d.ts.map +1 -1
- package/dist/hive-mind/integration/MCPToolWrapper.js.map +1 -1
- package/dist/hive-mind/integration/SwarmOrchestrator.d.ts.map +1 -1
- package/dist/hive-mind/integration/SwarmOrchestrator.js +60 -58
- package/dist/hive-mind/integration/SwarmOrchestrator.js.map +1 -1
- package/dist/hive-mind/types.d.ts.map +1 -1
- package/dist/integration/mock-components.d.ts.map +1 -1
- package/dist/integration/mock-components.js +21 -21
- package/dist/integration/mock-components.js.map +1 -1
- package/dist/integration/system-integration.d.ts.map +1 -1
- package/dist/integration/system-integration.js +29 -12
- package/dist/integration/system-integration.js.map +1 -1
- package/dist/mcp/auth.d.ts +1 -1
- package/dist/mcp/auth.d.ts.map +1 -1
- package/dist/mcp/auth.js +8 -1
- package/dist/mcp/auth.js.map +1 -1
- package/dist/mcp/claude-code-wrapper.d.ts.map +1 -1
- package/dist/mcp/claude-code-wrapper.js +169 -68
- package/dist/mcp/claude-code-wrapper.js.map +1 -1
- package/dist/mcp/claude-flow-tools.d.ts.map +1 -1
- package/dist/mcp/claude-flow-tools.js +42 -3
- package/dist/mcp/claude-flow-tools.js.map +1 -1
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/index.d.ts +6 -6
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +9 -9
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/integrate-wrapper.d.ts.map +1 -1
- package/dist/mcp/integrate-wrapper.js +5 -7
- package/dist/mcp/integrate-wrapper.js.map +1 -1
- package/dist/mcp/lifecycle-manager.d.ts.map +1 -1
- package/dist/mcp/lifecycle-manager.js +8 -7
- package/dist/mcp/lifecycle-manager.js.map +1 -1
- package/dist/mcp/load-balancer.d.ts.map +1 -1
- package/dist/mcp/load-balancer.js +5 -1
- package/dist/mcp/load-balancer.js.map +1 -1
- package/dist/mcp/orchestration-integration.d.ts.map +1 -1
- package/dist/mcp/orchestration-integration.js +22 -9
- package/dist/mcp/orchestration-integration.js.map +1 -1
- package/dist/mcp/performance-monitor.d.ts.map +1 -1
- package/dist/mcp/performance-monitor.js +22 -19
- package/dist/mcp/performance-monitor.js.map +1 -1
- package/dist/mcp/protocol-manager.d.ts.map +1 -1
- package/dist/mcp/protocol-manager.js +8 -19
- package/dist/mcp/protocol-manager.js.map +1 -1
- package/dist/mcp/recovery/connection-health-monitor.d.ts.map +1 -1
- package/dist/mcp/recovery/connection-health-monitor.js +5 -5
- package/dist/mcp/recovery/connection-health-monitor.js.map +1 -1
- package/dist/mcp/recovery/connection-state-manager.d.ts +4 -0
- package/dist/mcp/recovery/connection-state-manager.d.ts.map +1 -1
- package/dist/mcp/recovery/connection-state-manager.js +13 -13
- package/dist/mcp/recovery/connection-state-manager.js.map +1 -1
- package/dist/mcp/recovery/fallback-coordinator.d.ts.map +1 -1
- package/dist/mcp/recovery/fallback-coordinator.js +5 -5
- package/dist/mcp/recovery/fallback-coordinator.js.map +1 -1
- package/dist/mcp/recovery/index.d.ts +4 -4
- package/dist/mcp/recovery/index.d.ts.map +1 -1
- package/dist/mcp/recovery/index.js +4 -4
- package/dist/mcp/recovery/index.js.map +1 -1
- package/dist/mcp/recovery/reconnection-manager.d.ts.map +1 -1
- package/dist/mcp/recovery/reconnection-manager.js +1 -1
- package/dist/mcp/recovery/reconnection-manager.js.map +1 -1
- package/dist/mcp/recovery/recovery-manager.d.ts.map +1 -1
- package/dist/mcp/recovery/recovery-manager.js +2 -4
- package/dist/mcp/recovery/recovery-manager.js.map +1 -1
- package/dist/mcp/router.d.ts.map +1 -1
- package/dist/mcp/router.js +3 -0
- package/dist/mcp/router.js.map +1 -1
- package/dist/mcp/ruv-swarm-tools.d.ts.map +1 -1
- package/dist/mcp/ruv-swarm-tools.js +132 -102
- package/dist/mcp/ruv-swarm-tools.js.map +1 -1
- package/dist/mcp/server-with-wrapper.d.ts +3 -0
- package/dist/mcp/server-with-wrapper.d.ts.map +1 -1
- package/dist/mcp/server-with-wrapper.js +2 -3
- package/dist/mcp/server-with-wrapper.js.map +1 -1
- package/dist/mcp/server-wrapper-mode.d.ts +5 -0
- package/dist/mcp/server-wrapper-mode.d.ts.map +1 -1
- package/dist/mcp/server-wrapper-mode.js +2 -3
- package/dist/mcp/server-wrapper-mode.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +12 -7
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session-manager.d.ts.map +1 -1
- package/dist/mcp/session-manager.js +4 -3
- package/dist/mcp/session-manager.js.map +1 -1
- package/dist/mcp/sparc-modes.d.ts.map +1 -1
- package/dist/mcp/sparc-modes.js +15 -15
- package/dist/mcp/sparc-modes.js.map +1 -1
- package/dist/mcp/swarm-tools.d.ts.map +1 -1
- package/dist/mcp/swarm-tools.js +100 -80
- package/dist/mcp/swarm-tools.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +28 -12
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/transports/base.d.ts.map +1 -1
- package/dist/mcp/transports/base.js +3 -0
- package/dist/mcp/transports/base.js.map +1 -1
- package/dist/mcp/transports/http.d.ts +3 -0
- package/dist/mcp/transports/http.d.ts.map +1 -1
- package/dist/mcp/transports/http.js +3 -3
- package/dist/mcp/transports/http.js.map +1 -1
- package/dist/mcp/transports/stdio.d.ts +3 -0
- package/dist/mcp/transports/stdio.d.ts.map +1 -1
- package/dist/mcp/transports/stdio.js +3 -0
- package/dist/mcp/transports/stdio.js.map +1 -1
- package/dist/memory/advanced-memory-manager.d.ts.map +1 -1
- package/dist/memory/advanced-memory-manager.js +109 -100
- package/dist/memory/advanced-memory-manager.js.map +1 -1
- package/dist/memory/backends/base.d.ts.map +1 -1
- package/dist/memory/backends/base.js +3 -0
- package/dist/memory/backends/base.js.map +1 -1
- package/dist/memory/backends/markdown.d.ts +3 -0
- package/dist/memory/backends/markdown.d.ts.map +1 -1
- package/dist/memory/backends/markdown.js +8 -8
- package/dist/memory/backends/markdown.js.map +1 -1
- package/dist/memory/backends/sqlite.d.ts +3 -0
- package/dist/memory/backends/sqlite.d.ts.map +1 -1
- package/dist/memory/backends/sqlite.js +6 -2
- package/dist/memory/backends/sqlite.js.map +1 -1
- package/dist/memory/cache.d.ts.map +1 -1
- package/dist/memory/cache.js +5 -3
- package/dist/memory/cache.js.map +1 -1
- package/dist/memory/distributed-memory.d.ts.map +1 -1
- package/dist/memory/distributed-memory.js +27 -28
- package/dist/memory/distributed-memory.js.map +1 -1
- package/dist/memory/fallback-store.d.ts.map +1 -1
- package/dist/memory/fallback-store.js.map +1 -1
- package/dist/memory/in-memory-store.d.ts.map +1 -1
- package/dist/memory/in-memory-store.js +8 -8
- package/dist/memory/in-memory-store.js.map +1 -1
- package/dist/memory/indexer.d.ts.map +1 -1
- package/dist/memory/indexer.js +4 -1
- package/dist/memory/indexer.js.map +1 -1
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +17 -20
- package/dist/memory/manager.js.map +1 -1
- package/dist/memory/sqlite-store.js +12 -8
- package/dist/memory/sqlite-store.js.map +1 -1
- package/dist/memory/swarm-memory.d.ts.map +1 -1
- package/dist/memory/swarm-memory.js +37 -44
- package/dist/memory/swarm-memory.js.map +1 -1
- package/dist/migration/index.d.ts +4 -0
- package/dist/migration/index.d.ts.map +1 -1
- package/dist/migration/index.js +8 -8
- package/dist/migration/index.js.map +1 -1
- package/dist/migration/logger.d.ts.map +1 -1
- package/dist/migration/logger.js +5 -5
- package/dist/migration/logger.js.map +1 -1
- package/dist/migration/migration-analyzer.d.ts +3 -0
- package/dist/migration/migration-analyzer.d.ts.map +1 -1
- package/dist/migration/migration-analyzer.js +25 -20
- package/dist/migration/migration-analyzer.js.map +1 -1
- package/dist/migration/migration-runner.d.ts.map +1 -1
- package/dist/migration/migration-runner.js +35 -29
- package/dist/migration/migration-runner.js.map +1 -1
- package/dist/migration/migration-validator.d.ts +3 -0
- package/dist/migration/migration-validator.d.ts.map +1 -1
- package/dist/migration/migration-validator.js +22 -26
- package/dist/migration/migration-validator.js.map +1 -1
- package/dist/migration/progress-reporter.d.ts +3 -0
- package/dist/migration/progress-reporter.d.ts.map +1 -1
- package/dist/migration/progress-reporter.js +8 -8
- package/dist/migration/progress-reporter.js.map +1 -1
- package/dist/migration/rollback-manager.d.ts +3 -0
- package/dist/migration/rollback-manager.d.ts.map +1 -1
- package/dist/migration/rollback-manager.js +29 -26
- package/dist/migration/rollback-manager.js.map +1 -1
- package/dist/monitoring/diagnostics.d.ts.map +1 -1
- package/dist/monitoring/diagnostics.js +49 -37
- package/dist/monitoring/diagnostics.js.map +1 -1
- package/dist/monitoring/health-check.d.ts.map +1 -1
- package/dist/monitoring/health-check.js +24 -25
- package/dist/monitoring/health-check.js.map +1 -1
- package/dist/monitoring/real-time-monitor.d.ts.map +1 -1
- package/dist/monitoring/real-time-monitor.js +71 -58
- package/dist/monitoring/real-time-monitor.js.map +1 -1
- package/dist/resources/resource-manager.d.ts.map +1 -1
- package/dist/resources/resource-manager.js +96 -83
- package/dist/resources/resource-manager.js.map +1 -1
- package/dist/swarm/claude-flow-executor.d.ts.map +1 -1
- package/dist/swarm/claude-flow-executor.js +37 -31
- package/dist/swarm/claude-flow-executor.js.map +1 -1
- package/dist/swarm/coordinator.d.ts.map +1 -1
- package/dist/swarm/coordinator.js +330 -280
- package/dist/swarm/coordinator.js.map +1 -1
- package/dist/swarm/direct-executor.d.ts.map +1 -1
- package/dist/swarm/direct-executor.js +44 -37
- package/dist/swarm/direct-executor.js.map +1 -1
- package/dist/swarm/executor-v2.d.ts.map +1 -1
- package/dist/swarm/executor-v2.js +28 -27
- package/dist/swarm/executor-v2.js.map +1 -1
- package/dist/swarm/executor.d.ts +3 -0
- package/dist/swarm/executor.d.ts.map +1 -1
- package/dist/swarm/executor.js +58 -52
- package/dist/swarm/executor.js.map +1 -1
- package/dist/swarm/index.d.ts.map +1 -1
- package/dist/swarm/index.js +2 -2
- package/dist/swarm/index.js.map +1 -1
- package/dist/swarm/json-output-aggregator.d.ts.map +1 -1
- package/dist/swarm/json-output-aggregator.js +20 -19
- package/dist/swarm/json-output-aggregator.js.map +1 -1
- package/dist/swarm/memory.d.ts.map +1 -1
- package/dist/swarm/memory.js +67 -67
- package/dist/swarm/memory.js.map +1 -1
- package/dist/swarm/optimizations/async-file-manager.d.ts +4 -0
- package/dist/swarm/optimizations/async-file-manager.d.ts.map +1 -1
- package/dist/swarm/optimizations/async-file-manager.js +19 -23
- package/dist/swarm/optimizations/async-file-manager.js.map +1 -1
- package/dist/swarm/optimizations/circular-buffer.d.ts.map +1 -1
- package/dist/swarm/optimizations/circular-buffer.js +2 -4
- package/dist/swarm/optimizations/circular-buffer.js.map +1 -1
- package/dist/swarm/optimizations/connection-pool.d.ts.map +1 -1
- package/dist/swarm/optimizations/connection-pool.js +12 -13
- package/dist/swarm/optimizations/connection-pool.js.map +1 -1
- package/dist/swarm/optimizations/index.js +2 -2
- package/dist/swarm/optimizations/optimized-executor.d.ts.map +1 -1
- package/dist/swarm/optimizations/optimized-executor.js +23 -29
- package/dist/swarm/optimizations/optimized-executor.js.map +1 -1
- package/dist/swarm/optimizations/ttl-map.d.ts.map +1 -1
- package/dist/swarm/optimizations/ttl-map.js +4 -4
- package/dist/swarm/optimizations/ttl-map.js.map +1 -1
- package/dist/swarm/prompt-cli.d.ts.map +1 -1
- package/dist/swarm/prompt-cli.js +18 -13
- package/dist/swarm/prompt-cli.js.map +1 -1
- package/dist/swarm/prompt-copier-enhanced.d.ts.map +1 -1
- package/dist/swarm/prompt-copier-enhanced.js +12 -12
- package/dist/swarm/prompt-copier-enhanced.js.map +1 -1
- package/dist/swarm/prompt-copier.d.ts.map +1 -1
- package/dist/swarm/prompt-copier.js +15 -18
- package/dist/swarm/prompt-copier.js.map +1 -1
- package/dist/swarm/prompt-manager.d.ts.map +1 -1
- package/dist/swarm/prompt-manager.js +27 -21
- package/dist/swarm/prompt-manager.js.map +1 -1
- package/dist/swarm/prompt-utils.d.ts.map +1 -1
- package/dist/swarm/prompt-utils.js +34 -32
- package/dist/swarm/prompt-utils.js.map +1 -1
- package/dist/swarm/sparc-executor.d.ts.map +1 -1
- package/dist/swarm/sparc-executor.js +189 -123
- package/dist/swarm/sparc-executor.js.map +1 -1
- package/dist/swarm/strategies/auto.d.ts.map +1 -1
- package/dist/swarm/strategies/auto.js +105 -86
- package/dist/swarm/strategies/auto.js.map +1 -1
- package/dist/swarm/strategies/base.d.ts.map +1 -1
- package/dist/swarm/strategies/base.js +14 -11
- package/dist/swarm/strategies/base.js.map +1 -1
- package/dist/swarm/strategies/research.d.ts.map +1 -1
- package/dist/swarm/strategies/research.js +76 -71
- package/dist/swarm/strategies/research.js.map +1 -1
- package/dist/swarm/types.d.ts.map +1 -1
- package/dist/swarm/types.js +3 -0
- package/dist/swarm/types.js.map +1 -1
- package/dist/swarm/workers/copy-worker.js +4 -4
- package/dist/swarm/workers/copy-worker.js.map +1 -1
- package/dist/task/commands.d.ts.map +1 -1
- package/dist/task/commands.js +11 -7
- package/dist/task/commands.js.map +1 -1
- package/dist/task/coordination.d.ts.map +1 -1
- package/dist/task/coordination.js +75 -70
- package/dist/task/coordination.js.map +1 -1
- package/dist/task/engine.d.ts.map +1 -1
- package/dist/task/engine.js +34 -32
- package/dist/task/engine.js.map +1 -1
- package/dist/task/index.d.ts +3 -3
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +11 -11
- package/dist/task/index.js.map +1 -1
- package/dist/terminal/adapters/native.d.ts.map +1 -1
- package/dist/terminal/adapters/native.js +6 -6
- package/dist/terminal/adapters/native.js.map +1 -1
- package/dist/terminal/adapters/vscode.d.ts +3 -0
- package/dist/terminal/adapters/vscode.d.ts.map +1 -1
- package/dist/terminal/adapters/vscode.js +6 -4
- package/dist/terminal/adapters/vscode.js.map +1 -1
- package/dist/terminal/manager.d.ts.map +1 -1
- package/dist/terminal/manager.js +6 -8
- package/dist/terminal/manager.js.map +1 -1
- package/dist/terminal/pool.d.ts.map +1 -1
- package/dist/terminal/pool.js +3 -0
- package/dist/terminal/pool.js.map +1 -1
- package/dist/terminal/session.d.ts.map +1 -1
- package/dist/terminal/session.js +6 -2
- package/dist/terminal/session.js.map +1 -1
- package/dist/ui/hive-dashboard.d.ts.map +1 -1
- package/dist/ui/hive-dashboard.js +52 -33
- package/dist/ui/hive-dashboard.js.map +1 -1
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +1 -1
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/helpers.d.ts +3 -0
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +5 -8
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/npx-isolated-cache.js +3 -3
- package/dist/utils/npx-isolated-cache.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +8 -4
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/type-guards.d.ts +1 -1
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/dist/utils/type-guards.js +11 -10
- package/dist/utils/type-guards.js.map +1 -1
- package/package.json +7 -6
- package/src/adapters/cliffy-node.ts +27 -22
- package/src/agents/agent-manager.ts +145 -121
- package/src/agents/agent-registry.ts +77 -70
- package/src/api/claude-client.ts +59 -38
- package/src/api/routes/analysis.js +750 -735
- package/src/cli/__tests__/command-registry.test.js +42 -32
- package/src/cli/__tests__/simple-cli.test.js +42 -37
- package/src/cli/__tests__/utils.test.js +9 -9
- package/src/cli/agents/README.md +30 -4
- package/src/cli/agents/analyst.ts +161 -163
- package/src/cli/agents/architect.ts +126 -131
- package/src/cli/agents/base-agent.ts +48 -47
- package/src/cli/agents/capabilities.ts +87 -85
- package/src/cli/agents/coder.ts +127 -120
- package/src/cli/agents/coordinator.ts +72 -72
- package/src/cli/agents/hive-agents.ts +96 -70
- package/src/cli/agents/index.ts +70 -55
- package/src/cli/agents/researcher.ts +63 -74
- package/src/cli/agents/tester.ts +91 -98
- package/src/cli/cli-core.ts +56 -47
- package/src/cli/command-registry.js +125 -83
- package/src/cli/commands/advanced-memory-commands.ts +210 -142
- package/src/cli/commands/agent-simple.ts +146 -114
- package/src/cli/commands/agent.ts +119 -95
- package/src/cli/commands/claude-api.ts +19 -15
- package/src/cli/commands/claude.ts +96 -88
- package/src/cli/commands/config-integration.ts +120 -101
- package/src/cli/commands/config.ts +10 -8
- package/src/cli/commands/enterprise.ts +323 -187
- package/src/cli/commands/help-new.ts +246 -0
- package/src/cli/commands/help.ts +326 -183
- package/src/cli/commands/hive-mind/index.ts +3 -3
- package/src/cli/commands/hive-mind/init.ts +19 -12
- package/src/cli/commands/hive-mind/optimize-memory.ts +83 -53
- package/src/cli/commands/hive-mind/pause.ts +27 -25
- package/src/cli/commands/hive-mind/ps.ts +43 -37
- package/src/cli/commands/hive-mind/resume.ts +26 -26
- package/src/cli/commands/hive-mind/spawn.ts +37 -29
- package/src/cli/commands/hive-mind/status.ts +51 -51
- package/src/cli/commands/hive-mind/stop.ts +56 -51
- package/src/cli/commands/hive-mind/task.ts +65 -54
- package/src/cli/commands/hive-mind/wizard.ts +181 -167
- package/src/cli/commands/hive.ts +136 -96
- package/src/cli/commands/hook-types.ts +2 -2
- package/src/cli/commands/hook-validator.ts +8 -4
- package/src/cli/commands/hook.ts +44 -42
- package/src/cli/commands/index.ts +1162 -1031
- package/src/cli/commands/mcp.ts +105 -94
- package/src/cli/commands/memory.ts +24 -21
- package/src/cli/commands/migrate.ts +24 -24
- package/src/cli/commands/monitor.ts +123 -93
- package/src/cli/commands/ruv-swarm.ts +131 -122
- package/src/cli/commands/session.ts +60 -45
- package/src/cli/commands/sparc.ts +170 -139
- package/src/cli/commands/start/event-emitter.ts +2 -2
- package/src/cli/commands/start/index.ts +1 -1
- package/src/cli/commands/start/process-manager.ts +30 -47
- package/src/cli/commands/start/process-ui-simple.ts +60 -49
- package/src/cli/commands/start/process-ui.ts +1 -1
- package/src/cli/commands/start/start-command.ts +104 -75
- package/src/cli/commands/start/system-monitor.ts +35 -41
- package/src/cli/commands/start/types.ts +3 -3
- package/src/cli/commands/start.ts +1 -1
- package/src/cli/commands/status.ts +67 -67
- package/src/cli/commands/swarm-spawn.ts +21 -12
- package/src/cli/commands/swarm.ts +221 -150
- package/src/cli/commands/task.ts +55 -55
- package/src/cli/commands/workflow.ts +174 -157
- package/src/cli/completion.ts +34 -19
- package/src/cli/create-enhanced-task.js +49 -17
- package/src/cli/formatter.ts +38 -37
- package/src/cli/help-formatter.js +145 -0
- package/src/cli/help-formatter.ts +173 -0
- package/src/cli/help-text.js +273 -6
- package/src/cli/index-remote.ts +12 -9
- package/src/cli/index.ts +77 -67
- package/src/cli/init/batch-tools.ts +4 -5
- package/src/cli/init/claude-config.ts +125 -118
- package/src/cli/init/directory-structure.ts +10 -11
- package/src/cli/init/index.ts +13 -13
- package/src/cli/init/sparc-environment.ts +90 -74
- package/src/cli/init/swarm-commands.ts +5 -6
- package/src/cli/init/utils.ts +1 -1
- package/src/cli/main.ts +9 -10
- package/src/cli/node-compat.js +26 -19
- package/src/cli/node-repl.ts +104 -87
- package/src/cli/repl.ts +190 -158
- package/src/cli/runtime-detector.js +24 -19
- package/src/cli/simple-cli.js +479 -394
- package/src/cli/simple-cli.ts +426 -366
- package/src/cli/simple-commands/__tests__/agent.test.js +49 -55
- package/src/cli/simple-commands/__tests__/memory.test.js +4 -401
- package/src/cli/simple-commands/__tests__/swarm.test.js +49 -55
- package/src/cli/simple-commands/__tests__/task.test.js +4 -478
- package/src/cli/simple-commands/agent.js +27 -27
- package/src/cli/simple-commands/analysis.js +179 -161
- package/src/cli/simple-commands/automation.js +226 -205
- package/src/cli/simple-commands/batch-manager.js +98 -88
- package/src/cli/simple-commands/config.js +65 -60
- package/src/cli/simple-commands/coordination.js +197 -185
- package/src/cli/simple-commands/enhanced-ui-views.js +142 -115
- package/src/cli/simple-commands/enhanced-webui-complete.js +267 -167
- package/src/cli/simple-commands/fix-hook-variables.js +73 -67
- package/src/cli/simple-commands/github/gh-coordinator.js +63 -53
- package/src/cli/simple-commands/github/github-api.js +45 -47
- package/src/cli/simple-commands/github.js +33 -34
- package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +44 -40
- package/src/cli/simple-commands/hive-mind/communication.js +198 -185
- package/src/cli/simple-commands/hive-mind/core.js +289 -304
- package/src/cli/simple-commands/hive-mind/db-optimizer.js +278 -168
- package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +352 -258
- package/src/cli/simple-commands/hive-mind/memory.js +356 -287
- package/src/cli/simple-commands/hive-mind/performance-optimizer.js +88 -79
- package/src/cli/simple-commands/hive-mind/performance-test.js +61 -49
- package/src/cli/simple-commands/hive-mind/queen.js +223 -213
- package/src/cli/simple-commands/hive-mind/session-manager.js +217 -157
- package/src/cli/simple-commands/hive-mind-optimize.js +69 -65
- package/src/cli/simple-commands/hive-mind-wizard.js +213 -211
- package/src/cli/simple-commands/hive-mind.js +602 -435
- package/src/cli/simple-commands/hive.js +12 -12
- package/src/cli/simple-commands/hook-safety.js +114 -111
- package/src/cli/simple-commands/hooks.js +1077 -1017
- package/src/cli/simple-commands/init/README.md +8 -1
- package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +27 -1
- package/src/cli/simple-commands/init/batch-init.js +105 -100
- package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +6 -6
- package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +6 -6
- package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +20 -18
- package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +85 -71
- package/src/cli/simple-commands/init/claude-commands/slash-commands.js +6 -7
- package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +42 -33
- package/src/cli/simple-commands/init/executable-wrapper.js +13 -10
- package/src/cli/simple-commands/init/gitignore-updater.js +22 -22
- package/src/cli/simple-commands/init/help.js +4 -2
- package/src/cli/simple-commands/init/index.js +405 -303
- package/src/cli/simple-commands/init/performance-monitor.js +71 -64
- package/src/cli/simple-commands/init/rollback/backup-manager.js +44 -64
- package/src/cli/simple-commands/init/rollback/index.js +31 -39
- package/src/cli/simple-commands/init/rollback/recovery-manager.js +71 -101
- package/src/cli/simple-commands/init/rollback/rollback-executor.js +34 -53
- package/src/cli/simple-commands/init/rollback/state-tracker.js +38 -49
- package/src/cli/simple-commands/init/sparc/roo-readme.js +1 -1
- package/src/cli/simple-commands/init/sparc/roomodes-config.js +99 -77
- package/src/cli/simple-commands/init/sparc/workflows.js +37 -33
- package/src/cli/simple-commands/init/sparc-structure.js +9 -10
- package/src/cli/simple-commands/init/templates/CLAUDE.md +94 -26
- package/src/cli/simple-commands/init/templates/claude-flow-universal +9 -7
- package/src/cli/simple-commands/init/templates/claude-md.js +1 -1
- package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +15 -3
- package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +12 -2
- package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +10 -1
- package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +18 -5
- package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +13 -6
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +12 -1
- package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +13 -5
- package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +12 -1
- package/src/cli/simple-commands/init/templates/coordination-md.js +1 -1
- package/src/cli/simple-commands/init/templates/enhanced-templates.js +116 -113
- package/src/cli/simple-commands/init/templates/memory-bank-md.js +1 -1
- package/src/cli/simple-commands/init/templates/readme-files.js +1 -1
- package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +176 -127
- package/src/cli/simple-commands/init/templates/settings.json +2 -5
- package/src/cli/simple-commands/init/templates/sparc-modes.js +3 -3
- package/src/cli/simple-commands/init/validation/config-validator.js +17 -28
- package/src/cli/simple-commands/init/validation/health-checker.js +54 -62
- package/src/cli/simple-commands/init/validation/index.js +18 -23
- package/src/cli/simple-commands/init/validation/mode-validator.js +22 -32
- package/src/cli/simple-commands/init/validation/post-init-validator.js +25 -26
- package/src/cli/simple-commands/init/validation/pre-init-validator.js +32 -36
- package/src/cli/simple-commands/init/validation/test-runner.js +55 -63
- package/src/cli/simple-commands/init.js +1 -1
- package/src/cli/simple-commands/mcp-integration-layer.js +179 -110
- package/src/cli/simple-commands/mcp.js +55 -48
- package/src/cli/simple-commands/memory.js +62 -56
- package/src/cli/simple-commands/migrate-hooks.js +9 -10
- package/src/cli/simple-commands/monitor.js +87 -67
- package/src/cli/simple-commands/process-ui-enhanced.js +207 -155
- package/src/cli/simple-commands/process-ui.js +65 -56
- package/src/cli/simple-commands/realtime-update-system.js +136 -129
- package/src/cli/simple-commands/sparc/architecture.js +352 -251
- package/src/cli/simple-commands/sparc/commands.js +122 -94
- package/src/cli/simple-commands/sparc/completion.js +274 -199
- package/src/cli/simple-commands/sparc/coordinator.js +217 -169
- package/src/cli/simple-commands/sparc/index.js +40 -36
- package/src/cli/simple-commands/sparc/phase-base.js +72 -58
- package/src/cli/simple-commands/sparc/pseudocode.js +275 -159
- package/src/cli/simple-commands/sparc/refinement.js +306 -212
- package/src/cli/simple-commands/sparc/specification.js +164 -94
- package/src/cli/simple-commands/sparc-modes/architect.js +1 -1
- package/src/cli/simple-commands/sparc-modes/ask.js +1 -1
- package/src/cli/simple-commands/sparc-modes/code.js +1 -1
- package/src/cli/simple-commands/sparc-modes/debug.js +1 -1
- package/src/cli/simple-commands/sparc-modes/devops.js +1 -1
- package/src/cli/simple-commands/sparc-modes/docs-writer.js +1 -1
- package/src/cli/simple-commands/sparc-modes/generic.js +1 -1
- package/src/cli/simple-commands/sparc-modes/index.js +15 -15
- package/src/cli/simple-commands/sparc-modes/integration.js +1 -1
- package/src/cli/simple-commands/sparc-modes/mcp.js +1 -1
- package/src/cli/simple-commands/sparc-modes/monitoring.js +1 -1
- package/src/cli/simple-commands/sparc-modes/optimization.js +1 -1
- package/src/cli/simple-commands/sparc-modes/security-review.js +1 -1
- package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +1 -1
- package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +1 -1
- package/src/cli/simple-commands/sparc-modes/supabase-admin.js +1 -1
- package/src/cli/simple-commands/sparc-modes/swarm.js +52 -52
- package/src/cli/simple-commands/sparc-modes/tdd.js +1 -1
- package/src/cli/simple-commands/sparc-modes/tutorial.js +1 -1
- package/src/cli/simple-commands/sparc.js +87 -69
- package/src/cli/simple-commands/start-ui.js +21 -20
- package/src/cli/simple-commands/start-wrapper.js +29 -31
- package/src/cli/simple-commands/start.js +1 -1
- package/src/cli/simple-commands/status.js +53 -47
- package/src/cli/simple-commands/swarm-executor.js +47 -57
- package/src/cli/simple-commands/swarm-metrics-integration.js +119 -79
- package/src/cli/simple-commands/swarm-ui.js +120 -118
- package/src/cli/simple-commands/swarm-webui-integration.js +48 -27
- package/src/cli/simple-commands/swarm.js +216 -181
- package/src/cli/simple-commands/task.js +29 -29
- package/src/cli/simple-commands/timestamp-fix.js +28 -25
- package/src/cli/simple-commands/tool-execution-framework.js +115 -118
- package/src/cli/simple-commands/training.js +219 -194
- package/src/cli/simple-commands/web-server.js +118 -117
- package/src/cli/simple-commands/webui-validator.js +4 -3
- package/src/cli/simple-mcp.ts +14 -17
- package/src/cli/simple-orchestrator.ts +113 -101
- package/src/cli/swarm-standalone.js +20 -21
- package/src/cli/ui/compatible-ui.ts +55 -44
- package/src/cli/ui/fallback-handler.ts +19 -16
- package/src/cli/ui/index.ts +14 -15
- package/src/cli/utils/environment-detector.ts +75 -67
- package/src/cli/utils/interactive-detector.js +17 -11
- package/src/cli/utils/prompt-defaults.ts +32 -28
- package/src/cli/utils/safe-interactive.js +21 -20
- package/src/cli/utils.js +127 -110
- package/src/cli/validation-helper.js +113 -0
- package/src/cli/validation-helper.ts +128 -0
- package/src/communication/message-bus.ts +137 -124
- package/src/config/config-manager.ts +62 -30
- package/src/config/ruv-swarm-config.ts +105 -86
- package/src/config/ruv-swarm-integration.ts +38 -38
- package/src/constants/agent-types.ts +9 -8
- package/src/coordination/README.md +54 -31
- package/src/coordination/advanced-scheduler.ts +23 -26
- package/src/coordination/advanced-task-executor.ts +74 -68
- package/src/coordination/background-executor.ts +33 -30
- package/src/coordination/circuit-breaker.ts +26 -27
- package/src/coordination/conflict-resolution.ts +18 -27
- package/src/coordination/dependency-graph.ts +15 -18
- package/src/coordination/hive-orchestrator.ts +111 -81
- package/src/coordination/hive-protocol.ts +68 -77
- package/src/coordination/index.ts +3 -7
- package/src/coordination/load-balancer.ts +115 -105
- package/src/coordination/manager.ts +38 -51
- package/src/coordination/messaging.ts +19 -29
- package/src/coordination/metrics.ts +57 -60
- package/src/coordination/resources.ts +32 -37
- package/src/coordination/scheduler.ts +29 -30
- package/src/coordination/swarm-coordinator.ts +81 -70
- package/src/coordination/swarm-monitor.ts +90 -69
- package/src/coordination/work-stealing.ts +6 -13
- package/src/core/config.ts +148 -143
- package/src/core/event-bus.ts +5 -6
- package/src/core/json-persistence.ts +27 -34
- package/src/core/logger.ts +13 -16
- package/src/core/orchestrator-fixed.ts +33 -32
- package/src/core/orchestrator.ts +166 -159
- package/src/core/persistence.ts +47 -36
- package/src/enterprise/analytics-manager.ts +242 -233
- package/src/enterprise/audit-manager.ts +238 -184
- package/src/enterprise/cloud-manager.ts +167 -151
- package/src/enterprise/deployment-manager.ts +223 -180
- package/src/enterprise/index.ts +7 -7
- package/src/enterprise/project-manager.ts +151 -133
- package/src/enterprise/security-manager.ts +278 -223
- package/src/hive-mind/core/Agent.ts +112 -109
- package/src/hive-mind/core/Communication.ts +67 -69
- package/src/hive-mind/core/DatabaseManager.ts +299 -166
- package/src/hive-mind/core/HiveMind.ts +100 -96
- package/src/hive-mind/core/Memory.ts +304 -295
- package/src/hive-mind/core/MemoryMonitor.ts +46 -47
- package/src/hive-mind/core/Queen.ts +187 -114
- package/src/hive-mind/index.ts +2 -2
- package/src/hive-mind/integration/ConsensusEngine.ts +88 -92
- package/src/hive-mind/integration/MCPToolWrapper.ts +20 -72
- package/src/hive-mind/integration/SwarmOrchestrator.ts +173 -165
- package/src/hive-mind/types.ts +24 -12
- package/src/integration/mock-components.ts +42 -30
- package/src/integration/system-integration.ts +93 -69
- package/src/integration/types.ts +7 -7
- package/src/mcp/README.md +23 -4
- package/src/mcp/auth.ts +25 -18
- package/src/mcp/claude-code-wrapper.ts +257 -150
- package/src/mcp/claude-flow-tools.ts +52 -13
- package/src/mcp/client.ts +15 -13
- package/src/mcp/index.ts +22 -27
- package/src/mcp/integrate-wrapper.ts +18 -18
- package/src/mcp/lifecycle-manager.ts +30 -27
- package/src/mcp/load-balancer.ts +10 -11
- package/src/mcp/mcp-server.js +755 -370
- package/src/mcp/orchestration-integration.ts +32 -17
- package/src/mcp/performance-monitor.ts +65 -51
- package/src/mcp/protocol-manager.ts +36 -52
- package/src/mcp/recovery/connection-health-monitor.ts +40 -35
- package/src/mcp/recovery/connection-state-manager.ts +52 -50
- package/src/mcp/recovery/fallback-coordinator.ts +24 -24
- package/src/mcp/recovery/index.ts +23 -4
- package/src/mcp/recovery/reconnection-manager.ts +14 -15
- package/src/mcp/recovery/recovery-manager.ts +52 -68
- package/src/mcp/router.ts +1 -2
- package/src/mcp/ruv-swarm-tools.ts +167 -138
- package/src/mcp/ruv-swarm-wrapper.js +31 -23
- package/src/mcp/server-with-wrapper.ts +4 -5
- package/src/mcp/server-wrapper-mode.ts +5 -6
- package/src/mcp/server.ts +45 -40
- package/src/mcp/session-manager.ts +8 -11
- package/src/mcp/sparc-modes.ts +29 -28
- package/src/mcp/swarm-tools.ts +131 -114
- package/src/mcp/tests/mcp-integration.test.ts +49 -55
- package/src/mcp/tools.ts +53 -38
- package/src/mcp/transports/base.ts +4 -5
- package/src/mcp/transports/http.ts +45 -42
- package/src/mcp/transports/stdio.ts +9 -12
- package/src/memory/README.md +37 -27
- package/src/memory/advanced-memory-manager.ts +336 -279
- package/src/memory/backends/base.ts +4 -5
- package/src/memory/backends/markdown.ts +16 -22
- package/src/memory/backends/sqlite.ts +19 -15
- package/src/memory/cache.ts +18 -18
- package/src/memory/distributed-memory.ts +84 -92
- package/src/memory/enhanced-examples.js +68 -59
- package/src/memory/enhanced-memory.js +99 -80
- package/src/memory/fallback-store.js +16 -7
- package/src/memory/in-memory-store.js +31 -27
- package/src/memory/index.js +4 -4
- package/src/memory/indexer.ts +6 -10
- package/src/memory/manager.ts +45 -59
- package/src/memory/migration.js +107 -90
- package/src/memory/shared-memory.js +155 -157
- package/src/memory/sqlite-store.js +76 -59
- package/src/memory/swarm-memory.js +138 -131
- package/src/memory/swarm-memory.ts +74 -75
- package/src/memory/test-example.js +28 -30
- package/src/migration/README.md +25 -9
- package/src/migration/index.ts +13 -14
- package/src/migration/logger.ts +9 -7
- package/src/migration/migration-analyzer.ts +66 -52
- package/src/migration/migration-manifest.json +2 -6
- package/src/migration/migration-runner.ts +86 -63
- package/src/migration/migration-validator.ts +93 -68
- package/src/migration/package.json +1 -1
- package/src/migration/progress-reporter.ts +25 -21
- package/src/migration/rollback-manager.ts +79 -63
- package/src/migration/tests/migration-system.test.ts +4 -491
- package/src/migration/tsconfig.json +3 -10
- package/src/migration/types.ts +1 -1
- package/src/monitoring/diagnostics.ts +123 -97
- package/src/monitoring/health-check.ts +45 -51
- package/src/monitoring/real-time-monitor.ts +105 -92
- package/src/resources/resource-manager.ts +205 -159
- package/src/swarm/__tests__/integration.test.ts +59 -65
- package/src/swarm/__tests__/prompt-copier.test.ts +27 -27
- package/src/swarm/claude-flow-executor.ts +50 -49
- package/src/swarm/coordinator.ts +727 -635
- package/src/swarm/direct-executor.ts +80 -86
- package/src/swarm/executor-v2.ts +81 -66
- package/src/swarm/executor.ts +124 -124
- package/src/swarm/index.ts +7 -8
- package/src/swarm/json-output-aggregator.ts +56 -40
- package/src/swarm/memory.ts +152 -147
- package/src/swarm/optimizations/README.md +20 -12
- package/src/swarm/optimizations/__tests__/optimization.test.ts +84 -87
- package/src/swarm/optimizations/async-file-manager.ts +70 -80
- package/src/swarm/optimizations/circular-buffer.ts +37 -37
- package/src/swarm/optimizations/connection-pool.ts +64 -64
- package/src/swarm/optimizations/index.ts +4 -4
- package/src/swarm/optimizations/migration-guide.md +27 -16
- package/src/swarm/optimizations/optimized-executor.ts +104 -114
- package/src/swarm/optimizations/ttl-map.ts +66 -63
- package/src/swarm/prompt-cli.ts +48 -42
- package/src/swarm/prompt-copier-enhanced.ts +54 -55
- package/src/swarm/prompt-copier.ts +59 -65
- package/src/swarm/prompt-copying-README.md +49 -33
- package/src/swarm/prompt-manager.ts +69 -63
- package/src/swarm/prompt-utils.ts +71 -66
- package/src/swarm/sparc-executor.ts +298 -225
- package/src/swarm/strategies/auto.ts +367 -252
- package/src/swarm/strategies/base.ts +24 -20
- package/src/swarm/strategies/research.ts +144 -124
- package/src/swarm/types.ts +340 -309
- package/src/swarm/workers/copy-worker.ts +12 -13
- package/src/task/README.md +99 -70
- package/src/task/commands.ts +16 -8
- package/src/task/coordination.ts +209 -162
- package/src/task/engine.ts +81 -65
- package/src/task/index.ts +28 -31
- package/src/templates/claude-optimized/.claude/BATCHTOOLS_BEST_PRACTICES.md +479 -481
- package/src/templates/claude-optimized/.claude/BATCHTOOLS_GUIDE.md +210 -188
- package/src/templates/claude-optimized/.claude/MIGRATION_GUIDE.md +151 -105
- package/src/templates/claude-optimized/.claude/PERFORMANCE_BENCHMARKS.md +102 -87
- package/src/templates/claude-optimized/.claude/commands/claude-flow-help.md +18 -1
- package/src/templates/claude-optimized/.claude/commands/claude-flow-memory.md +17 -1
- package/src/templates/claude-optimized/.claude/commands/claude-flow-swarm.md +21 -1
- package/src/templates/claude-optimized/.claude/commands/sparc/architect.md +11 -4
- package/src/templates/claude-optimized/.claude/commands/sparc/ask.md +16 -10
- package/src/templates/claude-optimized/.claude/commands/sparc/code.md +26 -7
- package/src/templates/claude-optimized/.claude/commands/sparc/debug.md +14 -4
- package/src/templates/claude-optimized/.claude/commands/sparc/devops.md +23 -10
- package/src/templates/claude-optimized/.claude/commands/sparc/docs-writer.md +8 -4
- package/src/templates/claude-optimized/.claude/commands/sparc/integration.md +43 -27
- package/src/templates/claude-optimized/.claude/commands/sparc/mcp.md +15 -1
- package/src/templates/claude-optimized/.claude/commands/sparc/post-deployment-monitoring-mode.md +45 -30
- package/src/templates/claude-optimized/.claude/commands/sparc/refinement-optimization-mode.md +23 -13
- package/src/templates/claude-optimized/.claude/commands/sparc/security-review.md +31 -17
- package/src/templates/claude-optimized/.claude/commands/sparc/sparc.md +54 -47
- package/src/templates/claude-optimized/.claude/commands/sparc/spec-pseudocode.md +27 -17
- package/src/templates/claude-optimized/.claude/commands/sparc/supabase-admin.md +18 -4
- package/src/templates/claude-optimized/.claude/commands/sparc/tdd.md +23 -9
- package/src/templates/claude-optimized/.claude/commands/sparc/tutorial.md +22 -16
- package/src/templates/claude-optimized/.claude/commands/sparc.md +20 -1
- package/src/templates/claude-optimized/README.md +10 -1
- package/src/templates/claude-optimized/SUMMARY.md +23 -1
- package/src/templates/claude-optimized/deploy-to-project.js +22 -10
- package/src/templates/claude-optimized/install-template.js +14 -10
- package/src/templates/claude-optimized/manifest.json +1 -1
- package/src/templates/claude-optimized/package.json +1 -1
- package/src/templates/claude-optimized/template-manager.js +8 -8
- package/src/templates/claude-optimized/validate-template.js +33 -23
- package/src/terminal/adapters/base.ts +1 -1
- package/src/terminal/adapters/native.ts +47 -47
- package/src/terminal/adapters/vscode.ts +21 -28
- package/src/terminal/manager.ts +27 -22
- package/src/terminal/pool.ts +24 -27
- package/src/terminal/session.ts +18 -18
- package/src/terminal/vscode-bridge.ts +21 -21
- package/src/tests/validation-consistency.test.ts +4 -4
- package/src/types/cliffy.d.ts +11 -14
- package/src/types/global.d.ts +1 -2
- package/src/types/index.ts +2 -2
- package/src/types/mcp.d.ts +11 -17
- package/src/types/vscode.d.ts +18 -5
- package/src/ui/console/README-analysis-tools.md +52 -2
- package/src/ui/console/README.md +33 -1
- package/src/ui/console/WORKFLOW_DESIGNER_README.md +81 -22
- package/src/ui/console/analysis-tools.html +282 -261
- package/src/ui/console/analytics.html +329 -326
- package/src/ui/console/index.html +221 -209
- package/src/ui/console/js/analysis-tools.js +815 -754
- package/src/ui/console/js/command-handler.js +226 -196
- package/src/ui/console/js/console.js +117 -119
- package/src/ui/console/js/daa-tools.js +797 -787
- package/src/ui/console/js/memory-interface.js +676 -638
- package/src/ui/console/js/memory-test.js +49 -46
- package/src/ui/console/js/memory-tools.js +181 -159
- package/src/ui/console/js/settings.js +124 -103
- package/src/ui/console/js/terminal-emulator.js +147 -130
- package/src/ui/console/js/websocket-client.js +71 -71
- package/src/ui/console/js/workflow-designer.js +1126 -1110
- package/src/ui/console/neural-networks-demo.md +45 -16
- package/src/ui/console/styles/analysis-tools.css +571 -561
- package/src/ui/console/styles/console.css +16 -12
- package/src/ui/console/styles/daa-tools.css +322 -319
- package/src/ui/console/styles/responsive.css +71 -70
- package/src/ui/console/styles/settings.css +12 -12
- package/src/ui/console/styles/workflow-designer.css +628 -584
- package/src/ui/console/test-neural-networks.js +59 -54
- package/src/ui/console/test-neural.html +194 -196
- package/src/ui/console/workflow-designer-demo.html +433 -424
- package/src/ui/hive-dashboard.ts +74 -52
- package/src/ui/web-ui/EnhancedProcessUI.js +570 -424
- package/src/ui/web-ui/EnhancedWebUI.js +65 -65
- package/src/ui/web-ui/README.md +16 -16
- package/src/ui/web-ui/components/ComponentLibrary.js +173 -124
- package/src/ui/web-ui/core/EventBus.js +27 -25
- package/src/ui/web-ui/core/MCPIntegrationLayer.js +294 -108
- package/src/ui/web-ui/core/StateManager.js +43 -46
- package/src/ui/web-ui/core/UIManager.js +120 -70
- package/src/ui/web-ui/core/ViewManager.js +16 -19
- package/src/ui/web-ui/index.js +101 -48
- package/src/ui/web-ui/neural-panel-test.js +109 -108
- package/src/ui/web-ui/test-github-view.js +11 -12
- package/src/ui/web-ui/test-neural-panel.html +219 -205
- package/src/ui/web-ui/views/DAAView.js +88 -85
- package/src/ui/web-ui/views/GitHubIntegrationTest.js +42 -42
- package/src/ui/web-ui/views/GitHubIntegrationView.js +59 -53
- package/src/ui/web-ui/views/NeuralNetworkView.js +20 -21
- package/src/ui/web-ui/views/WorkflowAutomationView.js +31 -32
- package/src/utils/error-handler.js +1 -1
- package/src/utils/error-handler.ts +9 -5
- package/src/utils/errors.ts +20 -18
- package/src/utils/formatters.ts +6 -6
- package/src/utils/helpers.ts +53 -55
- package/src/utils/npx-isolated-cache.js +16 -16
- package/src/utils/paths.ts +9 -6
- package/src/utils/timezone-utils.js +16 -16
- package/src/utils/type-guards.ts +37 -26
- package/src/utils/types.ts +2 -2
|
@@ -4,35 +4,35 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
class MemoryInterface {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
7
|
+
constructor() {
|
|
8
|
+
this.container = null;
|
|
9
|
+
this.currentNamespace = 'global';
|
|
10
|
+
this.memoryData = new Map();
|
|
11
|
+
this.searchFilters = {};
|
|
12
|
+
this.analytics = {
|
|
13
|
+
usage: new Map(),
|
|
14
|
+
history: [],
|
|
15
|
+
patterns: new Map(),
|
|
16
|
+
};
|
|
17
|
+
this.backupManager = new BackupManager();
|
|
18
|
+
this.syncManager = new SyncManager();
|
|
19
|
+
this.compressionManager = new CompressionManager();
|
|
20
|
+
this.visualizer = new MemoryVisualizer();
|
|
21
|
+
|
|
22
|
+
this.init();
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
init() {
|
|
26
|
+
this.createInterface();
|
|
27
|
+
this.setupEventListeners();
|
|
28
|
+
this.startMonitoring();
|
|
29
|
+
this.loadMemoryData();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
createInterface() {
|
|
33
|
+
this.container = document.createElement('div');
|
|
34
|
+
this.container.className = 'memory-interface';
|
|
35
|
+
this.container.innerHTML = `
|
|
36
36
|
<div class="memory-header">
|
|
37
37
|
<h2>Memory Management Interface</h2>
|
|
38
38
|
<div class="memory-controls">
|
|
@@ -241,91 +241,123 @@ class MemoryInterface {
|
|
|
241
241
|
</div>
|
|
242
242
|
</div>
|
|
243
243
|
`;
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
setupEventListeners() {
|
|
247
|
+
// Header controls
|
|
248
|
+
this.container.querySelector('.btn-refresh').addEventListener('click', () => this.refresh());
|
|
249
|
+
this.container
|
|
250
|
+
.querySelector('.btn-backup')
|
|
251
|
+
.addEventListener('click', () => this.createBackup());
|
|
252
|
+
this.container
|
|
253
|
+
.querySelector('.btn-compress')
|
|
254
|
+
.addEventListener('click', () => this.optimizeMemory());
|
|
255
|
+
this.container
|
|
256
|
+
.querySelector('.btn-sync')
|
|
257
|
+
.addEventListener('click', () => this.showSyncStatus());
|
|
258
|
+
|
|
259
|
+
// Namespace controls
|
|
260
|
+
this.container
|
|
261
|
+
.querySelector('.btn-add-namespace')
|
|
262
|
+
.addEventListener('click', () => this.addNamespace());
|
|
263
|
+
this.container
|
|
264
|
+
.querySelector('.namespace-search-input')
|
|
265
|
+
.addEventListener('input', (e) => this.searchNamespaces(e.target.value));
|
|
266
|
+
|
|
267
|
+
// Editor controls
|
|
268
|
+
this.container.querySelector('.btn-add-key').addEventListener('click', () => this.addKey());
|
|
269
|
+
this.container.querySelector('.btn-bulk-edit').addEventListener('click', () => this.bulkEdit());
|
|
270
|
+
this.container
|
|
271
|
+
.querySelector('.btn-export')
|
|
272
|
+
.addEventListener('click', () => this.exportMemory());
|
|
273
|
+
|
|
274
|
+
// Search controls
|
|
275
|
+
this.container
|
|
276
|
+
.querySelector('.key-search-input')
|
|
277
|
+
.addEventListener('input', (e) => this.searchKeys(e.target.value));
|
|
278
|
+
this.container
|
|
279
|
+
.querySelector('.type-filter')
|
|
280
|
+
.addEventListener('change', (e) => this.filterByType(e.target.value));
|
|
281
|
+
|
|
282
|
+
// Analytics controls
|
|
283
|
+
this.container
|
|
284
|
+
.querySelector('.analytics-timeframe')
|
|
285
|
+
.addEventListener('change', (e) => this.updateAnalytics(e.target.value));
|
|
286
|
+
|
|
287
|
+
// Search interface
|
|
288
|
+
this.container
|
|
289
|
+
.querySelector('.btn-add-filter')
|
|
290
|
+
.addEventListener('click', () => this.addSearchFilter());
|
|
291
|
+
this.container
|
|
292
|
+
.querySelector('.btn-saved-searches')
|
|
293
|
+
.addEventListener('click', () => this.showSavedSearches());
|
|
294
|
+
|
|
295
|
+
// Backup controls
|
|
296
|
+
this.container
|
|
297
|
+
.querySelector('.btn-create-backup')
|
|
298
|
+
.addEventListener('click', () => this.createBackup());
|
|
299
|
+
this.container
|
|
300
|
+
.querySelector('.btn-restore-backup')
|
|
301
|
+
.addEventListener('click', () => this.restoreBackup());
|
|
302
|
+
this.container
|
|
303
|
+
.querySelector('.btn-import-backup')
|
|
304
|
+
.addEventListener('click', () => this.importBackup());
|
|
305
|
+
|
|
306
|
+
// Modal controls
|
|
307
|
+
this.container
|
|
308
|
+
.querySelector('.btn-close-modal')
|
|
309
|
+
.addEventListener('click', () => this.closeModal());
|
|
310
|
+
this.container.querySelector('.modal-overlay').addEventListener('click', (e) => {
|
|
311
|
+
if (e.target === this.container.querySelector('.modal-overlay')) {
|
|
312
|
+
this.closeModal();
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
// Form submission
|
|
317
|
+
this.container
|
|
318
|
+
.querySelector('#key-editor-form')
|
|
319
|
+
.addEventListener('submit', (e) => this.saveKeyValue(e));
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
async loadMemoryData() {
|
|
323
|
+
try {
|
|
324
|
+
// Load memory data from Claude Flow's memory system
|
|
325
|
+
const response = await fetch('/api/memory/list');
|
|
326
|
+
const data = await response.json();
|
|
327
|
+
|
|
328
|
+
this.memoryData = new Map(Object.entries(data));
|
|
329
|
+
this.updateNamespaceTree();
|
|
330
|
+
this.updateKeyValueList();
|
|
331
|
+
this.updateAnalytics();
|
|
332
|
+
} catch (error) {
|
|
333
|
+
console.error('Failed to load memory data:', error);
|
|
334
|
+
this.showError('Failed to load memory data');
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
updateNamespaceTree() {
|
|
339
|
+
const container = this.container.querySelector('.namespace-tree-container');
|
|
340
|
+
const namespaces = this.getNamespaces();
|
|
341
|
+
|
|
342
|
+
container.innerHTML = this.renderNamespaceTree(namespaces);
|
|
343
|
+
|
|
344
|
+
// Add click handlers for namespace items
|
|
345
|
+
container.querySelectorAll('.namespace-item').forEach((item) => {
|
|
346
|
+
item.addEventListener('click', (e) => {
|
|
347
|
+
e.stopPropagation();
|
|
348
|
+
this.selectNamespace(item.dataset.namespace);
|
|
349
|
+
});
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
renderNamespaceTree(namespaces, parent = '', level = 0) {
|
|
354
|
+
let html = '';
|
|
355
|
+
|
|
356
|
+
for (const [namespace, data] of namespaces) {
|
|
357
|
+
const fullPath = parent ? `${parent}.${namespace}` : namespace;
|
|
358
|
+
const hasChildren = data.children && data.children.size > 0;
|
|
359
|
+
|
|
360
|
+
html += `
|
|
329
361
|
<div class="namespace-item ${this.currentNamespace === fullPath ? 'active' : ''}"
|
|
330
362
|
data-namespace="${fullPath}"
|
|
331
363
|
style="padding-left: ${level * 20}px">
|
|
@@ -336,35 +368,41 @@ class MemoryInterface {
|
|
|
336
368
|
</div>
|
|
337
369
|
</div>
|
|
338
370
|
`;
|
|
339
|
-
|
|
340
|
-
if (hasChildren) {
|
|
341
|
-
html += this.renderNamespaceTree(data.children, fullPath, level + 1);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
return html;
|
|
346
|
-
}
|
|
347
371
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
container.innerHTML = keys.map(key => this.renderKeyValueItem(key)).join('');
|
|
353
|
-
|
|
354
|
-
// Add event listeners for key-value items
|
|
355
|
-
container.querySelectorAll('.key-value-item').forEach(item => {
|
|
356
|
-
item.querySelector('.btn-edit').addEventListener('click', () => this.editKey(item.dataset.key));
|
|
357
|
-
item.querySelector('.btn-delete').addEventListener('click', () => this.deleteKey(item.dataset.key));
|
|
358
|
-
item.querySelector('.btn-copy').addEventListener('click', () => this.copyKey(item.dataset.key));
|
|
359
|
-
});
|
|
372
|
+
if (hasChildren) {
|
|
373
|
+
html += this.renderNamespaceTree(data.children, fullPath, level + 1);
|
|
374
|
+
}
|
|
360
375
|
}
|
|
361
376
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
377
|
+
return html;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
updateKeyValueList() {
|
|
381
|
+
const container = this.container.querySelector('.key-value-list');
|
|
382
|
+
const keys = this.getKeysForNamespace(this.currentNamespace);
|
|
383
|
+
|
|
384
|
+
container.innerHTML = keys.map((key) => this.renderKeyValueItem(key)).join('');
|
|
385
|
+
|
|
386
|
+
// Add event listeners for key-value items
|
|
387
|
+
container.querySelectorAll('.key-value-item').forEach((item) => {
|
|
388
|
+
item
|
|
389
|
+
.querySelector('.btn-edit')
|
|
390
|
+
.addEventListener('click', () => this.editKey(item.dataset.key));
|
|
391
|
+
item
|
|
392
|
+
.querySelector('.btn-delete')
|
|
393
|
+
.addEventListener('click', () => this.deleteKey(item.dataset.key));
|
|
394
|
+
item
|
|
395
|
+
.querySelector('.btn-copy')
|
|
396
|
+
.addEventListener('click', () => this.copyKey(item.dataset.key));
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
renderKeyValueItem(key) {
|
|
401
|
+
const value = this.memoryData.get(key);
|
|
402
|
+
const type = this.getValueType(value);
|
|
403
|
+
const displayValue = this.formatValueForDisplay(value, type);
|
|
404
|
+
|
|
405
|
+
return `
|
|
368
406
|
<div class="key-value-item" data-key="${key}">
|
|
369
407
|
<div class="key-info">
|
|
370
408
|
<span class="key-name">${key}</span>
|
|
@@ -386,538 +424,538 @@ class MemoryInterface {
|
|
|
386
424
|
</div>
|
|
387
425
|
</div>
|
|
388
426
|
`;
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
getNamespaces() {
|
|
392
|
-
const namespaces = new Map();
|
|
393
|
-
|
|
394
|
-
for (const [key, value] of this.memoryData) {
|
|
395
|
-
const parts = key.split('.');
|
|
396
|
-
let current = namespaces;
|
|
397
|
-
let path = '';
|
|
398
|
-
|
|
399
|
-
for (let i = 0; i < parts.length - 1; i++) {
|
|
400
|
-
const part = parts[i];
|
|
401
|
-
path = path ? `${path}.${part}` : part;
|
|
402
|
-
|
|
403
|
-
if (!current.has(part)) {
|
|
404
|
-
current.set(part, {
|
|
405
|
-
count: 0,
|
|
406
|
-
children: new Map()
|
|
407
|
-
});
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
current = current.get(part).children;
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
// Count the final key
|
|
414
|
-
const finalPart = parts[parts.length - 1];
|
|
415
|
-
if (!current.has(finalPart)) {
|
|
416
|
-
current.set(finalPart, { count: 0, children: new Map() });
|
|
417
|
-
}
|
|
418
|
-
current.get(finalPart).count++;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
return namespaces;
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
getKeysForNamespace(namespace) {
|
|
425
|
-
const keys = [];
|
|
426
|
-
const prefix = namespace === 'global' ? '' : `${namespace}.`;
|
|
427
|
-
|
|
428
|
-
for (const [key, value] of this.memoryData) {
|
|
429
|
-
if (namespace === 'global' || key.startsWith(prefix)) {
|
|
430
|
-
keys.push(key);
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
return keys.sort();
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
getValueType(value) {
|
|
438
|
-
if (value === null) return 'null';
|
|
439
|
-
if (value === undefined) return 'undefined';
|
|
440
|
-
if (Array.isArray(value)) return 'array';
|
|
441
|
-
return typeof value;
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
formatValueForDisplay(value, type) {
|
|
445
|
-
switch (type) {
|
|
446
|
-
case 'string':
|
|
447
|
-
return value.length > 50 ? `${value.substring(0, 50)}...` : value;
|
|
448
|
-
case 'object':
|
|
449
|
-
return JSON.stringify(value).substring(0, 100) + '...';
|
|
450
|
-
case 'array':
|
|
451
|
-
return `[${value.length} items]`;
|
|
452
|
-
default:
|
|
453
|
-
return String(value);
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
updateAnalytics(timeframe = '24h') {
|
|
458
|
-
const stats = this.calculateStats(timeframe);
|
|
459
|
-
|
|
460
|
-
// Update stat cards
|
|
461
|
-
this.container.querySelector('#total-keys').textContent = stats.totalKeys;
|
|
462
|
-
this.container.querySelector('#memory-usage').textContent = stats.memoryUsage;
|
|
463
|
-
this.container.querySelector('#compression-rate').textContent = stats.compressionRate;
|
|
464
|
-
this.container.querySelector('#access-frequency').textContent = stats.accessFrequency;
|
|
465
|
-
|
|
466
|
-
// Update charts
|
|
467
|
-
this.visualizer.updateUsageChart(stats.usageData);
|
|
468
|
-
this.visualizer.updatePatternChart(stats.patternData);
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
calculateStats(timeframe) {
|
|
472
|
-
const now = Date.now();
|
|
473
|
-
const timeframes = {
|
|
474
|
-
'1h': 60 * 60 * 1000,
|
|
475
|
-
'24h': 24 * 60 * 60 * 1000,
|
|
476
|
-
'7d': 7 * 24 * 60 * 60 * 1000,
|
|
477
|
-
'30d': 30 * 24 * 60 * 60 * 1000
|
|
478
|
-
};
|
|
479
|
-
|
|
480
|
-
const cutoff = now - timeframes[timeframe];
|
|
481
|
-
|
|
482
|
-
return {
|
|
483
|
-
totalKeys: this.memoryData.size,
|
|
484
|
-
memoryUsage: this.calculateMemoryUsage(),
|
|
485
|
-
compressionRate: this.compressionManager.getCompressionRate(),
|
|
486
|
-
accessFrequency: this.calculateAccessFrequency(cutoff),
|
|
487
|
-
usageData: this.getUsageData(cutoff),
|
|
488
|
-
patternData: this.getPatternData(cutoff)
|
|
489
|
-
};
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
calculateMemoryUsage() {
|
|
493
|
-
let totalSize = 0;
|
|
494
|
-
for (const [key, value] of this.memoryData) {
|
|
495
|
-
totalSize += this.getObjectSize(key) + this.getObjectSize(value);
|
|
496
|
-
}
|
|
497
|
-
return this.formatBytes(totalSize);
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
getObjectSize(obj) {
|
|
501
|
-
let size = 0;
|
|
502
|
-
if (typeof obj === 'string') {
|
|
503
|
-
size = obj.length * 2; // UTF-16
|
|
504
|
-
} else if (typeof obj === 'number') {
|
|
505
|
-
size = 8; // 64-bit float
|
|
506
|
-
} else if (typeof obj === 'boolean') {
|
|
507
|
-
size = 1;
|
|
508
|
-
} else if (obj === null || obj === undefined) {
|
|
509
|
-
size = 0;
|
|
510
|
-
} else {
|
|
511
|
-
size = JSON.stringify(obj).length * 2;
|
|
512
|
-
}
|
|
513
|
-
return size;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
formatBytes(bytes) {
|
|
517
|
-
if (bytes === 0) return '0 B';
|
|
518
|
-
const k = 1024;
|
|
519
|
-
const sizes = ['B', 'KB', 'MB', 'GB'];
|
|
520
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
521
|
-
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
calculateAccessFrequency(cutoff) {
|
|
525
|
-
const recentAccess = this.analytics.history.filter(entry => entry.timestamp > cutoff);
|
|
526
|
-
const frequency = recentAccess.length / ((Date.now() - cutoff) / 60000); // per minute
|
|
527
|
-
return frequency.toFixed(2);
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
getUsageData(cutoff) {
|
|
531
|
-
// Return usage data for charts
|
|
532
|
-
return this.analytics.history
|
|
533
|
-
.filter(entry => entry.timestamp > cutoff)
|
|
534
|
-
.map(entry => ({
|
|
535
|
-
timestamp: entry.timestamp,
|
|
536
|
-
operations: entry.operations || 0,
|
|
537
|
-
memory: entry.memory || 0
|
|
538
|
-
}));
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
getPatternData(cutoff) {
|
|
542
|
-
// Return pattern data for charts
|
|
543
|
-
const patterns = new Map();
|
|
544
|
-
|
|
545
|
-
for (const [key, value] of this.analytics.patterns) {
|
|
546
|
-
if (value.lastAccess > cutoff) {
|
|
547
|
-
patterns.set(key, value);
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
return Array.from(patterns.entries());
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
// Event handlers
|
|
555
|
-
async selectNamespace(namespace) {
|
|
556
|
-
this.currentNamespace = namespace;
|
|
557
|
-
this.updateKeyValueList();
|
|
558
|
-
|
|
559
|
-
// Update active state
|
|
560
|
-
this.container.querySelectorAll('.namespace-item').forEach(item => {
|
|
561
|
-
item.classList.toggle('active', item.dataset.namespace === namespace);
|
|
562
|
-
});
|
|
563
|
-
|
|
564
|
-
await this.notifyCoordination(`Selected namespace: ${namespace}`);
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
async addNamespace() {
|
|
568
|
-
const name = prompt('Enter namespace name:');
|
|
569
|
-
if (name) {
|
|
570
|
-
// Create a placeholder key to establish the namespace
|
|
571
|
-
const key = `${name}.placeholder`;
|
|
572
|
-
await this.setMemoryValue(key, 'Namespace placeholder');
|
|
573
|
-
await this.loadMemoryData();
|
|
574
|
-
await this.notifyCoordination(`Added namespace: ${name}`);
|
|
575
|
-
}
|
|
576
|
-
}
|
|
577
|
-
|
|
578
|
-
async addKey() {
|
|
579
|
-
this.openModal('key-editor-modal');
|
|
580
|
-
this.container.querySelector('#edit-key').value = '';
|
|
581
|
-
this.container.querySelector('#edit-value').value = '';
|
|
582
|
-
this.container.querySelector('#edit-type').value = 'string';
|
|
583
|
-
this.container.querySelector('#edit-namespace').value = this.currentNamespace;
|
|
584
|
-
}
|
|
427
|
+
}
|
|
585
428
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
const type = this.getValueType(value);
|
|
589
|
-
|
|
590
|
-
this.openModal('key-editor-modal');
|
|
591
|
-
this.container.querySelector('#edit-key').value = key;
|
|
592
|
-
this.container.querySelector('#edit-value').value = JSON.stringify(value, null, 2);
|
|
593
|
-
this.container.querySelector('#edit-type').value = type;
|
|
594
|
-
this.container.querySelector('#edit-namespace').value = this.getNamespaceFromKey(key);
|
|
595
|
-
}
|
|
429
|
+
getNamespaces() {
|
|
430
|
+
const namespaces = new Map();
|
|
596
431
|
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
await this.notifyCoordination(`Deleted key: ${key}`);
|
|
602
|
-
}
|
|
603
|
-
}
|
|
432
|
+
for (const [key, value] of this.memoryData) {
|
|
433
|
+
const parts = key.split('.');
|
|
434
|
+
let current = namespaces;
|
|
435
|
+
let path = '';
|
|
604
436
|
|
|
605
|
-
|
|
606
|
-
const
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
try {
|
|
610
|
-
await navigator.clipboard.writeText(text);
|
|
611
|
-
this.showSuccess('Key copied to clipboard');
|
|
612
|
-
} catch (error) {
|
|
613
|
-
console.error('Failed to copy to clipboard:', error);
|
|
614
|
-
this.showError('Failed to copy to clipboard');
|
|
615
|
-
}
|
|
616
|
-
}
|
|
437
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
438
|
+
const part = parts[i];
|
|
439
|
+
path = path ? `${path}.${part}` : part;
|
|
617
440
|
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
const valueText = this.container.querySelector('#edit-value').value;
|
|
624
|
-
|
|
625
|
-
try {
|
|
626
|
-
let value;
|
|
627
|
-
|
|
628
|
-
switch (type) {
|
|
629
|
-
case 'string':
|
|
630
|
-
value = valueText;
|
|
631
|
-
break;
|
|
632
|
-
case 'number':
|
|
633
|
-
value = parseFloat(valueText);
|
|
634
|
-
break;
|
|
635
|
-
case 'boolean':
|
|
636
|
-
value = valueText.toLowerCase() === 'true';
|
|
637
|
-
break;
|
|
638
|
-
case 'object':
|
|
639
|
-
case 'array':
|
|
640
|
-
value = JSON.parse(valueText);
|
|
641
|
-
break;
|
|
642
|
-
default:
|
|
643
|
-
value = valueText;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
await this.setMemoryValue(key, value);
|
|
647
|
-
await this.loadMemoryData();
|
|
648
|
-
this.closeModal();
|
|
649
|
-
await this.notifyCoordination(`Saved key: ${key}`);
|
|
650
|
-
} catch (error) {
|
|
651
|
-
console.error('Failed to save key-value:', error);
|
|
652
|
-
this.showError('Failed to save key-value pair');
|
|
441
|
+
if (!current.has(part)) {
|
|
442
|
+
current.set(part, {
|
|
443
|
+
count: 0,
|
|
444
|
+
children: new Map(),
|
|
445
|
+
});
|
|
653
446
|
}
|
|
654
|
-
}
|
|
655
447
|
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
}
|
|
448
|
+
current = current.get(part).children;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
// Count the final key
|
|
452
|
+
const finalPart = parts[parts.length - 1];
|
|
453
|
+
if (!current.has(finalPart)) {
|
|
454
|
+
current.set(finalPart, { count: 0, children: new Map() });
|
|
455
|
+
}
|
|
456
|
+
current.get(finalPart).count++;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
return namespaces;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
getKeysForNamespace(namespace) {
|
|
463
|
+
const keys = [];
|
|
464
|
+
const prefix = namespace === 'global' ? '' : `${namespace}.`;
|
|
465
|
+
|
|
466
|
+
for (const [key, value] of this.memoryData) {
|
|
467
|
+
if (namespace === 'global' || key.startsWith(prefix)) {
|
|
468
|
+
keys.push(key);
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
return keys.sort();
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
getValueType(value) {
|
|
476
|
+
if (value === null) return 'null';
|
|
477
|
+
if (value === undefined) return 'undefined';
|
|
478
|
+
if (Array.isArray(value)) return 'array';
|
|
479
|
+
return typeof value;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
formatValueForDisplay(value, type) {
|
|
483
|
+
switch (type) {
|
|
484
|
+
case 'string':
|
|
485
|
+
return value.length > 50 ? `${value.substring(0, 50)}...` : value;
|
|
486
|
+
case 'object':
|
|
487
|
+
return JSON.stringify(value).substring(0, 100) + '...';
|
|
488
|
+
case 'array':
|
|
489
|
+
return `[${value.length} items]`;
|
|
490
|
+
default:
|
|
491
|
+
return String(value);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
updateAnalytics(timeframe = '24h') {
|
|
496
|
+
const stats = this.calculateStats(timeframe);
|
|
497
|
+
|
|
498
|
+
// Update stat cards
|
|
499
|
+
this.container.querySelector('#total-keys').textContent = stats.totalKeys;
|
|
500
|
+
this.container.querySelector('#memory-usage').textContent = stats.memoryUsage;
|
|
501
|
+
this.container.querySelector('#compression-rate').textContent = stats.compressionRate;
|
|
502
|
+
this.container.querySelector('#access-frequency').textContent = stats.accessFrequency;
|
|
503
|
+
|
|
504
|
+
// Update charts
|
|
505
|
+
this.visualizer.updateUsageChart(stats.usageData);
|
|
506
|
+
this.visualizer.updatePatternChart(stats.patternData);
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
calculateStats(timeframe) {
|
|
510
|
+
const now = Date.now();
|
|
511
|
+
const timeframes = {
|
|
512
|
+
'1h': 60 * 60 * 1000,
|
|
513
|
+
'24h': 24 * 60 * 60 * 1000,
|
|
514
|
+
'7d': 7 * 24 * 60 * 60 * 1000,
|
|
515
|
+
'30d': 30 * 24 * 60 * 60 * 1000,
|
|
516
|
+
};
|
|
517
|
+
|
|
518
|
+
const cutoff = now - timeframes[timeframe];
|
|
519
|
+
|
|
520
|
+
return {
|
|
521
|
+
totalKeys: this.memoryData.size,
|
|
522
|
+
memoryUsage: this.calculateMemoryUsage(),
|
|
523
|
+
compressionRate: this.compressionManager.getCompressionRate(),
|
|
524
|
+
accessFrequency: this.calculateAccessFrequency(cutoff),
|
|
525
|
+
usageData: this.getUsageData(cutoff),
|
|
526
|
+
patternData: this.getPatternData(cutoff),
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
calculateMemoryUsage() {
|
|
531
|
+
let totalSize = 0;
|
|
532
|
+
for (const [key, value] of this.memoryData) {
|
|
533
|
+
totalSize += this.getObjectSize(key) + this.getObjectSize(value);
|
|
534
|
+
}
|
|
535
|
+
return this.formatBytes(totalSize);
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
getObjectSize(obj) {
|
|
539
|
+
let size = 0;
|
|
540
|
+
if (typeof obj === 'string') {
|
|
541
|
+
size = obj.length * 2; // UTF-16
|
|
542
|
+
} else if (typeof obj === 'number') {
|
|
543
|
+
size = 8; // 64-bit float
|
|
544
|
+
} else if (typeof obj === 'boolean') {
|
|
545
|
+
size = 1;
|
|
546
|
+
} else if (obj === null || obj === undefined) {
|
|
547
|
+
size = 0;
|
|
548
|
+
} else {
|
|
549
|
+
size = JSON.stringify(obj).length * 2;
|
|
550
|
+
}
|
|
551
|
+
return size;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
formatBytes(bytes) {
|
|
555
|
+
if (bytes === 0) return '0 B';
|
|
556
|
+
const k = 1024;
|
|
557
|
+
const sizes = ['B', 'KB', 'MB', 'GB'];
|
|
558
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
559
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
calculateAccessFrequency(cutoff) {
|
|
563
|
+
const recentAccess = this.analytics.history.filter((entry) => entry.timestamp > cutoff);
|
|
564
|
+
const frequency = recentAccess.length / ((Date.now() - cutoff) / 60000); // per minute
|
|
565
|
+
return frequency.toFixed(2);
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
getUsageData(cutoff) {
|
|
569
|
+
// Return usage data for charts
|
|
570
|
+
return this.analytics.history
|
|
571
|
+
.filter((entry) => entry.timestamp > cutoff)
|
|
572
|
+
.map((entry) => ({
|
|
573
|
+
timestamp: entry.timestamp,
|
|
574
|
+
operations: entry.operations || 0,
|
|
575
|
+
memory: entry.memory || 0,
|
|
576
|
+
}));
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
getPatternData(cutoff) {
|
|
580
|
+
// Return pattern data for charts
|
|
581
|
+
const patterns = new Map();
|
|
582
|
+
|
|
583
|
+
for (const [key, value] of this.analytics.patterns) {
|
|
584
|
+
if (value.lastAccess > cutoff) {
|
|
585
|
+
patterns.set(key, value);
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
return Array.from(patterns.entries());
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
// Event handlers
|
|
593
|
+
async selectNamespace(namespace) {
|
|
594
|
+
this.currentNamespace = namespace;
|
|
595
|
+
this.updateKeyValueList();
|
|
596
|
+
|
|
597
|
+
// Update active state
|
|
598
|
+
this.container.querySelectorAll('.namespace-item').forEach((item) => {
|
|
599
|
+
item.classList.toggle('active', item.dataset.namespace === namespace);
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
await this.notifyCoordination(`Selected namespace: ${namespace}`);
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
async addNamespace() {
|
|
606
|
+
const name = prompt('Enter namespace name:');
|
|
607
|
+
if (name) {
|
|
608
|
+
// Create a placeholder key to establish the namespace
|
|
609
|
+
const key = `${name}.placeholder`;
|
|
610
|
+
await this.setMemoryValue(key, 'Namespace placeholder');
|
|
611
|
+
await this.loadMemoryData();
|
|
612
|
+
await this.notifyCoordination(`Added namespace: ${name}`);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
async addKey() {
|
|
617
|
+
this.openModal('key-editor-modal');
|
|
618
|
+
this.container.querySelector('#edit-key').value = '';
|
|
619
|
+
this.container.querySelector('#edit-value').value = '';
|
|
620
|
+
this.container.querySelector('#edit-type').value = 'string';
|
|
621
|
+
this.container.querySelector('#edit-namespace').value = this.currentNamespace;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
async editKey(key) {
|
|
625
|
+
const value = this.memoryData.get(key);
|
|
626
|
+
const type = this.getValueType(value);
|
|
627
|
+
|
|
628
|
+
this.openModal('key-editor-modal');
|
|
629
|
+
this.container.querySelector('#edit-key').value = key;
|
|
630
|
+
this.container.querySelector('#edit-value').value = JSON.stringify(value, null, 2);
|
|
631
|
+
this.container.querySelector('#edit-type').value = type;
|
|
632
|
+
this.container.querySelector('#edit-namespace').value = this.getNamespaceFromKey(key);
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
async deleteKey(key) {
|
|
636
|
+
if (confirm(`Are you sure you want to delete "${key}"?`)) {
|
|
637
|
+
await this.deleteMemoryValue(key);
|
|
638
|
+
await this.loadMemoryData();
|
|
639
|
+
await this.notifyCoordination(`Deleted key: ${key}`);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
async copyKey(key) {
|
|
644
|
+
const value = this.memoryData.get(key);
|
|
645
|
+
const text = JSON.stringify({ [key]: value }, null, 2);
|
|
646
|
+
|
|
647
|
+
try {
|
|
648
|
+
await navigator.clipboard.writeText(text);
|
|
649
|
+
this.showSuccess('Key copied to clipboard');
|
|
650
|
+
} catch (error) {
|
|
651
|
+
console.error('Failed to copy to clipboard:', error);
|
|
652
|
+
this.showError('Failed to copy to clipboard');
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
async saveKeyValue(e) {
|
|
657
|
+
e.preventDefault();
|
|
658
|
+
|
|
659
|
+
const key = this.container.querySelector('#edit-key').value;
|
|
660
|
+
const type = this.container.querySelector('#edit-type').value;
|
|
661
|
+
const valueText = this.container.querySelector('#edit-value').value;
|
|
662
|
+
|
|
663
|
+
try {
|
|
664
|
+
let value;
|
|
665
|
+
|
|
666
|
+
switch (type) {
|
|
667
|
+
case 'string':
|
|
668
|
+
value = valueText;
|
|
669
|
+
break;
|
|
670
|
+
case 'number':
|
|
671
|
+
value = parseFloat(valueText);
|
|
672
|
+
break;
|
|
673
|
+
case 'boolean':
|
|
674
|
+
value = valueText.toLowerCase() === 'true';
|
|
675
|
+
break;
|
|
676
|
+
case 'object':
|
|
677
|
+
case 'array':
|
|
678
|
+
value = JSON.parse(valueText);
|
|
679
|
+
break;
|
|
680
|
+
default:
|
|
681
|
+
value = valueText;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
await this.setMemoryValue(key, value);
|
|
685
|
+
await this.loadMemoryData();
|
|
686
|
+
this.closeModal();
|
|
687
|
+
await this.notifyCoordination(`Saved key: ${key}`);
|
|
688
|
+
} catch (error) {
|
|
689
|
+
console.error('Failed to save key-value:', error);
|
|
690
|
+
this.showError('Failed to save key-value pair');
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
async createBackup() {
|
|
695
|
+
try {
|
|
696
|
+
const backup = await this.backupManager.createBackup(this.memoryData);
|
|
697
|
+
this.showSuccess(`Backup created: ${backup.id}`);
|
|
698
|
+
await this.notifyCoordination(`Created backup: ${backup.id}`);
|
|
699
|
+
} catch (error) {
|
|
700
|
+
console.error('Failed to create backup:', error);
|
|
701
|
+
this.showError('Failed to create backup');
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
async optimizeMemory() {
|
|
706
|
+
try {
|
|
707
|
+
const result = await this.compressionManager.optimize(this.memoryData);
|
|
708
|
+
this.showSuccess(`Memory optimized: ${result.savedBytes} bytes saved`);
|
|
709
|
+
await this.loadMemoryData();
|
|
710
|
+
await this.notifyCoordination(`Optimized memory: ${result.savedBytes} bytes saved`);
|
|
711
|
+
} catch (error) {
|
|
712
|
+
console.error('Failed to optimize memory:', error);
|
|
713
|
+
this.showError('Failed to optimize memory');
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
async refresh() {
|
|
718
|
+
await this.loadMemoryData();
|
|
719
|
+
this.showSuccess('Memory data refreshed');
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
// Helper methods
|
|
723
|
+
openModal(modalId) {
|
|
724
|
+
this.container.querySelector('#modal-overlay').style.display = 'flex';
|
|
725
|
+
this.container.querySelector(`#${modalId}`).style.display = 'block';
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
closeModal() {
|
|
729
|
+
this.container.querySelector('#modal-overlay').style.display = 'none';
|
|
730
|
+
this.container.querySelectorAll('.modal').forEach((modal) => {
|
|
731
|
+
modal.style.display = 'none';
|
|
732
|
+
});
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
getNamespaceFromKey(key) {
|
|
736
|
+
const parts = key.split('.');
|
|
737
|
+
return parts.length > 1 ? parts.slice(0, -1).join('.') : 'global';
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
async setMemoryValue(key, value) {
|
|
741
|
+
const response = await fetch('/api/memory/set', {
|
|
742
|
+
method: 'POST',
|
|
743
|
+
headers: { 'Content-Type': 'application/json' },
|
|
744
|
+
body: JSON.stringify({ key, value }),
|
|
745
|
+
});
|
|
746
|
+
|
|
747
|
+
if (!response.ok) {
|
|
748
|
+
throw new Error('Failed to set memory value');
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
async deleteMemoryValue(key) {
|
|
753
|
+
const response = await fetch('/api/memory/delete', {
|
|
754
|
+
method: 'DELETE',
|
|
755
|
+
headers: { 'Content-Type': 'application/json' },
|
|
756
|
+
body: JSON.stringify({ key }),
|
|
757
|
+
});
|
|
758
|
+
|
|
759
|
+
if (!response.ok) {
|
|
760
|
+
throw new Error('Failed to delete memory value');
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
showSuccess(message) {
|
|
765
|
+
// Implementation for success notification
|
|
766
|
+
console.log('Success:', message);
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
showError(message) {
|
|
770
|
+
// Implementation for error notification
|
|
771
|
+
console.error('Error:', message);
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
async notifyCoordination(message) {
|
|
775
|
+
try {
|
|
776
|
+
await fetch('/api/coordination/notify', {
|
|
777
|
+
method: 'POST',
|
|
778
|
+
headers: { 'Content-Type': 'application/json' },
|
|
779
|
+
body: JSON.stringify({ message, timestamp: Date.now() }),
|
|
780
|
+
});
|
|
781
|
+
} catch (error) {
|
|
782
|
+
console.error('Failed to notify coordination:', error);
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
startMonitoring() {
|
|
787
|
+
// Start real-time monitoring
|
|
788
|
+
setInterval(() => {
|
|
789
|
+
this.updateAnalytics();
|
|
790
|
+
}, 30000); // Update every 30 seconds
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
render() {
|
|
794
|
+
return this.container;
|
|
795
|
+
}
|
|
796
|
+
}
|
|
666
797
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
798
|
+
// Supporting classes
|
|
799
|
+
class BackupManager {
|
|
800
|
+
constructor() {
|
|
801
|
+
this.backups = new Map();
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
async createBackup(memoryData) {
|
|
805
|
+
const id = `backup_${Date.now()}`;
|
|
806
|
+
const backup = {
|
|
807
|
+
id,
|
|
808
|
+
timestamp: Date.now(),
|
|
809
|
+
data: new Map(memoryData),
|
|
810
|
+
size: this.calculateBackupSize(memoryData),
|
|
811
|
+
};
|
|
812
|
+
|
|
813
|
+
this.backups.set(id, backup);
|
|
814
|
+
return backup;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
async restoreBackup(backupId) {
|
|
818
|
+
const backup = this.backups.get(backupId);
|
|
819
|
+
if (!backup) {
|
|
820
|
+
throw new Error('Backup not found');
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
return backup.data;
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
calculateBackupSize(memoryData) {
|
|
827
|
+
return JSON.stringify(Array.from(memoryData.entries())).length;
|
|
828
|
+
}
|
|
829
|
+
}
|
|
678
830
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
831
|
+
class SyncManager {
|
|
832
|
+
constructor() {
|
|
833
|
+
this.syncStatus = 'idle';
|
|
834
|
+
this.lastSync = null;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
async sync() {
|
|
838
|
+
this.syncStatus = 'syncing';
|
|
839
|
+
|
|
840
|
+
try {
|
|
841
|
+
// Implement sync logic here
|
|
842
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
843
|
+
this.lastSync = Date.now();
|
|
844
|
+
this.syncStatus = 'synchronized';
|
|
845
|
+
} catch (error) {
|
|
846
|
+
this.syncStatus = 'error';
|
|
847
|
+
throw error;
|
|
848
|
+
}
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
getStatus() {
|
|
852
|
+
return {
|
|
853
|
+
status: this.syncStatus,
|
|
854
|
+
lastSync: this.lastSync,
|
|
855
|
+
};
|
|
856
|
+
}
|
|
857
|
+
}
|
|
683
858
|
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
}
|
|
859
|
+
class CompressionManager {
|
|
860
|
+
constructor() {
|
|
861
|
+
this.compressionRate = 0;
|
|
862
|
+
}
|
|
689
863
|
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
modal.style.display = 'none';
|
|
694
|
-
});
|
|
695
|
-
}
|
|
864
|
+
async optimize(memoryData) {
|
|
865
|
+
// Implement compression logic
|
|
866
|
+
const originalSize = this.calculateSize(memoryData);
|
|
696
867
|
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
return parts.length > 1 ? parts.slice(0, -1).join('.') : 'global';
|
|
700
|
-
}
|
|
868
|
+
// Simulate compression
|
|
869
|
+
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
701
870
|
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
method: 'POST',
|
|
705
|
-
headers: { 'Content-Type': 'application/json' },
|
|
706
|
-
body: JSON.stringify({ key, value })
|
|
707
|
-
});
|
|
708
|
-
|
|
709
|
-
if (!response.ok) {
|
|
710
|
-
throw new Error('Failed to set memory value');
|
|
711
|
-
}
|
|
712
|
-
}
|
|
871
|
+
const compressedSize = originalSize * 0.7; // 30% compression
|
|
872
|
+
const savedBytes = originalSize - compressedSize;
|
|
713
873
|
|
|
714
|
-
|
|
715
|
-
const response = await fetch('/api/memory/delete', {
|
|
716
|
-
method: 'DELETE',
|
|
717
|
-
headers: { 'Content-Type': 'application/json' },
|
|
718
|
-
body: JSON.stringify({ key })
|
|
719
|
-
});
|
|
720
|
-
|
|
721
|
-
if (!response.ok) {
|
|
722
|
-
throw new Error('Failed to delete memory value');
|
|
723
|
-
}
|
|
724
|
-
}
|
|
874
|
+
this.compressionRate = (savedBytes / originalSize) * 100;
|
|
725
875
|
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
}
|
|
876
|
+
return {
|
|
877
|
+
savedBytes: Math.floor(savedBytes),
|
|
878
|
+
compressionRate: this.compressionRate,
|
|
879
|
+
};
|
|
880
|
+
}
|
|
730
881
|
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
}
|
|
882
|
+
getCompressionRate() {
|
|
883
|
+
return `${this.compressionRate.toFixed(1)}%`;
|
|
884
|
+
}
|
|
735
885
|
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
headers: { 'Content-Type': 'application/json' },
|
|
741
|
-
body: JSON.stringify({ message, timestamp: Date.now() })
|
|
742
|
-
});
|
|
743
|
-
} catch (error) {
|
|
744
|
-
console.error('Failed to notify coordination:', error);
|
|
745
|
-
}
|
|
746
|
-
}
|
|
886
|
+
calculateSize(memoryData) {
|
|
887
|
+
return JSON.stringify(Array.from(memoryData.entries())).length;
|
|
888
|
+
}
|
|
889
|
+
}
|
|
747
890
|
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
}
|
|
891
|
+
class MemoryVisualizer {
|
|
892
|
+
constructor() {
|
|
893
|
+
this.usageChart = null;
|
|
894
|
+
this.patternChart = null;
|
|
895
|
+
}
|
|
754
896
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
}
|
|
897
|
+
updateUsageChart(data) {
|
|
898
|
+
const canvas = document.getElementById('usage-chart');
|
|
899
|
+
if (!canvas) return;
|
|
759
900
|
|
|
760
|
-
|
|
761
|
-
class BackupManager {
|
|
762
|
-
constructor() {
|
|
763
|
-
this.backups = new Map();
|
|
764
|
-
}
|
|
901
|
+
const ctx = canvas.getContext('2d');
|
|
765
902
|
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
const backup = {
|
|
769
|
-
id,
|
|
770
|
-
timestamp: Date.now(),
|
|
771
|
-
data: new Map(memoryData),
|
|
772
|
-
size: this.calculateBackupSize(memoryData)
|
|
773
|
-
};
|
|
774
|
-
|
|
775
|
-
this.backups.set(id, backup);
|
|
776
|
-
return backup;
|
|
777
|
-
}
|
|
903
|
+
// Simple chart implementation
|
|
904
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
778
905
|
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
return backup.data;
|
|
786
|
-
}
|
|
906
|
+
// Draw usage data
|
|
907
|
+
if (data.length > 0) {
|
|
908
|
+
ctx.beginPath();
|
|
909
|
+
ctx.strokeStyle = '#007bff';
|
|
910
|
+
ctx.lineWidth = 2;
|
|
787
911
|
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
912
|
+
const width = canvas.width;
|
|
913
|
+
const height = canvas.height;
|
|
914
|
+
const stepX = width / (data.length - 1);
|
|
915
|
+
const maxValue = Math.max(...data.map((d) => d.operations));
|
|
792
916
|
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
this.lastSync = null;
|
|
797
|
-
}
|
|
917
|
+
data.forEach((point, index) => {
|
|
918
|
+
const x = index * stepX;
|
|
919
|
+
const y = height - (point.operations / maxValue) * height;
|
|
798
920
|
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
// Implement sync logic here
|
|
804
|
-
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
805
|
-
this.lastSync = Date.now();
|
|
806
|
-
this.syncStatus = 'synchronized';
|
|
807
|
-
} catch (error) {
|
|
808
|
-
this.syncStatus = 'error';
|
|
809
|
-
throw error;
|
|
921
|
+
if (index === 0) {
|
|
922
|
+
ctx.moveTo(x, y);
|
|
923
|
+
} else {
|
|
924
|
+
ctx.lineTo(x, y);
|
|
810
925
|
}
|
|
811
|
-
|
|
926
|
+
});
|
|
812
927
|
|
|
813
|
-
|
|
814
|
-
return {
|
|
815
|
-
status: this.syncStatus,
|
|
816
|
-
lastSync: this.lastSync
|
|
817
|
-
};
|
|
928
|
+
ctx.stroke();
|
|
818
929
|
}
|
|
819
|
-
}
|
|
930
|
+
}
|
|
820
931
|
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
}
|
|
932
|
+
updatePatternChart(data) {
|
|
933
|
+
const canvas = document.getElementById('pattern-chart');
|
|
934
|
+
if (!canvas) return;
|
|
825
935
|
|
|
826
|
-
|
|
827
|
-
// Implement compression logic
|
|
828
|
-
const originalSize = this.calculateSize(memoryData);
|
|
829
|
-
|
|
830
|
-
// Simulate compression
|
|
831
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
832
|
-
|
|
833
|
-
const compressedSize = originalSize * 0.7; // 30% compression
|
|
834
|
-
const savedBytes = originalSize - compressedSize;
|
|
835
|
-
|
|
836
|
-
this.compressionRate = (savedBytes / originalSize) * 100;
|
|
837
|
-
|
|
838
|
-
return {
|
|
839
|
-
savedBytes: Math.floor(savedBytes),
|
|
840
|
-
compressionRate: this.compressionRate
|
|
841
|
-
};
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
getCompressionRate() {
|
|
845
|
-
return `${this.compressionRate.toFixed(1)}%`;
|
|
846
|
-
}
|
|
936
|
+
const ctx = canvas.getContext('2d');
|
|
847
937
|
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
}
|
|
851
|
-
}
|
|
938
|
+
// Simple pattern chart implementation
|
|
939
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
852
940
|
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
941
|
+
// Draw pattern data as bars
|
|
942
|
+
if (data.length > 0) {
|
|
943
|
+
const width = canvas.width;
|
|
944
|
+
const height = canvas.height;
|
|
945
|
+
const barWidth = width / data.length;
|
|
946
|
+
const maxValue = Math.max(...data.map((d) => d[1].count || 0));
|
|
858
947
|
|
|
859
|
-
|
|
860
|
-
const
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
const ctx = canvas.getContext('2d');
|
|
864
|
-
|
|
865
|
-
// Simple chart implementation
|
|
866
|
-
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
867
|
-
|
|
868
|
-
// Draw usage data
|
|
869
|
-
if (data.length > 0) {
|
|
870
|
-
ctx.beginPath();
|
|
871
|
-
ctx.strokeStyle = '#007bff';
|
|
872
|
-
ctx.lineWidth = 2;
|
|
873
|
-
|
|
874
|
-
const width = canvas.width;
|
|
875
|
-
const height = canvas.height;
|
|
876
|
-
const stepX = width / (data.length - 1);
|
|
877
|
-
const maxValue = Math.max(...data.map(d => d.operations));
|
|
878
|
-
|
|
879
|
-
data.forEach((point, index) => {
|
|
880
|
-
const x = index * stepX;
|
|
881
|
-
const y = height - (point.operations / maxValue) * height;
|
|
882
|
-
|
|
883
|
-
if (index === 0) {
|
|
884
|
-
ctx.moveTo(x, y);
|
|
885
|
-
} else {
|
|
886
|
-
ctx.lineTo(x, y);
|
|
887
|
-
}
|
|
888
|
-
});
|
|
889
|
-
|
|
890
|
-
ctx.stroke();
|
|
891
|
-
}
|
|
892
|
-
}
|
|
948
|
+
data.forEach((pattern, index) => {
|
|
949
|
+
const barHeight = ((pattern[1].count || 0) / maxValue) * height;
|
|
950
|
+
const x = index * barWidth;
|
|
951
|
+
const y = height - barHeight;
|
|
893
952
|
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
const ctx = canvas.getContext('2d');
|
|
899
|
-
|
|
900
|
-
// Simple pattern chart implementation
|
|
901
|
-
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
902
|
-
|
|
903
|
-
// Draw pattern data as bars
|
|
904
|
-
if (data.length > 0) {
|
|
905
|
-
const width = canvas.width;
|
|
906
|
-
const height = canvas.height;
|
|
907
|
-
const barWidth = width / data.length;
|
|
908
|
-
const maxValue = Math.max(...data.map(d => d[1].count || 0));
|
|
909
|
-
|
|
910
|
-
data.forEach((pattern, index) => {
|
|
911
|
-
const barHeight = (pattern[1].count || 0) / maxValue * height;
|
|
912
|
-
const x = index * barWidth;
|
|
913
|
-
const y = height - barHeight;
|
|
914
|
-
|
|
915
|
-
ctx.fillStyle = '#28a745';
|
|
916
|
-
ctx.fillRect(x, y, barWidth - 2, barHeight);
|
|
917
|
-
});
|
|
918
|
-
}
|
|
953
|
+
ctx.fillStyle = '#28a745';
|
|
954
|
+
ctx.fillRect(x, y, barWidth - 2, barHeight);
|
|
955
|
+
});
|
|
919
956
|
}
|
|
957
|
+
}
|
|
920
958
|
}
|
|
921
959
|
|
|
922
960
|
// Export for use in other modules
|
|
923
|
-
window.MemoryInterface = MemoryInterface;
|
|
961
|
+
window.MemoryInterface = MemoryInterface;
|