@jcode.labs/ragmir 6.4.0 → 6.5.1

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 (46) hide show
  1. package/README.md +18 -9
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +3 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/defaults.d.ts.map +1 -1
  6. package/dist/defaults.js +1 -0
  7. package/dist/defaults.js.map +1 -1
  8. package/dist/doctor.js +5 -1
  9. package/dist/doctor.js.map +1 -1
  10. package/dist/embeddings.d.ts.map +1 -1
  11. package/dist/embeddings.js +32 -11
  12. package/dist/embeddings.js.map +1 -1
  13. package/dist/evaluate.js +29 -1
  14. package/dist/evaluate.js.map +1 -1
  15. package/dist/query.d.ts.map +1 -1
  16. package/dist/query.js +62 -22
  17. package/dist/query.js.map +1 -1
  18. package/dist/ranking.d.ts +28 -7
  19. package/dist/ranking.d.ts.map +1 -1
  20. package/dist/ranking.js +147 -50
  21. package/dist/ranking.js.map +1 -1
  22. package/dist/retrieval-diversity.d.ts.map +1 -1
  23. package/dist/retrieval-diversity.js +4 -1
  24. package/dist/retrieval-diversity.js.map +1 -1
  25. package/dist/setup.js +5 -0
  26. package/dist/setup.js.map +1 -1
  27. package/dist/source-weights.d.ts +12 -0
  28. package/dist/source-weights.d.ts.map +1 -1
  29. package/dist/source-weights.js +104 -41
  30. package/dist/source-weights.js.map +1 -1
  31. package/dist/text-memo.d.ts +7 -0
  32. package/dist/text-memo.d.ts.map +1 -0
  33. package/dist/text-memo.js +26 -0
  34. package/dist/text-memo.js.map +1 -0
  35. package/dist/text.d.ts +8 -0
  36. package/dist/text.d.ts.map +1 -1
  37. package/dist/text.js +23 -0
  38. package/dist/text.js.map +1 -1
  39. package/dist/types.d.ts +7 -0
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/upgrade.d.ts.map +1 -1
  42. package/dist/upgrade.js +18 -8
  43. package/dist/upgrade.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/package.json +12 -8
@@ -1 +1 @@
1
- {"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"AAQA,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,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAA;IACvB,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,qFAAqF;IACrF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,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;IACpC,iEAAiE;IACjE,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,kGAAkG;IAClG,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,oGAAoG;IACpG,sBAAsB,EAAE,MAAM,CAAA;IAC9B,iGAAiG;IACjG,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,iEAAiE;AACjE,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChD,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACtC;AA2ED,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,MAAM,EAC5B,cAAc,CAAC,EAAE,MAAM,GACtB,aAAa,CAiBf;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAkB1D;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,EACrB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GACvC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAgFvB;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,aAAa,GAAG,MAAM,EACvC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,aAAa,EACrB,KAAK,GAAE,mBAAmB,GAAG,IAAW,EACxC,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,OAAO,CAIT;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,IAAI,CACL,aAAa,EACb,uBAAuB,GAAG,sBAAsB,GAAG,wBAAwB,CAC5E,CAWA;AAKD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAC9B,IAAI,EAAE,SAAS,GAAG,EAAE,EACpB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAC5B,OAAO,CAKT;AAoBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,aAAa,EACrB,KAAK,GAAE,mBAAmB,GAAG,IAAW,EACxC,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAsB9B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,mBAAmB,GAAG,IAAI,EACjC,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAS9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,mBAAmB,GACzB,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAqC1B;AAsBD,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAqBxF;AAmDD,4FAA4F;AAC5F,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAOpF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAsBvF"}
1
+ {"version":3,"file":"ranking.d.ts","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"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"}
package/dist/ranking.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { addLexicalDocument, lexicalDocument, lexicalDocumentScore, } from "./lexical-scoring.js";
3
- import { identifierParts, normalizeForMatch, tokenize } from "./text.js";
3
+ import { identifierParts, normalizeForMatch, shareStem, stemPrefix, tokenize } from "./text.js";
4
+ import { memoizeByText } from "./text-memo.js";
4
5
  const RRF_K = 60;
5
6
  const RRF_SEMANTIC_VECTOR_WEIGHT = 1;
6
7
  // The local-hash vector is another lexical signal without inverse document frequency. At full RRF
@@ -51,9 +52,24 @@ const LOCAL_HASH_PROFILE = {
51
52
  minimumLexicalCoverage: 0,
52
53
  weakEvidenceCoverage: 0.3,
53
54
  };
54
- const MIN_STEM_PREFIX_LENGTH = 5;
55
- const MAX_STEM_SUFFIX_LENGTH = 4;
55
+ // With a semantic model, a passage the vector channel did not return at all has keyword support
56
+ // only. Off-topic questions share one everyday word with many documents ("height", "capital"),
57
+ // while answers on three real corpora came from the keyword channel alone in 2 of 250 questions.
58
+ // With the other 6.5 rules, requiring half of the question's IDF weight there raised refusals of
59
+ // off-topic questions on those corpora from 54 to 68 of 90, without refusing an answer.
60
+ const LEXICAL_ONLY_EVIDENCE_COVERAGE = 0.5;
61
+ // A question whose most distinctive words occur nowhere in the index asks about something the corpus
62
+ // lacks ("How does it sync with Pinecone?"). Without a model nothing else can vouch for a passage,
63
+ // so local-hash refuses once absent words carry half of the question's IDF weight: on three real
64
+ // corpora, 65 of 90 off-topic and 27 of 110 near-domain questions instead of 56 and 17, with none of
65
+ // 250 answers refused, and 7 instead of 5 once an unknown word was added to each of those questions.
66
+ // Semantic models keep the vector channel's judgment and only refuse when every word is absent: a
67
+ // 40% share there refused 17 more of those 250 altered questions for 17 more unanswerable ones.
68
+ const SEMANTIC_ABSENT_FOCUS_SHARE = 1;
69
+ const LOCAL_HASH_ABSENT_FOCUS_SHARE = 0.5;
56
70
  const IDENTIFIER_PATTERN = /[\p{L}\p{N}]+(?:[-_./][\p{L}\p{N}]+)+/gu;
71
+ const WORD_JOINER_PATTERN = /[^\p{L}\p{N}]/u;
72
+ const WORD_JOINERS = /[^\p{L}\p{N}]+/u;
57
73
  const LOW_INFORMATION_WORDS = new Set(("a about an and are as at be been by can could describe did do does for from had has have how " +
58
74
  "i if in into is it its me my of on or our should that the their them there these they this to " +
59
75
  "us was we were what when where which who why will with would you your " +
@@ -61,6 +77,10 @@ const LOW_INFORMATION_WORDS = new Set(("a about an and are as at be been by can
61
77
  "les leur leurs lui ma mais me mes mon ne nos notre nous on ou par pas peux peut pour quel " +
62
78
  "quelle quelles quels qui quoi sa se ses son sont sur ta te tes toi ton tu un une vos votre vous " +
63
79
  "comment dois doit").split(" "));
80
+ /** Whether a folded word carries little meaning on its own ("the", "what", "de", "les"). */
81
+ export function isLowInformationWord(token) {
82
+ return LOW_INFORMATION_WORDS.has(token);
83
+ }
64
84
  export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksPerDocument, embeddingModel) {
65
85
  const semantic = embeddingProvider === "transformers";
66
86
  const profile = semantic
@@ -68,7 +88,7 @@ export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksP
68
88
  DEFAULT_TRANSFORMERS_PROFILE)
69
89
  : LOCAL_HASH_PROFILE;
70
90
  return {
71
- version: 8,
91
+ version: 9,
72
92
  embeddingProvider,
73
93
  embeddingModel: semantic ? (embeddingModel ?? null) : null,
74
94
  retrievalProfile,
@@ -77,6 +97,10 @@ export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksP
77
97
  vectorWeight: semantic ? RRF_SEMANTIC_VECTOR_WEIGHT : RRF_LOCAL_HASH_VECTOR_WEIGHT,
78
98
  lexicalWeight: RRF_LEXICAL_WEIGHT,
79
99
  ...profile,
100
+ lexicalOnlyEvidenceCoverage: semantic
101
+ ? LEXICAL_ONLY_EVIDENCE_COVERAGE
102
+ : profile.weakEvidenceCoverage,
103
+ absentFocusShare: semantic ? SEMANTIC_ABSENT_FOCUS_SHARE : LOCAL_HASH_ABSENT_FOCUS_SHARE,
80
104
  };
81
105
  }
82
106
  export function rankingPolicyFingerprint(policy) {
@@ -118,8 +142,8 @@ export function rankHybridRows(query, vectorRows, textRows, policy, scoreMultipl
118
142
  }
119
143
  return key;
120
144
  };
121
- const compareKeys = (left, right) => keyOf(left).localeCompare(keyOf(right));
122
- const rows = mergeRows(vectorRows, textRows, keyOf, compareKeys);
145
+ const compareKeys = (left, right) => compareOrdinal(keyOf(left), keyOf(right));
146
+ const rows = mergeRows(vectorRows, textRows, keyOf);
123
147
  const exactAnchorMatches = new Map();
124
148
  if (evidence.anchors.length > 0) {
125
149
  const requestedAnchors = new Set(evidence.anchors);
@@ -204,27 +228,59 @@ export function effectiveVectorDistances(policy, noiseFloor) {
204
228
  /** How many leading results must all be weak before semantic search answers nothing. */
205
229
  const WEAK_ANSWER_DEPTH = 5;
206
230
  /**
207
- * Whether a semantic answer holds no real evidence: every leading result is weak. Off-topic and
208
- * near-domain questions without an answer typically land here. Local-hash search keeps such
209
- * results, since its weak flag was never calibrated to refuse.
231
+ * Whether an answer holds no real evidence: every leading result is weak. Off-topic and
232
+ * near-domain questions without an answer typically land here. With local-hash, whose weak flag
233
+ * is keyword coverage alone, this refused 56 of 90 off-topic questions on three real corpora
234
+ * instead of 12, and none of 250 answerable ones: the least covered correct answer still held 35%
235
+ * of its question's IDF-weighted words.
210
236
  */
211
- export function isWeakAnswer(rows, policy, isWeak) {
212
- if (policy.embeddingProvider === "local-hash" || rows.length === 0) {
237
+ export function isWeakAnswer(rows, isWeak) {
238
+ if (rows.length === 0) {
213
239
  return false;
214
240
  }
215
241
  return rows.slice(0, WEAK_ANSWER_DEPTH).every(isWeak);
216
242
  }
243
+ function idfWeightOf(documentFrequency, documentCount) {
244
+ const frequency = Math.min(documentFrequency, documentCount);
245
+ return Math.log(1 + (documentCount - frequency + 0.5) / (frequency + 0.5));
246
+ }
247
+ /** Inverse document frequency weight of a query word, as the coverage rules use it. */
248
+ function idfWeight(token, terms) {
249
+ return idfWeightOf(terms.documentFrequencies.get(token) ?? 0, terms.documentCount);
250
+ }
251
+ /**
252
+ * Share of the IDF weight of these query words carried by words found nowhere in the index, neither
253
+ * exactly nor through a fuzzy keyword match. A missing word weighs as if one document held it: on a
254
+ * small index an unseen word would otherwise outweigh the rest of the question, so one unusual verb
255
+ * ("proves") could pass for the question's focus. Words in unsegmented scripts are not measured,
256
+ * and a query holding one never counts as absent.
257
+ */
258
+ export function absentShareOf(tokens, terms) {
259
+ const unique = [...new Set(tokens)];
260
+ if (unique.length === 0 || unique.some((token) => terms.unmeasuredTerms?.has(token))) {
261
+ return 0;
262
+ }
263
+ let total = 0;
264
+ let absent = 0;
265
+ for (const token of unique) {
266
+ const documentFrequency = terms.documentFrequencies.get(token) ?? 0;
267
+ const weight = idfWeightOf(Math.max(1, documentFrequency), terms.documentCount);
268
+ total += weight;
269
+ if (documentFrequency === 0 && !terms.fuzzyMatchedTerms?.has(token)) {
270
+ absent += weight;
271
+ }
272
+ }
273
+ return total > 0 ? absent / total : 0;
274
+ }
217
275
  /**
218
- * Whether no query word occurs in the corpus, exactly or through a fuzzy keyword match. Only
219
- * vector evidence can then support a passage, and nonsense or unrelated questions get none.
276
+ * Whether the question's focus is absent from the corpus: its words carrying `absentFocusShare` of
277
+ * the IDF weight occur nowhere, as with nonsense, unrelated, or near-domain questions about a missing
278
+ * feature. Only vector evidence can then support a passage.
220
279
  */
221
- function vocabularyFree(evidence, terms) {
280
+ function focusAbsent(evidence, terms, policy) {
222
281
  return (terms !== null &&
223
282
  evidence.anchors.length === 0 &&
224
- evidence.tokens.length > 0 &&
225
- evidence.tokens.every((token) => (terms.documentFrequencies.get(token) ?? 0) === 0 &&
226
- !terms.fuzzyMatchedTerms?.has(token) &&
227
- !terms.unmeasuredTerms?.has(token)));
283
+ absentShareOf(evidence.tokens, terms) >= policy.absentFocusShare);
228
284
  }
229
285
  /**
230
286
  * Compile the abstention rule once per query. Candidates are then checked lazily in ranked order,
@@ -237,7 +293,7 @@ export function abstentionFilter(evidence, policy, terms = null, noiseFloor = nu
237
293
  if (evidence.anchors.length > 0) {
238
294
  return (row) => hasLexicalEvidence(row.searchText);
239
295
  }
240
- const noKnownWords = vocabularyFree(evidence, terms);
296
+ const noKnownWords = focusAbsent(evidence, terms, policy);
241
297
  if (policy.embeddingProvider === "local-hash") {
242
298
  return noKnownWords ? () => false : (row) => hasLexicalEvidence(row.searchText);
243
299
  }
@@ -255,7 +311,8 @@ export function abstentionFilter(evidence, policy, terms = null, noiseFloor = nu
255
311
  }
256
312
  /**
257
313
  * Flag a selected passage whose support is thin: it holds a small IDF-weighted share of the query
258
- * words and has no strong vector match. Search still returns it; agents should verify it first.
314
+ * words and has no strong vector match, or only the keyword channel returned it and it covers less
315
+ * than its policy share. Search still returns it; agents should verify it first.
259
316
  */
260
317
  export function weakEvidenceFilter(evidence, policy, terms, noiseFloor = null) {
261
318
  if (terms === null || evidence.anchors.length > 0 || evidence.tokens.length === 0) {
@@ -263,41 +320,73 @@ export function weakEvidenceFilter(evidence, policy, terms, noiseFloor = null) {
263
320
  }
264
321
  const coverage = queryTermCoverage(evidence, terms);
265
322
  const strong = effectiveVectorDistances(policy, noiseFloor).strongVectorDistance;
266
- return (row) => coverage(row.searchText) < policy.weakEvidenceCoverage &&
267
- !(strong !== null && rowDistance(row) <= strong);
323
+ return (row) => {
324
+ const distance = rowDistance(row);
325
+ if (strong !== null && distance <= strong) {
326
+ return false;
327
+ }
328
+ const required = Number.isFinite(distance)
329
+ ? policy.weakEvidenceCoverage
330
+ : policy.lexicalOnlyEvidenceCoverage;
331
+ return coverage(row.searchText) < required;
332
+ };
268
333
  }
334
+ const coverageByTerms = new WeakMap();
269
335
  /**
270
336
  * IDF-weighted share of query words present in a text. Words match exactly or as one stem with a
271
337
  * short ending (`permission`, `permissions`), so a rare word weighs more than a frequent one and a
272
- * word missing from the corpus weighs the most.
338
+ * word missing from the corpus weighs the most. The abstention and weak-evidence filters of one
339
+ * query share a single memoized function, so each candidate text is segmented once.
273
340
  */
274
341
  export function queryTermCoverage(evidence, terms) {
342
+ let byEvidence = coverageByTerms.get(terms);
343
+ if (!byEvidence) {
344
+ byEvidence = new WeakMap();
345
+ coverageByTerms.set(terms, byEvidence);
346
+ }
347
+ let coverage = byEvidence.get(evidence);
348
+ if (!coverage) {
349
+ const measure = measureQueryTermCoverage(evidence, terms);
350
+ const known = new Map();
351
+ coverage = (text) => {
352
+ let value = known.get(text);
353
+ if (value === undefined) {
354
+ value = measure(text);
355
+ known.set(text, value);
356
+ }
357
+ return value;
358
+ };
359
+ byEvidence.set(evidence, coverage);
360
+ }
361
+ return coverage;
362
+ }
363
+ function measureQueryTermCoverage(evidence, terms) {
275
364
  const tokens = [...new Set(evidence.tokens)].filter((token) => !terms.unmeasuredTerms?.has(token));
276
- const weights = tokens.map((token) => {
277
- const documentFrequency = Math.min(terms.documentFrequencies.get(token) ?? 0, terms.documentCount);
278
- return Math.log(1 + (terms.documentCount - documentFrequency + 0.5) / (documentFrequency + 0.5));
279
- });
365
+ const weights = tokens.map((token) => idfWeight(token, terms));
280
366
  const totalWeight = weights.reduce((sum, weight) => sum + weight, 0);
281
367
  if (totalWeight <= 0) {
282
368
  return () => 0;
283
369
  }
370
+ // A misspelled word that the keyword search matched fuzzily covers its fuzzy relatives, as there.
371
+ const fuzzy = tokens.map((token) => terms.fuzzyMatchedTerms?.has(token) ?? false);
284
372
  // Every word sharing a stem with a query word contains its stem prefix, so a passage whose folded
285
373
  // text holds none of them covers nothing. Unrelated candidates then skip word segmentation.
286
374
  const stemPrefixes = tokens.map(stemPrefix);
287
375
  return (text) => {
288
- const folded = normalizeForMatch(text);
289
- const present = stemPrefixes.map((prefix) => folded.includes(prefix));
376
+ const folded = foldedText(text);
377
+ const present = stemPrefixes.map((prefix, index) => fuzzy[index] || folded.includes(prefix));
290
378
  if (!present.includes(true)) {
291
379
  return 0;
292
380
  }
293
- const textTokens = new Set([...tokenize(text), ...identifierParts(text)]);
381
+ const textTokens = coverageWords(text);
294
382
  let matched = 0;
295
383
  tokens.forEach((token, index) => {
296
384
  if (!present[index]) {
297
385
  return;
298
386
  }
299
387
  for (const textToken of textTokens) {
300
- if (shareStem(token, textToken)) {
388
+ if (shareStem(token, textToken) ||
389
+ (fuzzy[index] && tokensAreFuzzyRelated(token, textToken))) {
301
390
  matched += weights[index] ?? 0;
302
391
  break;
303
392
  }
@@ -306,22 +395,25 @@ export function queryTermCoverage(evidence, terms) {
306
395
  return matched / totalWeight;
307
396
  };
308
397
  }
309
- /** The prefix that every word passing shareStem with this query word contains. */
310
- function stemPrefix(token) {
311
- return token.length < MIN_STEM_PREFIX_LENGTH
312
- ? token
313
- : token.slice(0, Math.max(MIN_STEM_PREFIX_LENGTH, token.length - MAX_STEM_SUFFIX_LENGTH));
314
- }
315
- function shareStem(queryToken, textToken) {
316
- if (queryToken === textToken) {
317
- return true;
398
+ const foldedText = memoizeByText(normalizeForMatch);
399
+ /**
400
+ * The words of a passage as the keyword index splits them: word segmentation keeps JSONPath and
401
+ * dotted identifiers (`compliance.description`) and French elisions (`l'abstention`) whole, while
402
+ * the keyword index also matches each part.
403
+ */
404
+ const coverageWords = memoizeByText((text) => {
405
+ const words = new Set();
406
+ for (const word of [...tokenize(text), ...identifierParts(text)]) {
407
+ words.add(word);
408
+ if (WORD_JOINER_PATTERN.test(word)) {
409
+ for (const part of word.split(WORD_JOINERS)) {
410
+ if (part.length > 1)
411
+ words.add(part);
412
+ }
413
+ }
318
414
  }
319
- const shorter = queryToken.length <= textToken.length ? queryToken : textToken;
320
- const longer = shorter === queryToken ? textToken : queryToken;
321
- return (shorter.length >= MIN_STEM_PREFIX_LENGTH &&
322
- longer.length - shorter.length <= MAX_STEM_SUFFIX_LENGTH &&
323
- longer.startsWith(shorter));
324
- }
415
+ return words;
416
+ });
325
417
  export function tokensAreLexicallyRelated(queryToken, textToken) {
326
418
  if (queryToken === textToken) {
327
419
  return true;
@@ -475,12 +567,13 @@ function isSingleEditApart(left, right) {
475
567
  }
476
568
  return true;
477
569
  }
478
- function mergeRows(vectorRows, textRows, keyOf, compareKeys) {
570
+ /** Merge both candidate lists by row key; the final ranking sort fixes the order. */
571
+ function mergeRows(vectorRows, textRows, keyOf) {
479
572
  const rows = new Map();
480
- for (const row of [...textRows].sort(compareKeys)) {
573
+ for (const row of textRows) {
481
574
  rows.set(keyOf(row), row);
482
575
  }
483
- for (const row of [...vectorRows].sort(compareKeys)) {
576
+ for (const row of vectorRows) {
484
577
  const key = keyOf(row);
485
578
  const existing = rows.get(key);
486
579
  if (!existing) {
@@ -518,7 +611,11 @@ function bm25Scores(queryTokens, rows, keyOf) {
518
611
  return scores;
519
612
  }
520
613
  function compareScoredKeys(left, right) {
521
- return right[1] - left[1] || left[0].localeCompare(right[0]);
614
+ return right[1] - left[1] || compareOrdinal(left[0], right[0]);
615
+ }
616
+ /** Locale-independent tie-break, so equal scores rank the same on every machine. */
617
+ function compareOrdinal(left, right) {
618
+ return left < right ? -1 : left > right ? 1 : 0;
522
619
  }
523
620
  function rowDistance(row) {
524
621
  return typeof row._distance === "number" && row._distance >= 0
@@ -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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"}
@@ -1 +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;IACxC;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAA;CACnC;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,CA4D9B"}
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;AAMzD,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;IACxC;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAA;CACnC;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,CA4D9B"}
@@ -1,3 +1,6 @@
1
+ import { memoizeByText } from "./text-memo.js";
2
+ /** Texts that differ only in spacing or case count as one passage. */
3
+ const duplicateKeyOf = memoizeByText((text) => text.replace(/\s+/gu, " ").trim().toLowerCase());
1
4
  export function selectDiverseRows(rows, options) {
2
5
  const uniqueRowAt = uniqueRelevantRows(rows, options.isRelevant, options.isExactPathMatch);
3
6
  const documentKeyOf = options.documentKeyOf ?? ((row) => row.relativePath);
@@ -54,7 +57,7 @@ export function selectDiverseRows(rows, options) {
54
57
  * the most canonical path, with earlier rows winning ties.
55
58
  */
56
59
  function uniqueRelevantRows(rows, isRelevant, isExactPathMatch) {
57
- const textKeys = rows.map((ranked) => ranked.row.text.replace(/\s+/gu, " ").trim().toLowerCase());
60
+ const textKeys = rows.map((ranked) => duplicateKeyOf(ranked.row.text));
58
61
  const rowsByText = new Map();
59
62
  textKeys.forEach((textKey, index) => {
60
63
  const group = rowsByText.get(textKey);
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-diversity.js","sourceRoot":"","sources":["../src/retrieval-diversity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval-diversity.js","sourceRoot":"","sources":["../src/retrieval-diversity.ts"],"names":[],"mappings":"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"}
package/dist/setup.js CHANGED
@@ -102,6 +102,11 @@ async function setupSemanticEmbeddings(cwd) {
102
102
  config: semanticConfig,
103
103
  };
104
104
  }
105
+ /**
106
+ * Setup, repair, and upgrade ingest only when no security warning stands: configured external
107
+ * extractors run local commands, so they run only through an explicit `rgr ingest`, which the
108
+ * doctor's next steps then recommend.
109
+ */
105
110
  function canAutoIngest(report) {
106
111
  return (report.supportedFiles > 0 &&
107
112
  report.securityWarnings.length === 0 &&
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,17 @@ export declare function sourceWeightOf(config: Pick<Config, "pathPriors" | "sour
9
9
  * `docs/fr/guide.md` and `docs/en/guide.md`, collapse to one key so they take one result slot.
10
10
  */
11
11
  export declare function localeDocumentKey(relativePath: string): string;
12
+ /**
13
+ * Boost passages from files whose name holds words of the question, such as `OpenApiConfig.java`
14
+ * for "how is the OpenAPI document titled".
15
+ */
16
+ export declare function fileNameBoostOf(queryTokens: readonly string[]): (row: {
17
+ relativePath: string;
18
+ }) => number;
19
+ /** Boost passages whose heading path or JSONPath holds words of the question. */
20
+ export declare function headingBoostOf(queryTokens: readonly string[]): (row: {
21
+ contextPath?: string | null;
22
+ }) => number;
12
23
  /**
13
24
  * Boost code passages that define what the question names: "how are permissions checked" should
14
25
  * reach the class that declares `PermissionService` before tests and docs that only mention it.
@@ -17,5 +28,6 @@ export declare function localeDocumentKey(relativePath: string): string;
17
28
  export declare function definitionBoostOf(queryTokens: readonly string[]): (row: {
18
29
  relativePath: string;
19
30
  text: string;
31
+ searchText: string;
20
32
  }) => number;
21
33
  //# sourceMappingURL=source-weights.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-weights.d.ts","sourceRoot":"","sources":["../src/source-weights.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA2BxC;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CAAC,GACnD,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CA2BlC;AAiDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAW9D;AAwFD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,CAAC,GAAG,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,MAAM,CAiCzD"}
1
+ {"version":3,"file":"source-weights.d.ts","sourceRoot":"","sources":["../src/source-weights.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AA4BxC;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CAAC,GACnD,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CA4BlC;AAiDD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAW9D;AAoJD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,CAAC,GAAG,EAAE;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,KAAK,MAAM,CAI3C;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAC5B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,CAAC,GAAG,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KAAK,MAAM,CAIlD;AAiBD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,CAAC,GAAG,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,KAAK,MAAM,CA8B7E"}