@claude-flow/cli 3.10.17 → 3.10.18

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.
@@ -1 +1 @@
1
- {"version":3,"file":"neural-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/neural-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,YAAY,CAAC;AAgIzD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAcA;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB9C;AAoDD,eAAO,MAAM,WAAW,EAAE,OAAO,EAsnBhC,CAAC"}
1
+ {"version":3,"file":"neural-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/neural-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,YAAY,CAAC;AAoIzD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAcA;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyB9C;AAoDD,eAAO,MAAM,WAAW,EAAE,OAAO,EAgrBhC,CAAC"}
@@ -143,13 +143,15 @@ export async function storeNeuralPatterns(items) {
143
143
  for (const item of items) {
144
144
  if (!item.name || !item.type)
145
145
  continue;
146
- const embedding = await generateEmbedding(item.content ?? item.name);
146
+ const sourceText = item.content ?? item.name;
147
+ const embedding = await generateEmbedding(sourceText);
147
148
  const id = `pattern-${Date.now()}-${stored.toString(36)}-${Math.random().toString(36).slice(2, 6)}`;
148
149
  store.patterns[id] = {
149
150
  id,
150
151
  name: String(item.name).slice(0, 200),
151
152
  type: String(item.type).slice(0, 64),
152
153
  embedding,
154
+ content: typeof sourceText === 'string' ? sourceText.slice(0, 4096) : undefined,
153
155
  metadata: item.metadata ?? {},
154
156
  createdAt: new Date().toISOString(),
155
157
  usageCount: 0,
@@ -437,7 +439,12 @@ export const neuralTools = [
437
439
  patternId: { type: 'string', description: 'Pattern ID' },
438
440
  name: { type: 'string', description: 'Pattern name' },
439
441
  type: { type: 'string', description: 'Pattern type' },
442
+ content: { type: 'string', description: 'Pattern source text (used for BM25 in hybrid search; falls back to name)' },
440
443
  query: { type: 'string', description: 'Search query' },
444
+ limit: { type: 'number', description: 'Top-K results to return (default 10, max 100)' },
445
+ mode: { type: 'string', enum: ['hybrid', 'cosine'], description: 'Search mode — hybrid (cosine+BM25+MMR, default) or cosine (pre-3.10.18 behaviour, for A/B)' },
446
+ alpha: { type: 'number', description: 'Hybrid: cosine weight in [0,1]; (1-α) is BM25 weight (default 0.6)' },
447
+ mmrLambda: { type: 'number', description: 'Hybrid: MMR balance — 1.0 = pure relevance, 0.0 = pure diversity (default 0.5)' },
441
448
  data: { type: 'object', description: 'Pattern data' },
442
449
  },
443
450
  },
@@ -489,13 +496,15 @@ export const neuralTools = [
489
496
  if (action === 'store') {
490
497
  const patternId = `pattern-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
491
498
  const patternName = input.name || 'Unnamed pattern';
492
- // Generate embedding from pattern name/content
493
- const embedding = await generateEmbedding(patternName, 384);
499
+ const patternContent = input.content ?? patternName;
500
+ // Generate embedding from pattern content (falls back to name).
501
+ const embedding = await generateEmbedding(patternContent, 384);
494
502
  const pattern = {
495
503
  id: patternId,
496
504
  name: patternName,
497
505
  type: input.type || 'general',
498
506
  embedding,
507
+ content: typeof patternContent === 'string' ? patternContent.slice(0, 4096) : undefined,
499
508
  metadata: input.data || {},
500
509
  createdAt: new Date().toISOString(),
501
510
  usageCount: 0,
@@ -516,29 +525,74 @@ export const neuralTools = [
516
525
  }
517
526
  if (action === 'search') {
518
527
  const query = input.query;
519
- // Generate query embedding for real similarity search
528
+ const k = Math.min(Math.max(Number(input.limit ?? input.topK ?? 10), 1), 100);
529
+ // ADR-078 hybrid retrieval controls. Cosine-only mode preserves the
530
+ // pre-3.10.18 behaviour for A/B tests via {mode:'cosine'}; default is
531
+ // hybrid (cosine + BM25 + MMR).
532
+ const mode = String(input.mode ?? 'hybrid');
533
+ const alpha = Number(input.alpha ?? 0.6); // cosine weight; (1-α) is BM25
534
+ const mmrLambda = Number(input.mmrLambda ?? 0.5); // 1 = pure relevance, 0 = pure diversity
535
+ const { tokenize, buildCorpusStats, bm25Score, hybridScores, mmrRerank } = await import('../memory/hybrid-retrieval.js');
520
536
  const queryEmbedding = await generateEmbedding(query, 384);
521
- // Calculate REAL cosine similarity against stored patterns
522
- const results = Object.values(store.patterns)
523
- .map(p => ({
524
- ...p,
525
- similarity: cosineSimilarity(queryEmbedding, p.embedding),
526
- }))
527
- .sort((a, b) => b.similarity - a.similarity)
528
- .slice(0, 10);
537
+ const patterns = Object.values(store.patterns);
538
+ // Compute cosine for every pattern (this is what the old path did).
539
+ const cosineArr = patterns.map((p) => cosineSimilarity(queryEmbedding, p.embedding));
540
+ if (mode === 'cosine') {
541
+ const ranked = patterns
542
+ .map((p, i) => ({ ...p, similarity: cosineArr[i] }))
543
+ .sort((a, b) => b.similarity - a.similarity)
544
+ .slice(0, k);
545
+ return {
546
+ _realSimilarity: true,
547
+ _realEmbedding: !!realEmbeddings,
548
+ _embeddingSource: embeddingServiceName,
549
+ embeddingProvider: embeddingServiceName,
550
+ mode: 'cosine',
551
+ query,
552
+ results: ranked.map((r) => ({ id: r.id, name: r.name, type: r.type, similarity: r.similarity })),
553
+ total: ranked.length,
554
+ };
555
+ }
556
+ // Hybrid path — BM25 over the pattern's content (falls back to name
557
+ // for pre-3.10.18 patterns missing the field).
558
+ const docs = patterns.map((p) => tokenize(p.content ?? p.name));
559
+ const stats = buildCorpusStats(docs);
560
+ const queryTokens = tokenize(query);
561
+ const bm25Arr = docs.map((d) => bm25Score(queryTokens, d, stats));
562
+ const hybridArr = hybridScores(cosineArr, bm25Arr, alpha);
563
+ // MMR diversity over top-K*3 hybrid candidates → top-K final.
564
+ const prelim = patterns
565
+ .map((p, i) => ({ p, hybrid: hybridArr[i], cosine: cosineArr[i], bm25: bm25Arr[i] }))
566
+ .sort((a, b) => b.hybrid - a.hybrid)
567
+ .slice(0, Math.min(k * 3, patterns.length));
568
+ const mmrCandidates = prelim.map(({ p, hybrid, cosine, bm25 }) => ({
569
+ id: p.id, name: p.name, type: p.type,
570
+ embedding: p.embedding,
571
+ relevance: hybrid,
572
+ _cosine: cosine,
573
+ _bm25: bm25,
574
+ }));
575
+ const picked = mmrRerank(mmrCandidates, k, mmrLambda);
529
576
  return {
530
577
  _realSimilarity: true,
531
578
  _realEmbedding: !!realEmbeddings,
532
579
  _embeddingSource: embeddingServiceName,
533
580
  embeddingProvider: embeddingServiceName,
581
+ mode: 'hybrid',
582
+ alpha,
583
+ mmrLambda,
534
584
  query,
535
- results: results.map(r => ({
585
+ results: picked.map((r) => ({
536
586
  id: r.id,
537
587
  name: r.name,
538
588
  type: r.type,
539
- similarity: r.similarity,
589
+ similarity: r.relevance, // exposed as `similarity` for back-compat
590
+ hybridScore: r.relevance,
591
+ cosineScore: r._cosine,
592
+ bm25Score: r._bm25,
593
+ mmrScore: r.mmrScore,
540
594
  })),
541
- total: results.length,
595
+ total: picked.length,
542
596
  };
543
597
  }
544
598
  if (action === 'delete') {
@@ -1 +1 @@
1
- {"version":3,"file":"neural-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/neural-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neural-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/neural-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /** Tokenise text into lowercase content tokens (drops stopwords + length<3). */
2
+ export declare function tokenize(text: string): string[];
3
+ export interface CorpusStats {
4
+ /** docFreq: how many documents contain each token */
5
+ df: Map<string, number>;
6
+ /** idf: log((N - df + 0.5) / (df + 0.5) + 1) — BM25's smoothed IDF */
7
+ idf: Map<string, number>;
8
+ /** averageDocumentLength in tokens */
9
+ avgDocLen: number;
10
+ /** total docs in corpus */
11
+ N: number;
12
+ }
13
+ /** Build BM25 corpus statistics from a set of tokenised documents. */
14
+ export declare function buildCorpusStats(tokenisedDocs: string[][]): CorpusStats;
15
+ /**
16
+ * BM25 score of one document against a query.
17
+ * Standard Okapi formula with k1=1.5 and b=0.75.
18
+ */
19
+ export declare function bm25Score(queryTokens: string[], docTokens: string[], stats: CorpusStats, k1?: number, b?: number): number;
20
+ /**
21
+ * Min-max normalise a score vector to [0, 1].
22
+ * Returns the original vector if it is constant (avoid divide-by-zero).
23
+ */
24
+ export declare function normalise(scores: number[]): number[];
25
+ /**
26
+ * Combine cosine and BM25 scores. Both vectors must be aligned by docIndex.
27
+ * Returns hybridScores[] aligned to the same index.
28
+ * alpha controls the cosine weight; (1-alpha) is the BM25 weight.
29
+ */
30
+ export declare function hybridScores(cosine: number[], bm25: number[], alpha?: number): number[];
31
+ /**
32
+ * Cosine similarity between two equal-length numeric vectors.
33
+ * Returns 0 if either has zero norm.
34
+ */
35
+ export declare function cosineSim(a: number[], b: number[]): number;
36
+ /**
37
+ * Maximal Marginal Relevance rerank.
38
+ *
39
+ * Greedy selection: at each step pick the candidate that maximises
40
+ * lambda * relevance(c) - (1-lambda) * max(similarity(c, picked))
41
+ *
42
+ * lambda=1.0 → pure relevance (no diversity adjustment)
43
+ * lambda=0.0 → pure diversity
44
+ *
45
+ * Default lambda=0.5 balances both.
46
+ */
47
+ export declare function mmrRerank<T extends {
48
+ embedding: number[];
49
+ }>(candidates: Array<T & {
50
+ relevance: number;
51
+ }>, k: number, lambda?: number): Array<T & {
52
+ relevance: number;
53
+ mmrScore: number;
54
+ }>;
55
+ //# sourceMappingURL=hybrid-retrieval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybrid-retrieval.d.ts","sourceRoot":"","sources":["../../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"AAmBA,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAM/C;AAED,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,sEAAsE;IACtE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,CAAC,EAAE,MAAM,CAAC;CACX;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,WAAW,CAsBvE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,WAAW,EAClB,EAAE,SAAM,EACR,CAAC,SAAO,GACP,MAAM,CAqBR;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAUpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EAAE,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,SAAM,GACV,MAAM,EAAE,CAOV;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAU1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,EACzD,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EAC5C,CAAC,EAAE,MAAM,EACT,MAAM,SAAM,GACX,KAAK,CAAC,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BpD"}
@@ -0,0 +1,162 @@
1
+ // Hybrid retrieval — sparse (BM25) + dense (cosine) + MMR diversity.
2
+ //
3
+ // Why: on small corpora (N<1k) a bi-encoder like all-MiniLM-L6-v2 produces
4
+ // noisy cosine scores — random short commits with low-IDF token overlap can
5
+ // outrank exact-keyword matches. BM25 over the same text recovers the
6
+ // "did the query's content tokens actually appear?" signal. We linearly
7
+ // combine the two on normalised scores, then MMR-rerank to suppress
8
+ // near-duplicate top-K.
9
+ //
10
+ // Pure functions, no external deps. Tested via __tests__/hybrid-retrieval.test.ts
11
+ // and the live A/B in scripts/benchmark-pretrained-retrieval.mjs (HYBRID=0|1).
12
+ const STOPWORDS = new Set([
13
+ 'the', 'a', 'an', 'and', 'or', 'but', 'if', 'then', 'else', 'of', 'in', 'to', 'for', 'on', 'at',
14
+ 'by', 'with', 'from', 'is', 'are', 'was', 'were', 'be', 'been', 'being', 'have', 'has', 'had',
15
+ 'do', 'does', 'did', 'will', 'would', 'should', 'could', 'can', 'may', 'might', 'must', 'this',
16
+ 'that', 'these', 'those', 'it', 'its', 'as', 'also', 'not', 'no', 'so', 'too', 'very',
17
+ ]);
18
+ /** Tokenise text into lowercase content tokens (drops stopwords + length<3). */
19
+ export function tokenize(text) {
20
+ if (!text)
21
+ return [];
22
+ return text
23
+ .toLowerCase()
24
+ .split(/[^a-z0-9_\-/.]+/g)
25
+ .filter((t) => t.length >= 3 && !STOPWORDS.has(t));
26
+ }
27
+ /** Build BM25 corpus statistics from a set of tokenised documents. */
28
+ export function buildCorpusStats(tokenisedDocs) {
29
+ const N = tokenisedDocs.length;
30
+ const df = new Map();
31
+ let totalLen = 0;
32
+ for (const doc of tokenisedDocs) {
33
+ totalLen += doc.length;
34
+ const seen = new Set();
35
+ for (const tok of doc) {
36
+ if (seen.has(tok))
37
+ continue;
38
+ seen.add(tok);
39
+ df.set(tok, (df.get(tok) ?? 0) + 1);
40
+ }
41
+ }
42
+ const idf = new Map();
43
+ for (const [tok, dfVal] of df) {
44
+ // BM25 smoothed IDF — never negative, always > 0
45
+ idf.set(tok, Math.log(1 + (N - dfVal + 0.5) / (dfVal + 0.5)));
46
+ }
47
+ return { df, idf, avgDocLen: N > 0 ? totalLen / N : 0, N };
48
+ }
49
+ /**
50
+ * BM25 score of one document against a query.
51
+ * Standard Okapi formula with k1=1.5 and b=0.75.
52
+ */
53
+ export function bm25Score(queryTokens, docTokens, stats, k1 = 1.5, b = 0.75) {
54
+ if (queryTokens.length === 0 || docTokens.length === 0)
55
+ return 0;
56
+ // Term frequency in this document
57
+ const tf = new Map();
58
+ for (const tok of docTokens)
59
+ tf.set(tok, (tf.get(tok) ?? 0) + 1);
60
+ const docLen = docTokens.length;
61
+ const norm = docLen / (stats.avgDocLen || 1);
62
+ let score = 0;
63
+ for (const qt of queryTokens) {
64
+ const f = tf.get(qt);
65
+ if (!f)
66
+ continue;
67
+ const idf = stats.idf.get(qt) ?? 0;
68
+ if (idf === 0)
69
+ continue;
70
+ const numerator = f * (k1 + 1);
71
+ const denominator = f + k1 * (1 - b + b * norm);
72
+ score += idf * (numerator / denominator);
73
+ }
74
+ return score;
75
+ }
76
+ /**
77
+ * Min-max normalise a score vector to [0, 1].
78
+ * Returns the original vector if it is constant (avoid divide-by-zero).
79
+ */
80
+ export function normalise(scores) {
81
+ if (scores.length === 0)
82
+ return scores;
83
+ let lo = Infinity, hi = -Infinity;
84
+ for (const s of scores) {
85
+ if (s < lo)
86
+ lo = s;
87
+ if (s > hi)
88
+ hi = s;
89
+ }
90
+ const range = hi - lo;
91
+ if (range < 1e-9)
92
+ return scores.map(() => 0.5);
93
+ return scores.map((s) => (s - lo) / range);
94
+ }
95
+ /**
96
+ * Combine cosine and BM25 scores. Both vectors must be aligned by docIndex.
97
+ * Returns hybridScores[] aligned to the same index.
98
+ * alpha controls the cosine weight; (1-alpha) is the BM25 weight.
99
+ */
100
+ export function hybridScores(cosine, bm25, alpha = 0.6) {
101
+ if (cosine.length !== bm25.length) {
102
+ throw new Error('hybridScores: cosine and bm25 length mismatch');
103
+ }
104
+ const cN = normalise(cosine);
105
+ const bN = normalise(bm25);
106
+ return cN.map((c, i) => alpha * c + (1 - alpha) * bN[i]);
107
+ }
108
+ /**
109
+ * Cosine similarity between two equal-length numeric vectors.
110
+ * Returns 0 if either has zero norm.
111
+ */
112
+ export function cosineSim(a, b) {
113
+ if (a.length !== b.length)
114
+ return 0;
115
+ let dot = 0, na = 0, nb = 0;
116
+ for (let i = 0; i < a.length; i++) {
117
+ dot += a[i] * b[i];
118
+ na += a[i] * a[i];
119
+ nb += b[i] * b[i];
120
+ }
121
+ const denom = Math.sqrt(na) * Math.sqrt(nb);
122
+ return denom > 1e-9 ? dot / denom : 0;
123
+ }
124
+ /**
125
+ * Maximal Marginal Relevance rerank.
126
+ *
127
+ * Greedy selection: at each step pick the candidate that maximises
128
+ * lambda * relevance(c) - (1-lambda) * max(similarity(c, picked))
129
+ *
130
+ * lambda=1.0 → pure relevance (no diversity adjustment)
131
+ * lambda=0.0 → pure diversity
132
+ *
133
+ * Default lambda=0.5 balances both.
134
+ */
135
+ export function mmrRerank(candidates, k, lambda = 0.5) {
136
+ if (candidates.length === 0 || k === 0)
137
+ return [];
138
+ const picked = [];
139
+ const remaining = candidates.slice();
140
+ while (picked.length < k && remaining.length > 0) {
141
+ let bestIdx = 0;
142
+ let bestScore = -Infinity;
143
+ for (let i = 0; i < remaining.length; i++) {
144
+ const cand = remaining[i];
145
+ let maxSimToPicked = 0;
146
+ for (const p of picked) {
147
+ const s = cosineSim(cand.embedding, p.embedding);
148
+ if (s > maxSimToPicked)
149
+ maxSimToPicked = s;
150
+ }
151
+ const mmrScore = lambda * cand.relevance - (1 - lambda) * maxSimToPicked;
152
+ if (mmrScore > bestScore) {
153
+ bestScore = mmrScore;
154
+ bestIdx = i;
155
+ }
156
+ }
157
+ const chosen = remaining.splice(bestIdx, 1)[0];
158
+ picked.push({ ...chosen, mmrScore: bestScore });
159
+ }
160
+ return picked;
161
+ }
162
+ //# sourceMappingURL=hybrid-retrieval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybrid-retrieval.js","sourceRoot":"","sources":["../../../src/memory/hybrid-retrieval.ts"],"names":[],"mappings":"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"}