claude-flow-novice 2.2.4 โ 2.2.5
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/package.json +9 -8
- package/scripts/.claude-flow/metrics/agent-metrics.json +1 -0
- package/scripts/.claude-flow/metrics/performance.json +9 -0
- package/scripts/.claude-flow/metrics/task-metrics.json +10 -0
- package/scripts/CLEANUP_OPTIMIZATION_REPORT.json +312 -0
- package/scripts/CLEANUP_PERFORMANCE_OPTIMIZATION.md +387 -0
- package/scripts/CLEANUP_QUICK_START.md +268 -0
- package/scripts/CLEANUP_TEST_RESULTS.md +205 -0
- package/scripts/README.md +339 -0
- package/scripts/ace-query.sh +384 -0
- package/scripts/agent-token-analysis.js +430 -0
- package/scripts/auto-setup.js +332 -0
- 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/build/validate-agents.js +238 -0
- package/scripts/build-index.js +43 -0
- package/scripts/build-orchestrator.js +320 -0
- package/scripts/check-routing-stats.cjs +122 -0
- package/scripts/ci-validation.js +375 -0
- package/scripts/cleanup-blocking-coordination.sh +420 -0
- package/scripts/cleanup-idle-sessions.sh +59 -0
- package/scripts/collect-build-metrics.js +65 -0
- package/scripts/demo/README.md +79 -0
- package/scripts/demo/autoscaling-demo-simplified.js +963 -0
- package/scripts/demo/comprehensive-dashboard-test.js +693 -0
- package/scripts/demo/confidence-log.js +87 -0
- package/scripts/demo/confidence-report.js +82 -0
- package/scripts/demo/demo-multi-swarm-coordination.js +325 -0
- package/scripts/demo/demo-production-deployment.js +399 -0
- package/scripts/demo/demo-visualization-system.js +149 -0
- package/scripts/demo/performance-analysis.cjs +71 -0
- package/scripts/demo/performance-analysis.js +71 -0
- package/scripts/demo/test-autoscaling-demo.js +314 -0
- package/scripts/dependency-optimizer.js +349 -0
- package/scripts/dependency-security-assessment.js +331 -0
- package/scripts/deploy-sdk.sh +176 -0
- package/scripts/deployment-readiness-report.json +179 -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/ecosystem.config.cjs +90 -0
- package/scripts/fix-js-extensions.js +167 -0
- package/scripts/generate-basic-types.js +73 -0
- package/scripts/generate-changelog.js +318 -0
- package/scripts/git-hooks/pre-commit.sh +143 -0
- package/scripts/health-checks.js +634 -0
- package/scripts/hook-wrapper.sh +54 -0
- package/scripts/install/README.md +375 -0
- package/scripts/install/REDIS_SETUP_VALIDATION.json +245 -0
- package/scripts/install/check-prerequisites.js +303 -0
- package/scripts/install/config-wizard.js +606 -0
- package/scripts/install/dependency-checker.js +385 -0
- package/scripts/install/health-check.js +765 -0
- package/scripts/install/install.js +256 -0
- package/scripts/install/installation-benchmark.js +461 -0
- package/scripts/install/quick-install.js +720 -0
- package/scripts/install/quick-start-wizard.js +295 -0
- package/scripts/install/redis-cli.js +289 -0
- package/scripts/install/redis-install-guides.md +407 -0
- package/scripts/install/redis-setup.js +559 -0
- package/scripts/install/redis-test.js +278 -0
- package/scripts/install/service-manager.js +672 -0
- package/scripts/install/setup.js +832 -0
- package/scripts/install/uninstall.js +526 -0
- package/scripts/install/update.js +461 -0
- package/scripts/install-pre-commit-hook.sh +127 -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/memory-monitor-coordinator.js +322 -0
- package/scripts/migrate-to-sdk.sh +520 -0
- package/scripts/migration/QUICK-START.md +189 -0
- package/scripts/migration/QUICK-START.md.backup-1760135091363 +189 -0
- package/scripts/migration/README.md +464 -0
- package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md +500 -0
- package/scripts/migration/TASK-1.3.2-COMPLETION-REPORT.md.backup-1760135091348 +500 -0
- package/scripts/migration/UPDATE-PATHS-README.md +464 -0
- package/scripts/migration/UPDATE-PATHS-README.md.backup-1760135091337 +464 -0
- package/scripts/migration/example-patterns.json +19 -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/migration/reorganize-workspace.js +504 -0
- package/scripts/migration/test-update-paths.js +359 -0
- package/scripts/migration/update-paths.js +664 -0
- package/scripts/migration/validate-migration.js +647 -0
- package/scripts/monitor-loop.sh +65 -0
- package/scripts/monitor-memory.sh +47 -0
- package/scripts/monitor-migration.js +339 -0
- package/scripts/monitor.py +43 -0
- package/scripts/monitoring/README.md +178 -0
- package/scripts/monitoring/alert-monitor.sh +220 -0
- package/scripts/monitoring/analyze-resources.sh +199 -0
- package/scripts/monitoring/dashboards/rate-limiting-dashboard.json +211 -0
- package/scripts/monitoring/dynamic-monitor.sh +85 -0
- package/scripts/monitoring/launch-stability-test.sh +184 -0
- package/scripts/monitoring/monitor-test.sh +93 -0
- package/scripts/monitoring/pre-test-validation.sh +208 -0
- package/scripts/monitoring/quick-test-alerting.sh +118 -0
- package/scripts/monitoring/quick-test-rate-limiting.sh +206 -0
- package/scripts/monitoring/rate-limiting-monitor.sh +380 -0
- package/scripts/monitoring/resource-monitor.sh +126 -0
- package/scripts/monitoring/stability-monitor.js +429 -0
- package/scripts/monitoring/test-monitor-quick.sh +54 -0
- package/scripts/monitoring/view-alerts.sh +307 -0
- package/scripts/npm-metrics-collector.js +482 -0
- package/scripts/npm-package-validation.cjs +299 -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/optimize-package-swarm.js +54 -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-monitor.js +644 -0
- package/scripts/performance-test-runner.js +698 -0
- package/scripts/post-deployment-monitoring.js +350 -0
- package/scripts/post-edit-pipeline.js +2091 -0
- package/scripts/post-install-claude-md.js +78 -0
- package/scripts/postinstall.js +79 -0
- package/scripts/pre-publish-validation.cjs +212 -0
- package/scripts/pre-publish-validation.js +429 -0
- package/scripts/redis-lua/cleanup-blocking-coordination.lua +198 -0
- package/scripts/release-announcement.js +425 -0
- package/scripts/release-notification.js +248 -0
- package/scripts/release-rollback.js +376 -0
- package/scripts/release-validation.js +460 -0
- package/scripts/rollback-sdk.sh +66 -0
- package/scripts/run-production-validation.ts +590 -0
- package/scripts/run-stability-validation.sh +687 -0
- package/scripts/security/README.md +339 -0
- package/scripts/security/deployment-validation.cjs +279 -0
- package/scripts/security/envelope-encryption-confidence-report.cjs +422 -0
- package/scripts/security/install-git-hooks.sh +132 -0
- package/scripts/security/install-git-secrets.sh +295 -0
- package/scripts/security/rotate-api-keys.js +469 -0
- package/scripts/security/ruv-swarm-safe.js +74 -0
- package/scripts/security/security-audit.cjs +538 -0
- package/scripts/security/setup-redis-auth.sh +397 -0
- package/scripts/security/validate-envelope-encryption.cjs +340 -0
- package/scripts/security-scan.js +492 -0
- package/scripts/src/web/frontend/.claude-flow/metrics/agent-metrics.json +1 -0
- package/scripts/src/web/frontend/.claude-flow/metrics/performance.json +9 -0
- package/scripts/src/web/frontend/.claude-flow/metrics/task-metrics.json +10 -0
- package/scripts/switch-api.sh +158 -0
- package/scripts/sync-agents.js +290 -0
- package/scripts/test/50-agent-test.js +625 -0
- package/scripts/test/NEW_STABILITY_TEST_GUIDE.md +407 -0
- package/scripts/test/README.md +236 -0
- package/scripts/test/STABILITY_TEST_EXAMPLE.md +347 -0
- package/scripts/test/STABILITY_TEST_README.md +480 -0
- package/scripts/test/agent-worker.js +309 -0
- package/scripts/test/ai-coordination-test.js +650 -0
- package/scripts/test/ai-mesh-coordination-test.js +416 -0
- package/scripts/test/check-links.ts +274 -0
- package/scripts/test/check-performance-regression.ts +168 -0
- package/scripts/test/cli-agent-coordination-test.js +313 -0
- package/scripts/test/coordinator-multilingual-test.js +396 -0
- package/scripts/test/coordinator-transparency-demo.js +585 -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/mesh-coordination-zero-overlap-test.js +740 -0
- package/scripts/test/multilingual-hello-world-test.js +390 -0
- package/scripts/test/quick-multilingual-demo.js +464 -0
- package/scripts/test/real-agent-test.js +312 -0
- package/scripts/test/run-phase3-compliance-tests.js +427 -0
- package/scripts/test/run-stability-test-examples.sh +292 -0
- package/scripts/test/stability-results/stability-metrics.jsonl +83 -0
- package/scripts/test/stability-results/stability-test-report.json +128 -0
- package/scripts/test/stability-results/stability-test.log +1827 -0
- package/scripts/test/stability-test-50-agents.js +734 -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/test-cleanup-performance.sh +416 -0
- package/scripts/test-dashboard-auth.cjs +203 -0
- package/scripts/test-docker-deployment.sh +207 -0
- package/scripts/test-npm-package.cjs +167 -0
- package/scripts/test-provider-routing.cjs +226 -0
- package/scripts/test-routing-telemetry.cjs +147 -0
- package/scripts/test-runner.cjs +154 -0
- package/scripts/test-zai-10k.cjs +81 -0
- package/scripts/test-zai-api.cjs +191 -0
- package/scripts/test-zai-diagnostic.cjs +151 -0
- package/scripts/test-zai-final.cjs +128 -0
- package/scripts/test-zai-with-env.cjs +85 -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/validate-agent-hooks.js +506 -0
- package/scripts/validate-changelog.js +241 -0
- package/scripts/validate-coordination-cli.js +69 -0
- package/scripts/validate-coordination-toggle-integration.cjs +501 -0
- package/scripts/validate-docker-infrastructure.sh +502 -0
- package/scripts/validate-entry-points.js +300 -0
- package/scripts/validate-stage3-performance.ts +377 -0
- package/scripts/validate-template-bundling.js +180 -0
- package/scripts/validation/README.md +33 -0
- package/scripts/validation/acl-security-validation.cjs +214 -0
- package/scripts/validation/acl-security-validation.js +402 -0
- package/scripts/validation/byzantine-verification.js +407 -0
- package/scripts/validation/final-phase-2-consensus.cjs +219 -0
- package/scripts/validation/final-security-validation.js +791 -0
- package/scripts/validation/final-wasm-validation.cjs +840 -0
- package/scripts/validation/integration-test-analysis.js +105 -0
- package/scripts/validation/phase-0-comprehensive-validation.js +474 -0
- package/scripts/validation/phase-0-consensus-report.js +139 -0
- package/scripts/validation/phase-0-final-report.js +112 -0
- package/scripts/validation/phase-0-redis-consensus-report.js +129 -0
- package/scripts/validation/phase-0-validation-improved.js +490 -0
- package/scripts/validation/phase-0-validation-test.js +65 -0
- package/scripts/validation/phase-1-consensus-report.cjs +342 -0
- package/scripts/validation/phase-1-consensus-validation.cjs +551 -0
- package/scripts/validation/phase-1-consensus-validation.js +551 -0
- package/scripts/validation/phase-2-consensus-report.cjs +186 -0
- package/scripts/validation/phase-2-validation.cjs +171 -0
- package/scripts/validation/phase-2-validation.js +171 -0
- package/scripts/validation/phase-4-consensus-report.js +181 -0
- package/scripts/validation/phase-4-final-validation.js +351 -0
- package/scripts/validation/phase-5-consensus-report.cjs +113 -0
- package/scripts/validation/phase-5-consensus-report.js +113 -0
- package/scripts/validation/security-analysis.js +49 -0
- package/scripts/validation/security-validation.js +492 -0
- package/scripts/validation/simple-security-validation.js +464 -0
- package/scripts/verify-installation.js +112 -0
- package/scripts/verify-mcp-server.js +86 -0
- package/scripts/verify-sdk-phase1.cjs +293 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Simple ES module test file fixer
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { promises as fs } from 'fs';
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
import { dirname } from 'path';
|
|
11
|
+
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
14
|
+
const projectRoot = path.resolve(__dirname, '..');
|
|
15
|
+
|
|
16
|
+
async function findTestFiles() {
|
|
17
|
+
const testFiles = [];
|
|
18
|
+
|
|
19
|
+
async function walkDir(dir) {
|
|
20
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
21
|
+
|
|
22
|
+
for (const entry of entries) {
|
|
23
|
+
const fullPath = path.join(dir, entry.name);
|
|
24
|
+
|
|
25
|
+
if (entry.isDirectory()) {
|
|
26
|
+
// Skip node_modules, dist, bin directories
|
|
27
|
+
if (!['node_modules', 'dist', 'bin', '.git'].includes(entry.name)) {
|
|
28
|
+
await walkDir(fullPath);
|
|
29
|
+
}
|
|
30
|
+
} else if (entry.isFile() && (entry.name.endsWith('.test.js') || entry.name.endsWith('.spec.js'))) {
|
|
31
|
+
testFiles.push(fullPath);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
await walkDir(projectRoot);
|
|
37
|
+
return testFiles;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function fixImportExtensions(content) {
|
|
41
|
+
const changes = [];
|
|
42
|
+
|
|
43
|
+
// Fix relative imports without .js extension
|
|
44
|
+
let newContent = content.replace(
|
|
45
|
+
/import\s+(.+?)\s+from\s+['"`](\.\/.+?)['"`];?/g,
|
|
46
|
+
(match, imported, modulePath) => {
|
|
47
|
+
if (!modulePath.endsWith('.js') && !modulePath.endsWith('.ts') && !modulePath.includes('node_modules')) {
|
|
48
|
+
// Check if it's a relative import
|
|
49
|
+
if (modulePath.startsWith('./') || modulePath.startsWith('../')) {
|
|
50
|
+
const correctedPath = modulePath + '.js';
|
|
51
|
+
changes.push('Add .js extension to relative import');
|
|
52
|
+
return `import ${imported} from '${correctedPath}';`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return match;
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
return { content: newContent, changes };
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function fixJestImports(content) {
|
|
63
|
+
const changes = [];
|
|
64
|
+
|
|
65
|
+
// Add Jest globals import if test functions are used but not imported
|
|
66
|
+
const hasJestFunctions = /\b(describe|test|it|expect|beforeEach|afterEach|beforeAll|afterAll)\b/.test(content);
|
|
67
|
+
const hasJestImport = /import.*@jest\/globals/.test(content);
|
|
68
|
+
|
|
69
|
+
if (hasJestFunctions && !hasJestImport) {
|
|
70
|
+
// Check which Jest functions are used
|
|
71
|
+
const jestFunctions = ['describe', 'test', 'it', 'expect', 'beforeEach', 'afterEach', 'beforeAll', 'afterAll'];
|
|
72
|
+
const usedFunctions = jestFunctions.filter(fn => new RegExp(`\\b${fn}\\b`).test(content));
|
|
73
|
+
|
|
74
|
+
if (usedFunctions.length > 0) {
|
|
75
|
+
const jestImport = `import { ${usedFunctions.join(', ')} } from '@jest/globals';\n`;
|
|
76
|
+
content = jestImport + content;
|
|
77
|
+
changes.push('Add Jest globals import');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return { content, changes };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function fixDirnameFilename(content) {
|
|
85
|
+
const changes = [];
|
|
86
|
+
|
|
87
|
+
const hasDirname = /__dirname/.test(content);
|
|
88
|
+
const hasFilename = /__filename/.test(content);
|
|
89
|
+
|
|
90
|
+
if (hasDirname || hasFilename) {
|
|
91
|
+
// Add ES module equivalents at the top
|
|
92
|
+
const imports = [];
|
|
93
|
+
if (!content.includes('import { fileURLToPath }')) {
|
|
94
|
+
imports.push("import { fileURLToPath } from 'url';");
|
|
95
|
+
imports.push("import { dirname } from 'path';");
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (hasDirname && !content.includes('const __dirname')) {
|
|
99
|
+
imports.push("const __filename = fileURLToPath(import.meta.url);");
|
|
100
|
+
imports.push("const __dirname = dirname(__filename);");
|
|
101
|
+
} else if (hasFilename && !content.includes('const __filename')) {
|
|
102
|
+
imports.push("const __filename = fileURLToPath(import.meta.url);");
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (imports.length > 0) {
|
|
106
|
+
content = imports.join('\n') + '\n' + content;
|
|
107
|
+
changes.push('Add ES module __dirname/__filename equivalents');
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return { content, changes };
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
async function fixTestFile(filePath) {
|
|
115
|
+
const result = {
|
|
116
|
+
file: filePath,
|
|
117
|
+
changes: [],
|
|
118
|
+
success: false
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
try {
|
|
122
|
+
const originalContent = await fs.readFile(filePath, 'utf8');
|
|
123
|
+
let content = originalContent;
|
|
124
|
+
|
|
125
|
+
// Apply fixes
|
|
126
|
+
const importFixes = fixImportExtensions(content);
|
|
127
|
+
content = importFixes.content;
|
|
128
|
+
result.changes.push(...importFixes.changes);
|
|
129
|
+
|
|
130
|
+
const jestFixes = fixJestImports(content);
|
|
131
|
+
content = jestFixes.content;
|
|
132
|
+
result.changes.push(...jestFixes.changes);
|
|
133
|
+
|
|
134
|
+
const dirnameFixes = fixDirnameFilename(content);
|
|
135
|
+
content = dirnameFixes.content;
|
|
136
|
+
result.changes.push(...dirnameFixes.changes);
|
|
137
|
+
|
|
138
|
+
// Only write if changes were made
|
|
139
|
+
if (content !== originalContent) {
|
|
140
|
+
await fs.writeFile(filePath, content, 'utf8');
|
|
141
|
+
result.success = true;
|
|
142
|
+
} else {
|
|
143
|
+
result.success = true; // No changes needed
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
} catch (error) {
|
|
147
|
+
result.error = error.message;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return result;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
async function main() {
|
|
154
|
+
console.log('๐ Starting ES module test file migration...\n');
|
|
155
|
+
console.log(`Project root: ${projectRoot}`);
|
|
156
|
+
|
|
157
|
+
try {
|
|
158
|
+
const testFiles = await findTestFiles();
|
|
159
|
+
console.log(`Found ${testFiles.length} test files to process...`);
|
|
160
|
+
|
|
161
|
+
const results = [];
|
|
162
|
+
for (const file of testFiles) {
|
|
163
|
+
const result = await fixTestFile(file);
|
|
164
|
+
results.push(result);
|
|
165
|
+
|
|
166
|
+
if (result.success && result.changes.length > 0) {
|
|
167
|
+
console.log(`โ
Fixed ${path.relative(projectRoot, file)}: ${result.changes.join(', ')}`);
|
|
168
|
+
} else if (!result.success) {
|
|
169
|
+
console.log(`โ Failed to fix ${path.relative(projectRoot, file)}: ${result.error}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Summary
|
|
174
|
+
const fixedFiles = results.filter(r => r.success && r.changes.length > 0);
|
|
175
|
+
const totalChanges = results.reduce((sum, r) => sum + r.changes.length, 0);
|
|
176
|
+
|
|
177
|
+
console.log('\n๐ Migration Summary:');
|
|
178
|
+
console.log(`- Total files processed: ${results.length}`);
|
|
179
|
+
console.log(`- Files with fixes: ${fixedFiles.length}`);
|
|
180
|
+
console.log(`- Total changes applied: ${totalChanges}`);
|
|
181
|
+
|
|
182
|
+
console.log('\nโ
ES module test file migration completed!');
|
|
183
|
+
|
|
184
|
+
} catch (error) {
|
|
185
|
+
console.error('โ Migration failed:', error);
|
|
186
|
+
process.exit(1);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
main();
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Metrics Structure Validation Script
|
|
5
|
+
* Validates the organized metrics directory structure and data integrity
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const fs = require('fs');
|
|
9
|
+
const path = require('path');
|
|
10
|
+
|
|
11
|
+
const METRICS_BASE = '.claude-flow/metrics';
|
|
12
|
+
const REQUIRED_STRUCTURE = {
|
|
13
|
+
'performance': ['consolidated-performance.json', 'execution-history.json', 'agent-performance.json'],
|
|
14
|
+
'system': ['real-time-metrics.json'],
|
|
15
|
+
'benchmarks': [],
|
|
16
|
+
'historical': [],
|
|
17
|
+
'verification-archive': []
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
function validateStructure() {
|
|
21
|
+
console.log('๐ Validating metrics directory structure...\n');
|
|
22
|
+
|
|
23
|
+
let isValid = true;
|
|
24
|
+
|
|
25
|
+
// Check if config.json exists
|
|
26
|
+
const configPath = path.join(METRICS_BASE, 'config.json');
|
|
27
|
+
if (!fs.existsSync(configPath)) {
|
|
28
|
+
console.error('โ Missing config.json in metrics directory');
|
|
29
|
+
isValid = false;
|
|
30
|
+
} else {
|
|
31
|
+
console.log('โ
Config file exists');
|
|
32
|
+
|
|
33
|
+
// Validate config structure
|
|
34
|
+
try {
|
|
35
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
36
|
+
if (config.version && config.structure) {
|
|
37
|
+
console.log('โ
Config structure is valid');
|
|
38
|
+
} else {
|
|
39
|
+
console.error('โ Invalid config.json structure');
|
|
40
|
+
isValid = false;
|
|
41
|
+
}
|
|
42
|
+
} catch (error) {
|
|
43
|
+
console.error('โ Config.json is not valid JSON:', error.message);
|
|
44
|
+
isValid = false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Check directory structure
|
|
49
|
+
for (const [dir, files] of Object.entries(REQUIRED_STRUCTURE)) {
|
|
50
|
+
const dirPath = path.join(METRICS_BASE, dir);
|
|
51
|
+
|
|
52
|
+
if (!fs.existsSync(dirPath)) {
|
|
53
|
+
console.error(`โ Missing directory: ${dir}`);
|
|
54
|
+
isValid = false;
|
|
55
|
+
} else {
|
|
56
|
+
console.log(`โ
Directory exists: ${dir}`);
|
|
57
|
+
|
|
58
|
+
// Check required files
|
|
59
|
+
for (const file of files) {
|
|
60
|
+
const filePath = path.join(dirPath, file);
|
|
61
|
+
if (!fs.existsSync(filePath)) {
|
|
62
|
+
console.error(`โ Missing required file: ${dir}/${file}`);
|
|
63
|
+
isValid = false;
|
|
64
|
+
} else {
|
|
65
|
+
console.log(` โ
${file}`);
|
|
66
|
+
|
|
67
|
+
// Validate JSON files
|
|
68
|
+
if (file.endsWith('.json')) {
|
|
69
|
+
try {
|
|
70
|
+
const content = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
71
|
+
if (content.metadata) {
|
|
72
|
+
console.log(` โ
Valid JSON with metadata`);
|
|
73
|
+
}
|
|
74
|
+
} catch (error) {
|
|
75
|
+
console.error(` โ Invalid JSON in ${file}:`, error.message);
|
|
76
|
+
isValid = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Check for leftover legacy files
|
|
85
|
+
const metricsFiles = fs.readdirSync(METRICS_BASE);
|
|
86
|
+
const legacyFiles = metricsFiles.filter(file =>
|
|
87
|
+
file.endsWith('.json') &&
|
|
88
|
+
!['config.json'].includes(file)
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
if (legacyFiles.length > 0) {
|
|
92
|
+
console.warn('โ ๏ธ Legacy files still in root metrics directory:');
|
|
93
|
+
legacyFiles.forEach(file => console.warn(` - ${file}`));
|
|
94
|
+
console.log(' Consider moving these to historical/ directory');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
console.log('\n๐ Validation Summary:');
|
|
98
|
+
console.log(`Status: ${isValid ? 'โ
PASSED' : 'โ FAILED'}`);
|
|
99
|
+
console.log(`Directories: ${Object.keys(REQUIRED_STRUCTURE).length}`);
|
|
100
|
+
console.log(`Required files: ${Object.values(REQUIRED_STRUCTURE).flat().length}`);
|
|
101
|
+
|
|
102
|
+
return isValid;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function testDataCollection() {
|
|
106
|
+
console.log('\n๐งช Testing data collection endpoints...\n');
|
|
107
|
+
|
|
108
|
+
const endpoints = [
|
|
109
|
+
'performance/consolidated-performance.json',
|
|
110
|
+
'system/real-time-metrics.json',
|
|
111
|
+
'../dashboard/data.json'
|
|
112
|
+
];
|
|
113
|
+
|
|
114
|
+
for (const endpoint of endpoints) {
|
|
115
|
+
const filePath = path.join(METRICS_BASE, endpoint);
|
|
116
|
+
if (fs.existsSync(filePath)) {
|
|
117
|
+
try {
|
|
118
|
+
const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
119
|
+
console.log(`โ
${endpoint} - readable and valid JSON`);
|
|
120
|
+
|
|
121
|
+
// Check if data is recent (within last hour)
|
|
122
|
+
if (data.timestamp || data.metadata?.consolidated_at) {
|
|
123
|
+
console.log(` ๐
Contains timestamp data`);
|
|
124
|
+
}
|
|
125
|
+
} catch (error) {
|
|
126
|
+
console.error(`โ ${endpoint} - JSON parsing failed:`, error.message);
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
console.error(`โ ${endpoint} - file not found`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Main execution
|
|
135
|
+
console.log('๐ Claude Flow Metrics Structure Validation\n');
|
|
136
|
+
console.log('=' * 50);
|
|
137
|
+
|
|
138
|
+
const structureValid = validateStructure();
|
|
139
|
+
testDataCollection();
|
|
140
|
+
|
|
141
|
+
console.log('\n' + '=' * 50);
|
|
142
|
+
console.log(`๐ฏ Overall Status: ${structureValid ? 'METRICS STRUCTURE VALID' : 'VALIDATION FAILED'}`);
|
|
143
|
+
|
|
144
|
+
process.exit(structureValid ? 0 : 1);
|