@jcode.labs/ragmir 6.3.1 → 6.5.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.
- package/README.md +11 -6
- package/dist/abstention-calibration.d.ts +29 -0
- package/dist/abstention-calibration.d.ts.map +1 -0
- package/dist/abstention-calibration.js +116 -0
- package/dist/abstention-calibration.js.map +1 -0
- package/dist/chunk-stats.d.ts.map +1 -1
- package/dist/chunk-stats.js +1 -4
- package/dist/chunk-stats.js.map +1 -1
- package/dist/config.d.ts +0 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -3
- package/dist/config.js.map +1 -1
- package/dist/defaults.d.ts +1 -5
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js +6 -5
- package/dist/defaults.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +18 -2
- package/dist/doctor.js.map +1 -1
- package/dist/embeddings.d.ts.map +1 -1
- package/dist/embeddings.js +32 -11
- package/dist/embeddings.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/evaluate.d.ts +1 -2
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +31 -9
- package/dist/evaluate.js.map +1 -1
- package/dist/files.d.ts +0 -10
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +6 -6
- package/dist/files.js.map +1 -1
- package/dist/git-hooks.d.ts +2 -1
- package/dist/git-hooks.d.ts.map +1 -1
- package/dist/git-hooks.js +1 -6
- package/dist/git-hooks.js.map +1 -1
- package/dist/gitignore.d.ts +0 -1
- package/dist/gitignore.d.ts.map +1 -1
- package/dist/gitignore.js +1 -1
- package/dist/gitignore.js.map +1 -1
- package/dist/index-write-lock.d.ts +0 -1
- package/dist/index-write-lock.d.ts.map +1 -1
- package/dist/index-write-lock.js +1 -1
- package/dist/index-write-lock.js.map +1 -1
- package/dist/ingest.d.ts +1 -0
- package/dist/ingest.d.ts.map +1 -1
- package/dist/ingest.js +31 -0
- package/dist/ingest.js.map +1 -1
- package/dist/ingestion-state.d.ts +1 -2
- package/dist/ingestion-state.d.ts.map +1 -1
- package/dist/ingestion-state.js +9 -54
- package/dist/ingestion-state.js.map +1 -1
- package/dist/json-lines.d.ts +7 -0
- package/dist/json-lines.d.ts.map +1 -0
- package/dist/json-lines.js +35 -0
- package/dist/json-lines.js.map +1 -0
- package/dist/ocr-cache.d.ts +0 -1
- package/dist/ocr-cache.d.ts.map +1 -1
- package/dist/ocr-cache.js +1 -1
- package/dist/ocr-cache.js.map +1 -1
- package/dist/ocr.d.ts +0 -1
- package/dist/ocr.d.ts.map +1 -1
- package/dist/ocr.js +1 -1
- package/dist/ocr.js.map +1 -1
- package/dist/package-manager.d.ts +2 -0
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.js +2 -0
- package/dist/package-manager.js.map +1 -1
- package/dist/quality-report.d.ts +0 -1
- package/dist/quality-report.d.ts.map +1 -1
- package/dist/quality-report.js +1 -1
- package/dist/quality-report.js.map +1 -1
- package/dist/query-sanitizer.d.ts +0 -1
- package/dist/query-sanitizer.d.ts.map +1 -1
- package/dist/query-sanitizer.js +1 -1
- package/dist/query-sanitizer.js.map +1 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +77 -26
- package/dist/query.js.map +1 -1
- package/dist/ranking.d.ts +40 -9
- package/dist/ranking.d.ts.map +1 -1
- package/dist/ranking.js +188 -54
- package/dist/ranking.js.map +1 -1
- package/dist/retrieval-diversity.d.ts.map +1 -1
- package/dist/retrieval-diversity.js +4 -1
- package/dist/retrieval-diversity.js.map +1 -1
- package/dist/setup.js +5 -0
- package/dist/setup.js.map +1 -1
- package/dist/skill.d.ts +0 -2
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +1 -1
- package/dist/skill.js.map +1 -1
- package/dist/source-fingerprint-cache.d.ts.map +1 -1
- package/dist/source-fingerprint-cache.js +4 -28
- package/dist/source-fingerprint-cache.js.map +1 -1
- package/dist/source-weights.d.ts +12 -7
- package/dist/source-weights.d.ts.map +1 -1
- package/dist/source-weights.js +105 -42
- package/dist/source-weights.js.map +1 -1
- package/dist/statistics.d.ts +6 -0
- package/dist/statistics.d.ts.map +1 -0
- package/dist/statistics.js +8 -0
- package/dist/statistics.js.map +1 -0
- package/dist/storage-maintenance.d.ts +5 -0
- package/dist/storage-maintenance.d.ts.map +1 -1
- package/dist/storage-maintenance.js +12 -0
- package/dist/storage-maintenance.js.map +1 -1
- package/dist/text-memo.d.ts +7 -0
- package/dist/text-memo.d.ts.map +1 -0
- package/dist/text-memo.js +26 -0
- package/dist/text-memo.js.map +1 -0
- package/dist/text.d.ts +8 -0
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +23 -0
- package/dist/text.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +18 -8
- package/dist/upgrade.js.map +1 -1
- package/dist/vector-index.d.ts +0 -3
- package/dist/vector-index.d.ts.map +1 -1
- package/dist/vector-index.js +3 -3
- package/dist/vector-index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workload.d.ts +0 -1
- package/dist/workload.d.ts.map +1 -1
- package/dist/workload.js +1 -1
- package/dist/workload.js.map +1 -1
- package/package.json +6 -1
- package/skills/ragmir/SKILL.md +2 -0
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
|
|
@@ -15,7 +16,8 @@ const TRANSFORMERS_MAXIMUM_VECTOR_DISTANCE = 1.1;
|
|
|
15
16
|
// Calibrated on French and English golden sets plus out-of-scope and nonsense questions. e5 packs
|
|
16
17
|
// every text into a narrow distance band (relevant passages up to 0.36, unrelated ones from 0.26),
|
|
17
18
|
// so its vector channel stays permissive and weak evidence relies more on query-word coverage.
|
|
18
|
-
// mxbai separates them (relevant passages mostly under 1.1, unrelated ones above 1.0).
|
|
19
|
+
// mxbai separates them (relevant passages mostly under 1.1, unrelated ones above 1.0). These
|
|
20
|
+
// absolute distances are upper bounds: each index also caps them with its own noise floor.
|
|
19
21
|
const MODEL_EVIDENCE_PROFILES = {
|
|
20
22
|
"intfloat/multilingual-e5-small": {
|
|
21
23
|
maximumVectorDistance: 0.4,
|
|
@@ -24,15 +26,18 @@ const MODEL_EVIDENCE_PROFILES = {
|
|
|
24
26
|
minimumLexicalCoverage: 0.3,
|
|
25
27
|
weakEvidenceCoverage: 0.3,
|
|
26
28
|
},
|
|
29
|
+
// A coverage of 0.5 flagged a third of the correct passages of a TypeScript repository as weak:
|
|
30
|
+
// natural-language questions share few words with code. 0.3 flagged 6 of 96.
|
|
27
31
|
"mixedbread-ai/mxbai-embed-xsmall-v1": {
|
|
28
32
|
maximumVectorDistance: TRANSFORMERS_MAXIMUM_VECTOR_DISTANCE,
|
|
29
33
|
strongVectorDistance: 0.9,
|
|
30
34
|
vocabularyFreeDistance: 0.85,
|
|
31
35
|
minimumLexicalCoverage: 0.3,
|
|
32
|
-
weakEvidenceCoverage: 0.
|
|
36
|
+
weakEvidenceCoverage: 0.3,
|
|
33
37
|
},
|
|
34
38
|
};
|
|
35
39
|
// Uncalibrated models keep the historical rule: any related query word, or a distance up to 1.1.
|
|
40
|
+
// The index's noise floor then decides which of their passages count as strong evidence.
|
|
36
41
|
const DEFAULT_TRANSFORMERS_PROFILE = {
|
|
37
42
|
maximumVectorDistance: TRANSFORMERS_MAXIMUM_VECTOR_DISTANCE,
|
|
38
43
|
strongVectorDistance: null,
|
|
@@ -47,9 +52,24 @@ const LOCAL_HASH_PROFILE = {
|
|
|
47
52
|
minimumLexicalCoverage: 0,
|
|
48
53
|
weakEvidenceCoverage: 0.3,
|
|
49
54
|
};
|
|
50
|
-
|
|
51
|
-
|
|
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;
|
|
52
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;
|
|
53
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 " +
|
|
54
74
|
"i if in into is it its me my of on or our should that the their them there these they this to " +
|
|
55
75
|
"us was we were what when where which who why will with would you your " +
|
|
@@ -57,6 +77,10 @@ const LOW_INFORMATION_WORDS = new Set(("a about an and are as at be been by can
|
|
|
57
77
|
"les leur leurs lui ma mais me mes mon ne nos notre nous on ou par pas peux peut pour quel " +
|
|
58
78
|
"quelle quelles quels qui quoi sa se ses son sont sur ta te tes toi ton tu un une vos votre vous " +
|
|
59
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
|
+
}
|
|
60
84
|
export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksPerDocument, embeddingModel) {
|
|
61
85
|
const semantic = embeddingProvider === "transformers";
|
|
62
86
|
const profile = semantic
|
|
@@ -64,7 +88,7 @@ export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksP
|
|
|
64
88
|
DEFAULT_TRANSFORMERS_PROFILE)
|
|
65
89
|
: LOCAL_HASH_PROFILE;
|
|
66
90
|
return {
|
|
67
|
-
version:
|
|
91
|
+
version: 9,
|
|
68
92
|
embeddingProvider,
|
|
69
93
|
embeddingModel: semantic ? (embeddingModel ?? null) : null,
|
|
70
94
|
retrievalProfile,
|
|
@@ -73,6 +97,10 @@ export function rankingPolicyFor(embeddingProvider, retrievalProfile, maxChunksP
|
|
|
73
97
|
vectorWeight: semantic ? RRF_SEMANTIC_VECTOR_WEIGHT : RRF_LOCAL_HASH_VECTOR_WEIGHT,
|
|
74
98
|
lexicalWeight: RRF_LEXICAL_WEIGHT,
|
|
75
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,
|
|
76
104
|
};
|
|
77
105
|
}
|
|
78
106
|
export function rankingPolicyFingerprint(policy) {
|
|
@@ -114,8 +142,8 @@ export function rankHybridRows(query, vectorRows, textRows, policy, scoreMultipl
|
|
|
114
142
|
}
|
|
115
143
|
return key;
|
|
116
144
|
};
|
|
117
|
-
const compareKeys = (left, right) => keyOf(left)
|
|
118
|
-
const rows = mergeRows(vectorRows, textRows, keyOf
|
|
145
|
+
const compareKeys = (left, right) => compareOrdinal(keyOf(left), keyOf(right));
|
|
146
|
+
const rows = mergeRows(vectorRows, textRows, keyOf);
|
|
119
147
|
const exactAnchorMatches = new Map();
|
|
120
148
|
if (evidence.anchors.length > 0) {
|
|
121
149
|
const requestedAnchors = new Set(evidence.anchors);
|
|
@@ -174,21 +202,85 @@ export function rankHybridRows(query, vectorRows, textRows, policy, scoreMultipl
|
|
|
174
202
|
rowDistance(left.row) - rowDistance(right.row) ||
|
|
175
203
|
compareKeys(left.row, right.row));
|
|
176
204
|
}
|
|
177
|
-
export function candidatePassesAbstention(evidenceOrQuery, row, policy, terms = null) {
|
|
205
|
+
export function candidatePassesAbstention(evidenceOrQuery, row, policy, terms = null, noiseFloor = null) {
|
|
178
206
|
const evidence = typeof evidenceOrQuery === "string" ? queryEvidence(evidenceOrQuery) : evidenceOrQuery;
|
|
179
|
-
return abstentionFilter(evidence, policy, terms)(row);
|
|
207
|
+
return abstentionFilter(evidence, policy, terms, noiseFloor)(row);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* The policy's vector distances with the index's noise floor applied: the distance at which the
|
|
211
|
+
* nearest passage of an off-topic probe question sits. A model packs every text into its own
|
|
212
|
+
* band, and a corpus shifts it, so only a passage nearer than any off-topic question counts as
|
|
213
|
+
* strong evidence, and a question with no known word needs one. The admission distance stays the
|
|
214
|
+
* policy's: capping it removed correct passages from real developer questions. Local-hash vectors
|
|
215
|
+
* carry no meaning and keep the policy.
|
|
216
|
+
*/
|
|
217
|
+
export function effectiveVectorDistances(policy, noiseFloor) {
|
|
218
|
+
if (noiseFloor === null || policy.embeddingProvider === "local-hash") {
|
|
219
|
+
return policy;
|
|
220
|
+
}
|
|
221
|
+
const capped = (distance) => distance === null ? noiseFloor : Math.min(distance, noiseFloor);
|
|
222
|
+
return {
|
|
223
|
+
maximumVectorDistance: policy.maximumVectorDistance,
|
|
224
|
+
strongVectorDistance: capped(policy.strongVectorDistance),
|
|
225
|
+
vocabularyFreeDistance: capped(policy.vocabularyFreeDistance ?? policy.maximumVectorDistance),
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
/** How many leading results must all be weak before semantic search answers nothing. */
|
|
229
|
+
const WEAK_ANSWER_DEPTH = 5;
|
|
230
|
+
/**
|
|
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.
|
|
236
|
+
*/
|
|
237
|
+
export function isWeakAnswer(rows, isWeak) {
|
|
238
|
+
if (rows.length === 0) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
return rows.slice(0, WEAK_ANSWER_DEPTH).every(isWeak);
|
|
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);
|
|
180
250
|
}
|
|
181
251
|
/**
|
|
182
|
-
*
|
|
183
|
-
*
|
|
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.
|
|
184
257
|
*/
|
|
185
|
-
export function
|
|
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
|
+
}
|
|
275
|
+
/**
|
|
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.
|
|
279
|
+
*/
|
|
280
|
+
function focusAbsent(evidence, terms, policy) {
|
|
186
281
|
return (terms !== null &&
|
|
187
282
|
evidence.anchors.length === 0 &&
|
|
188
|
-
evidence.tokens
|
|
189
|
-
evidence.tokens.every((token) => (terms.documentFrequencies.get(token) ?? 0) === 0 &&
|
|
190
|
-
!terms.fuzzyMatchedTerms?.has(token) &&
|
|
191
|
-
!terms.unmeasuredTerms?.has(token)));
|
|
283
|
+
absentShareOf(evidence.tokens, terms) >= policy.absentFocusShare);
|
|
192
284
|
}
|
|
193
285
|
/**
|
|
194
286
|
* Compile the abstention rule once per query. Candidates are then checked lazily in ranked order,
|
|
@@ -196,18 +288,19 @@ export function vocabularyFree(evidence, terms) {
|
|
|
196
288
|
* statistics, calibrated models need IDF-weighted query-word coverage instead of one shared word:
|
|
197
289
|
* a passage that only shares the most common word of the question is not lexical evidence.
|
|
198
290
|
*/
|
|
199
|
-
export function abstentionFilter(evidence, policy, terms = null) {
|
|
291
|
+
export function abstentionFilter(evidence, policy, terms = null, noiseFloor = null) {
|
|
200
292
|
const hasLexicalEvidence = lexicalEvidenceMatcher(evidence);
|
|
201
293
|
if (evidence.anchors.length > 0) {
|
|
202
294
|
return (row) => hasLexicalEvidence(row.searchText);
|
|
203
295
|
}
|
|
204
|
-
const noKnownWords =
|
|
296
|
+
const noKnownWords = focusAbsent(evidence, terms, policy);
|
|
205
297
|
if (policy.embeddingProvider === "local-hash") {
|
|
206
298
|
return noKnownWords ? () => false : (row) => hasLexicalEvidence(row.searchText);
|
|
207
299
|
}
|
|
208
|
-
const
|
|
300
|
+
const distances = effectiveVectorDistances(policy, noiseFloor);
|
|
301
|
+
const maximumVectorDistance = distances.maximumVectorDistance;
|
|
209
302
|
if (noKnownWords) {
|
|
210
|
-
const required =
|
|
303
|
+
const required = distances.vocabularyFreeDistance ?? maximumVectorDistance;
|
|
211
304
|
return (row) => required !== null && rowDistance(row) <= required;
|
|
212
305
|
}
|
|
213
306
|
const coverage = terms !== null && policy.minimumLexicalCoverage > 0 ? queryTermCoverage(evidence, terms) : null;
|
|
@@ -218,49 +311,82 @@ export function abstentionFilter(evidence, policy, terms = null) {
|
|
|
218
311
|
}
|
|
219
312
|
/**
|
|
220
313
|
* Flag a selected passage whose support is thin: it holds a small IDF-weighted share of the query
|
|
221
|
-
* words and has no strong vector match
|
|
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.
|
|
222
316
|
*/
|
|
223
|
-
export function weakEvidenceFilter(evidence, policy, terms) {
|
|
317
|
+
export function weakEvidenceFilter(evidence, policy, terms, noiseFloor = null) {
|
|
224
318
|
if (terms === null || evidence.anchors.length > 0 || evidence.tokens.length === 0) {
|
|
225
319
|
return () => false;
|
|
226
320
|
}
|
|
227
321
|
const coverage = queryTermCoverage(evidence, terms);
|
|
228
|
-
const strong = policy.strongVectorDistance;
|
|
229
|
-
return (row) =>
|
|
230
|
-
|
|
322
|
+
const strong = effectiveVectorDistances(policy, noiseFloor).strongVectorDistance;
|
|
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
|
+
};
|
|
231
333
|
}
|
|
334
|
+
const coverageByTerms = new WeakMap();
|
|
232
335
|
/**
|
|
233
336
|
* IDF-weighted share of query words present in a text. Words match exactly or as one stem with a
|
|
234
337
|
* short ending (`permission`, `permissions`), so a rare word weighs more than a frequent one and a
|
|
235
|
-
* 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.
|
|
236
340
|
*/
|
|
237
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) {
|
|
238
364
|
const tokens = [...new Set(evidence.tokens)].filter((token) => !terms.unmeasuredTerms?.has(token));
|
|
239
|
-
const weights = tokens.map((token) =>
|
|
240
|
-
const documentFrequency = Math.min(terms.documentFrequencies.get(token) ?? 0, terms.documentCount);
|
|
241
|
-
return Math.log(1 + (terms.documentCount - documentFrequency + 0.5) / (documentFrequency + 0.5));
|
|
242
|
-
});
|
|
365
|
+
const weights = tokens.map((token) => idfWeight(token, terms));
|
|
243
366
|
const totalWeight = weights.reduce((sum, weight) => sum + weight, 0);
|
|
244
367
|
if (totalWeight <= 0) {
|
|
245
368
|
return () => 0;
|
|
246
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);
|
|
247
372
|
// Every word sharing a stem with a query word contains its stem prefix, so a passage whose folded
|
|
248
373
|
// text holds none of them covers nothing. Unrelated candidates then skip word segmentation.
|
|
249
374
|
const stemPrefixes = tokens.map(stemPrefix);
|
|
250
375
|
return (text) => {
|
|
251
|
-
const folded =
|
|
252
|
-
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));
|
|
253
378
|
if (!present.includes(true)) {
|
|
254
379
|
return 0;
|
|
255
380
|
}
|
|
256
|
-
const textTokens =
|
|
381
|
+
const textTokens = coverageWords(text);
|
|
257
382
|
let matched = 0;
|
|
258
383
|
tokens.forEach((token, index) => {
|
|
259
384
|
if (!present[index]) {
|
|
260
385
|
return;
|
|
261
386
|
}
|
|
262
387
|
for (const textToken of textTokens) {
|
|
263
|
-
if (shareStem(token, textToken)
|
|
388
|
+
if (shareStem(token, textToken) ||
|
|
389
|
+
(fuzzy[index] && tokensAreFuzzyRelated(token, textToken))) {
|
|
264
390
|
matched += weights[index] ?? 0;
|
|
265
391
|
break;
|
|
266
392
|
}
|
|
@@ -269,22 +395,25 @@ export function queryTermCoverage(evidence, terms) {
|
|
|
269
395
|
return matched / totalWeight;
|
|
270
396
|
};
|
|
271
397
|
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
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
|
+
}
|
|
281
414
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
return (shorter.length >= MIN_STEM_PREFIX_LENGTH &&
|
|
285
|
-
longer.length - shorter.length <= MAX_STEM_SUFFIX_LENGTH &&
|
|
286
|
-
longer.startsWith(shorter));
|
|
287
|
-
}
|
|
415
|
+
return words;
|
|
416
|
+
});
|
|
288
417
|
export function tokensAreLexicallyRelated(queryToken, textToken) {
|
|
289
418
|
if (queryToken === textToken) {
|
|
290
419
|
return true;
|
|
@@ -438,12 +567,13 @@ function isSingleEditApart(left, right) {
|
|
|
438
567
|
}
|
|
439
568
|
return true;
|
|
440
569
|
}
|
|
441
|
-
|
|
570
|
+
/** Merge both candidate lists by row key; the final ranking sort fixes the order. */
|
|
571
|
+
function mergeRows(vectorRows, textRows, keyOf) {
|
|
442
572
|
const rows = new Map();
|
|
443
|
-
for (const row of
|
|
573
|
+
for (const row of textRows) {
|
|
444
574
|
rows.set(keyOf(row), row);
|
|
445
575
|
}
|
|
446
|
-
for (const row of
|
|
576
|
+
for (const row of vectorRows) {
|
|
447
577
|
const key = keyOf(row);
|
|
448
578
|
const existing = rows.get(key);
|
|
449
579
|
if (!existing) {
|
|
@@ -481,7 +611,11 @@ function bm25Scores(queryTokens, rows, keyOf) {
|
|
|
481
611
|
return scores;
|
|
482
612
|
}
|
|
483
613
|
function compareScoredKeys(left, right) {
|
|
484
|
-
return right[1] - left[1] || left[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;
|
|
485
619
|
}
|
|
486
620
|
function rowDistance(row) {
|
|
487
621
|
return typeof row._distance === "number" && row._distance >= 0
|
package/dist/ranking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranking.js","sourceRoot":"","sources":["../src/ranking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EACL,kBAAkB,EAElB,eAAe,EACf,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAuExE,MAAM,KAAK,GAAG,EAAE,CAAA;AAChB,MAAM,0BAA0B,GAAG,CAAC,CAAA;AACpC,kGAAkG;AAClG,oGAAoG;AACpG,0EAA0E;AAC1E,MAAM,4BAA4B,GAAG,IAAI,CAAA;AACzC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAC5B,MAAM,yBAAyB,GAAG,CAAC,CAAA;AACnC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAChC,MAAM,2BAA2B,GAAG,GAAG,CAAA;AACvC,MAAM,oCAAoC,GAAG,GAAG,CAAA;AAChD,kGAAkG;AAClG,mGAAmG;AACnG,+FAA+F;AAC/F,uFAAuF;AACvF,MAAM,uBAAuB,GAA8C;IACzE,gCAAgC,EAAE;QAChC,qBAAqB,EAAE,GAAG;QAC1B,oBAAoB,EAAE,GAAG;QACzB,sBAAsB,EAAE,IAAI;QAC5B,sBAAsB,EAAE,GAAG;QAC3B,oBAAoB,EAAE,GAAG;KAC1B;IACD,qCAAqC,EAAE;QACrC,qBAAqB,EAAE,oCAAoC;QAC3D,oBAAoB,EAAE,GAAG;QACzB,sBAAsB,EAAE,IAAI;QAC5B,sBAAsB,EAAE,GAAG;QAC3B,oBAAoB,EAAE,GAAG;KAC1B;CACF,CAAA;AACD,iGAAiG;AACjG,MAAM,4BAA4B,GAAoB;IACpD,qBAAqB,EAAE,oCAAoC;IAC3D,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,CAAC;IACzB,oBAAoB,EAAE,GAAG;CAC1B,CAAA;AACD,MAAM,kBAAkB,GAAoB;IAC1C,qBAAqB,EAAE,IAAI;IAC3B,oBAAoB,EAAE,IAAI;IAC1B,sBAAsB,EAAE,IAAI;IAC5B,sBAAsB,EAAE,CAAC;IACzB,oBAAoB,EAAE,GAAG;CAC1B,CAAA;AACD,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAChC,MAAM,sBAAsB,GAAG,CAAC,CAAA;AAChC,MAAM,kBAAkB,GAAG,yCAAyC,CAAA;AACpE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACnC,CACE,+FAA+F;IAC/F,gGAAgG;IAChG,wEAAwE;IACxE,6FAA6F;IAC7F,4FAA4F;IAC5F,kGAAkG;IAClG,mBAAmB,CACpB,CAAC,KAAK,CAAC,GAAG,CAAC,CACb,CAAA;AAED,MAAM,UAAU,gBAAgB,CAC9B,iBAAoC,EACpC,gBAAkC,EAClC,oBAA4B,EAC5B,cAAuB;IAEvB,MAAM,QAAQ,GAAG,iBAAiB,KAAK,cAAc,CAAA;IACrD,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;YACrF,4BAA4B,CAAC;QAC/B,CAAC,CAAC,kBAAkB,CAAA;IACtB,OAAO;QACL,OAAO,EAAE,CAAC;QACV,iBAAiB;QACjB,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1D,gBAAgB;QAChB,oBAAoB;QACpB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,4BAA4B;QAClF,aAAa,EAAE,kBAAkB;QACjC,GAAG,OAAO;KACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAqB;IAC5D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,KAAK,GAAG,CAAC,GAAG,MAAM,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACnF,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9C,GAAG,CAAC,eAAe,CAAC,CAAA;IACvB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC5D,CAAA;IACD,OAAO;QACL,KAAK;QACL,MAAM;QACN,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;KAC7D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,UAAiB,EACjB,QAAe,EACf,MAAqB,EACrB,iBAAwC;IAExC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IACnC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAU,EAAE;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YACjB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QACpB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,KAAU,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9F,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;IAChE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAA;IACpD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;YACjC,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACjF,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,CAAC;YACD,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG,UAAU;SAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5F,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC7C,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;IACxE,MAAM,aAAa,GACjB,OAAO,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,CAAC,OAAO;aACJ,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CACtF;aACA,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;aAChC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAChC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC9C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE;QACrC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAA;IAE5C,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,MAAM,WAAW,GACf,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,CAAA;QACjF,MAAM,YAAY,GAChB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC,CAAA;QACpF,MAAM,eAAe,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE,OAAO;YACL,GAAG;YACH,WAAW;YACX,YAAY;YACZ,aAAa,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,eAAe;YAC7D,eAAe;YACf,UAAU,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC;YAC5D,WAAW,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC;YAC/D,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;SACpD,CAAA;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;SAC5C,IAAI,CACH,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACd,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;QACxC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;QAC9C,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CACnC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,eAAuC,EACvC,GAAe,EACf,MAAqB,EACrB,KAAK,GAA+B,IAAI;IAExC,MAAM,QAAQ,GACZ,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAA;IACxF,OAAO,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAuB,EACvB,KAAiC;IAEjC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAC7B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,KAAK,CACnB,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YACjD,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,CAAC;YACpC,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,CACrC,CACF,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAuB,EACvB,MAAqB,EACrB,KAAK,GAA+B,IAAI;IAExC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAC3D,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACpD,CAAC;IACD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpD,IAAI,MAAM,CAAC,iBAAiB,KAAK,YAAY,EAAE,CAAC;QAC9C,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAA;IAC1D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,IAAI,qBAAqB,CAAA;QACvE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAA;IACnE,CAAC;IACD,MAAM,QAAQ,GACZ,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACjG,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,CAAC,GAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,sBAAsB;QAChF,CAAC,CAAC,CAAC,GAAe,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC3D,OAAO,CAAC,GAAG,EAAE,EAAE,CACb,CAAC,qBAAqB,KAAK,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;AACjG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,MAAqB,EACrB,KAAiC;IAEjC,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClF,OAAO,GAAG,EAAE,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAA;IAC1C,OAAO,CAAC,GAAG,EAAE,EAAE,CACb,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,oBAAoB;QACtD,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAA;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAuB,EACvB,KAA0B;IAE1B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAClG,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EACzC,KAAK,CAAC,aAAa,CACpB,CAAA;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,iBAAiB,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAA;IAClG,CAAC,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,CAAA;IACpE,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAA;IAChB,CAAC;IACD,kGAAkG;IAClG,4FAA4F;IAC5F,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC3C,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACrE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,CAAA;QACV,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzE,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAM;YACR,CAAC;YACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;oBAChC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC9B,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,GAAG,WAAW,CAAA;IAC9B,CAAC,CAAA;AACH,CAAC;AAED,kFAAkF;AAClF,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,sBAAsB;QAC1C,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAA;AAC7F,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,SAAiB;IACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9E,MAAM,MAAM,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,OAAO,CACL,OAAO,CAAC,MAAM,IAAI,sBAAsB;QACxC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,sBAAsB;QACxD,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAkB,EAAE,SAAiB;IAC7E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IACE,UAAU,CAAC,MAAM,IAAI,yBAAyB;QAC9C,SAAS,CAAC,MAAM,IAAI,yBAAyB;QAC7C,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,yBAAyB,EACtE,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IACE,UAAU,CAAC,MAAM,GAAG,sBAAsB;QAC1C,SAAS,CAAC,MAAM,GAAG,sBAAsB;QACzC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;QAClD,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;QAClC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EACjC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,2BAA2B,CAAA;AACpF,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAuB;IACrD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACtF,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACvE,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAA;YAC7F,CAAC;YACD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;YACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACxE,CAAC,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5C,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,CAAC,GAAG,WAAW,CAAC;SACb,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,yBAAyB,CAAC;SAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAC7D,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC;SACjC,MAAM,CAAC,iBAAiB,CAAC;SACzB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9D,4FAA4F;IAC5F,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAA;YAC3C,IACE,SAAS,CAAC,MAAM,IAAI,yBAAyB;gBAC7C,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,EAC3D,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBAAE,SAAQ;YACvE,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;YAC7C,KAAK,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC9C,IACE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC9C,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,2BAA2B,EAC/E,CAAC;oBACD,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,SAAiB;IACzE,OAAO,CACL,iBAAiB,CAAC,UAAU,CAAC;QAC7B,iBAAiB,CAAC,SAAS,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QACnD,qBAAqB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,2BAA2B,CAC5E,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAA;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,CAAC,2BAA2B,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAC3F,CAAA;IACD,OAAO,CAAC,UAAU,EAAE,EAAE;QACpB,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,CAAA;gBACV,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;oBACtB,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,MAAM,IAAI,sBAAsB,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB,EAAE,UAAkB;IACpE,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7C,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,OAAO,SAAS,KAAK,QAAQ,CAAA;QAC/B,CAAC;QACD,OAAO,CACL,SAAS,KAAK,QAAQ;YACtB,CAAC,SAAS,CAAC,MAAM,IAAI,sBAAsB;gBACzC,QAAQ,CAAC,MAAM,IAAI,sBAAsB;gBACzC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjD,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAC1C,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,WAAW,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QACD,OAAO,WAAW,KAAK,CAAC,CAAA;IAC1B,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACpF,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,OAAO,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACpE,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,YAAY,IAAI,CAAC,CAAA;YACjB,WAAW,IAAI,CAAC,CAAA;YAChB,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;QACd,WAAW,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,SAAS,CAChB,UAAiB,EACjB,QAAe,EACf,KAA2B,EAC3B,WAA8C;IAE9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IACnC,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAA;QACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QACjC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,UAAU,CACjB,WAAqB,EACrB,IAAW,EACX,KAA2B;IAE3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACzF,MAAM,UAAU,GAA4B;QAC1C,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,mBAAmB,EAAE,IAAI,GAAG,EAAE;KAC/B,CAAA;IACD,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,SAAS;QAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IACjG,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAA;QAC3E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAsB,EAAE,KAAuB;IACxE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,GAAe;IAClC,OAAO,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,SAAS;QACf,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAA;AAC9B,CAAC;AAED,SAAS,MAAM,CAAC,GAAe;IAC7B,OAAO,GAAG,GAAG,CAAC,YAAY,KAAK,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK;SACT,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,WAAW,EAAE,CAAA;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,KAAa;IACxD,OAAO,wBAAwB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAiB,EAAE,KAAkB;IACrE,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,IAAI,GAAG,CACZ,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAC3F,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,KAAa;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACjD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,OAAO,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,KAAK,IAAI,CAAC,CAAA;IACZ,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
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;
|
|
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
|
|
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":"
|
|
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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"}
|
package/dist/skill.d.ts
CHANGED
|
@@ -53,8 +53,6 @@ export interface AgentHelperFile {
|
|
|
53
53
|
path: string;
|
|
54
54
|
}
|
|
55
55
|
export declare const SKILL_NAMES: readonly ["ragmir"];
|
|
56
|
-
/** Skills of retired commands (audio, reports, legal dossiers); their instructions now fail. */
|
|
57
|
-
export declare const RETIRED_SKILL_NAMES: readonly ["ragmir-audio-summary", "ragmir-legal-dossier", "ragmir-markdown-report"];
|
|
58
56
|
export declare const MCP_CONFIG_FILENAME = "mcp.json";
|
|
59
57
|
export declare const AGENT_SETUP_FILENAME = "agent-setup.md";
|
|
60
58
|
export declare const SUPPORTED_AGENT_TARGETS: readonly AgentTarget[];
|
package/dist/skill.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAA;AAGvF,YAAY,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACvF,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAA;AAClD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAA;AAE9C,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,IAAI,CAAC,EAAE,gBAAgB,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,iBAAiB,CAAA;IACxB,IAAI,EAAE,gBAAgB,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,kBAAkB,CAAA;IAC9B,aAAa,EAAE,sBAAsB,EAAE,CAAA;IACvC,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAOD,eAAO,MAAM,WAAW,qBAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"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"}
|
package/dist/skill.js
CHANGED
|
@@ -19,7 +19,7 @@ const MCP_SERVER_NAME_PATTERN = /^[A-Za-z0-9_-]+$/u;
|
|
|
19
19
|
const MANAGED_SKILL_METADATA_FILENAME = ".ragmir-managed.json";
|
|
20
20
|
export const SKILL_NAMES = [PRIMARY_SKILL_NAME];
|
|
21
21
|
/** Skills of retired commands (audio, reports, legal dossiers); their instructions now fail. */
|
|
22
|
-
|
|
22
|
+
const RETIRED_SKILL_NAMES = [
|
|
23
23
|
"ragmir-audio-summary",
|
|
24
24
|
"ragmir-legal-dossier",
|
|
25
25
|
"ragmir-markdown-report",
|