@jcode.labs/ragmir 4.0.0 → 4.2.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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +4 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +4 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/defaults.d.ts +1 -0
  8. package/dist/defaults.d.ts.map +1 -1
  9. package/dist/defaults.js +2 -0
  10. package/dist/defaults.js.map +1 -1
  11. package/dist/embeddings.d.ts.map +1 -1
  12. package/dist/embeddings.js +19 -9
  13. package/dist/embeddings.js.map +1 -1
  14. package/dist/evaluate.d.ts.map +1 -1
  15. package/dist/evaluate.js +5 -3
  16. package/dist/evaluate.js.map +1 -1
  17. package/dist/index-diagnostics.d.ts +1 -5
  18. package/dist/index-diagnostics.d.ts.map +1 -1
  19. package/dist/index-diagnostics.js +3 -6
  20. package/dist/index-diagnostics.js.map +1 -1
  21. package/dist/mcp.d.ts +2 -1
  22. package/dist/mcp.d.ts.map +1 -1
  23. package/dist/mcp.js +12 -9
  24. package/dist/mcp.js.map +1 -1
  25. package/dist/parsing.js +1 -1
  26. package/dist/parsing.js.map +1 -1
  27. package/dist/portable-entry.js +1 -0
  28. package/dist/portable-entry.js.map +1 -1
  29. package/dist/portable.js +1 -0
  30. package/dist/portable.js.map +1 -1
  31. package/dist/quality-report.d.ts.map +1 -1
  32. package/dist/quality-report.js +1 -1
  33. package/dist/quality-report.js.map +1 -1
  34. package/dist/query.d.ts.map +1 -1
  35. package/dist/query.js +150 -123
  36. package/dist/query.js.map +1 -1
  37. package/dist/ranking.d.ts +3 -2
  38. package/dist/ranking.d.ts.map +1 -1
  39. package/dist/ranking.js +3 -2
  40. package/dist/ranking.js.map +1 -1
  41. package/dist/research.d.ts +5 -0
  42. package/dist/research.d.ts.map +1 -1
  43. package/dist/research.js +77 -1
  44. package/dist/research.js.map +1 -1
  45. package/dist/retrieval-diversity.d.ts +18 -0
  46. package/dist/retrieval-diversity.d.ts.map +1 -0
  47. package/dist/retrieval-diversity.js +95 -0
  48. package/dist/retrieval-diversity.js.map +1 -0
  49. package/dist/setup-prompt.d.ts +1 -1
  50. package/dist/setup-prompt.d.ts.map +1 -1
  51. package/dist/setup-prompt.js +1 -1
  52. package/dist/types.d.ts +13 -2
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/version.d.ts +1 -1
  55. package/dist/version.js +1 -1
  56. package/package.json +15 -15
package/dist/query.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { channel } from "node:diagnostics_channel";
2
- import { MatchQuery, Operator, PhraseQuery, } from "@lancedb/lancedb";
2
+ import { BooleanQuery, MatchQuery, Occur, Operator, PhraseQuery, } from "@lancedb/lancedb";
3
3
  import { flushAccessLog, recordAccess } from "./access-log.js";
4
4
  import { citationForCoordinates, stripCitationCoordinates } from "./citation.js";
5
5
  import { loadConfig } from "./config.js";
@@ -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);
@@ -103,32 +107,50 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
103
107
  }
104
108
  const retrievalPredicate = searchPredicate(options.includePaths, options.excludePaths, options.contextPaths);
105
109
  let embeddingQueueMs = 0;
106
- const [vector, lexicalCandidates] = await Promise.all([
107
- embedText(sanitized.query, config, signal, ({ queueTimeMs }) => {
108
- embeddingQueueMs = queueTimeMs;
109
- }),
110
- lexicalCandidateRows(table, sanitized.query, {
111
- ftsLimit: lexicalCandidateLimit(topK, config.retrievalProfile),
112
- fallbackLimit: config.hybridTextScanLimit,
113
- indexedChunkCount: snapshot.manifest?.chunkCount ?? 0,
114
- minimumResults: topK,
115
- pathPredicate: retrievalPredicate,
116
- }),
110
+ const lexicalCandidatesPromise = lexicalCandidateRows(table, sanitized.query, {
111
+ ftsLimit: lexicalCandidateLimit(candidateDemand, config.retrievalProfile),
112
+ fallbackBatchSize: config.hybridTextScanLimit,
113
+ indexedChunkCount: snapshot.manifest?.chunkCount ?? 0,
114
+ minimumResults: candidateDemand,
115
+ pathPredicate: retrievalPredicate,
116
+ ...(signal === undefined ? {} : { signal }),
117
+ });
118
+ const vectorRowsPromise = embedText(sanitized.query, config, signal, ({ queueTimeMs }) => {
119
+ embeddingQueueMs = queueTimeMs;
120
+ }).then(async (vector) => {
121
+ throwIfAborted(signal);
122
+ const manifest = assertVectorIndexCompatibility(config, snapshot.manifest, vector.length);
123
+ const vectorQuery = configureAdaptiveVectorQuery(table.vectorSearch(vector).select(VECTOR_SEARCH_COLUMNS), manifest.vectorIndex, options.vectorSearchMode === "exact");
124
+ return (await (retrievalPredicate ? vectorQuery.where(retrievalPredicate) : vectorQuery)
125
+ .limit(vectorCandidateLimit(candidateDemand, config.retrievalProfile))
126
+ .toArray());
127
+ });
128
+ const [vectorRowsOutcome, lexicalCandidatesOutcome] = await Promise.allSettled([
129
+ vectorRowsPromise,
130
+ lexicalCandidatesPromise,
117
131
  ]);
132
+ if (vectorRowsOutcome.status === "rejected") {
133
+ throw vectorRowsOutcome.reason;
134
+ }
135
+ if (lexicalCandidatesOutcome.status === "rejected") {
136
+ throw lexicalCandidatesOutcome.reason;
137
+ }
138
+ const vectorRows = vectorRowsOutcome.value;
139
+ const lexicalCandidates = lexicalCandidatesOutcome.value;
118
140
  throwIfAborted(signal);
119
- const manifest = assertVectorIndexCompatibility(config, snapshot.manifest, vector.length);
120
- const vectorQuery = configureAdaptiveVectorQuery(table.vectorSearch(vector).select(VECTOR_SEARCH_COLUMNS), manifest.vectorIndex, options.vectorSearchMode === "exact");
121
- const vectorRows = (await (retrievalPredicate
122
- ? vectorQuery.where(retrievalPredicate)
123
- : vectorQuery)
124
- .limit(vectorCandidateLimit(topK, config.retrievalProfile))
125
- .toArray());
126
- throwIfAborted(signal);
127
- const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile);
141
+ const rankingPolicy = rankingPolicyFor(config.embeddingProvider, config.retrievalProfile, maxChunksPerDocument);
128
142
  const rankedRows = rankHybridRows(sanitized.query, vectorRows, lexicalCandidates.rows, rankingPolicy);
129
- const relevantRows = rankedRows.filter((ranked) => lexicalCandidates.exactPathMatches.has(rowKey(ranked.row)) ||
130
- candidatePassesAbstention(evidence, ranked.row, rankingPolicy));
131
- const rows = diversifyRows(relevantRows, topK, config.retrievalProfile, lexicalCandidates.exactPathMatches);
143
+ const isExactPathMatch = (row) => lexicalCandidates.exactPathMatches.has(rowKey(row));
144
+ const relevantRows = rankedRows
145
+ .filter((ranked) => isExactPathMatch(ranked.row) ||
146
+ candidatePassesAbstention(evidence, ranked.row, rankingPolicy))
147
+ .sort((left, right) => Number(isExactPathMatch(right.row)) - Number(isExactPathMatch(left.row)));
148
+ const diversity = selectDiverseRows(relevantRows, {
149
+ topK,
150
+ maxChunksPerDocument,
151
+ isExactPathMatch,
152
+ });
153
+ const rows = diversity.rows;
132
154
  const contextByRow = await contextChunksByRow(table, rows, contextRadius, retrievalPredicate);
133
155
  throwIfAborted(signal);
134
156
  const results = rows.map((row) => {
@@ -169,6 +191,10 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
169
191
  lexicalIndexedRows: lexicalCandidates.indexedRows,
170
192
  lexicalUnindexedRows: lexicalCandidates.unindexedRows,
171
193
  lexicalCoverage: lexicalCandidates.coverage,
194
+ lexicalScanBatches: lexicalCandidates.scanBatches,
195
+ diversityStrategy: "document-cap",
196
+ maxChunksPerDocument,
197
+ diversityBackfillActivated: diversity.backfillActivated,
172
198
  workloadQueueMs: workloadQueueMs + embeddingQueueMs,
173
199
  rankingPolicyFingerprint: rankingPolicyFingerprint(rankingPolicy),
174
200
  matchedTerms: matchedQueryTerms(config.projectRoot, queryTokens, row.row.searchText),
@@ -185,79 +211,6 @@ async function searchWithinGeneration(query, options, config, snapshot, activeSi
185
211
  });
186
212
  return results;
187
213
  }
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
214
  export function vectorCandidateLimit(topK, profile = "balanced") {
262
215
  const policy = VECTOR_CANDIDATE_POLICY[profile];
263
216
  return Math.min(MAX_VECTOR_CANDIDATES, Math.max(policy.minimum, topK * policy.multiplier));
@@ -386,16 +339,19 @@ function retrievalOnlyAnswer(sources) {
386
339
  ].join("\n");
387
340
  }
388
341
  async function lexicalCandidateRows(table, query, options) {
342
+ throwIfAborted(options.signal);
389
343
  const ftsQueries = lexicalQuery(query);
390
344
  const stats = await table.indexStats(FULL_TEXT_INDEX_NAME).catch(() => undefined);
345
+ const sourcePathQuery = sourcePathPredicateForQuery(query);
346
+ throwIfAborted(options.signal);
391
347
  let fallbackReason = "fts-index-unavailable";
392
348
  if (ftsQueries && stats) {
393
349
  try {
394
- const sourcePathQuery = sourcePathPredicateForQuery(query);
395
350
  const sourcePathRows = sourcePathQuery
396
351
  ? await executeSourcePathQuery(table, sourcePathQuery, options.ftsLimit, options.pathPredicate)
397
352
  : [];
398
353
  const primaryRows = await executeFullTextQuery(table, ftsQueries.primary, options.ftsLimit, options.pathPredicate);
354
+ throwIfAborted(options.signal);
399
355
  const rows = [];
400
356
  const initialRows = [...sourcePathRows, ...primaryRows];
401
357
  const seenRows = new Set();
@@ -409,7 +365,9 @@ async function lexicalCandidateRows(table, query, options) {
409
365
  let executedVariants = 1 + Number(sourcePathQuery !== null);
410
366
  if (rows.length < options.minimumResults) {
411
367
  for (const supplementalQuery of ftsQueries.supplemental) {
368
+ throwIfAborted(options.signal);
412
369
  const supplementalRows = await executeFullTextQuery(table, supplementalQuery, options.ftsLimit, options.pathPredicate).catch(() => []);
370
+ throwIfAborted(options.signal);
413
371
  executedVariants += 1;
414
372
  for (const row of supplementalRows) {
415
373
  const key = rowKey(row);
@@ -447,6 +405,7 @@ async function lexicalCandidateRows(table, query, options) {
447
405
  indexedRows,
448
406
  unindexedRows,
449
407
  coverage: coveredRows === 0 ? 1 : indexedRows / coveredRows,
408
+ scanBatches: 0,
450
409
  };
451
410
  }
452
411
  catch {
@@ -454,29 +413,60 @@ async function lexicalCandidateRows(table, query, options) {
454
413
  // A complete bounded scan remains safe for small or explicitly bounded corpora.
455
414
  }
456
415
  }
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());
416
+ const fallback = await scanFallbackRows(table, options.fallbackBatchSize, options.pathPredicate, options.signal);
417
+ const sourcePathRows = sourcePathQuery
418
+ ? await executeSourcePathQuery(table, sourcePathQuery, options.ftsLimit, options.pathPredicate)
419
+ : [];
420
+ throwIfAborted(options.signal);
421
+ const rowsByKey = new Map(fallback.rows.map((row) => [rowKey(row), row]));
422
+ for (const row of sourcePathRows) {
423
+ rowsByKey.set(rowKey(row), row);
424
+ }
425
+ const rows = [...rowsByKey.values()];
426
+ const exactPathMatches = new Set(sourcePathQuery?.exactRelativePath
427
+ ? sourcePathRows
428
+ .filter((row) => row.relativePath === sourcePathQuery.exactRelativePath)
429
+ .map(rowKey)
430
+ : []);
466
431
  return {
467
432
  rows,
468
- exactPathMatches: new Set(),
433
+ exactPathMatches,
469
434
  backend: "fallback",
470
435
  fallbackActivated: true,
471
436
  fallbackReason,
472
- candidateLimit: options.fallbackLimit,
437
+ candidateLimit: Math.max(options.indexedChunkCount, rows.length),
473
438
  candidatesMaterialized: rows.length,
474
439
  queryVariants: 0,
475
440
  indexedRows: 0,
476
441
  unindexedRows: options.indexedChunkCount,
477
- coverage: options.indexedChunkCount === 0 ? 1 : Math.min(1, rows.length / options.indexedChunkCount),
442
+ coverage: 1,
443
+ scanBatches: fallback.batches,
478
444
  };
479
445
  }
446
+ async function scanFallbackRows(table, batchSize, pathPredicate, signal) {
447
+ const rows = [];
448
+ let offset = 0;
449
+ let batches = 0;
450
+ while (true) {
451
+ throwIfAborted(signal);
452
+ const query = table.query().select(SEARCH_COLUMNS);
453
+ const batch = (await (pathPredicate ? query.where(pathPredicate) : query)
454
+ .offset(offset)
455
+ .limit(batchSize)
456
+ .toArray());
457
+ throwIfAborted(signal);
458
+ if (batch.length === 0) {
459
+ break;
460
+ }
461
+ rows.push(...batch);
462
+ batches += 1;
463
+ offset += batch.length;
464
+ if (batch.length < batchSize) {
465
+ break;
466
+ }
467
+ }
468
+ return { rows, batches };
469
+ }
480
470
  async function executeFullTextQuery(table, query, limit, pathPredicate) {
481
471
  const searchQuery = table.search(query, "fts", "searchText").select(FTS_SEARCH_COLUMNS);
482
472
  return (await (pathPredicate ? searchQuery.where(pathPredicate) : searchQuery)
@@ -680,6 +670,19 @@ function normalizeTopK(topK) {
680
670
  }
681
671
  return topK;
682
672
  }
673
+ function normalizeMaxChunksPerDocument(maxChunksPerDocument) {
674
+ if (!Number.isSafeInteger(maxChunksPerDocument) || maxChunksPerDocument <= 0) {
675
+ throw new RagmirError("INVALID_ARGUMENT", "maxChunksPerDocument must be a positive integer.");
676
+ }
677
+ if (maxChunksPerDocument > MAX_SEARCH_TOP_K) {
678
+ throw new RagmirError("INVALID_ARGUMENT", `maxChunksPerDocument must be at most ${MAX_SEARCH_TOP_K}.`);
679
+ }
680
+ return maxChunksPerDocument;
681
+ }
682
+ function diversityCandidateDemand(topK, maxChunksPerDocument) {
683
+ const multiplier = Math.max(1, Math.ceil(DIVERSITY_CANDIDATE_MULTIPLIER / maxChunksPerDocument));
684
+ return topK * multiplier;
685
+ }
683
686
  function citationForRow(row) {
684
687
  return citationForCoordinates(row);
685
688
  }
@@ -689,18 +692,42 @@ function lexicalQuery(query) {
689
692
  return null;
690
693
  }
691
694
  const joined = tokens.join(" ");
695
+ const broadQuery = new MatchQuery(joined, "searchText", { operator: Operator.Or });
692
696
  const supplemental = [];
693
- if (tokens.length > 1) {
694
- supplemental.push(new PhraseQuery(joined, "searchText"));
695
- }
696
697
  const identifierTerms = [...query.matchAll(LEXICAL_IDENTIFIER_PATTERN)]
697
698
  .map((match) => match[0])
698
699
  .filter(Boolean);
699
- for (const identifier of [...new Set(identifierTerms)]) {
700
- supplemental.push(new MatchQuery(identifier, "searchText", {
701
- boost: 2,
702
- ...(isFuzzyLexicalTerm(identifier) ? { fuzziness: 1, prefixLength: 3 } : {}),
703
- }));
700
+ const identifiers = [...new Set(identifierTerms)];
701
+ const firstIdentifier = identifiers[0];
702
+ if (firstIdentifier !== undefined) {
703
+ const firstExactIdentifierQuery = new PhraseQuery(firstIdentifier, "searchText");
704
+ const exactIdentifierQueries = [
705
+ firstExactIdentifierQuery,
706
+ ...identifiers.slice(1).map((identifier) => new PhraseQuery(identifier, "searchText")),
707
+ ];
708
+ const exactIdentifierQuery = exactIdentifierQueries.length === 1
709
+ ? firstExactIdentifierQuery
710
+ : new BooleanQuery(exactIdentifierQueries.map((item) => [Occur.Should, item]));
711
+ const fuzzyIdentifierQuery = new BooleanQuery(identifiers.map((identifier) => [
712
+ Occur.Should,
713
+ new MatchQuery(identifier, "searchText", {
714
+ boost: 2,
715
+ fuzziness: 1,
716
+ operator: Operator.And,
717
+ prefixLength: 3,
718
+ }),
719
+ ]));
720
+ supplemental.push(fuzzyIdentifierQuery, broadQuery);
721
+ return {
722
+ primary: new BooleanQuery([
723
+ [Occur.Must, exactIdentifierQuery],
724
+ [Occur.Should, broadQuery],
725
+ ]),
726
+ supplemental,
727
+ };
728
+ }
729
+ if (tokens.length > 1) {
730
+ supplemental.push(new PhraseQuery(joined, "searchText"));
704
731
  }
705
732
  const rareTerms = tokens
706
733
  .filter(isFuzzyLexicalTerm)
@@ -714,7 +741,7 @@ function lexicalQuery(query) {
714
741
  }));
715
742
  }
716
743
  return {
717
- primary: new MatchQuery(joined, "searchText", { operator: Operator.Or }),
744
+ primary: broadQuery,
718
745
  supplemental,
719
746
  };
720
747
  }
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: 4;
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: 4,
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,