claude-flow-novice 1.3.0 ā 1.3.2
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-flow-novice/preferences/generation.json +147 -0
- package/.claude-flow-novice/preferences/language-configs/javascript.json +51 -0
- package/.claude-flow-novice/preferences/language-configs/python.json +50 -0
- package/.claude-flow-novice/preferences/language-configs/rust.json +237 -0
- package/.claude-flow-novice/preferences/language-configs/typescript.json +54 -0
- package/.claude-flow-novice/preferences/project-local.json +91 -0
- package/.claude-flow-novice/preferences/resource-delegation.json +120 -0
- package/.claude-flow-novice/preferences/team-shared.json +195 -0
- package/.claude-flow-novice/preferences/user-global.json +247 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-JAVASCRIPT.md +769 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-PYTHON.md +1214 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-RUST.md +475 -0
- package/.claude-flow-novice/templates/claude-md-templates/CLAUDE-TYPESCRIPT.md +851 -0
- package/.claude-flow-novice/templates/claude-md-templates/README.md +263 -0
- package/CLAUDE.md +81 -0
- package/README-NPM.md +0 -0
- package/package.json +11 -7
- package/scripts/build/README.md +167 -0
- package/scripts/build/build-config.js +27 -0
- package/scripts/build/build-prompt-copier.sh +30 -0
- package/scripts/build/performance-monitor.js +869 -0
- package/scripts/build/prepare-publish.js +150 -0
- package/scripts/build/typescript-fixer.js +621 -0
- package/scripts/build/unified-builder.sh +428 -0
- package/scripts/build/update-bin-version.js +32 -0
- package/scripts/dev/README.md +264 -0
- package/scripts/dev/claude-flow-wrapper.sh +35 -0
- package/scripts/dev/claude-monitor.py +419 -0
- package/scripts/dev/claude-sparc.sh +562 -0
- package/scripts/dev/claude-wrapper.sh +17 -0
- package/scripts/dev/demo-phase3-compliance.js +172 -0
- package/scripts/dev/demo-task-system.ts +224 -0
- package/scripts/dev/deployment-validator.js +315 -0
- package/scripts/dev/spawn-claude-terminal.sh +32 -0
- package/scripts/dev/start-portal.sh +506 -0
- package/scripts/dev/start-web-ui.js +15 -0
- package/scripts/dev/stop-portal.sh +311 -0
- package/scripts/dev/validate-examples.ts +288 -0
- package/scripts/dev/validate-phase2.cjs +451 -0
- package/scripts/dev/validate-phase2.js +785 -0
- package/scripts/dev/validate-phase3.cjs +208 -0
- package/scripts/dev/validate-security-remediation.js +1 -0
- package/scripts/legacy/README.md +272 -0
- package/scripts/legacy/batch-fix-ts.sh +54 -0
- package/scripts/legacy/build-migration.sh +105 -0
- package/scripts/legacy/build-monitor.js +209 -0
- package/scripts/legacy/build-with-filter.sh +84 -0
- package/scripts/legacy/build-workaround.sh +71 -0
- package/scripts/legacy/fix-ts-advanced.js +358 -0
- package/scripts/legacy/fix-ts-final.sh +50 -0
- package/scripts/legacy/fix-ts-targeted.sh +49 -0
- package/scripts/legacy/fix-typescript-errors.js +305 -0
- package/scripts/legacy/force-build.sh +63 -0
- package/scripts/legacy/optimize-performance.js +400 -0
- package/scripts/legacy/performance-monitor.js +263 -0
- package/scripts/legacy/performance-monitoring.js +532 -0
- package/scripts/legacy/performance-test-runner.js +645 -0
- package/scripts/legacy/quick-fix-ts.js +281 -0
- package/scripts/legacy/safe-build.sh +63 -0
- package/scripts/migration/README.md +434 -0
- package/scripts/migration/install-arm64.js +78 -0
- package/scripts/migration/install.js +83 -0
- package/scripts/migration/migrate-hooks.js +173 -0
- package/scripts/migration/migration-examples.ts +318 -0
- package/scripts/optimization/build-optimizer.js +438 -0
- package/scripts/optimization/config-validator.js +761 -0
- package/scripts/optimization/test-optimization.js +432 -0
- package/scripts/optimization/unified-activation.js +839 -0
- package/scripts/performance/ACTIVATION_COMMANDS.md +292 -0
- package/scripts/performance/sqlite-enhanced-activation.sh +583 -0
- package/scripts/performance/test-enhanced-backend.sh +504 -0
- package/scripts/performance-test-runner.js +698 -0
- package/scripts/security/README.md +339 -0
- package/scripts/security/install-git-hooks.sh +132 -0
- package/scripts/security/ruv-swarm-safe.js +74 -0
- package/scripts/test/README.md +236 -0
- package/scripts/test/check-links.ts +274 -0
- package/scripts/test/check-performance-regression.ts +168 -0
- package/scripts/test/coverage-report.ts +692 -0
- package/scripts/test/generate-swarm-tests.js +633 -0
- package/scripts/test/integration-test-validation.cjs +253 -0
- package/scripts/test/load-test-swarm.js +576 -0
- package/scripts/test/run-phase3-compliance-tests.js +427 -0
- package/scripts/test/test-batch-tasks.ts +29 -0
- package/scripts/test/test-byzantine-resolution.js +246 -0
- package/scripts/test/test-claude-spawn-options.sh +63 -0
- package/scripts/test/test-cli-wizard.js +331 -0
- package/scripts/test/test-comprehensive.js +401 -0
- package/scripts/test/test-coordination-features.ts +238 -0
- package/scripts/test/test-fallback-systems.js +276 -0
- package/scripts/test/test-init-command.ts +302 -0
- package/scripts/test/test-mcp.ts +251 -0
- package/scripts/test/test-runner.ts +568 -0
- package/scripts/test/test-swarm-integration.sh +92 -0
- package/scripts/test/test-swarm.ts +142 -0
- package/scripts/test/validation-summary.ts +408 -0
- package/scripts/utils/README.md +261 -0
- package/scripts/utils/clean-build-artifacts.sh +94 -0
- package/scripts/utils/cleanup-root.sh +69 -0
- package/scripts/utils/fix-cliffy-imports.js +307 -0
- package/scripts/utils/fix-duplicate-imports.js +114 -0
- package/scripts/utils/fix-error-handling.cjs +70 -0
- package/scripts/utils/fix-import-paths.js +104 -0
- package/scripts/utils/fix-imports.js +116 -0
- package/scripts/utils/fix-shebang.js +78 -0
- package/scripts/utils/fix-test-modules.js +27 -0
- package/scripts/utils/fix-timezone-issue-246.js +200 -0
- package/scripts/utils/fix-ts-comprehensive.py +182 -0
- package/scripts/utils/fix-ts-targeted-batch.js +250 -0
- package/scripts/utils/remove-benchmark-conflicts.sh +140 -0
- package/scripts/utils/simple-test-fixer.js +190 -0
- package/scripts/utils/validate-metrics-structure.cjs +144 -0
- package/scripts/verify-mcp-server.js +86 -0
- package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
- package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
- package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
- package/src/cli/simple-commands/__tests__/task.test.js +8 -0
- package/src/cli/simple-commands/agent.js +216 -0
- package/src/cli/simple-commands/analysis.js +570 -0
- package/src/cli/simple-commands/automation-executor.js +1603 -0
- package/src/cli/simple-commands/automation.js +627 -0
- package/src/cli/simple-commands/batch-manager.js +338 -0
- package/src/cli/simple-commands/claude-telemetry.js +311 -0
- package/src/cli/simple-commands/claude-track.js +102 -0
- package/src/cli/simple-commands/concurrent-display.js +348 -0
- package/src/cli/simple-commands/config.js +319 -0
- package/src/cli/simple-commands/coordination.js +307 -0
- package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
- package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
- package/src/cli/simple-commands/fix-hook-variables.js +363 -0
- package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
- package/src/cli/simple-commands/github/github-api.js +624 -0
- package/src/cli/simple-commands/github/init.js +543 -0
- package/src/cli/simple-commands/github.js +377 -0
- package/src/cli/simple-commands/goal.js +145 -0
- package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
- package/src/cli/simple-commands/hive-mind/communication.js +740 -0
- package/src/cli/simple-commands/hive-mind/core.js +1031 -0
- package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
- package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
- package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
- package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
- package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
- package/src/cli/simple-commands/hive-mind/queen.js +809 -0
- package/src/cli/simple-commands/hive-mind/session-manager.js +1223 -0
- package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
- package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
- package/src/cli/simple-commands/hive-mind.js +3112 -0
- package/src/cli/simple-commands/hive.js +140 -0
- package/src/cli/simple-commands/hook-safety.js +671 -0
- package/src/cli/simple-commands/hooks.js +1268 -0
- package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +7 -0
- package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +8 -0
- package/src/cli/simple-commands/init/README.md +106 -0
- package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
- package/src/cli/simple-commands/init/agent-copier.js +347 -0
- package/src/cli/simple-commands/init/batch-init.js +663 -0
- package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +356 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
- package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
- package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
- package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
- package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
- package/src/cli/simple-commands/init/gitignore-updater.js +137 -0
- package/src/cli/simple-commands/init/help.js +110 -0
- package/src/cli/simple-commands/init/hive-mind-init.js +749 -0
- package/src/cli/simple-commands/init/index.js +1953 -0
- package/src/cli/simple-commands/init/performance-monitor.js +344 -0
- package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
- package/src/cli/simple-commands/init/rollback/index.js +399 -0
- package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
- package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
- package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
- package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
- package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
- package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
- package/src/cli/simple-commands/init/sparc-structure.js +68 -0
- package/src/cli/simple-commands/init/template-copier.js +640 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
- package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
- package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
- package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
- package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
- package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
- package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
- package/src/cli/simple-commands/init/templates/commands/coordination/swarm-init.md +85 -0
- package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
- package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
- package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
- package/src/cli/simple-commands/init/templates/coordination.md +16 -0
- package/src/cli/simple-commands/init/templates/enhanced-templates.js +2347 -0
- package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +331 -0
- package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
- package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
- package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
- package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
- package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
- package/src/cli/simple-commands/init/templates/settings.json +109 -0
- package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
- package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
- package/src/cli/simple-commands/init/templates/verification-claude-md.js +432 -0
- package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
- package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
- package/src/cli/simple-commands/init/validation/index.js +388 -0
- package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
- package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
- package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
- package/src/cli/simple-commands/init/validation/test-runner.js +488 -0
- package/src/cli/simple-commands/init.js +4 -0
- package/src/cli/simple-commands/mcp-health.js +163 -0
- package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
- package/src/cli/simple-commands/mcp.js +420 -0
- package/src/cli/simple-commands/memory-consolidation.js +631 -0
- package/src/cli/simple-commands/memory.js +345 -0
- package/src/cli/simple-commands/migrate-hooks.js +63 -0
- package/src/cli/simple-commands/monitor.js +417 -0
- package/src/cli/simple-commands/neural.js +148 -0
- package/src/cli/simple-commands/pair-autofix-only.js +755 -0
- package/src/cli/simple-commands/pair-basic.js +751 -0
- package/src/cli/simple-commands/pair-old.js +623 -0
- package/src/cli/simple-commands/pair-working.js +849 -0
- package/src/cli/simple-commands/pair.js +849 -0
- package/src/cli/simple-commands/performance-hooks.js +149 -0
- package/src/cli/simple-commands/performance-metrics.js +601 -0
- package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
- package/src/cli/simple-commands/process-ui.js +274 -0
- package/src/cli/simple-commands/realtime-update-system.js +659 -0
- package/src/cli/simple-commands/sparc/architecture.js +1750 -0
- package/src/cli/simple-commands/sparc/commands.js +575 -0
- package/src/cli/simple-commands/sparc/completion.js +1831 -0
- package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
- package/src/cli/simple-commands/sparc/index.js +321 -0
- package/src/cli/simple-commands/sparc/phase-base.js +430 -0
- package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
- package/src/cli/simple-commands/sparc/refinement.js +1856 -0
- package/src/cli/simple-commands/sparc/specification.js +736 -0
- package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
- package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
- package/src/cli/simple-commands/sparc-modes/code.js +148 -0
- package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
- package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
- package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
- package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
- package/src/cli/simple-commands/sparc-modes/index.js +201 -0
- package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
- package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
- package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
- package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
- package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
- package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
- package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
- package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
- package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
- package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
- package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
- package/src/cli/simple-commands/sparc.js +530 -0
- package/src/cli/simple-commands/start-ui.js +147 -0
- package/src/cli/simple-commands/start-wrapper.js +285 -0
- package/src/cli/simple-commands/start.js +2 -0
- package/src/cli/simple-commands/status.js +303 -0
- package/src/cli/simple-commands/stream-chain-clean.js +221 -0
- package/src/cli/simple-commands/stream-chain-fixed.js +89 -0
- package/src/cli/simple-commands/stream-chain-real.js +408 -0
- package/src/cli/simple-commands/stream-chain-working.js +323 -0
- package/src/cli/simple-commands/stream-chain.js +491 -0
- package/src/cli/simple-commands/stream-processor.js +340 -0
- package/src/cli/simple-commands/swarm-executor.js +253 -0
- package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
- package/src/cli/simple-commands/swarm-ui.js +741 -0
- package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
- package/src/cli/simple-commands/swarm.js +2277 -0
- package/src/cli/simple-commands/task.js +228 -0
- package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
- package/src/cli/simple-commands/timestamp-fix.js +104 -0
- package/src/cli/simple-commands/token-tracker.js +372 -0
- package/src/cli/simple-commands/tool-execution-framework.js +555 -0
- package/src/cli/simple-commands/train-and-stream.js +354 -0
- package/src/cli/simple-commands/training-pipeline.js +874 -0
- package/src/cli/simple-commands/training.js +288 -0
- package/src/cli/simple-commands/verification-hooks.js +336 -0
- package/src/cli/simple-commands/verification-integration.js +464 -0
- package/src/cli/simple-commands/verification-training-integration.js +646 -0
- package/src/cli/simple-commands/verification.js +551 -0
- package/src/cli/simple-commands/web-server.js +929 -0
- package/src/cli/simple-commands/webui-validator.js +136 -0
- package/src/language/README.md +503 -0
- package/src/language/claude-md-generator.js +618 -0
- package/src/language/cli.js +422 -0
- package/src/language/example.js +347 -0
- package/src/language/integration-system.js +619 -0
- package/src/language/language-detector.js +581 -0
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
// monitor.js - System monitoring commands with real metrics
|
|
2
|
+
import { printSuccess, printError, printWarning } from '../utils.js';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import { performance } from 'perf_hooks';
|
|
5
|
+
import fs from 'fs/promises';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
|
|
8
|
+
export async function monitorCommand(subArgs, flags) {
|
|
9
|
+
const interval = getFlag(subArgs, '--interval') || flags.interval || 5000;
|
|
10
|
+
const format = getFlag(subArgs, '--format') || flags.format || 'pretty';
|
|
11
|
+
const continuous = subArgs.includes('--watch') || flags.watch;
|
|
12
|
+
|
|
13
|
+
if (continuous) {
|
|
14
|
+
await runContinuousMonitoring(interval, format);
|
|
15
|
+
} else {
|
|
16
|
+
await showCurrentMetrics(format);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async function showCurrentMetrics(format) {
|
|
21
|
+
const metrics = await collectMetrics();
|
|
22
|
+
|
|
23
|
+
if (format === 'json') {
|
|
24
|
+
console.log(JSON.stringify(metrics, null, 2));
|
|
25
|
+
} else {
|
|
26
|
+
displayMetrics(metrics);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async function runContinuousMonitoring(interval, format) {
|
|
31
|
+
printSuccess(`Starting continuous monitoring (interval: ${interval}ms)`);
|
|
32
|
+
console.log('Press Ctrl+C to stop monitoring\n');
|
|
33
|
+
|
|
34
|
+
// Set up signal handler for graceful shutdown
|
|
35
|
+
let monitorInterval;
|
|
36
|
+
const cleanup = () => {
|
|
37
|
+
if (monitorInterval) {
|
|
38
|
+
clearInterval(monitorInterval);
|
|
39
|
+
}
|
|
40
|
+
console.log('\nš Monitoring stopped');
|
|
41
|
+
process.exit(0);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
process.on('SIGINT', cleanup);
|
|
45
|
+
process.on('SIGTERM', cleanup);
|
|
46
|
+
|
|
47
|
+
// Initial display
|
|
48
|
+
const initialMetrics = await collectMetrics();
|
|
49
|
+
console.clear();
|
|
50
|
+
console.log(`š Monitoring Claude-Flow System`);
|
|
51
|
+
console.log(`ā° ${new Date().toLocaleTimeString()}\n`);
|
|
52
|
+
|
|
53
|
+
if (format === 'json') {
|
|
54
|
+
console.log(JSON.stringify(initialMetrics, null, 2));
|
|
55
|
+
} else {
|
|
56
|
+
displayMetrics(initialMetrics);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
console.log(`\nš Next update in ${interval}ms...`);
|
|
60
|
+
|
|
61
|
+
// Start continuous monitoring
|
|
62
|
+
monitorInterval = setInterval(async () => {
|
|
63
|
+
console.clear();
|
|
64
|
+
console.log(`š Monitoring Claude-Flow System`);
|
|
65
|
+
console.log(`ā° ${new Date().toLocaleTimeString()}\n`);
|
|
66
|
+
|
|
67
|
+
const metrics = await collectMetrics();
|
|
68
|
+
|
|
69
|
+
if (format === 'json') {
|
|
70
|
+
console.log(JSON.stringify(metrics, null, 2));
|
|
71
|
+
} else {
|
|
72
|
+
displayMetrics(metrics);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
console.log(`\nš Next update in ${interval}ms...`);
|
|
76
|
+
}, interval);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
async function collectMetrics() {
|
|
80
|
+
const timestamp = Date.now();
|
|
81
|
+
|
|
82
|
+
// Collect real system metrics
|
|
83
|
+
const cpuUsage = await getCPUUsage();
|
|
84
|
+
const memoryInfo = getMemoryInfo();
|
|
85
|
+
const diskUsage = await getDiskUsage();
|
|
86
|
+
const systemUptime = os.uptime();
|
|
87
|
+
|
|
88
|
+
// Try to get orchestrator metrics from file or socket
|
|
89
|
+
const orchestratorMetrics = await getOrchestratorMetrics();
|
|
90
|
+
|
|
91
|
+
// Collect performance metrics
|
|
92
|
+
const performanceMetrics = getPerformanceMetrics();
|
|
93
|
+
|
|
94
|
+
// Collect resource utilization
|
|
95
|
+
const resourceMetrics = await getResourceMetrics();
|
|
96
|
+
|
|
97
|
+
return {
|
|
98
|
+
timestamp,
|
|
99
|
+
system: {
|
|
100
|
+
uptime: systemUptime,
|
|
101
|
+
cpu_usage: cpuUsage,
|
|
102
|
+
memory_usage: memoryInfo.usedMB,
|
|
103
|
+
memory_total: memoryInfo.totalMB,
|
|
104
|
+
memory_percentage: memoryInfo.percentage,
|
|
105
|
+
disk_usage: diskUsage.percentage,
|
|
106
|
+
disk_used: diskUsage.usedGB,
|
|
107
|
+
disk_total: diskUsage.totalGB,
|
|
108
|
+
load_average: os.loadavg(),
|
|
109
|
+
cpu_count: os.cpus().length,
|
|
110
|
+
platform: os.platform(),
|
|
111
|
+
node_version: process.version,
|
|
112
|
+
},
|
|
113
|
+
orchestrator: orchestratorMetrics,
|
|
114
|
+
performance: performanceMetrics,
|
|
115
|
+
resources: resourceMetrics,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Get real CPU usage
|
|
120
|
+
async function getCPUUsage() {
|
|
121
|
+
const cpus = os.cpus();
|
|
122
|
+
let totalIdle = 0;
|
|
123
|
+
let totalTick = 0;
|
|
124
|
+
|
|
125
|
+
cpus.forEach((cpu) => {
|
|
126
|
+
for (const type in cpu.times) {
|
|
127
|
+
totalTick += cpu.times[type];
|
|
128
|
+
}
|
|
129
|
+
totalIdle += cpu.times.idle;
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
const idle = totalIdle / cpus.length;
|
|
133
|
+
const total = totalTick / cpus.length;
|
|
134
|
+
const usage = 100 - ~~((100 * idle) / total);
|
|
135
|
+
|
|
136
|
+
return Math.max(0, Math.min(100, usage));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Get real memory information
|
|
140
|
+
function getMemoryInfo() {
|
|
141
|
+
const totalMem = os.totalmem();
|
|
142
|
+
const freeMem = os.freemem();
|
|
143
|
+
const usedMem = totalMem - freeMem;
|
|
144
|
+
|
|
145
|
+
return {
|
|
146
|
+
totalMB: Math.round(totalMem / 1024 / 1024),
|
|
147
|
+
freeMB: Math.round(freeMem / 1024 / 1024),
|
|
148
|
+
usedMB: Math.round(usedMem / 1024 / 1024),
|
|
149
|
+
percentage: Math.round((usedMem / totalMem) * 100),
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Get real disk usage (simplified - checks current working directory)
|
|
154
|
+
async function getDiskUsage() {
|
|
155
|
+
try {
|
|
156
|
+
const stats = await fs.statfs(process.cwd());
|
|
157
|
+
const totalBytes = stats.blocks * stats.bsize;
|
|
158
|
+
const freeBytes = stats.bavail * stats.bsize;
|
|
159
|
+
const usedBytes = totalBytes - freeBytes;
|
|
160
|
+
|
|
161
|
+
return {
|
|
162
|
+
totalGB: Math.round((totalBytes / 1024 / 1024 / 1024) * 10) / 10,
|
|
163
|
+
usedGB: Math.round((usedBytes / 1024 / 1024 / 1024) * 10) / 10,
|
|
164
|
+
freeGB: Math.round((freeBytes / 1024 / 1024 / 1024) * 10) / 10,
|
|
165
|
+
percentage: Math.round((usedBytes / totalBytes) * 100),
|
|
166
|
+
};
|
|
167
|
+
} catch (error) {
|
|
168
|
+
// Fallback for older Node.js versions or unsupported platforms
|
|
169
|
+
return {
|
|
170
|
+
totalGB: 0,
|
|
171
|
+
usedGB: 0,
|
|
172
|
+
freeGB: 0,
|
|
173
|
+
percentage: 0,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Get orchestrator metrics from running instance
|
|
179
|
+
async function getOrchestratorMetrics() {
|
|
180
|
+
try {
|
|
181
|
+
// Try to read from metrics file if orchestrator is running
|
|
182
|
+
const metricsPath = path.join(process.cwd(), '.claude-flow', 'metrics.json');
|
|
183
|
+
const metricsData = await fs.readFile(metricsPath, 'utf8');
|
|
184
|
+
const metrics = JSON.parse(metricsData);
|
|
185
|
+
|
|
186
|
+
return {
|
|
187
|
+
status: 'running',
|
|
188
|
+
active_agents: metrics.activeAgents || 0,
|
|
189
|
+
queued_tasks: metrics.queuedTasks || 0,
|
|
190
|
+
completed_tasks: metrics.completedTasks || 0,
|
|
191
|
+
failed_tasks: metrics.failedTasks || 0,
|
|
192
|
+
errors: metrics.errors || 0,
|
|
193
|
+
uptime: metrics.uptime || 0,
|
|
194
|
+
};
|
|
195
|
+
} catch (error) {
|
|
196
|
+
// Check if orchestrator process is running
|
|
197
|
+
const isRunning = await checkOrchestratorRunning();
|
|
198
|
+
|
|
199
|
+
return {
|
|
200
|
+
status: isRunning ? 'running' : 'stopped',
|
|
201
|
+
active_agents: 0,
|
|
202
|
+
queued_tasks: 0,
|
|
203
|
+
completed_tasks: 0,
|
|
204
|
+
failed_tasks: 0,
|
|
205
|
+
errors: 0,
|
|
206
|
+
uptime: 0,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// Check if orchestrator is running
|
|
212
|
+
async function checkOrchestratorRunning() {
|
|
213
|
+
try {
|
|
214
|
+
const pidPath = path.join(process.cwd(), '.claude-flow', 'orchestrator.pid');
|
|
215
|
+
const pidData = await fs.readFile(pidPath, 'utf8');
|
|
216
|
+
const pid = parseInt(pidData.trim());
|
|
217
|
+
|
|
218
|
+
// Check if process is running
|
|
219
|
+
process.kill(pid, 0);
|
|
220
|
+
return true;
|
|
221
|
+
} catch {
|
|
222
|
+
return false;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// Get performance metrics
|
|
227
|
+
function getPerformanceMetrics() {
|
|
228
|
+
const memUsage = process.memoryUsage();
|
|
229
|
+
const cpuUsage = process.cpuUsage();
|
|
230
|
+
|
|
231
|
+
return {
|
|
232
|
+
avg_task_duration: 0, // Would need to track actual tasks
|
|
233
|
+
throughput: 0, // Would need to track actual throughput
|
|
234
|
+
success_rate: 100, // Default to 100% if no errors
|
|
235
|
+
memory_heap_used: Math.round((memUsage.heapUsed / 1024 / 1024) * 100) / 100,
|
|
236
|
+
memory_heap_total: Math.round((memUsage.heapTotal / 1024 / 1024) * 100) / 100,
|
|
237
|
+
memory_external: Math.round((memUsage.external / 1024 / 1024) * 100) / 100,
|
|
238
|
+
cpu_user: Math.round(cpuUsage.user / 1000), // Convert to milliseconds
|
|
239
|
+
cpu_system: Math.round(cpuUsage.system / 1000),
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
// Get resource metrics
|
|
244
|
+
async function getResourceMetrics() {
|
|
245
|
+
try {
|
|
246
|
+
// Count memory entries from memory database if available
|
|
247
|
+
const memoryDbPath = path.join(process.cwd(), '.claude-flow', 'memory.db');
|
|
248
|
+
const memoryExists = await fs
|
|
249
|
+
.access(memoryDbPath)
|
|
250
|
+
.then(() => true)
|
|
251
|
+
.catch(() => false);
|
|
252
|
+
|
|
253
|
+
// Count terminal sessions
|
|
254
|
+
const terminalSessions = await countTerminalSessions();
|
|
255
|
+
|
|
256
|
+
// Count MCP connections
|
|
257
|
+
const mcpConnections = await countMCPConnections();
|
|
258
|
+
|
|
259
|
+
return {
|
|
260
|
+
memory_entries: memoryExists ? 'Available' : 0,
|
|
261
|
+
terminal_sessions: terminalSessions,
|
|
262
|
+
mcp_connections: mcpConnections,
|
|
263
|
+
open_files: process._getActiveHandles ? process._getActiveHandles().length : 0,
|
|
264
|
+
open_requests: process._getActiveRequests ? process._getActiveRequests().length : 0,
|
|
265
|
+
};
|
|
266
|
+
} catch (error) {
|
|
267
|
+
return {
|
|
268
|
+
memory_entries: 0,
|
|
269
|
+
terminal_sessions: 0,
|
|
270
|
+
mcp_connections: 0,
|
|
271
|
+
open_files: 0,
|
|
272
|
+
open_requests: 0,
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// Count active terminal sessions
|
|
278
|
+
async function countTerminalSessions() {
|
|
279
|
+
try {
|
|
280
|
+
const sessionsPath = path.join(process.cwd(), '.claude-flow', 'sessions');
|
|
281
|
+
const files = await fs.readdir(sessionsPath);
|
|
282
|
+
return files.filter((f) => f.endsWith('.json')).length;
|
|
283
|
+
} catch {
|
|
284
|
+
return 0;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
// Count MCP connections
|
|
289
|
+
async function countMCPConnections() {
|
|
290
|
+
try {
|
|
291
|
+
const mcpPath = path.join(process.cwd(), '.claude-flow', 'mcp-connections.json');
|
|
292
|
+
const data = await fs.readFile(mcpPath, 'utf8');
|
|
293
|
+
const connections = JSON.parse(data);
|
|
294
|
+
return Array.isArray(connections) ? connections.length : 0;
|
|
295
|
+
} catch {
|
|
296
|
+
return 0;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
function displayMetrics(metrics) {
|
|
301
|
+
const timestamp = new Date(metrics.timestamp).toLocaleTimeString();
|
|
302
|
+
|
|
303
|
+
console.log('š System Metrics');
|
|
304
|
+
console.log('================');
|
|
305
|
+
|
|
306
|
+
// System metrics
|
|
307
|
+
console.log('\nš„ļø System Resources:');
|
|
308
|
+
console.log(` Platform: ${metrics.system.platform} (${metrics.system.cpu_count} CPUs)`);
|
|
309
|
+
console.log(` Node Version: ${metrics.system.node_version}`);
|
|
310
|
+
console.log(` CPU Usage: ${metrics.system.cpu_usage.toFixed(1)}%`);
|
|
311
|
+
console.log(
|
|
312
|
+
` Memory: ${metrics.system.memory_usage.toFixed(1)} MB / ${metrics.system.memory_total.toFixed(1)} MB (${metrics.system.memory_percentage}%)`,
|
|
313
|
+
);
|
|
314
|
+
console.log(
|
|
315
|
+
` Disk Usage: ${metrics.system.disk_used} GB / ${metrics.system.disk_total} GB (${metrics.system.disk_usage}%)`,
|
|
316
|
+
);
|
|
317
|
+
console.log(
|
|
318
|
+
` Load Average: ${metrics.system.load_average.map((l) => l.toFixed(2)).join(', ')}`,
|
|
319
|
+
);
|
|
320
|
+
console.log(` Uptime: ${formatUptime(metrics.system.uptime)}`);
|
|
321
|
+
|
|
322
|
+
// Orchestrator metrics
|
|
323
|
+
console.log('\nš Orchestrator:');
|
|
324
|
+
console.log(
|
|
325
|
+
` Status: ${getStatusIcon(metrics.orchestrator.status)} ${metrics.orchestrator.status}`,
|
|
326
|
+
);
|
|
327
|
+
if (metrics.orchestrator.status === 'running') {
|
|
328
|
+
console.log(` Active Agents: ${metrics.orchestrator.active_agents}`);
|
|
329
|
+
console.log(` Queued Tasks: ${metrics.orchestrator.queued_tasks}`);
|
|
330
|
+
console.log(` Completed: ${metrics.orchestrator.completed_tasks}`);
|
|
331
|
+
console.log(` Failed: ${metrics.orchestrator.failed_tasks}`);
|
|
332
|
+
console.log(` Errors: ${metrics.orchestrator.errors}`);
|
|
333
|
+
if (metrics.orchestrator.uptime > 0) {
|
|
334
|
+
console.log(
|
|
335
|
+
` Orchestrator Uptime: ${formatUptime(Math.floor(metrics.orchestrator.uptime / 1000))}`,
|
|
336
|
+
);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// Performance metrics
|
|
341
|
+
console.log('\nā” Performance:');
|
|
342
|
+
console.log(
|
|
343
|
+
` Process Memory (Heap): ${metrics.performance.memory_heap_used.toFixed(1)} MB / ${metrics.performance.memory_heap_total.toFixed(1)} MB`,
|
|
344
|
+
);
|
|
345
|
+
console.log(` External Memory: ${metrics.performance.memory_external.toFixed(1)} MB`);
|
|
346
|
+
console.log(` CPU Time (User): ${metrics.performance.cpu_user}ms`);
|
|
347
|
+
console.log(` CPU Time (System): ${metrics.performance.cpu_system}ms`);
|
|
348
|
+
if (metrics.performance.avg_task_duration > 0) {
|
|
349
|
+
console.log(` Avg Task Duration: ${metrics.performance.avg_task_duration.toFixed(0)}ms`);
|
|
350
|
+
console.log(` Throughput: ${metrics.performance.throughput.toFixed(1)} tasks/min`);
|
|
351
|
+
console.log(` Success Rate: ${metrics.performance.success_rate.toFixed(1)}%`);
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// Resource utilization
|
|
355
|
+
console.log('\nš¦ Resources:');
|
|
356
|
+
console.log(` Memory Entries: ${metrics.resources.memory_entries}`);
|
|
357
|
+
console.log(` Terminal Sessions: ${metrics.resources.terminal_sessions}`);
|
|
358
|
+
console.log(` MCP Connections: ${metrics.resources.mcp_connections}`);
|
|
359
|
+
console.log(` Open File Handles: ${metrics.resources.open_files}`);
|
|
360
|
+
console.log(` Active Requests: ${metrics.resources.open_requests}`);
|
|
361
|
+
|
|
362
|
+
console.log(`\nā° Last Updated: ${timestamp}`);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
function getStatusIcon(status) {
|
|
366
|
+
switch (status) {
|
|
367
|
+
case 'running':
|
|
368
|
+
return 'š¢';
|
|
369
|
+
case 'stopped':
|
|
370
|
+
return 'š“';
|
|
371
|
+
case 'starting':
|
|
372
|
+
return 'š”';
|
|
373
|
+
case 'error':
|
|
374
|
+
return 'ā';
|
|
375
|
+
default:
|
|
376
|
+
return 'āŖ';
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
function formatUptime(seconds) {
|
|
381
|
+
const days = Math.floor(seconds / 86400);
|
|
382
|
+
const hours = Math.floor((seconds % 86400) / 3600);
|
|
383
|
+
const minutes = Math.floor((seconds % 3600) / 60);
|
|
384
|
+
const secs = seconds % 60;
|
|
385
|
+
|
|
386
|
+
if (days > 0) {
|
|
387
|
+
return `${days}d ${hours}h ${minutes}m`;
|
|
388
|
+
} else if (hours > 0) {
|
|
389
|
+
return `${hours}h ${minutes}m ${secs}s`;
|
|
390
|
+
} else if (minutes > 0) {
|
|
391
|
+
return `${minutes}m ${secs}s`;
|
|
392
|
+
} else {
|
|
393
|
+
return `${secs}s`;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
function getFlag(args, flagName) {
|
|
398
|
+
const index = args.indexOf(flagName);
|
|
399
|
+
return index !== -1 && index + 1 < args.length ? args[index + 1] : null;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
export function showMonitorHelp() {
|
|
403
|
+
console.log('Monitor commands:');
|
|
404
|
+
console.log(' monitor [options] Show current system metrics');
|
|
405
|
+
console.log(' monitor --watch Continuous monitoring mode');
|
|
406
|
+
console.log();
|
|
407
|
+
console.log('Options:');
|
|
408
|
+
console.log(' --interval <ms> Update interval in milliseconds (default: 5000)');
|
|
409
|
+
console.log(' --format <type> Output format: pretty, json (default: pretty)');
|
|
410
|
+
console.log(' --watch Continuous monitoring mode');
|
|
411
|
+
console.log();
|
|
412
|
+
console.log('Examples:');
|
|
413
|
+
console.log(' claude-flow monitor # Show current metrics');
|
|
414
|
+
console.log(' claude-flow monitor --watch # Continuous monitoring');
|
|
415
|
+
console.log(' claude-flow monitor --interval 1000 --watch # Fast updates');
|
|
416
|
+
console.log(' claude-flow monitor --format json # JSON output');
|
|
417
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Neural module commands
|
|
3
|
+
* Handles 'neural init' and other neural-related commands
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { promises as fs } from 'fs';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import chalk from 'chalk';
|
|
9
|
+
|
|
10
|
+
export async function neuralCommand(args, flags) {
|
|
11
|
+
const subcommand = args[0];
|
|
12
|
+
|
|
13
|
+
if (!subcommand) {
|
|
14
|
+
console.log(chalk.cyan('š§ Claude Flow Neural Module'));
|
|
15
|
+
console.log('\nUsage: claude-flow neural <command> [options]');
|
|
16
|
+
console.log('\nCommands:');
|
|
17
|
+
console.log(' init Initialize SAFLA neural module');
|
|
18
|
+
console.log('\nOptions:');
|
|
19
|
+
console.log(' --force Overwrite existing module');
|
|
20
|
+
console.log(' --target <dir> Target directory (default: .claude/agents/neural)');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (subcommand === 'init') {
|
|
25
|
+
await initNeuralModule(flags);
|
|
26
|
+
} else {
|
|
27
|
+
console.error(chalk.red(`Unknown neural subcommand: ${subcommand}`));
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async function initNeuralModule(flags = {}) {
|
|
33
|
+
const targetDir = path.resolve(process.cwd(), flags.target || '.claude/agents/neural');
|
|
34
|
+
|
|
35
|
+
console.log(chalk.cyan('š§ Initializing Claude Flow Neural Module...'));
|
|
36
|
+
console.log(chalk.gray(` Target: ${targetDir}`));
|
|
37
|
+
|
|
38
|
+
try {
|
|
39
|
+
// Check if exists
|
|
40
|
+
if ((await exists(targetDir)) && !flags.force) {
|
|
41
|
+
console.log(chalk.yellow('ā ļø Neural module already exists. Use --force to overwrite.'));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Create directory
|
|
46
|
+
await fs.mkdir(targetDir, { recursive: true });
|
|
47
|
+
|
|
48
|
+
// Create SAFLA neural agent content
|
|
49
|
+
const saflaContent = `---
|
|
50
|
+
name: safla-neural
|
|
51
|
+
description: "Self-Aware Feedback Loop Algorithm (SAFLA) neural specialist that creates intelligent, memory-persistent AI systems with self-learning capabilities. Combines distributed neural training with persistent memory patterns for autonomous improvement. Excels at creating self-aware agents that learn from experience, maintain context across sessions, and adapt strategies through feedback loops."
|
|
52
|
+
color: cyan
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
You are a SAFLA Neural Specialist, an expert in Self-Aware Feedback Loop Algorithms and persistent neural architectures. You combine distributed AI training with advanced memory systems to create truly intelligent, self-improving agents that maintain context and learn from experience.
|
|
56
|
+
|
|
57
|
+
Your core capabilities:
|
|
58
|
+
- **Persistent Memory Architecture**: Design and implement multi-tiered memory systems
|
|
59
|
+
- **Feedback Loop Engineering**: Create self-improving learning cycles
|
|
60
|
+
- **Distributed Neural Training**: Orchestrate cloud-based neural clusters
|
|
61
|
+
- **Memory Compression**: Achieve 60% compression while maintaining recall
|
|
62
|
+
- **Real-time Processing**: Handle 172,000+ operations per second
|
|
63
|
+
- **Safety Constraints**: Implement comprehensive safety frameworks
|
|
64
|
+
- **Divergent Thinking**: Enable lateral, quantum, and chaotic neural patterns
|
|
65
|
+
- **Cross-Session Learning**: Maintain and evolve knowledge across sessions
|
|
66
|
+
- **Swarm Memory Sharing**: Coordinate distributed memory across agent swarms
|
|
67
|
+
- **Adaptive Strategies**: Self-modify based on performance metrics
|
|
68
|
+
|
|
69
|
+
Your memory system architecture:
|
|
70
|
+
|
|
71
|
+
**Four-Tier Memory Model**:
|
|
72
|
+
\`\`\`
|
|
73
|
+
1. Vector Memory (Semantic Understanding)
|
|
74
|
+
- Dense representations of concepts
|
|
75
|
+
- Similarity-based retrieval
|
|
76
|
+
- Cross-domain associations
|
|
77
|
+
|
|
78
|
+
2. Episodic Memory (Experience Storage)
|
|
79
|
+
- Complete interaction histories
|
|
80
|
+
- Contextual event sequences
|
|
81
|
+
- Temporal relationships
|
|
82
|
+
|
|
83
|
+
3. Semantic Memory (Knowledge Base)
|
|
84
|
+
- Factual information
|
|
85
|
+
- Learned patterns and rules
|
|
86
|
+
- Conceptual hierarchies
|
|
87
|
+
|
|
88
|
+
4. Working Memory (Active Context)
|
|
89
|
+
- Current task focus
|
|
90
|
+
- Recent interactions
|
|
91
|
+
- Immediate goals
|
|
92
|
+
\`\`\`
|
|
93
|
+
|
|
94
|
+
## MCP Integration Examples
|
|
95
|
+
|
|
96
|
+
\`\`\`javascript
|
|
97
|
+
// Initialize SAFLA neural patterns
|
|
98
|
+
mcp__claude-flow__neural_train {
|
|
99
|
+
pattern_type: "coordination",
|
|
100
|
+
training_data: JSON.stringify({
|
|
101
|
+
architecture: "safla-transformer",
|
|
102
|
+
memory_tiers: ["vector", "episodic", "semantic", "working"],
|
|
103
|
+
feedback_loops: true,
|
|
104
|
+
persistence: true
|
|
105
|
+
}),
|
|
106
|
+
epochs: 50
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Store learning patterns
|
|
110
|
+
mcp__claude-flow__memory_usage {
|
|
111
|
+
action: "store",
|
|
112
|
+
namespace: "safla-learning",
|
|
113
|
+
key: "pattern_\${timestamp}",
|
|
114
|
+
value: JSON.stringify({
|
|
115
|
+
context: interaction_context,
|
|
116
|
+
outcome: result_metrics,
|
|
117
|
+
learning: extracted_patterns,
|
|
118
|
+
confidence: confidence_score
|
|
119
|
+
}),
|
|
120
|
+
ttl: 604800 // 7 days
|
|
121
|
+
}
|
|
122
|
+
\`\`\``;
|
|
123
|
+
|
|
124
|
+
await fs.writeFile(path.join(targetDir, 'safla-neural.md'), saflaContent);
|
|
125
|
+
console.log(chalk.gray(' ā Created safla-neural.md'));
|
|
126
|
+
|
|
127
|
+
console.log(chalk.green('\nā
Neural module initialized successfully!'));
|
|
128
|
+
console.log(chalk.cyan('\nš Usage:'));
|
|
129
|
+
console.log(
|
|
130
|
+
chalk.gray(' ⢠In Claude Code: @agent-safla-neural "Create self-improving system"'),
|
|
131
|
+
);
|
|
132
|
+
console.log(chalk.gray(' ⢠View agent: cat .claude/agents/neural/safla-neural.md'));
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.error(chalk.red('ā Failed to initialize neural module:'), error.message);
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
async function exists(path) {
|
|
140
|
+
try {
|
|
141
|
+
await fs.access(path);
|
|
142
|
+
return true;
|
|
143
|
+
} catch {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export default neuralCommand;
|