claude-flow 3.6.22 → 3.6.23
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
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.23",
|
|
4
4
|
"description": "Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -210,15 +210,18 @@ async function getRegistry(dbPath) {
|
|
|
210
210
|
if (adbPkgJsonPath) {
|
|
211
211
|
const adbDir = path.dirname(adbPkgJsonPath);
|
|
212
212
|
const candidates = [
|
|
213
|
-
// AttestationLog needs a db handle — too risky to wire
|
|
214
|
-
// without a per-install audit, leave for follow-up ADR.
|
|
215
|
-
// MutationGuard needs a write-policy config; skipped
|
|
216
|
-
// here for the same reason.
|
|
217
|
-
// GuardedVectorBackend needs key material; skipped.
|
|
218
213
|
// GNNService and RVFOptimizer can construct with no args
|
|
219
|
-
// in current agentdb —
|
|
214
|
+
// in current agentdb — safe to activate as-is.
|
|
220
215
|
{ name: 'gnnService', relPath: 'dist/src/services/GNNService.js', configurable: false },
|
|
221
216
|
{ name: 'rvfOptimizer', relPath: 'dist/src/optimizations/RVFOptimizer.js', configurable: false },
|
|
217
|
+
// ADR-095 G7 follow-up: MutationGuard constructs cleanly
|
|
218
|
+
// with no args and exposes WASM-backed proof generation.
|
|
219
|
+
// No external deps; safe-default activation.
|
|
220
|
+
{ name: 'mutationGuard', relPath: 'dist/src/security/MutationGuard.js', configurable: false },
|
|
221
|
+
// AttestationLog needs a sqlite db handle — wired below
|
|
222
|
+
// separately because we have to construct a db too.
|
|
223
|
+
// GuardedVectorBackend needs key material — leave for
|
|
224
|
+
// follow-up ADR.
|
|
222
225
|
];
|
|
223
226
|
for (const cand of candidates) {
|
|
224
227
|
if (reg.get(cand.name))
|
|
@@ -244,6 +247,35 @@ async function getRegistry(dbPath) {
|
|
|
244
247
|
}
|
|
245
248
|
catch { /* skip controllers that fail to construct */ }
|
|
246
249
|
}
|
|
250
|
+
// AttestationLog activation — needs a better-sqlite3
|
|
251
|
+
// database. We open a dedicated file at .swarm/attestation.db
|
|
252
|
+
// (separate from the main memory.db so the audit trail
|
|
253
|
+
// is isolated). Best-effort: if better-sqlite3 isn't
|
|
254
|
+
// resolvable in this env, skip cleanly.
|
|
255
|
+
if (!reg.get('attestationLog')) {
|
|
256
|
+
try {
|
|
257
|
+
const attestationFile = path.join(adbDir, 'dist/src/security/AttestationLog.js');
|
|
258
|
+
if (fs.existsSync(attestationFile)) {
|
|
259
|
+
const Database = cjsRequire('better-sqlite3');
|
|
260
|
+
const swarmDir = path.resolve(process.cwd(), '.swarm');
|
|
261
|
+
if (!fs.existsSync(swarmDir))
|
|
262
|
+
fs.mkdirSync(swarmDir, { recursive: true });
|
|
263
|
+
const dbPath = path.join(swarmDir, 'attestation.db');
|
|
264
|
+
const db = new Database(dbPath);
|
|
265
|
+
const url = pathToFileURL(attestationFile).href;
|
|
266
|
+
const mod = await import(url);
|
|
267
|
+
const Ctor = mod.AttestationLog;
|
|
268
|
+
if (typeof Ctor === 'function') {
|
|
269
|
+
const inst = new Ctor({ db });
|
|
270
|
+
if (typeof reg.set === 'function')
|
|
271
|
+
reg.set('attestationLog', inst);
|
|
272
|
+
else
|
|
273
|
+
reg._controllers = { ...(reg._controllers || {}), attestationLog: inst };
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch { /* better-sqlite3 missing or schema init failed — skip silently */ }
|
|
278
|
+
}
|
|
247
279
|
}
|
|
248
280
|
}
|
|
249
281
|
catch { /* G7 wiring optional */ }
|
|
@@ -253,10 +285,7 @@ async function getRegistry(dbPath) {
|
|
|
253
285
|
await Promise.allSettled([intelligencePromise, agentdbPromise]);
|
|
254
286
|
// Remaining disabled controllers tracked in ADR-095 G7 for
|
|
255
287
|
// per-controller activation ADRs (each needs config / key
|
|
256
|
-
// material
|
|
257
|
-
// - mutationGuard (write protection — needs config schema)
|
|
258
|
-
// - attestationLog (needs sqlite db handle the registry
|
|
259
|
-
// does not currently expose to non-builtin controllers)
|
|
288
|
+
// material that we don't pass blindly):
|
|
260
289
|
// - guardedVectorBackend (secured backend — needs key material)
|
|
261
290
|
// - graphAdapter (graph DB adapter — needs graph DB connection)
|
|
262
291
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claude-flow/cli",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.23",
|
|
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",
|