@jcode.labs/ragmir 4.0.0 → 4.1.0

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 (45) hide show
  1. package/dist/cli.js +4 -1
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +4 -1
  5. package/dist/config.js.map +1 -1
  6. package/dist/defaults.d.ts +1 -0
  7. package/dist/defaults.d.ts.map +1 -1
  8. package/dist/defaults.js +2 -0
  9. package/dist/defaults.js.map +1 -1
  10. package/dist/evaluate.d.ts.map +1 -1
  11. package/dist/evaluate.js +2 -1
  12. package/dist/evaluate.js.map +1 -1
  13. package/dist/index-diagnostics.d.ts +1 -5
  14. package/dist/index-diagnostics.d.ts.map +1 -1
  15. package/dist/index-diagnostics.js +3 -6
  16. package/dist/index-diagnostics.js.map +1 -1
  17. package/dist/mcp.d.ts +2 -1
  18. package/dist/mcp.d.ts.map +1 -1
  19. package/dist/mcp.js +10 -7
  20. package/dist/mcp.js.map +1 -1
  21. package/dist/parsing.js +1 -1
  22. package/dist/parsing.js.map +1 -1
  23. package/dist/portable-entry.js +1 -0
  24. package/dist/portable-entry.js.map +1 -1
  25. package/dist/portable.js +1 -0
  26. package/dist/portable.js.map +1 -1
  27. package/dist/quality-report.d.ts.map +1 -1
  28. package/dist/quality-report.js +1 -1
  29. package/dist/quality-report.js.map +1 -1
  30. package/dist/query.d.ts.map +1 -1
  31. package/dist/query.js +64 -94
  32. package/dist/query.js.map +1 -1
  33. package/dist/ranking.d.ts +3 -2
  34. package/dist/ranking.d.ts.map +1 -1
  35. package/dist/ranking.js +3 -2
  36. package/dist/ranking.js.map +1 -1
  37. package/dist/retrieval-diversity.d.ts +18 -0
  38. package/dist/retrieval-diversity.d.ts.map +1 -0
  39. package/dist/retrieval-diversity.js +86 -0
  40. package/dist/retrieval-diversity.js.map +1 -0
  41. package/dist/types.d.ts +7 -0
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/version.d.ts +1 -1
  44. package/dist/version.js +1 -1
  45. package/package.json +11 -11
package/dist/query.js CHANGED
@@ -11,15 +11,16 @@ import { indexFreshnessWarning } from "./index-diagnostics.js";
11
11
  import { operationSignal, throwIfAborted } from "./operation.js";
12
12
  import { sanitizeRetrievalQuery } from "./query-sanitizer.js";
13
13
  import { candidatePassesAbstention, queryEvidence, rankHybridRows, rankingPolicyFingerprint, rankingPolicyFor, tokensAreLexicallyRelated, } from "./ranking.js";
14
+ import { selectDiverseRows } from "./retrieval-diversity.js";
14
15
  import { closeIndexReadSnapshot, loadIndexReadSnapshot } from "./store.js";
15
16
  import { tokenize } from "./text.js";
16
17
  import { configureAdaptiveVectorQuery, vectorIndexManifestCompatible } from "./vector-index.js";
17
18
  import { runWorkload } from "./workload.js";
18
19
  const VECTOR_CANDIDATE_POLICY = {
19
- fast: { minimum: 40, multiplier: 3, maxChunksPerSource: 1 },
20
- balanced: { minimum: 80, multiplier: 4, maxChunksPerSource: 2 },
21
- quality: { minimum: 200, multiplier: 8, maxChunksPerSource: 4 },
22
- custom: { minimum: 80, multiplier: 4, maxChunksPerSource: 2 },
20
+ fast: { minimum: 40, multiplier: 3 },
21
+ balanced: { minimum: 80, multiplier: 4 },
22
+ quality: { minimum: 200, multiplier: 8 },
23
+ custom: { minimum: 80, multiplier: 4 },
23
24
  };
24
25
  const LEXICAL_CANDIDATE_POLICY = {
25
26
  fast: { minimum: 100, multiplier: 10 },
@@ -28,6 +29,7 @@ const LEXICAL_CANDIDATE_POLICY = {
28
29
  custom: { minimum: 250, multiplier: 20 },
29
30
  };
30
31
  const MAX_CONTEXT_RADIUS = 3;
32
+ const DIVERSITY_CANDIDATE_MULTIPLIER = 4;
31
33
  const MAX_VECTOR_CANDIDATES = 1_000;
32
34
  const MAX_LEXICAL_CANDIDATES = 4_000;
33
35
  const FULL_TEXT_INDEX_NAME = "searchText_idx";
@@ -86,6 +88,8 @@ export async function searchWithConfig(query, options, config, connection, activ
86
88
  async function searchWithinGeneration(query, options, config, snapshot, activeSignal, workloadQueueMs = 0) {
87
89
  const signal = activeSignal ?? operationSignal(options);
88
90
  const topK = normalizeTopK(options.topK ?? config.topK);
91
+ const maxChunksPerDocument = normalizeMaxChunksPerDocument(options.maxChunksPerDocument ?? config.maxChunksPerDocument);
92
+ const candidateDemand = diversityCandidateDemand(topK, maxChunksPerDocument);
89
93
  const defaultContextRadius = config.retrievalProfile === "quality" ? 1 : 0;
90
94
  const contextRadius = normalizeContextRadius(options.contextRadius ?? defaultContextRadius);
91
95
  throwIfAborted(signal);
@@ -108,10 +112,10 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
108
112
  embeddingQueueMs = queueTimeMs;
109
113
  }),
110
114
  lexicalCandidateRows(table, sanitized.query, {
111
- ftsLimit: lexicalCandidateLimit(topK, config.retrievalProfile),
112
- fallbackLimit: config.hybridTextScanLimit,
115
+ ftsLimit: lexicalCandidateLimit(candidateDemand, config.retrievalProfile),
116
+ fallbackBatchSize: config.hybridTextScanLimit,
113
117
  indexedChunkCount: snapshot.manifest?.chunkCount ?? 0,
114
- minimumResults: topK,
118
+ minimumResults: candidateDemand,
115
119
  pathPredicate: retrievalPredicate,
116
120
  }),
117
121
  ]);
@@ -121,14 +125,19 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
121
125
  const vectorRows = (await (retrievalPredicate
122
126
  ? vectorQuery.where(retrievalPredicate)
123
127
  : vectorQuery)
124
- .limit(vectorCandidateLimit(topK, config.retrievalProfile))
128
+ .limit(vectorCandidateLimit(candidateDemand, config.retrievalProfile))
125
129
  .toArray());
126
130
  throwIfAborted(signal);
127
- const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile);
131
+ const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile, maxChunksPerDocument);
128
132
  const rankedRows = rankHybridRows(sanitized.query, vectorRows, lexicalCandidates.rows, rankingPolicy);
129
133
  const relevantRows = rankedRows.filter((ranked) => lexicalCandidates.exactPathMatches.has(rowKey(ranked.row)) ||
130
134
  candidatePassesAbstention(evidence, ranked.row, rankingPolicy));
131
- const rows = diversifyRows(relevantRows, topK, config.retrievalProfile, lexicalCandidates.exactPathMatches);
135
+ const diversity = selectDiverseRows(relevantRows, {
136
+ topK,
137
+ maxChunksPerDocument,
138
+ isExactPathMatch: (row) => lexicalCandidates.exactPathMatches.has(rowKey(row)),
139
+ });
140
+ const rows = diversity.rows;
132
141
  const contextByRow = await contextChunksByRow(table, rows, contextRadius, retrievalPredicate);
133
142
  throwIfAborted(signal);
134
143
  const results = rows.map((row) => {
@@ -169,6 +178,10 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
169
178
  lexicalIndexedRows: lexicalCandidates.indexedRows,
170
179
  lexicalUnindexedRows: lexicalCandidates.unindexedRows,
171
180
  lexicalCoverage: lexicalCandidates.coverage,
181
+ lexicalScanBatches: lexicalCandidates.scanBatches,
182
+ diversityStrategy: "document-cap",
183
+ maxChunksPerDocument,
184
+ diversityBackfillActivated: diversity.backfillActivated,
172
185
  workloadQueueMs: workloadQueueMs + embeddingQueueMs,
173
186
  rankingPolicyFingerprint: rankingPolicyFingerprint(rankingPolicy),
174
187
  matchedTerms: matchedQueryTerms(config.projectRoot, queryTokens, row.row.searchText),
@@ -185,79 +198,6 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
185
198
  });
186
199
  return results;
187
200
  }
188
- function diversifyRows(rows, topK, profile, exactPathMatches) {
189
- const uniqueRows = [];
190
- const textIndexes = new Map();
191
- for (const row of rows) {
192
- const textKey = row.row.text.replace(/\s+/gu, " ").trim().toLowerCase();
193
- const existingIndex = textIndexes.get(textKey);
194
- if (existingIndex === undefined) {
195
- textIndexes.set(textKey, uniqueRows.length);
196
- uniqueRows.push(row);
197
- continue;
198
- }
199
- const existing = uniqueRows[existingIndex];
200
- const existingIsExact = existing ? exactPathMatches.has(rowKey(existing.row)) : false;
201
- const candidateIsExact = exactPathMatches.has(rowKey(row.row));
202
- if (existing &&
203
- (candidateIsExact !== existingIsExact
204
- ? candidateIsExact
205
- : preferCanonicalPath(row.row.relativePath, existing.row.relativePath))) {
206
- uniqueRows[existingIndex] = row;
207
- }
208
- }
209
- const selected = [];
210
- const selectedKeys = new Set();
211
- const perSource = new Map();
212
- const maxChunksPerSource = VECTOR_CANDIDATE_POLICY[profile].maxChunksPerSource;
213
- const appendRow = (row, enforceSourceCap) => {
214
- const key = rowKey(row.row);
215
- if (selectedKeys.has(key)) {
216
- return;
217
- }
218
- if (selected.some((candidate) => overlapsSourceSpan(candidate.row, row.row))) {
219
- return;
220
- }
221
- const sourceCount = perSource.get(row.row.relativePath) ?? 0;
222
- if (enforceSourceCap && sourceCount >= maxChunksPerSource) {
223
- return;
224
- }
225
- selected.push(row);
226
- selectedKeys.add(key);
227
- perSource.set(row.row.relativePath, sourceCount + 1);
228
- };
229
- for (const row of uniqueRows) {
230
- appendRow(row, true);
231
- if (selected.length >= topK) {
232
- return selected;
233
- }
234
- }
235
- for (const row of uniqueRows) {
236
- appendRow(row, false);
237
- if (selected.length >= topK) {
238
- break;
239
- }
240
- }
241
- return selected;
242
- }
243
- function overlapsSourceSpan(left, right) {
244
- if (left.relativePath !== right.relativePath) {
245
- return false;
246
- }
247
- if (typeof left.charStart !== "number" ||
248
- typeof left.charEnd !== "number" ||
249
- typeof right.charStart !== "number" ||
250
- typeof right.charEnd !== "number") {
251
- return false;
252
- }
253
- return left.charStart < right.charEnd && right.charStart < left.charEnd;
254
- }
255
- function preferCanonicalPath(candidate, current) {
256
- const candidateDepth = candidate.split("/").length;
257
- const currentDepth = current.split("/").length;
258
- return (candidateDepth < currentDepth ||
259
- (candidateDepth === currentDepth && candidate.length < current.length));
260
- }
261
201
  export function vectorCandidateLimit(topK, profile = "balanced") {
262
202
  const policy = VECTOR_CANDIDATE_POLICY[profile];
263
203
  return Math.min(MAX_VECTOR_CANDIDATES, Math.max(policy.minimum, topK * policy.multiplier));
@@ -447,6 +387,7 @@ async function lexicalCandidateRows(table, query, options) {
447
387
  indexedRows,
448
388
  unindexedRows,
449
389
  coverage: coveredRows === 0 ? 1 : indexedRows / coveredRows,
390
+ scanBatches: 0,
450
391
  };
451
392
  }
452
393
  catch {
@@ -454,29 +395,45 @@ async function lexicalCandidateRows(table, query, options) {
454
395
  // A complete bounded scan remains safe for small or explicitly bounded corpora.
455
396
  }
456
397
  }
457
- if (options.fallbackLimit < options.indexedChunkCount) {
458
- throw new RagmirError("INDEX_UNAVAILABLE", `Full-text search is unavailable and the fallback limit would scan only ${options.fallbackLimit} of ${options.indexedChunkCount} chunks. Run \`rgr storage optimize\` or rebuild the index before searching.`, { retryable: true });
459
- }
460
- const fallbackQuery = table.query().select(SEARCH_COLUMNS);
461
- const rows = (await (options.pathPredicate
462
- ? fallbackQuery.where(options.pathPredicate)
463
- : fallbackQuery)
464
- .limit(options.fallbackLimit)
465
- .toArray());
398
+ const fallback = await scanFallbackRows(table, options.fallbackBatchSize, options.pathPredicate);
399
+ const rows = fallback.rows;
466
400
  return {
467
401
  rows,
468
402
  exactPathMatches: new Set(),
469
403
  backend: "fallback",
470
404
  fallbackActivated: true,
471
405
  fallbackReason,
472
- candidateLimit: options.fallbackLimit,
406
+ candidateLimit: Math.max(options.indexedChunkCount, rows.length),
473
407
  candidatesMaterialized: rows.length,
474
408
  queryVariants: 0,
475
409
  indexedRows: 0,
476
410
  unindexedRows: options.indexedChunkCount,
477
- coverage: options.indexedChunkCount === 0 ? 1 : Math.min(1, rows.length / options.indexedChunkCount),
411
+ coverage: 1,
412
+ scanBatches: fallback.batches,
478
413
  };
479
414
  }
415
+ async function scanFallbackRows(table, batchSize, pathPredicate) {
416
+ const rows = [];
417
+ let offset = 0;
418
+ let batches = 0;
419
+ while (true) {
420
+ const query = table.query().select(SEARCH_COLUMNS);
421
+ const batch = (await (pathPredicate ? query.where(pathPredicate) : query)
422
+ .offset(offset)
423
+ .limit(batchSize)
424
+ .toArray());
425
+ if (batch.length === 0) {
426
+ break;
427
+ }
428
+ rows.push(...batch);
429
+ batches += 1;
430
+ offset += batch.length;
431
+ if (batch.length < batchSize) {
432
+ break;
433
+ }
434
+ }
435
+ return { rows, batches };
436
+ }
480
437
  async function executeFullTextQuery(table, query, limit, pathPredicate) {
481
438
  const searchQuery = table.search(query, "fts", "searchText").select(FTS_SEARCH_COLUMNS);
482
439
  return (await (pathPredicate ? searchQuery.where(pathPredicate) : searchQuery)
@@ -680,6 +637,19 @@ function normalizeTopK(topK) {
680
637
  }
681
638
  return topK;
682
639
  }
640
+ function normalizeMaxChunksPerDocument(maxChunksPerDocument) {
641
+ if (!Number.isSafeInteger(maxChunksPerDocument) || maxChunksPerDocument <= 0) {
642
+ throw new RagmirError("INVALID_ARGUMENT", "maxChunksPerDocument must be a positive integer.");
643
+ }
644
+ if (maxChunksPerDocument > MAX_SEARCH_TOP_K) {
645
+ throw new RagmirError("INVALID_ARGUMENT", `maxChunksPerDocument must be at most ${MAX_SEARCH_TOP_K}.`);
646
+ }
647
+ return maxChunksPerDocument;
648
+ }
649
+ function diversityCandidateDemand(topK, maxChunksPerDocument) {
650
+ const multiplier = Math.max(1, Math.ceil(DIVERSITY_CANDIDATE_MULTIPLIER / maxChunksPerDocument));
651
+ return topK * multiplier;
652
+ }
683
653
  function citationForRow(row) {
684
654
  return citationForCoordinates(row);
685
655
  }
package/dist/query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
package/dist/ranking.d.ts CHANGED
@@ -16,9 +16,10 @@ export interface RankedRow<Row extends RankingRow = RankingRow> {
16
16
  lexicalBackendScore: number | null;
17
17
  }
18
18
  export interface RankingPolicy {
19
- version: 2;
19
+ version: 3;
20
20
  embeddingProvider: EmbeddingProvider;
21
21
  retrievalProfile: RetrievalProfile;
22
+ maxChunksPerDocument: number;
22
23
  rrfK: number;
23
24
  vectorWeight: number;
24
25
  lexicalWeight: number;
@@ -29,7 +30,7 @@ export interface QueryEvidence {
29
30
  tokens: string[];
30
31
  anchors: string[];
31
32
  }
32
- export declare function rankingPolicyFor(embeddingProvider: EmbeddingProvider, retrievalProfile: RetrievalProfile): RankingPolicy;
33
+ export declare function rankingPolicyFor(embeddingProvider: EmbeddingProvider, retrievalProfile: RetrievalProfile, maxChunksPerDocument: number): RankingPolicy;
33
34
  export declare function rankingPolicyFingerprint(policy: RankingPolicy): string;
34
35
  export declare function queryEvidence(query: string): QueryEvidence;
35
36
  export declare function rankHybridRows<Row extends RankingRow>(query: string, vectorRows: Row[], textRows: Row[], policy: RankingPolicy): Array<RankedRow<Row>>;
@@ -1 +1 @@
1
- {"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAErE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC5D,GAAG,EAAE,GAAG,CAAA;IACR,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAA;IACV,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAYD,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,GACjC,aAAa,CAWf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEtE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAe1D;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAS,UAAU,EACnD,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,GAAG,EAAE,EACjB,QAAQ,EAAE,GAAG,EAAE,EACf,MAAM,EAAE,aAAa,GACpB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CA6CvB;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,aAAa,GAAG,MAAM,EACvC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAWT;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBxF"}
1
+ {"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAErE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC5D,GAAG,EAAE,GAAG,CAAA;IACR,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAA;IACV,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,oBAAoB,EAAE,MAAM,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAYD,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,MAAM,GAC3B,aAAa,CAYf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEtE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAe1D;AAED,wBAAgB,cAAc,CAAC,GAAG,SAAS,UAAU,EACnD,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,GAAG,EAAE,EACjB,QAAQ,EAAE,GAAG,EAAE,EACf,MAAM,EAAE,aAAa,GACpB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CA6CvB;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,aAAa,GAAG,MAAM,EACvC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAWT;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBxF"}
package/dist/ranking.js CHANGED
@@ -9,11 +9,12 @@ const MIN_FUZZY_TOKEN_LENGTH = 7;
9
9
  const MIN_TRIGRAM_DICE_SIMILARITY = 0.5;
10
10
  const TRANSFORMERS_MAXIMUM_VECTOR_DISTANCE = 1.1;
11
11
  const IDENTIFIER_PATTERN = /[\p{L}\p{N}]+(?:[-_][\p{L}\p{N}]+)+/gu;
12
- export function rankingPolicyFor(embeddingProvider, retrievalProfile) {
12
+ export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksPerDocument) {
13
13
  return {
14
- version: 2,
14
+ version: 3,
15
15
  embeddingProvider,
16
16
  retrievalProfile,
17
+ maxChunksPerDocument,
17
18
  rrfK: RRF_K,
18
19
  vectorWeight: RRF_VECTOR_WEIGHT,
19
20
  lexicalWeight: RRF_LEXICAL_WEIGHT,
@@ -1 +1 @@
1
- {"version":3,"file":"ranking.js","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ranking.js","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { RankedRow, RankingRow } from "./ranking.js";
2
+ interface DiversifiableRow extends RankingRow {
3
+ text: string;
4
+ charStart?: number;
5
+ charEnd?: number;
6
+ }
7
+ export interface DocumentDiversityOptions<Row extends DiversifiableRow> {
8
+ topK: number;
9
+ maxChunksPerDocument: number;
10
+ isExactPathMatch?: (row: Row) => boolean;
11
+ }
12
+ export interface DocumentDiversityResult<Row extends DiversifiableRow> {
13
+ rows: Array<RankedRow<Row>>;
14
+ backfillActivated: boolean;
15
+ }
16
+ export declare function selectDiverseRows<Row extends DiversifiableRow>(rows: Array<RankedRow<Row>>, options: DocumentDiversityOptions<Row>): DocumentDiversityResult<Row>;
17
+ export {};
18
+ //# sourceMappingURL=retrieval-diversity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-diversity.d.ts","sourceRoot":"","sources":["../src/retrieval-diversity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzD,UAAU,gBAAiB,SAAQ,UAAU;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,wBAAwB,CAAC,GAAG,SAAS,gBAAgB;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAA;CACzC;AAED,MAAM,WAAW,uBAAuB,CAAC,GAAG,SAAS,gBAAgB;IACnE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAC3B,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,gBAAgB,EAC5D,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAC3B,OAAO,EAAE,wBAAwB,CAAC,GAAG,CAAC,GACrC,uBAAuB,CAAC,GAAG,CAAC,CA0C9B"}
@@ -0,0 +1,86 @@
1
+ export function selectDiverseRows(rows, options) {
2
+ const uniqueRows = deduplicateText(rows, options.isExactPathMatch);
3
+ const selected = [];
4
+ const selectedKeys = new Set();
5
+ const perDocument = new Map();
6
+ const appendRow = (row, enforceDocumentCap) => {
7
+ const key = rowKey(row.row);
8
+ if (selectedKeys.has(key)) {
9
+ return false;
10
+ }
11
+ if (selected.some((candidate) => overlapsDocumentSpan(candidate.row, row.row))) {
12
+ return false;
13
+ }
14
+ const documentCount = perDocument.get(row.row.relativePath) ?? 0;
15
+ if (enforceDocumentCap && documentCount >= options.maxChunksPerDocument) {
16
+ return false;
17
+ }
18
+ selected.push(row);
19
+ selectedKeys.add(key);
20
+ perDocument.set(row.row.relativePath, documentCount + 1);
21
+ return true;
22
+ };
23
+ for (const row of uniqueRows) {
24
+ appendRow(row, true);
25
+ if (selected.length >= options.topK) {
26
+ return { rows: selected, backfillActivated: false };
27
+ }
28
+ }
29
+ let backfillActivated = false;
30
+ for (const row of uniqueRows) {
31
+ if (appendRow(row, false)) {
32
+ backfillActivated = true;
33
+ }
34
+ if (selected.length >= options.topK) {
35
+ break;
36
+ }
37
+ }
38
+ return { rows: selected, backfillActivated };
39
+ }
40
+ function deduplicateText(rows, isExactPathMatch) {
41
+ const uniqueRows = [];
42
+ const textIndexes = new Map();
43
+ for (const row of rows) {
44
+ const textKey = row.row.text.replace(/\s+/gu, " ").trim().toLowerCase();
45
+ const existingIndex = textIndexes.get(textKey);
46
+ if (existingIndex === undefined) {
47
+ textIndexes.set(textKey, uniqueRows.length);
48
+ uniqueRows.push(row);
49
+ continue;
50
+ }
51
+ const existing = uniqueRows[existingIndex];
52
+ if (!existing) {
53
+ continue;
54
+ }
55
+ const existingIsExact = isExactPathMatch?.(existing.row) ?? false;
56
+ const candidateIsExact = isExactPathMatch?.(row.row) ?? false;
57
+ if (candidateIsExact !== existingIsExact
58
+ ? candidateIsExact
59
+ : preferCanonicalPath(row.row.relativePath, existing.row.relativePath)) {
60
+ uniqueRows[existingIndex] = row;
61
+ }
62
+ }
63
+ return uniqueRows;
64
+ }
65
+ function overlapsDocumentSpan(left, right) {
66
+ if (left.relativePath !== right.relativePath) {
67
+ return false;
68
+ }
69
+ if (typeof left.charStart !== "number" ||
70
+ typeof left.charEnd !== "number" ||
71
+ typeof right.charStart !== "number" ||
72
+ typeof right.charEnd !== "number") {
73
+ return false;
74
+ }
75
+ return left.charStart < right.charEnd && right.charStart < left.charEnd;
76
+ }
77
+ function preferCanonicalPath(candidate, current) {
78
+ const candidateDepth = candidate.split("/").length;
79
+ const currentDepth = current.split("/").length;
80
+ return (candidateDepth < currentDepth ||
81
+ (candidateDepth === currentDepth && candidate.length < current.length));
82
+ }
83
+ function rowKey(row) {
84
+ return `${row.relativePath}\0${row.chunkIndex}`;
85
+ }
86
+ //# sourceMappingURL=retrieval-diversity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-diversity.js","sourceRoot":"","sources":["../src/retrieval-diversity.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,iBAAiB,CAC/B,IAA2B,EAC3B,OAAsC;IAEtC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClE,MAAM,QAAQ,GAA0B,EAAE,CAAA;IAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE7C,MAAM,SAAS,GAAG,CAAC,GAAmB,EAAE,kBAA2B,EAAW,EAAE;QAC9E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/E,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAChE,IAAI,kBAAkB,IAAI,aAAa,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACxE,OAAO,KAAK,CAAA;QACd,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACrB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,GAAG,CAAC,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACpB,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAA;QACrD,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,GAAG,KAAK,CAAA;IAC7B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC1B,iBAAiB,GAAG,IAAI,CAAA;QAC1B,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACpC,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,eAAe,CACtB,IAA2B,EAC3B,gBAAqD;IAErD,MAAM,UAAU,GAA0B,EAAE,CAAA;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAE7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACvE,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;YAC3C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpB,SAAQ;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAQ;QACV,CAAC;QACD,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAA;QACjE,MAAM,gBAAgB,GAAG,gBAAgB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAA;QAC7D,IACE,gBAAgB,KAAK,eAAe;YAClC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EACxE,CAAC;YACD,UAAU,CAAC,aAAa,CAAC,GAAG,GAAG,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAsB,EAAE,KAAuB;IAC3E,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IACE,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;QAClC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAChC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAA;AACzE,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,OAAe;IAC7D,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAC9C,OAAO,CACL,cAAc,GAAG,YAAY;QAC7B,CAAC,cAAc,KAAK,YAAY,IAAI,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CACvE,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAC,GAAe;IAC7B,OAAO,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,UAAU,EAAE,CAAA;AACjD,CAAC"}