@claude-flow/cli 3.71.0 → 3.71.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.
Files changed (37) hide show
  1. package/.claude/helpers/helpers.manifest.json +2 -2
  2. package/catalog-manifest.json +2 -2
  3. package/dist/src/commands/deployment.js +1 -1
  4. package/dist/src/commands/embeddings.js +6 -6
  5. package/dist/src/commands/init.js +4 -0
  6. package/dist/src/commands/ruvector/backup.js +1 -1
  7. package/dist/src/commands/ruvector/migrate.js +1 -1
  8. package/dist/src/commands/session.js +10 -7
  9. package/dist/src/init/executor.js +15 -5
  10. package/dist/src/init/types.d.ts +2 -0
  11. package/dist/src/init/types.js +4 -1
  12. package/dist/src/mcp-tools/claims-tools.js +7 -1
  13. package/dist/src/mcp-tools/daa-tools.js +22 -2
  14. package/dist/src/mcp-tools/embeddings-tools.js +2 -1
  15. package/dist/src/mcp-tools/memory-tools.js +8 -0
  16. package/dist/src/mcp-tools/session-tools.js +42 -4
  17. package/dist/src/mcp-tools/terminal-tools.js +5 -0
  18. package/dist/src/mcp-tools/workflow-tools.js +22 -3
  19. package/dist/src/memory/memory-bridge.d.ts +6 -0
  20. package/dist/src/memory/memory-bridge.js +98 -15
  21. package/dist/src/memory/memory-initializer.js +32 -10
  22. package/dist/src/services/claims-store.js +5 -2
  23. package/dist/src/services/ruvector-training.js +18 -5
  24. package/node_modules/@claude-flow/mcp/dist/server.d.ts.map +1 -1
  25. package/node_modules/@claude-flow/mcp/dist/server.js +6 -0
  26. package/node_modules/@claude-flow/mcp/dist/server.js.map +1 -1
  27. package/node_modules/@claude-flow/mcp/dist/session-manager.d.ts +6 -0
  28. package/node_modules/@claude-flow/mcp/dist/session-manager.d.ts.map +1 -1
  29. package/node_modules/@claude-flow/mcp/dist/session-manager.js +20 -0
  30. package/node_modules/@claude-flow/mcp/dist/session-manager.js.map +1 -1
  31. package/node_modules/@claude-flow/mcp/package.json +1 -1
  32. package/node_modules/@claude-flow/plugin-agent-federation/dist/application/policy-engine.d.ts.map +1 -1
  33. package/node_modules/@claude-flow/plugin-agent-federation/dist/application/policy-engine.js +3 -1
  34. package/node_modules/@claude-flow/plugin-agent-federation/dist/application/policy-engine.js.map +1 -1
  35. package/node_modules/@claude-flow/plugin-agent-federation/package.json +1 -1
  36. package/package.json +4 -4
  37. package/plugins/ruflo-console/dist/tui.mjs +51 -51
@@ -964,8 +964,27 @@ export async function rescueAgentdbEmbedder(agentdb) {
964
964
  ? out.embedding
965
965
  : new Float32Array(out.embedding ?? []);
966
966
  };
967
+ const newBatch = async (texts) => Promise.all(texts.map(t => newEmbed(t)));
967
968
  emb.embed = newEmbed;
968
- emb.embedBatch = async (texts) => Promise.all(texts.map(t => newEmbed(t)));
969
+ emb.embedBatch = newBatch;
970
+ // #4643: agentdb 3.x's ReasoningBank calls embedQuery()/embedPassage(),
971
+ // which route through embedFor() → generateEmbedding() → mockEmbedding()
972
+ // and never touch embed(). Patch the role methods too, or the rescue never
973
+ // reaches pattern store/search. The model is symmetric, so both roles share
974
+ // one function; drop any mock vectors already cached under the old space.
975
+ const roles = emb;
976
+ if (typeof roles.embedQuery === 'function')
977
+ roles.embedQuery = newEmbed;
978
+ if (typeof roles.embedPassage === 'function')
979
+ roles.embedPassage = newEmbed;
980
+ if (typeof roles.embedQueryBatch === 'function')
981
+ roles.embedQueryBatch = newBatch;
982
+ if (typeof roles.embedPassageBatch === 'function')
983
+ roles.embedPassageBatch = newBatch;
984
+ try {
985
+ roles.clearCache?.();
986
+ }
987
+ catch { /* best-effort */ }
969
988
  emb.__ruvectorRescued = true;
970
989
  }
971
990
  /** AgentDB uses a null pipeline while its transformer failed and it serves mock vectors. */
@@ -1521,15 +1540,39 @@ export async function bridgeListEntries(options) {
1521
1540
  // List
1522
1541
  const entries = [];
1523
1542
  try {
1524
- // Include tags so export/list can round-trip them.
1525
- const stmt = ctx.db.prepare(`
1526
- SELECT id, key, namespace, content, embedding, access_count, created_at, updated_at, provenance_type, expires_at, tags
1543
+ const columns = 'id, key, namespace, content, embedding, access_count, created_at, updated_at, provenance_type, expires_at, tags';
1544
+ const listLimit = options.includeEmbedding ? Math.min(safeLimit, MAX_LIST_EMBEDDINGS) : safeLimit;
1545
+ // #4686: sort only row identities first, then fetch the payload for the
1546
+ // page. The old query sorted full `content`/`embedding` payloads for
1547
+ // every row and discarded all but the requested page.
1548
+ const pagedSql = `
1549
+ SELECT ${columns}
1550
+ FROM memory_entries
1551
+ WHERE _rowid_ IN (
1552
+ SELECT _rowid_
1553
+ FROM memory_entries
1554
+ WHERE ${statusFilter} ${extraFilter}
1555
+ ORDER BY updated_at DESC
1556
+ LIMIT ? OFFSET ?
1557
+ )
1558
+ ORDER BY updated_at DESC
1559
+ `;
1560
+ const originalSql = `
1561
+ SELECT ${columns}
1527
1562
  FROM memory_entries
1528
1563
  WHERE ${statusFilter} ${extraFilter}
1529
1564
  ORDER BY updated_at DESC
1530
1565
  LIMIT ? OFFSET ?
1531
- `);
1532
- const rows = stmt.all(...filterParams, options.includeEmbedding ? Math.min(safeLimit, MAX_LIST_EMBEDDINGS) : safeLimit, safeOffset);
1566
+ `;
1567
+ let rows;
1568
+ try {
1569
+ rows = ctx.db.prepare(pagedSql).all(...filterParams, listLimit, safeOffset);
1570
+ }
1571
+ catch {
1572
+ // WITHOUT ROWID/legacy tables have no _rowid_: preserve the original
1573
+ // query rather than failing the page.
1574
+ rows = ctx.db.prepare(originalSql).all(...filterParams, listLimit, safeOffset);
1575
+ }
1533
1576
  for (const row of rows) {
1534
1577
  let tags = [];
1535
1578
  if (row.tags) {
@@ -2432,6 +2475,24 @@ export async function bridgeStorePattern(options) {
2432
2475
  return null;
2433
2476
  }
2434
2477
  }
2478
+ /**
2479
+ * Case-insensitive substring match over agentdb's reasoning_patterns table —
2480
+ * the rows ReasoningBank.storePattern() writes. Used only when the vector
2481
+ * search returns nothing. Returns [] when the table or handle is unavailable.
2482
+ */
2483
+ function substringSearchReasoningPatterns(registry, query, k) {
2484
+ try {
2485
+ const db = registry?.getAgentDB?.()?.database;
2486
+ if (!db || typeof db.prepare !== 'function')
2487
+ return [];
2488
+ const like = `%${query.toLowerCase().replace(/[\\%_]/g, (c) => `\\${c}`)}%`;
2489
+ const rows = db.prepare("SELECT id, approach, success_rate FROM reasoning_patterns WHERE lower(approach) LIKE ? ESCAPE '\\' ORDER BY id DESC LIMIT ?").all(like, k);
2490
+ return rows.map((r) => ({ id: String(r.id), content: r.approach, score: r.success_rate ?? 0 }));
2491
+ }
2492
+ catch {
2493
+ return [];
2494
+ }
2495
+ }
2435
2496
  /**
2436
2497
  * Search patterns via ReasoningBank controller.
2437
2498
  */
@@ -2458,14 +2519,19 @@ export async function bridgeSearchPatterns(options) {
2458
2519
  // mapping produced `content: ''` and `score: 0` for every hit even when
2459
2520
  // the search itself succeeded. Read the real fields first, keeping the
2460
2521
  // legacy names as fallbacks for the pre-agentdb shape.
2461
- return {
2462
- results: Array.isArray(results) ? results.map((r) => ({
2463
- id: String(r.id ?? r.patternId ?? ''),
2464
- content: r.approach ?? r.content ?? r.pattern ?? '',
2465
- score: r.similarity ?? r.score ?? r.successRate ?? r.confidence ?? 0,
2466
- })) : [],
2467
- controller: 'reasoningBank',
2468
- };
2522
+ let mapped = Array.isArray(results) ? results.map((r) => ({
2523
+ id: String(r.id ?? r.patternId ?? ''),
2524
+ content: r.approach ?? r.content ?? r.pattern ?? '',
2525
+ score: r.similarity ?? r.score ?? r.successRate ?? r.confidence ?? 0,
2526
+ })) : [];
2527
+ // #4643 — with agentdb's mock embedder (Transformers.js failed to load:
2528
+ // offline, or a failed `sharp` install) a passage and a query embed to
2529
+ // unrelated hash vectors, so the vector search misses a pattern that
2530
+ // storePattern just wrote. Scan the same reasoning_patterns table for the
2531
+ // query text, as the LocalReasoningBank branch below does over getAll().
2532
+ if (mapped.length === 0)
2533
+ mapped = substringSearchReasoningPatterns(registry, options.query, options.topK || 5);
2534
+ return { results: mapped, controller: 'reasoningBank' };
2469
2535
  }
2470
2536
  // #2226 — the wired-in LocalReasoningBank implements store() + findSimilar()/getAll()
2471
2537
  // but NOT searchPatterns()/search(). bridgeStorePattern commits patterns to its
@@ -3244,6 +3310,12 @@ export async function bridgeHealthCheck(dbPath) {
3244
3310
  return null;
3245
3311
  try {
3246
3312
  const controllers = registry.listControllers();
3313
+ const resolvedPath = canonicalDbPath(dbPath);
3314
+ const agentdbInitError = agentdbInitFailure(registry, resolvedPath);
3315
+ const bridgeFailureReason = getBridgeFailureReason(dbPath);
3316
+ const lockHint = agentdbInitError && /already open|cannot acquire lock|locked/i.test(agentdbInitError)
3317
+ ? 'Another process (often the ruflo daemon or a second MCP server) owns the native vector store. Stop one owner and reconnect; reads currently use the volatile fallback.'
3318
+ : undefined;
3247
3319
  // Phase 4: AttestationLog stats
3248
3320
  let attestationCount = 0;
3249
3321
  const attestation = registry.get('attestationLog');
@@ -3268,7 +3340,18 @@ export async function bridgeHealthCheck(dbPath) {
3268
3340
  persistedRows: typeof hm.countPersisted === 'function' ? hm.countPersisted() : null,
3269
3341
  };
3270
3342
  }
3271
- return { available: true, controllers, attestationCount, cacheStats, hierarchicalMemory };
3343
+ return {
3344
+ // A registry with a failed AgentDB still serves its other controllers,
3345
+ // but it is not a working persistent bridge (#4622/#4654).
3346
+ available: agentdbInitError === null,
3347
+ controllers,
3348
+ attestationCount,
3349
+ cacheStats,
3350
+ agentdbInitError,
3351
+ bridgeFailureReason,
3352
+ ...(lockHint ? { hint: lockHint } : {}),
3353
+ hierarchicalMemory,
3354
+ };
3272
3355
  }
3273
3356
  catch {
3274
3357
  return null;
@@ -3115,16 +3115,38 @@ export async function listEntries(options) {
3115
3115
  const total = countRows[0]?.[0] || 0;
3116
3116
  // Get entries. ADR-472: embedding rows are capped at MAX_LIST_EMBEDDINGS.
3117
3117
  const listLimit = options.includeEmbedding ? Math.min(safeLimit, MAX_LIST_EMBEDDINGS) : safeLimit;
3118
- // Include tags so export/list can round-trip them.
3119
- const listStmt = db.prepare(`SELECT id, key, namespace, content, embedding, access_count, created_at, updated_at, provenance_type, expires_at, tags
3120
- FROM memory_entries WHERE ${whereSql}
3121
- ORDER BY updated_at DESC LIMIT ? OFFSET ?`);
3122
- listStmt.bind([...whereParams, listLimit, safeOffset]);
3123
- const listRows = [];
3124
- while (listStmt.step()) {
3125
- listRows.push(listStmt.get());
3126
- }
3127
- listStmt.free();
3118
+ const columns = 'id, key, namespace, content, embedding, access_count, created_at, updated_at, provenance_type, expires_at, tags';
3119
+ // #4686: page row identities first so the temporary sort B-tree does not
3120
+ // carry full content/embedding payloads for rows outside the page.
3121
+ const pagedSql = `SELECT ${columns} FROM memory_entries
3122
+ WHERE _rowid_ IN (
3123
+ SELECT _rowid_ FROM memory_entries WHERE ${whereSql}
3124
+ ORDER BY updated_at DESC LIMIT ? OFFSET ?
3125
+ )
3126
+ ORDER BY updated_at DESC`;
3127
+ const originalSql = `SELECT ${columns} FROM memory_entries WHERE ${whereSql}
3128
+ ORDER BY updated_at DESC LIMIT ? OFFSET ?`;
3129
+ let listRows = [];
3130
+ const runList = (sql) => {
3131
+ const stmt = db.prepare(sql);
3132
+ try {
3133
+ stmt.bind([...whereParams, listLimit, safeOffset]);
3134
+ const rows = [];
3135
+ while (stmt.step())
3136
+ rows.push(stmt.get());
3137
+ return rows;
3138
+ }
3139
+ finally {
3140
+ stmt.free();
3141
+ }
3142
+ };
3143
+ try {
3144
+ listRows = runList(pagedSql);
3145
+ }
3146
+ catch {
3147
+ // Legacy WITHOUT ROWID tables have no _rowid_: keep the original query.
3148
+ listRows = runList(originalSql);
3149
+ }
3128
3150
  const entries = [];
3129
3151
  for (const row of listRows) {
3130
3152
  const [id, key, ns, content, embedding, accessCount, createdAt, updatedAt, provenanceTypeVal, expiresAtVal, tagsJson] = row;
@@ -11,7 +11,7 @@ export function readClaimsStore(file) {
11
11
  }
12
12
  catch (error) {
13
13
  if (error.code === 'ENOENT')
14
- return { claims: {}, stealable: {}, contests: {} };
14
+ return { claims: Object.create(null), stealable: Object.create(null), contests: Object.create(null) };
15
15
  throw error;
16
16
  }
17
17
  const data = JSON.parse(text);
@@ -35,6 +35,9 @@ export function readClaimsStore(file) {
35
35
  if (data[key] !== undefined && !record(data[key]))
36
36
  throw new Error(`Invalid claims store: ${key} must be an object`);
37
37
  }
38
- return { ...data, claims, stealable: data.stealable ?? {}, contests: data.contests ?? {} };
38
+ // SECURITY: issue ids come from tool input; null-prototype maps keep a lookup
39
+ // by `constructor`/`__proto__` from resolving to an inherited built-in.
40
+ const nullProto = (map) => Object.assign(Object.create(null), map ?? {});
41
+ return { ...data, claims, stealable: nullProto(data.stealable), contests: nullProto(data.contests) };
39
42
  }
40
43
  //# sourceMappingURL=claims-store.js.map
@@ -423,7 +423,8 @@ export function computeFlashAttention(query, keys, values) {
423
423
  if (!flashAttention) {
424
424
  throw new Error('Flash attention not initialized');
425
425
  }
426
- return flashAttention.computeRaw(query, keys, values);
426
+ // #4610: the @ruvector/attention classes expose compute(), not computeRaw().
427
+ return flashAttention.compute(query, keys, values);
427
428
  }
428
429
  /**
429
430
  * Compute MoE routing
@@ -432,7 +433,7 @@ export function computeMoEAttention(query, keys, values) {
432
433
  if (!moeAttention) {
433
434
  throw new Error('MoE attention not initialized');
434
435
  }
435
- return moeAttention.computeRaw(query, keys, values);
436
+ return moeAttention.compute(query, keys, values);
436
437
  }
437
438
  /**
438
439
  * Compute hyperbolic attention (for hierarchical patterns)
@@ -441,7 +442,7 @@ export function computeHyperbolicAttention(query, keys, values) {
441
442
  if (!hyperbolicAttention) {
442
443
  throw new Error('Hyperbolic attention not initialized');
443
444
  }
444
- return hyperbolicAttention.computeRaw(query, keys, values);
445
+ return hyperbolicAttention.compute(query, keys, values);
445
446
  }
446
447
  /**
447
448
  * Compute contrastive loss for training
@@ -450,8 +451,20 @@ export function computeContrastiveLoss(anchor, positives, negatives) {
450
451
  if (!contrastiveLoss) {
451
452
  throw new Error('Contrastive loss not initialized');
452
453
  }
453
- const loss = contrastiveLoss.compute(anchor, positives, negatives);
454
- const gradient = contrastiveLoss.backward(anchor, positives, negatives);
454
+ // #4610: InfoNceLoss has no backward(); computeWithGradients(anchor, positive,
455
+ // negatives) takes one positive and returns { loss, gradients }. Average over
456
+ // the positives so the list signature keeps its meaning.
457
+ if (positives.length === 0) {
458
+ throw new Error('Contrastive loss needs at least one positive');
459
+ }
460
+ let loss = 0;
461
+ const gradient = new Float32Array(anchor.length);
462
+ for (const positive of positives) {
463
+ const result = contrastiveLoss.computeWithGradients(anchor, positive, negatives);
464
+ loss += result.loss / positives.length;
465
+ for (let i = 0; i < gradient.length; i++)
466
+ gradient[i] += result.gradients[i] / positives.length;
467
+ }
455
468
  return { loss, gradient };
456
469
  }
457
470
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -389,6 +389,11 @@ export class MCPServer extends EventEmitter {
389
389
  if (!params) {
390
390
  return this.createErrorResponse(request.id, ErrorCodes.INVALID_PARAMS, 'Invalid params');
391
391
  }
392
+ // #4674: the server answers every client through one currentSession, so a
393
+ // session it has superseded is never addressed again; it only holds a slot
394
+ // until expiry. Short-lived clients exhausted maxSessions that way. Retire
395
+ // the least recently active superseded session instead of refusing.
396
+ this.sessionManager.reserveCapacity(this.currentSession?.id);
392
397
  const session = this.sessionManager.createSession(this.config.transport);
393
398
  this.sessionManager.initializeSession(session.id, params);
394
399
  this.currentSession = session;
@@ -757,6 +762,7 @@ export class MCPServer extends EventEmitter {
757
762
  if (this.currentSession) {
758
763
  return this.currentSession;
759
764
  }
765
+ this.sessionManager.reserveCapacity();
760
766
  const session = this.sessionManager.createSession(this.config.transport);
761
767
  this.currentSession = session;
762
768
  return session;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,12 @@ export declare class SessionManager extends EventEmitter {
33
33
  getMetadata(sessionId: string, key: string): unknown;
34
34
  closeSession(sessionId: string, reason?: string): boolean;
35
35
  removeSession(sessionId: string): boolean;
36
+ /**
37
+ * When at capacity, close the least recently active session other than
38
+ * `keepId` so one more can be created. Returns the closed session's id, or
39
+ * undefined when there was room or nothing else to close (#4674).
40
+ */
41
+ reserveCapacity(keepId?: string): string | undefined;
36
42
  getSessionMetrics(): SessionMetrics;
37
43
  getStats(): {
38
44
  total: number;
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AASD,qBAAa,cAAe,SAAQ,YAAY;IAW5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAK;gBAGN,MAAM,EAAE,OAAO,EAChC,MAAM,GAAE,aAAkB;IAO5B,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU;IA2BnD,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,GAC1B,UAAU,GAAG,SAAS;IAwBzB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAe/C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,iBAAiB,IAAI,UAAU,EAAE;IAMjC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAU1C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO;IAoBzD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAepE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAKpD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAgBzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIzC,iBAAiB,IAAI,cAAc;IAiBnC,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3C,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,IAAI,CAAC;KACtB;IA4CD,sBAAsB,IAAI,MAAM;IA6BhC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAMzB,QAAQ,IAAI,IAAI;IAOhB,OAAO,IAAI,IAAI;CAMhB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,aAAa,GACrB,cAAc,CAEhB"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,OAAO,EACR,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AASD,qBAAa,cAAe,SAAQ,YAAY;IAW5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAK;gBAGN,MAAM,EAAE,OAAO,EAChC,MAAM,GAAE,aAAkB;IAO5B,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,UAAU;IA2BnD,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,GAC1B,UAAU,GAAG,SAAS;IAwBzB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAe/C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAItC,iBAAiB,IAAI,UAAU,EAAE;IAMjC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAU1C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO;IAoBzD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAepE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAKpD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAgBzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIzC;;;;OAIG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAYpD,iBAAiB,IAAI,cAAc;IAiBnC,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3C,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,IAAI,CAAC;KACtB;IA4CD,sBAAsB,IAAI,MAAM;IA6BhC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,iBAAiB;IAMzB,QAAQ,IAAI,IAAI;IAOhB,OAAO,IAAI,IAAI;CAMhB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,aAAa,GACrB,cAAc,CAEhB"}
@@ -142,6 +142,26 @@ export class SessionManager extends EventEmitter {
142
142
  removeSession(sessionId) {
143
143
  return this.closeSession(sessionId);
144
144
  }
145
+ /**
146
+ * When at capacity, close the least recently active session other than
147
+ * `keepId` so one more can be created. Returns the closed session's id, or
148
+ * undefined when there was room or nothing else to close (#4674).
149
+ */
150
+ reserveCapacity(keepId) {
151
+ if (this.sessions.size < this.config.maxSessions)
152
+ return undefined;
153
+ let oldest;
154
+ for (const session of this.sessions.values()) {
155
+ if (session.id === keepId)
156
+ continue;
157
+ if (!oldest || session.lastActivityAt < oldest.lastActivityAt)
158
+ oldest = session;
159
+ }
160
+ if (!oldest)
161
+ return undefined;
162
+ this.closeSession(oldest.id, 'Evicted to make room for a new session');
163
+ return oldest.id;
164
+ }
145
165
  getSessionMetrics() {
146
166
  let authenticated = 0;
147
167
  let active = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claude-flow/mcp",
3
- "version": "3.1.5",
3
+ "version": "3.1.6",
4
4
  "type": "module",
5
5
  "description": "Standalone MCP (Model Context Protocol) server - stdio/http/websocket transports, connection pooling, tool registry",
6
6
  "main": "dist/index.js",
@@ -1 +1 @@
1
- {"version":3,"file":"policy-engine.d.ts","sourceRoot":"","sources":["../../src/application/policy-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,KAAK,SAAS,EAAgB,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACnI,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC/D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAgFD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC;CACrD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsD;gBAGtF,IAAI,EAAE,gBAAgB,EACtB,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACxC,SAAS,CAAC,EAAE,eAAe;IAc7B,eAAe,CACb,WAAW,EAAE,qBAAqB,EAClC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,sBAAsB;IAsEzB,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,SAAS;IAWhF,mBAAmB,CACjB,YAAY,EAAE,UAAU,EACxB,aAAa,EAAE,UAAU,GACxB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,qBAAqB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAgCvE,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,0BAA0B;CA4BnC"}
1
+ {"version":3,"file":"policy-engine.d.ts","sourceRoot":"","sources":["../../src/application/policy-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,KAAK,SAAS,EAAgB,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACnI,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAEvF,MAAM,MAAM,mBAAmB,GAC3B,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC/D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,UAAU,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,UAAU,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxD,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAuFD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC;CACrD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsD;gBAGtF,IAAI,EAAE,gBAAgB,EACtB,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACxC,SAAS,CAAC,EAAE,eAAe;IAc7B,eAAe,CACb,WAAW,EAAE,qBAAqB,EAClC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,sBAAsB;IAsEzB,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAG,SAAS;IAWhF,mBAAmB,CACjB,YAAY,EAAE,UAAU,EACxB,aAAa,EAAE,UAAU,GACxB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,qBAAqB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAgCvE,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,0BAA0B;CA4BnC"}
@@ -21,7 +21,7 @@ const POLICY_CATEGORY_FOR_MESSAGE_TYPE = {
21
21
  'memory-query': 'memory',
22
22
  'memory-response': 'memory',
23
23
  'agent-spawn': 'spawn',
24
- 'agent-handoff': 'spawn',
24
+ 'agent-handoff': 'write+spawn',
25
25
  'trust-change': 'admin',
26
26
  'topology-change': 'admin',
27
27
  };
@@ -35,6 +35,8 @@ function policyThresholdForCategory(policy, category) {
35
35
  return policy.minTrustLevelForSpawn;
36
36
  case 'admin':
37
37
  return policy.minTrustLevelForAdmin;
38
+ case 'write+spawn':
39
+ return Math.max(policy.minTrustLevelForWrite, policy.minTrustLevelForSpawn);
38
40
  }
39
41
  }
40
42
  const CLAIMS_FOR_MESSAGE_TYPE = {
@@ -1 +1 @@
1
- {"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../../src/application/policy-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-engine.js","sourceRoot":"","sources":["../../src/application/policy-engine.ts"],"names":[],"mappings":"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"}