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.22",
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 — wire those.
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 / db handle that we don't pass blindly):
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.22",
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",