@claude-flow/cli 3.72.1 → 3.72.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/helpers/helpers.manifest.json +2 -2
- package/catalog-manifest.json +2 -2
- package/dist/src/commands/neural.js +5 -3
- package/dist/src/mcp-tools/browser-session-tools.d.ts +2 -2
- package/dist/src/mcp-tools/browser-session-tools.js +4 -4
- package/dist/src/mcp-tools/hooks-tools.js +17 -1
- package/dist/src/mcp-tools/neural-tools.js +3 -3
- package/package.json +3 -3
- package/plugins/ruflo-console/dist/tui.mjs +153 -153
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest": {
|
|
3
|
-
"version": "3.72.
|
|
3
|
+
"version": "3.72.2",
|
|
4
4
|
"files": {
|
|
5
5
|
"auto-memory-hook.mjs": "6078bd1c6b02dd3f80097f8d7f28904d48b3cdf7a534d2aa13966590694ca403",
|
|
6
6
|
"hook-handler.cjs": "31db0f7492fbd8b2e48ea9adbc1ba293dfed1e006666d20e93ea76e158986947",
|
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
"learning-loop.cjs": "d046cd6f8efb7dd40e1d2451516c181fc8b26477aefb1124c0df5f52a23f9190"
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
|
-
"signature": "
|
|
13
|
+
"signature": "5RMg2Vt/R7xAPg+7/pY9fUkypu0bwOIKuBsMHvJtcnWxhreO1Ljk2M9HDOD8C5CO5QDALr07wfBXheMnoZFyCw==",
|
|
14
14
|
"algorithm": "ed25519"
|
|
15
15
|
}
|
package/catalog-manifest.json
CHANGED
|
@@ -1526,7 +1526,9 @@ const benchmarkCommand = {
|
|
|
1526
1526
|
// when it isn't installed — install-safety / Build V3 pattern from #2586).
|
|
1527
1527
|
const attentionPkg = '@ruvector/attention';
|
|
1528
1528
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- dynamic import of optional native WASM module with no type declarations
|
|
1529
|
-
|
|
1529
|
+
// @ruvector/attention is CommonJS: under import() its classes sit on `default`.
|
|
1530
|
+
const attentionMod = await import(attentionPkg);
|
|
1531
|
+
const attention = (attentionMod.default ?? attentionMod);
|
|
1530
1532
|
// Manual benchmark since benchmarkAttention has a binding bug
|
|
1531
1533
|
const benchmarkMechanism = async (name, mechanism) => {
|
|
1532
1534
|
const query = new Float32Array(dim);
|
|
@@ -1546,10 +1548,10 @@ const benchmarkCommand = {
|
|
|
1546
1548
|
}
|
|
1547
1549
|
// Warmup
|
|
1548
1550
|
for (let i = 0; i < 10; i++)
|
|
1549
|
-
mechanism.
|
|
1551
|
+
mechanism.compute(query, keys, values);
|
|
1550
1552
|
const start = performance.now();
|
|
1551
1553
|
for (let i = 0; i < iterations; i++) {
|
|
1552
|
-
mechanism.
|
|
1554
|
+
mechanism.compute(query, keys, values);
|
|
1553
1555
|
}
|
|
1554
1556
|
const elapsed = performance.now() - start;
|
|
1555
1557
|
return {
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* AgentDB index). They do not inline a replay engine; replay
|
|
14
14
|
* enumerates trajectory steps and returns them for the caller to dispatch.
|
|
15
15
|
* - ruvector resolution is local-first: if a locally installed `ruvector`
|
|
16
|
-
* package is found (the CLI
|
|
16
|
+
* package is found (the CLI depends on ruvector ^0.3.11), its bin
|
|
17
17
|
* is spawned directly with `node`; otherwise we fall back to
|
|
18
|
-
* `npx -y ruvector@0.
|
|
18
|
+
* `npx -y ruvector@0.3.12`. The previous 0.2.25 pin forced cold npx
|
|
19
19
|
* downloads of a *second* ruvector version — 4 per browser session.
|
|
20
20
|
* - Best-effort: missing dependencies (no `ruvector`, no `agent-browser`,
|
|
21
21
|
* no AgentDB controller) degrade gracefully with a structured error
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* AgentDB index). They do not inline a replay engine; replay
|
|
14
14
|
* enumerates trajectory steps and returns them for the caller to dispatch.
|
|
15
15
|
* - ruvector resolution is local-first: if a locally installed `ruvector`
|
|
16
|
-
* package is found (the CLI
|
|
16
|
+
* package is found (the CLI depends on ruvector ^0.3.11), its bin
|
|
17
17
|
* is spawned directly with `node`; otherwise we fall back to
|
|
18
|
-
* `npx -y ruvector@0.
|
|
18
|
+
* `npx -y ruvector@0.3.12`. The previous 0.2.25 pin forced cold npx
|
|
19
19
|
* downloads of a *second* ruvector version — 4 per browser session.
|
|
20
20
|
* - Best-effort: missing dependencies (no `ruvector`, no `agent-browser`,
|
|
21
21
|
* no AgentDB controller) degrade gracefully with a structured error
|
|
@@ -25,9 +25,9 @@ import { validateIdentifier, validateText } from './validate-input.js';
|
|
|
25
25
|
import { browserUrlError } from './browser-argv.js';
|
|
26
26
|
// Pin matches the version in this package's own dependency tree so the npx
|
|
27
27
|
// fallback never downloads a second ruvector. Subcommand surface verified
|
|
28
|
-
// against ruvector@0.
|
|
28
|
+
// against ruvector@0.3.12 --help (and earlier 0.2.27): `rvf create/compact/status/derive/segments`
|
|
29
29
|
// and `hooks trajectory-begin/step/end` all exist with the flags used below.
|
|
30
|
-
const RUVECTOR_PIN = 'ruvector@0.
|
|
30
|
+
const RUVECTOR_PIN = 'ruvector@0.3.12';
|
|
31
31
|
const RVF_DIR_DEFAULT = '.ruflo/browser-sessions';
|
|
32
32
|
async function shell(cmd, args, opts = {}) {
|
|
33
33
|
const { execFile } = await import('node:child_process');
|
|
@@ -2224,8 +2224,24 @@ export const hooksBuildAgents = {
|
|
|
2224
2224
|
return { success: false, error: v.error };
|
|
2225
2225
|
}
|
|
2226
2226
|
const outputDir = resolve(getProjectCwd(), params.outputDir || './agents');
|
|
2227
|
+
// validatePath allows absolute paths, so keep the real output dir inside
|
|
2228
|
+
// the real project root (CWE-22/59): configs are only ever project files.
|
|
2229
|
+
let realProjectRoot;
|
|
2230
|
+
try {
|
|
2231
|
+
realProjectRoot = nodeFs.realpathSync(getProjectCwd());
|
|
2232
|
+
}
|
|
2233
|
+
catch {
|
|
2234
|
+
realProjectRoot = getProjectCwd();
|
|
2235
|
+
}
|
|
2236
|
+
if (!isInsideRealRoot(realProjectRoot, outputDir)) {
|
|
2237
|
+
return { success: false, error: 'outputDir must be inside the project directory' };
|
|
2238
|
+
}
|
|
2227
2239
|
const focus = params.focus || 'all';
|
|
2228
|
-
|
|
2240
|
+
// format is spliced into each file name; only the two supported formats.
|
|
2241
|
+
const format = params.format === undefined ? 'yaml' : params.format;
|
|
2242
|
+
if (format !== 'yaml' && format !== 'json') {
|
|
2243
|
+
return { success: false, error: 'format must be "yaml" or "json"' };
|
|
2244
|
+
}
|
|
2229
2245
|
const persist = params.persist !== false; // Default to true
|
|
2230
2246
|
const agents = [
|
|
2231
2247
|
{ type: 'coder', configFile: join(outputDir, `coder.${format}`), capabilities: ['code-generation', 'refactoring', 'debugging'], optimizations: ['flash-attention', 'token-reduction'] },
|
|
@@ -72,7 +72,7 @@ function activeChampionParams() {
|
|
|
72
72
|
// command, because mcp-client statically imports this module. ensureEmbeddings()
|
|
73
73
|
// keeps the exact same tier chain and degraded/fallback semantics, but only
|
|
74
74
|
// pays the cost when a handler actually needs an embedding.
|
|
75
|
-
// Tier 0 (ADR-089): ruvector
|
|
75
|
+
// Tier 0 (ADR-089): ruvector bundled ONNX (since 0.2.27) (no sharp dep, fixes ADR-086's
|
|
76
76
|
// silent-fallback bug at source; closes the chain described in ruvnet/ruvector#523).
|
|
77
77
|
// Tier 1: agentic-flow v3 ReasoningBank (was Tier 1 — broken on darwin-arm64 without sharp)
|
|
78
78
|
// Tier 2-3: @claude-flow/embeddings
|
|
@@ -110,7 +110,7 @@ function ensureEmbeddings() {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
catch { /* not configured — fall through */ }
|
|
113
|
-
// Tier 0: ruvector
|
|
113
|
+
// Tier 0: ruvector (CLI dependency) — bundled all-MiniLM-L6-v2 + parallel worker pool.
|
|
114
114
|
// Probe with isOnnxAvailable() and verify an actual embed succeeds (avoids
|
|
115
115
|
// the type-load-success-but-runtime-fails trap from ADR-086). The probe now
|
|
116
116
|
// runs on first embed request instead of at import time.
|
|
@@ -133,7 +133,7 @@ function ensureEmbeddings() {
|
|
|
133
133
|
return Array.isArray(v) ? v : Array.from(v);
|
|
134
134
|
},
|
|
135
135
|
};
|
|
136
|
-
embeddingServiceName = 'ruvector
|
|
136
|
+
embeddingServiceName = 'ruvector (bundled all-MiniLM-L6-v2)';
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
catch {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claude-flow/cli",
|
|
3
|
-
"version": "3.72.
|
|
3
|
+
"version": "3.72.2",
|
|
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",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"@claude-flow/cli-core": "3.7.5",
|
|
105
105
|
"@claude-flow/codex": "3.0.6",
|
|
106
106
|
"@claude-flow/mcp": "3.1.6",
|
|
107
|
-
"@claude-flow/neural": "3.0.
|
|
107
|
+
"@claude-flow/neural": "3.0.3",
|
|
108
108
|
"@claude-flow/plugin-agent-federation": "1.0.5",
|
|
109
109
|
"@claude-flow/security": "3.0.6",
|
|
110
110
|
"@claude-flow/shared": "3.0.7",
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"agentdb": "^3.3.0",
|
|
143
143
|
"agentic-flow": "^3.0.0",
|
|
144
144
|
"better-sqlite3": "^12.9.0",
|
|
145
|
-
"ruvector": "^0.3.
|
|
145
|
+
"ruvector": "^0.3.13",
|
|
146
146
|
"nostr-tools": "^2.7.0",
|
|
147
147
|
"@ruvector/learning-wasm": "0.1.29",
|
|
148
148
|
"agent-booster": "^0.2.2"
|