claude-flow 3.10.4 → 3.10.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 +1 -1
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-agent-planning.smoke.d.ts +18 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-agent-planning.smoke.js +253 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-agent.d.ts +198 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-agent.js +651 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-causal-memory.d.ts +133 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-causal-memory.js +281 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-causal-memory.smoke.d.ts +22 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-causal-memory.smoke.js +300 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-convergence.d.ts +138 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-convergence.js +260 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-convergence.smoke.d.ts +19 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-convergence.smoke.js +246 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-critic.d.ts +123 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-critic.js +312 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-critic.smoke.d.ts +21 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-critic.smoke.js +327 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-decomposer.d.ts +125 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-decomposer.js +350 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-decomposer.smoke.d.ts +21 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-decomposer.smoke.js +228 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-e2e-smoke.d.ts +27 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-e2e-smoke.js +136 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-extract.smoke.d.ts +45 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-extract.smoke.js +242 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/features.d.ts +46 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/features.js +170 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/predictor.d.ts +105 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/predictor.js +260 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/predictor.smoke.d.ts +20 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/predictor.smoke.js +235 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/train-data-loader.d.ts +51 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-hardness/train-data-loader.js +179 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-judge.d.ts +88 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-judge.js +437 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-loader.d.ts +87 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-loader.js +326 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/file_read.d.ts +35 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/file_read.js +403 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/grounded_query.d.ts +126 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/grounded_query.js +225 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/index.d.ts +32 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/index.js +36 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/types.d.ts +62 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/types.js +12 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/web_search.d.ts +30 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-tools/web_search.js +210 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-voting.d.ts +88 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-voting.js +297 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-voting.smoke.d.ts +20 -0
- package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-voting.smoke.js +332 -0
- package/v3/@claude-flow/cli/dist/src/commands/gaia-bench.d.ts +40 -0
- package/v3/@claude-flow/cli/dist/src/commands/gaia-bench.js +597 -0
- package/v3/@claude-flow/cli/dist/src/commands/index.js +2 -0
- package/v3/@claude-flow/cli/dist/src/commands/init.js +41 -4
- package/v3/@claude-flow/cli/dist/src/init/executor.js +25 -6
- package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +9 -4
- package/v3/@claude-flow/cli/package.json +1 -1
|
@@ -744,16 +744,22 @@ function detectExistingRufloMCP(targetDir) {
|
|
|
744
744
|
const parsed = JSON.parse(fs.readFileSync(candidate, 'utf-8'));
|
|
745
745
|
if (!parsed || typeof parsed !== 'object')
|
|
746
746
|
continue;
|
|
747
|
-
// (a) Top-level mcpServers (legacy / global form)
|
|
747
|
+
// (a) Top-level mcpServers (legacy / global form).
|
|
748
|
+
// #2207: accept BOTH the old 'ruflo' key AND the new 'claude-flow' key so that
|
|
749
|
+
// a prior install with either key is correctly detected as already-initialized.
|
|
750
|
+
// This also avoids the reverse problem: after #2206 fixed the generator to write
|
|
751
|
+
// 'claude-flow', a second `ruflo init` must still recognise the existing install.
|
|
748
752
|
if (parsed.mcpServers && typeof parsed.mcpServers === 'object') {
|
|
749
|
-
|
|
753
|
+
const servers = parsed.mcpServers;
|
|
754
|
+
if ('claude-flow' in servers || 'ruflo' in servers)
|
|
750
755
|
return candidate;
|
|
751
756
|
}
|
|
752
757
|
// (b) #1840: Claude Code project-scoped registrations under
|
|
753
|
-
// parsed.projects[<projectPath>].mcpServers.
|
|
758
|
+
// parsed.projects[<projectPath>].mcpServers. Match by
|
|
754
759
|
// normalized path against targetDir or any of its ancestors so
|
|
755
|
-
// a `claude mcp add ruflo` in this repo is
|
|
756
|
-
// Claude stored the key with different casing/slash style.
|
|
760
|
+
// a `claude mcp add claude-flow` (or legacy `ruflo`) in this repo is
|
|
761
|
+
// detected even when Claude stored the key with different casing/slash style.
|
|
762
|
+
// #2207: accept both keys here too.
|
|
757
763
|
if (parsed.projects && typeof parsed.projects === 'object') {
|
|
758
764
|
for (const [projectKey, projectVal] of Object.entries(parsed.projects)) {
|
|
759
765
|
if (!projectVal || typeof projectVal !== 'object')
|
|
@@ -761,7 +767,8 @@ function detectExistingRufloMCP(targetDir) {
|
|
|
761
767
|
const projectMcp = projectVal.mcpServers;
|
|
762
768
|
if (!projectMcp || typeof projectMcp !== 'object')
|
|
763
769
|
continue;
|
|
764
|
-
|
|
770
|
+
const mcp = projectMcp;
|
|
771
|
+
if (!('claude-flow' in mcp) && !('ruflo' in mcp))
|
|
765
772
|
continue;
|
|
766
773
|
if (targetAncestors.has(normalizeProjectKey(projectKey))) {
|
|
767
774
|
return `${candidate} (projects[${projectKey}])`;
|
|
@@ -1810,6 +1817,18 @@ async function writeClaudeMd(targetDir, options, result) {
|
|
|
1810
1817
|
result.skipped.push('CLAUDE.md');
|
|
1811
1818
|
}
|
|
1812
1819
|
else {
|
|
1820
|
+
// #2208: if overwriting an existing CLAUDE.md (force mode), back it up first so
|
|
1821
|
+
// users don't silently lose curated project context.
|
|
1822
|
+
if (fs.existsSync(claudeMdPath)) {
|
|
1823
|
+
const backupBase = `${claudeMdPath}.pre-ruflo`;
|
|
1824
|
+
// Don't clobber an existing backup — append a timestamp if one already exists.
|
|
1825
|
+
const backupPath = fs.existsSync(backupBase)
|
|
1826
|
+
? `${backupBase}.${Date.now()}`
|
|
1827
|
+
: backupBase;
|
|
1828
|
+
fs.copyFileSync(claudeMdPath, backupPath);
|
|
1829
|
+
result.created.files.push(path.basename(backupPath));
|
|
1830
|
+
console.warn(`[ruflo init] Existing CLAUDE.md backed up to ${path.basename(backupPath)} before overwrite`);
|
|
1831
|
+
}
|
|
1813
1832
|
// Determine template: explicit option > infer from components > 'standard'
|
|
1814
1833
|
const inferredTemplate = (!options.components.commands && !options.components.agents) ? 'minimal' : undefined;
|
|
1815
1834
|
const content = generateClaudeMd(options, inferredTemplate);
|
|
@@ -40,9 +40,12 @@ export function generateMCPConfig(options) {
|
|
|
40
40
|
const npmEnv = {
|
|
41
41
|
npm_config_update_notifier: 'false',
|
|
42
42
|
};
|
|
43
|
-
// Ruflo MCP server (core) — uses ruflo wrapper for portable npm-resolved invocation
|
|
43
|
+
// Ruflo MCP server (core) — uses ruflo wrapper for portable npm-resolved invocation.
|
|
44
|
+
// #2206: key MUST be 'claude-flow' so all plugins resolve as mcp__claude-flow__*.
|
|
45
|
+
// The command args (ruflo@latest mcp start) are the correct wrapper invocation — only the
|
|
46
|
+
// registration KEY changes here.
|
|
44
47
|
if (config.claudeFlow) {
|
|
45
|
-
mcpServers['
|
|
48
|
+
mcpServers['claude-flow'] = createMCPServerEntry(['ruflo@latest', 'mcp', 'start'], {
|
|
46
49
|
...npmEnv,
|
|
47
50
|
CLAUDE_FLOW_MODE: 'v3',
|
|
48
51
|
CLAUDE_FLOW_HOOKS_ENABLED: 'true',
|
|
@@ -76,7 +79,8 @@ export function generateMCPCommands(options) {
|
|
|
76
79
|
const config = options.mcp;
|
|
77
80
|
if (isWindows()) {
|
|
78
81
|
if (config.claudeFlow) {
|
|
79
|
-
|
|
82
|
+
// #2206: registration name must be 'claude-flow' to match mcp__claude-flow__* tool naming
|
|
83
|
+
commands.push('claude mcp add claude-flow -- cmd /c npx -y ruflo@latest mcp start');
|
|
80
84
|
}
|
|
81
85
|
if (config.ruvSwarm) {
|
|
82
86
|
commands.push('claude mcp add ruv-swarm -- cmd /c npx -y ruv-swarm mcp start');
|
|
@@ -87,7 +91,8 @@ export function generateMCPCommands(options) {
|
|
|
87
91
|
}
|
|
88
92
|
else {
|
|
89
93
|
if (config.claudeFlow) {
|
|
90
|
-
|
|
94
|
+
// #2206: registration name must be 'claude-flow' to match mcp__claude-flow__* tool naming
|
|
95
|
+
commands.push("claude mcp add claude-flow -- npx -y ruflo@latest mcp start");
|
|
91
96
|
}
|
|
92
97
|
if (config.ruvSwarm) {
|
|
93
98
|
commands.push("claude mcp add ruv-swarm -- npx -y ruv-swarm mcp start");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claude-flow/cli",
|
|
3
|
-
"version": "3.10.
|
|
3
|
+
"version": "3.10.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Ruflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|