@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.
Files changed (133) hide show
  1. package/README.md +11 -6
  2. package/dist/abstention-calibration.d.ts +29 -0
  3. package/dist/abstention-calibration.d.ts.map +1 -0
  4. package/dist/abstention-calibration.js +116 -0
  5. package/dist/abstention-calibration.js.map +1 -0
  6. package/dist/chunk-stats.d.ts.map +1 -1
  7. package/dist/chunk-stats.js +1 -4
  8. package/dist/chunk-stats.js.map +1 -1
  9. package/dist/config.d.ts +0 -6
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +9 -3
  12. package/dist/config.js.map +1 -1
  13. package/dist/defaults.d.ts +1 -5
  14. package/dist/defaults.d.ts.map +1 -1
  15. package/dist/defaults.js +6 -5
  16. package/dist/defaults.js.map +1 -1
  17. package/dist/doctor.d.ts.map +1 -1
  18. package/dist/doctor.js +18 -2
  19. package/dist/doctor.js.map +1 -1
  20. package/dist/embeddings.d.ts.map +1 -1
  21. package/dist/embeddings.js +32 -11
  22. package/dist/embeddings.js.map +1 -1
  23. package/dist/errors.d.ts +1 -1
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js.map +1 -1
  26. package/dist/evaluate.d.ts +1 -2
  27. package/dist/evaluate.d.ts.map +1 -1
  28. package/dist/evaluate.js +31 -9
  29. package/dist/evaluate.js.map +1 -1
  30. package/dist/files.d.ts +0 -10
  31. package/dist/files.d.ts.map +1 -1
  32. package/dist/files.js +6 -6
  33. package/dist/files.js.map +1 -1
  34. package/dist/git-hooks.d.ts +2 -1
  35. package/dist/git-hooks.d.ts.map +1 -1
  36. package/dist/git-hooks.js +1 -6
  37. package/dist/git-hooks.js.map +1 -1
  38. package/dist/gitignore.d.ts +0 -1
  39. package/dist/gitignore.d.ts.map +1 -1
  40. package/dist/gitignore.js +1 -1
  41. package/dist/gitignore.js.map +1 -1
  42. package/dist/index-write-lock.d.ts +0 -1
  43. package/dist/index-write-lock.d.ts.map +1 -1
  44. package/dist/index-write-lock.js +1 -1
  45. package/dist/index-write-lock.js.map +1 -1
  46. package/dist/ingest.d.ts +1 -0
  47. package/dist/ingest.d.ts.map +1 -1
  48. package/dist/ingest.js +31 -0
  49. package/dist/ingest.js.map +1 -1
  50. package/dist/ingestion-state.d.ts +1 -2
  51. package/dist/ingestion-state.d.ts.map +1 -1
  52. package/dist/ingestion-state.js +9 -54
  53. package/dist/ingestion-state.js.map +1 -1
  54. package/dist/json-lines.d.ts +7 -0
  55. package/dist/json-lines.d.ts.map +1 -0
  56. package/dist/json-lines.js +35 -0
  57. package/dist/json-lines.js.map +1 -0
  58. package/dist/ocr-cache.d.ts +0 -1
  59. package/dist/ocr-cache.d.ts.map +1 -1
  60. package/dist/ocr-cache.js +1 -1
  61. package/dist/ocr-cache.js.map +1 -1
  62. package/dist/ocr.d.ts +0 -1
  63. package/dist/ocr.d.ts.map +1 -1
  64. package/dist/ocr.js +1 -1
  65. package/dist/ocr.js.map +1 -1
  66. package/dist/package-manager.d.ts +2 -0
  67. package/dist/package-manager.d.ts.map +1 -1
  68. package/dist/package-manager.js +2 -0
  69. package/dist/package-manager.js.map +1 -1
  70. package/dist/quality-report.d.ts +0 -1
  71. package/dist/quality-report.d.ts.map +1 -1
  72. package/dist/quality-report.js +1 -1
  73. package/dist/quality-report.js.map +1 -1
  74. package/dist/query-sanitizer.d.ts +0 -1
  75. package/dist/query-sanitizer.d.ts.map +1 -1
  76. package/dist/query-sanitizer.js +1 -1
  77. package/dist/query-sanitizer.js.map +1 -1
  78. package/dist/query.d.ts.map +1 -1
  79. package/dist/query.js +77 -26
  80. package/dist/query.js.map +1 -1
  81. package/dist/ranking.d.ts +40 -9
  82. package/dist/ranking.d.ts.map +1 -1
  83. package/dist/ranking.js +188 -54
  84. package/dist/ranking.js.map +1 -1
  85. package/dist/retrieval-diversity.d.ts.map +1 -1
  86. package/dist/retrieval-diversity.js +4 -1
  87. package/dist/retrieval-diversity.js.map +1 -1
  88. package/dist/setup.js +5 -0
  89. package/dist/setup.js.map +1 -1
  90. package/dist/skill.d.ts +0 -2
  91. package/dist/skill.d.ts.map +1 -1
  92. package/dist/skill.js +1 -1
  93. package/dist/skill.js.map +1 -1
  94. package/dist/source-fingerprint-cache.d.ts.map +1 -1
  95. package/dist/source-fingerprint-cache.js +4 -28
  96. package/dist/source-fingerprint-cache.js.map +1 -1
  97. package/dist/source-weights.d.ts +12 -7
  98. package/dist/source-weights.d.ts.map +1 -1
  99. package/dist/source-weights.js +105 -42
  100. package/dist/source-weights.js.map +1 -1
  101. package/dist/statistics.d.ts +6 -0
  102. package/dist/statistics.d.ts.map +1 -0
  103. package/dist/statistics.js +8 -0
  104. package/dist/statistics.js.map +1 -0
  105. package/dist/storage-maintenance.d.ts +5 -0
  106. package/dist/storage-maintenance.d.ts.map +1 -1
  107. package/dist/storage-maintenance.js +12 -0
  108. package/dist/storage-maintenance.js.map +1 -1
  109. package/dist/text-memo.d.ts +7 -0
  110. package/dist/text-memo.d.ts.map +1 -0
  111. package/dist/text-memo.js +26 -0
  112. package/dist/text-memo.js.map +1 -0
  113. package/dist/text.d.ts +8 -0
  114. package/dist/text.d.ts.map +1 -1
  115. package/dist/text.js +23 -0
  116. package/dist/text.js.map +1 -1
  117. package/dist/types.d.ts +21 -0
  118. package/dist/types.d.ts.map +1 -1
  119. package/dist/upgrade.d.ts.map +1 -1
  120. package/dist/upgrade.js +18 -8
  121. package/dist/upgrade.js.map +1 -1
  122. package/dist/vector-index.d.ts +0 -3
  123. package/dist/vector-index.d.ts.map +1 -1
  124. package/dist/vector-index.js +3 -3
  125. package/dist/vector-index.js.map +1 -1
  126. package/dist/version.d.ts +1 -1
  127. package/dist/version.js +1 -1
  128. package/dist/workload.d.ts +0 -1
  129. package/dist/workload.d.ts.map +1 -1
  130. package/dist/workload.js +1 -1
  131. package/dist/workload.js.map +1 -1
  132. package/package.json +6 -1
  133. package/skills/ragmir/SKILL.md +2 -0
package/README.md CHANGED
@@ -11,8 +11,8 @@
11
11
  </p>
12
12
 
13
13
  <p align="center">
14
- 93% of real developer questions find the right file in the top 10 · 40 ms median search on a
15
- 43,874-chunk monorepo · <a href="https://github.com/jcode-works/jcode-ragmir#benchmarks">benchmarks</a>
14
+ 94% of real developer questions find the right file in the top 10 · 36 ms median search on a
15
+ 30,171-chunk monorepo · <a href="https://github.com/jcode-works/jcode-ragmir#benchmarks">benchmarks</a>
16
16
  </p>
17
17
 
18
18
  <p align="center">
@@ -31,12 +31,14 @@ model you choose. Ragmir does not bundle a chat model or host your documents.
31
31
 
32
32
  - **Code and documents in one index:** hybrid BM25 and vector search that understands paths and
33
33
  camelCase identifiers and boosts the code that defines what you ask about.
34
- - **Fast on real repositories:** 40 ms median search on a 43,874-chunk monorepo, with the right
35
- source in the top 10 for 93% of real developer questions
34
+ - **Fast on real repositories:** 36 ms median search on a 30,171-chunk monorepo, with the right
35
+ source in the top 10 for 94% of real developer questions
36
36
  ([benchmarks](https://github.com/jcode-works/jcode-ragmir#benchmarks)).
37
+ - **Ahead of the usual RAG stacks:** the right file reaches the top 3 for 83% of this repository's
38
+ developer questions, against 63% for a LangChain.js pipeline and 79% for MiniSearch BM25.
37
39
  - **Evidence you can verify:** citations point to source lines or native page, slide, sheet/cell,
38
40
  and EPUB coordinates. Results flag changed files (`sourceStatus`) and thin support
39
- (`weakEvidence`); unrelated questions return nothing.
41
+ (`weakEvidence`); questions your sources cannot answer return nothing instead of noise.
40
42
  - **Always current:** `rgr doctor` checks the files on disk on every run, and `rgr hooks install`
41
43
  refreshes the index after commits, merges, and checkouts.
42
44
  - **Private and portable:** offline by default, with no account or telemetry, and the same paths,
@@ -111,7 +113,10 @@ scripts. See the [API reference](https://github.com/jcode-works/jcode-ragmir/blo
111
113
  Index Markdown, code, JSON, CSV, HTML, PDF, DOCX, XLSX, PPTX, OpenDocument, EPUB, and RTF; scanned
112
114
  PDFs, photos, and legacy `.doc` files use local extractors (`rgr ocr setup --images
113
115
  --legacy-word`). The default `local-hash` provider needs no model download. For semantic
114
- embeddings, install `@huggingface/transformers` and run `npx rgr setup --semantic`.
116
+ embeddings, install `@huggingface/transformers` and run `npx rgr setup --semantic`. Use
117
+ `mxbai-embed-xsmall-v1` for English, `multilingual-e5-small` (the default) or `multilingual-e5-base`
118
+ for French and mixed languages; newer models such as Granite R2 or EmbeddingGemma 2 are not
119
+ supported yet. See [choosing an embedding model](https://github.com/jcode-works/jcode-ragmir#choosing-an-embedding-model).
115
120
 
116
121
  For guided setup, give your agent this prompt:
117
122
 
@@ -0,0 +1,29 @@
1
+ import type { Table } from "@lancedb/lancedb";
2
+ import type { AbstentionCalibration, Config, IndexManifest } from "./types.js";
3
+ /**
4
+ * Off-topic questions in English, French, and nonsense, chosen to share no subject with a software
5
+ * project. Their nearest passages mark where unrelated questions land in an index, whatever the
6
+ * embedding model. Changing the list changes every calibration, so keep it stable.
7
+ */
8
+ export declare const ABSTENTION_PROBES: readonly string[];
9
+ /** The embedding function, `embedTexts` in production, so callers pass it without a wrapper. */
10
+ export type ProbeEmbedder = (texts: string[], config: Config, inputType: "query", signal?: AbortSignal) => Promise<number[][]>;
11
+ /**
12
+ * Measure the noise floor of an index: embed the probes as queries and take the smallest exact
13
+ * distance to their nearest passage. Returns null for local-hash indexes and empty tables.
14
+ */
15
+ export declare function measureAbstentionCalibration(table: Table, config: Config, embed: ProbeEmbedder, signal?: AbortSignal): Promise<AbstentionCalibration | null>;
16
+ /**
17
+ * The noise floor search applies: stored by ingestion, or measured once per process and index
18
+ * generation for an index built before ingestion stored it. A failed measurement keeps the
19
+ * policy's own distances.
20
+ */
21
+ export declare function indexNoiseFloor(table: Table, config: Config, manifest: IndexManifest | null, generationKey: string, embed: ProbeEmbedder): Promise<number | null>;
22
+ /**
23
+ * Advice for a semantic index built before ingestion stored its noise floor: every process then
24
+ * measures it on its first search, which cost 0.1 to 0.3 s on real bases.
25
+ */
26
+ export declare function noiseFloorAdvice(manifest: IndexManifest | null, config: Config, run: (args: string[]) => string): string | null;
27
+ /** The calibration stored with the index, when it was measured with the configured model. */
28
+ export declare function manifestNoiseFloor(manifest: IndexManifest | null, config: Config): number | null;
29
+ //# sourceMappingURL=abstention-calibration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstention-calibration.d.ts","sourceRoot":"","sources":["../src/abstention-calibration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE9E;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAyB9C,CAAA;AAED,gGAAgG;AAChG,MAAM,MAAM,aAAa,GAAG,CAC1B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAMxB;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CA0BvC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,GAC9B,MAAM,GAAG,IAAI,CASf;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhG"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Off-topic questions in English, French, and nonsense, chosen to share no subject with a software
3
+ * project. Their nearest passages mark where unrelated questions land in an index, whatever the
4
+ * embedding model. Changing the list changes every calibration, so keep it stable.
5
+ */
6
+ export const ABSTENTION_PROBES = [
7
+ "Who won the Super Bowl in 1998?",
8
+ "How long should I boil an egg?",
9
+ "What is the population of Canada?",
10
+ "Best beaches in Portugal for surfing",
11
+ "How to knit a scarf for beginners",
12
+ "What time is sunset in Tokyo today?",
13
+ "Who were the members of the Beatles?",
14
+ "How do volcanoes form?",
15
+ "Recommend a good fantasy novel",
16
+ "What is the exchange rate of the euro to the yen?",
17
+ "Quelle est la capitale de l'Argentine ?",
18
+ "Comment préparer une pâte à crêpes ?",
19
+ "Qui a gagné Roland-Garros en 2015 ?",
20
+ "Quel temps fera-t-il à Nice demain ?",
21
+ "Comment entretenir un aquarium d'eau douce ?",
22
+ "Quelle est la distance entre la Terre et la Lune ?",
23
+ "Quels sont les meilleurs vins de Bourgogne ?",
24
+ "Comment apprendre à jouer de la guitare ?",
25
+ "flimbo grastic wuvvle",
26
+ "trepax zondor kliffum",
27
+ "asdkj qwpoe zmxn",
28
+ "lorem quantum frabble",
29
+ "Combien de temps vit un chat domestique ?",
30
+ "What is the tallest mountain in Africa?",
31
+ ];
32
+ const MAX_MEASURED_FLOORS = 4;
33
+ // Noise floors measured at search time for indexes built before ingestion stored one.
34
+ const measuredFloors = new Map();
35
+ /**
36
+ * Measure the noise floor of an index: embed the probes as queries and take the smallest exact
37
+ * distance to their nearest passage. Returns null for local-hash indexes and empty tables.
38
+ */
39
+ export async function measureAbstentionCalibration(table, config, embed, signal) {
40
+ if (config.embeddingProvider !== "transformers") {
41
+ return null;
42
+ }
43
+ const vectors = await embed([...ABSTENTION_PROBES], config, "query", signal);
44
+ const distances = [];
45
+ for (const vector of vectors) {
46
+ const [nearest] = await table
47
+ .vectorSearch(vector)
48
+ .bypassVectorIndex()
49
+ .select(["id"])
50
+ .limit(1)
51
+ .toArray();
52
+ if (typeof nearest?._distance === "number" && Number.isFinite(nearest._distance)) {
53
+ distances.push(nearest._distance);
54
+ }
55
+ }
56
+ if (distances.length === 0) {
57
+ return null;
58
+ }
59
+ return {
60
+ schemaVersion: 1,
61
+ embeddingModel: config.embeddingModel,
62
+ probeCount: distances.length,
63
+ noiseFloorDistance: Math.min(...distances),
64
+ };
65
+ }
66
+ /**
67
+ * The noise floor search applies: stored by ingestion, or measured once per process and index
68
+ * generation for an index built before ingestion stored it. A failed measurement keeps the
69
+ * policy's own distances.
70
+ */
71
+ export function indexNoiseFloor(table, config, manifest, generationKey, embed) {
72
+ if (config.embeddingProvider !== "transformers" || !manifest?.chunkCount) {
73
+ return Promise.resolve(null);
74
+ }
75
+ const stored = manifestNoiseFloor(manifest, config);
76
+ if (stored !== null) {
77
+ return Promise.resolve(stored);
78
+ }
79
+ const cacheKey = `${generationKey}\0${config.embeddingModel}`;
80
+ let measured = measuredFloors.get(cacheKey);
81
+ if (!measured) {
82
+ measured = measureAbstentionCalibration(table, config, embed)
83
+ .then((calibration) => calibration?.noiseFloorDistance ?? null)
84
+ .catch(() => null);
85
+ measuredFloors.set(cacheKey, measured);
86
+ for (const key of measuredFloors.keys()) {
87
+ if (measuredFloors.size <= MAX_MEASURED_FLOORS)
88
+ break;
89
+ measuredFloors.delete(key);
90
+ }
91
+ }
92
+ return measured;
93
+ }
94
+ /**
95
+ * Advice for a semantic index built before ingestion stored its noise floor: every process then
96
+ * measures it on its first search, which cost 0.1 to 0.3 s on real bases.
97
+ */
98
+ export function noiseFloorAdvice(manifest, config, run) {
99
+ if (config.embeddingProvider !== "transformers" ||
100
+ !manifest?.chunkCount ||
101
+ manifestNoiseFloor(manifest, config) !== null) {
102
+ return null;
103
+ }
104
+ return `The index has no stored noise floor, so each process measures it on its first search. Run \`${run(["ingest"])}\` to store it.`;
105
+ }
106
+ /** The calibration stored with the index, when it was measured with the configured model. */
107
+ export function manifestNoiseFloor(manifest, config) {
108
+ const calibration = manifest?.abstentionCalibration;
109
+ if (config.embeddingProvider !== "transformers" ||
110
+ calibration?.schemaVersion !== 1 ||
111
+ calibration.embeddingModel !== config.embeddingModel) {
112
+ return null;
113
+ }
114
+ return calibration.noiseFloorDistance;
115
+ }
116
+ //# sourceMappingURL=abstention-calibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstention-calibration.js","sourceRoot":"","sources":["../src/abstention-calibration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-stats.d.ts","sourceRoot":"","sources":["../src/chunk-stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,CA2B7E"}
1
+ {"version":3,"file":"chunk-stats.d.ts","sourceRoot":"","sources":["../src/chunk-stats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,CA2B7E"}
@@ -1,3 +1,4 @@
1
+ import { percentile } from "./statistics.js";
1
2
  export function summarizeChunkStats(chunks) {
2
3
  if (chunks.length === 0) {
3
4
  return {
@@ -24,8 +25,4 @@ export function summarizeChunkStats(chunks) {
24
25
  contextualRatio: contextualChunks / chunks.length,
25
26
  };
26
27
  }
27
- function percentile(sortedValues, quantile) {
28
- const index = Math.ceil(quantile * sortedValues.length) - 1;
29
- return sortedValues[Math.max(0, index)] ?? 0;
30
- }
31
28
  //# sourceMappingURL=chunk-stats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-stats.js","sourceRoot":"","sources":["../src/chunk-stats.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,mBAAmB,CAAC,MAA6B;IAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;SACnB,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;IAC5F,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IAE7F,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;QAC/E,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;QAClC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;QACnC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7B,gBAAgB;QAChB,eAAe,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM;KAClD,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,YAAsB,EAAE,QAAgB;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3D,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"chunk-stats.js","sourceRoot":"","sources":["../src/chunk-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAQ5C,MAAM,UAAU,mBAAmB,CAAC,MAA6B;IAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;YACX,gBAAgB,EAAE,CAAC;YACnB,eAAe,EAAE,CAAC;SACnB,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;IAC5F,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IAE7F,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACzB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM;QAC/E,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;QAClC,QAAQ,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;QACnC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7B,gBAAgB;QAChB,eAAe,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM;KAClD,CAAA;AACH,CAAC"}
package/dist/config.d.ts CHANGED
@@ -4,7 +4,6 @@ export interface ConfigLoadDiagnosticsEvent {
4
4
  projectRoot: string;
5
5
  configPath: string;
6
6
  }
7
- export declare const RETIRED_CONFIG_KEYS: readonly ["privacyProfile", "acceptedRisks", "redaction", "accessLog", "accessLogPath"];
8
7
  export declare function retiredConfigKeys(raw: Record<string, unknown>): string[];
9
8
  export interface ProjectConfigFile {
10
9
  projectRoot: string;
@@ -24,11 +23,6 @@ export declare function projectConfigExists(location: ProjectConfigFile): boolea
24
23
  export declare function readMergedProjectConfig(location: ProjectConfigFile): Promise<Record<string, unknown>>;
25
24
  export declare function loadConfig(start?: string): Promise<Config>;
26
25
  export declare function externalExtractorsRequested(config: Config): boolean;
27
- /** Budgets each retrieval profile chooses for fields the config leaves unset. */
28
- export declare const RETRIEVAL_PROFILE_BUDGETS: Readonly<Record<Exclude<Config["retrievalProfile"], "custom">, {
29
- topK: number;
30
- hybridTextScanLimit: number;
31
- }>>;
32
26
  /**
33
27
  * Budgets pinned in the config that differ from the selected profile. Older `rgr init` wrote every
34
28
  * default, so a later switch to the quality profile silently kept topK 8.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAA;AAEvD,eAAO,MAAM,+BAA+B,uBAAuB,CAAA;AAEnE,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AA8JD,eAAO,MAAM,mBAAmB,YAC9B,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,eAAe,CACP,CAAA;AAEV,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAExE;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAA;IAClB,6FAA6F;IAC7F,eAAe,EAAE,MAAM,CAAA;IACvB,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAgB,GAAG,MAAM,CAE7D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAgB,GAAG,iBAAiB,CA2C1E;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAExE;AAED,4FAA4F;AAC5F,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQlC;AAaD,wBAAsB,UAAU,CAAC,KAAK,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6FvE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnE;AA0CD,iFAAiF;AACjF,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CACJ,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,EAC7C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAC9C,CAQF,CAAA;AAiBD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAClC,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAW5F"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,YAAY,CAAA;AAEvD,eAAO,MAAM,+BAA+B,uBAAuB,CAAA;AAEnE,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;CACnB;AA0KD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAExE;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAA;IAClB,6FAA6F;IAC7F,eAAe,EAAE,MAAM,CAAA;IACvB,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAgB,GAAG,MAAM,CAE7D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAgB,GAAG,iBAAiB,CA2C1E;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAExE;AAED,4FAA4F;AAC5F,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQlC;AAaD,wBAAsB,UAAU,CAAC,KAAK,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiGvE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnE;AAwED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAClC,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAW5F"}
package/dist/config.js CHANGED
@@ -4,6 +4,7 @@ import { readFile } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { z } from "zod";
6
6
  import { CONFIG_PATH, DEFAULT_CONFIG, defaultEmbeddingModelRevision, LEGACY_CONFIG_PATH, LEGACY_DEFAULT_CONFIG, MAX_CHUNK_SIZE, MAX_CHUNKS_PER_DOCUMENT, MAX_CONFIG_ARRAY_ITEMS, MAX_CONFIG_NAME_CHARACTERS, MAX_CONFIG_PATH_CHARACTERS, MAX_CONFIG_TEXT_CHARACTERS, MAX_CONFIGURED_FILE_BYTES, MAX_EMBEDDING_BATCH_SIZE, MAX_EXTERNAL_COMMAND_ARGUMENTS, MAX_EXTERNAL_COMMAND_TIMEOUT_MS, MAX_HYBRID_TEXT_SCAN_LIMIT, MAX_INCLUDE_EXTENSIONS, MAX_INGEST_CHUNKS_PER_FILE, MAX_INGEST_CONCURRENCY, MAX_MCP_OUTPUT_BYTES, MAX_SEARCH_SCOPES, MAX_SEARCH_TOP_K, MAX_SOURCE_WEIGHT, MAX_WORKLOAD_CONCURRENCY, MAX_WORKLOAD_QUEUE, MAX_WORKLOAD_QUEUE_TIMEOUT_MS, SHARED_CONFIG_FILENAME, } from "./defaults.js";
7
+ import { RagmirError } from "./errors.js";
7
8
  import { isRecord } from "./guards.js";
8
9
  export const CONFIG_LOAD_DIAGNOSTICS_CHANNEL = "ragmir:config-load";
9
10
  const configLoadDiagnostics = channel(CONFIG_LOAD_DIAGNOSTICS_CHANNEL);
@@ -14,6 +15,7 @@ const embeddingModelDigestSchema = z
14
15
  .nullable();
15
16
  const retrievalProfileSchema = z.enum(["fast", "balanced", "quality", "custom"]);
16
17
  const sourceFingerprintModeSchema = z.enum(["fast", "strict"]);
18
+ const ingestEmbeddingDeviceSchema = z.enum(["cpu", "webgpu"]);
17
19
  const incrementalFailurePolicySchema = z.enum(["preserve-last-good", "remove-stale"]);
18
20
  const configPathSchema = z.string().min(1).max(MAX_CONFIG_PATH_CHARACTERS);
19
21
  const configTextSchema = z.string().min(1).max(MAX_CONFIG_TEXT_CHARACTERS);
@@ -85,6 +87,7 @@ const rawConfigSchema = z
85
87
  maxFileBytes: z.number().int().positive().default(DEFAULT_CONFIG.maxFileBytes),
86
88
  ingestConcurrency: z.number().int().positive().default(DEFAULT_CONFIG.ingestConcurrency),
87
89
  embeddingBatchSize: z.number().int().positive().default(DEFAULT_CONFIG.embeddingBatchSize),
90
+ ingestEmbeddingDevice: ingestEmbeddingDeviceSchema.default(DEFAULT_CONFIG.ingestEmbeddingDevice),
88
91
  sourceFingerprintMode: sourceFingerprintModeSchema.default(DEFAULT_CONFIG.sourceFingerprintMode),
89
92
  incrementalFailurePolicy: incrementalFailurePolicySchema.default(DEFAULT_CONFIG.incrementalFailurePolicy),
90
93
  hybridTextScanLimit: z.number().int().positive().default(DEFAULT_CONFIG.hybridTextScanLimit),
@@ -147,7 +150,7 @@ const rawConfigSchema = z
147
150
  .default(DEFAULT_CONFIG.mcpSeenResults),
148
151
  })
149
152
  .strict();
150
- export const RETIRED_CONFIG_KEYS = [
153
+ const RETIRED_CONFIG_KEYS = [
151
154
  "privacyProfile",
152
155
  "acceptedRisks",
153
156
  "redaction",
@@ -227,7 +230,9 @@ export async function loadConfig(start = process.cwd()) {
227
230
  const raw = await readMergedProjectConfig(projectConfig);
228
231
  const retired = retiredConfigKeys(raw);
229
232
  if (retired.length > 0) {
230
- throw new Error(`Retired configuration fields: ${retired.join(", ")}. Run \`rgr upgrade\` to back up and migrate the config and rebuild the index. Ragmir now preserves source text without masking; your consuming model controls where retrieved content is sent.`);
233
+ // A typed code lets agents and MCP clients route to `rgr upgrade` instead of reporting an
234
+ // internal failure.
235
+ throw new RagmirError("CONFIG_MIGRATION_REQUIRED", `Retired configuration fields: ${retired.join(", ")}. Run \`rgr upgrade\` to back up and migrate the config and rebuild the index. Ragmir now preserves source text without masking; your consuming model controls where retrieved content is sent.`);
231
236
  }
232
237
  const defaults = projectConfig.legacy ? LEGACY_DEFAULT_CONFIG : DEFAULT_CONFIG;
233
238
  const parsed = rawConfigSchema.parse(configWithModelIdentityDefaults(defaults, raw));
@@ -267,6 +272,7 @@ export async function loadConfig(start = process.cwd()) {
267
272
  maxFileBytes: effective.maxFileBytes,
268
273
  ingestConcurrency: effective.ingestConcurrency,
269
274
  embeddingBatchSize: effective.embeddingBatchSize,
275
+ ingestEmbeddingDevice: effective.ingestEmbeddingDevice,
270
276
  sourceFingerprintMode: effective.sourceFingerprintMode,
271
277
  incrementalFailurePolicy: effective.incrementalFailurePolicy,
272
278
  hybridTextScanLimit: effective.hybridTextScanLimit,
@@ -338,7 +344,7 @@ function configWithModelIdentityDefaults(defaults, raw) {
338
344
  };
339
345
  }
340
346
  /** Budgets each retrieval profile chooses for fields the config leaves unset. */
341
- export const RETRIEVAL_PROFILE_BUDGETS = {
347
+ const RETRIEVAL_PROFILE_BUDGETS = {
342
348
  fast: { topK: 5, hybridTextScanLimit: 2_000 },
343
349
  balanced: {
344
350
  topK: DEFAULT_CONFIG.topK,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import type { Config } from "./types.js";
2
2
  export declare const RAGMIR_DIR = ".ragmir";
3
3
  export declare const LEGACY_KB_DIR = ".kb";
4
4
  export declare const LEGACY_PRIVATE_DIR = "private";
5
- export declare const RAGMIR_RAW_DIR = ".ragmir/raw";
6
5
  export declare const CONFIG_PATH = ".ragmir/config.json";
7
6
  /** Optional project-level config meant to be committed; `.ragmir/config.json` overrides its keys. */
8
7
  export declare const SHARED_CONFIG_FILENAME = "ragmir.config.json";
@@ -20,6 +19,7 @@ export declare const MAX_INGEST_CHUNK_WINDOW = 8192;
20
19
  export declare const MAX_INGEST_CHUNKS_PER_FILE = 65536;
21
20
  export declare const MAX_INGEST_VECTOR_BYTES_PER_FILE: number;
22
21
  export declare const MAX_SEARCH_TOP_K = 100;
22
+ /** A document can fill at most one full result page. @alias */
23
23
  export declare const MAX_CHUNKS_PER_DOCUMENT = 100;
24
24
  export declare const MAX_HYBRID_TEXT_SCAN_LIMIT = 10000;
25
25
  export declare const MAX_CONFIG_ARRAY_ITEMS = 10000;
@@ -36,16 +36,12 @@ export declare const MAX_WORKLOAD_QUEUE_TIMEOUT_MS = 900000;
36
36
  export declare const MAX_CONFIG_NAME_CHARACTERS = 120;
37
37
  export declare const MAX_SOURCE_WEIGHT = 10;
38
38
  export declare const MAX_SEARCH_SCOPES = 64;
39
- export declare const DEFAULT_EMBEDDING_MODEL = "intfloat/multilingual-e5-small";
40
- export declare const DEFAULT_EMBEDDING_MODEL_REVISION = "614241f622f53c4eeff9890bdc4f31cfecc418b3";
41
- export declare const KNOWN_EMBEDDING_MODEL_REVISIONS: Readonly<Record<string, string>>;
42
39
  /** Budgets that `retrievalProfile` chooses unless a project config sets them explicitly. */
43
40
  export declare const RETRIEVAL_PROFILE_FIELDS: ReadonlySet<string>;
44
41
  export declare function defaultEmbeddingModelRevision(model: string): string;
45
42
  export declare const RAGMIR_GITIGNORE_ENTRY = ".ragmir/";
46
43
  export declare const LEGACY_KB_GITIGNORE_ENTRY = ".kb/";
47
44
  export declare const LEGACY_PRIVATE_GITIGNORE_ENTRY = "private/";
48
- export declare const LEGACY_PRIVATE_GITIGNORE_FALLBACK_ENTRY = "private/**";
49
45
  export declare const DEFAULT_CONFIG: Omit<Config, "projectRoot">;
50
46
  export declare const LEGACY_DEFAULT_CONFIG: Omit<Config, "projectRoot">;
51
47
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,UAAU,YAAY,CAAA;AACnC,eAAO,MAAM,aAAa,QAAQ,CAAA;AAClC,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAC3C,eAAO,MAAM,cAAc,gBAAsB,CAAA;AACjD,eAAO,MAAM,WAAW,wBAA8B,CAAA;AACtD,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D,eAAO,MAAM,kBAAkB,oBAAiC,CAAA;AAChE,eAAO,MAAM,wBAAwB,mBAAyB,CAAA;AAC9D,eAAO,MAAM,uBAAuB,wBAAwB,CAAA;AAE5D,eAAO,MAAM,uBAAuB,wBAAwB,CAAA;AAC5D,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAE1C,eAAO,MAAM,yBAAyB,WAAa,CAAA;AACnD,eAAO,MAAM,sBAAsB,IAAI,CAAA;AACvC,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAC7C,eAAO,MAAM,8BAA8B,WAAa,CAAA;AACxD,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAC5C,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAChD,eAAO,MAAM,gCAAgC,QAAsB,CAAA;AACnE,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,uBAAuB,MAAmB,CAAA;AACvD,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAChD,eAAO,MAAM,sBAAsB,QAAS,CAAA;AAC5C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,8BAA8B,MAAM,CAAA;AACjD,eAAO,MAAM,+BAA+B,SAAU,CAAA;AACtD,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,eAAO,MAAM,oBAAoB,UAAY,CAAA;AAC7C,eAAO,MAAM,cAAc,UAAY,CAAA;AACvC,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAC1C,eAAO,MAAM,kBAAkB,OAAQ,CAAA;AACvC,eAAO,MAAM,6BAA6B,SAAU,CAAA;AACpD,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAC7C,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,uBAAuB,mCAAmC,CAAA;AACvE,eAAO,MAAM,gCAAgC,6CAA6C,CAAA;AAC1F,eAAO,MAAM,+BAA+B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG5E,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAGvD,CAAA;AAEF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,eAAO,MAAM,sBAAsB,aAAmB,CAAA;AACtD,eAAO,MAAM,yBAAyB,SAAsB,CAAA;AAC5D,eAAO,MAAM,8BAA8B,aAA2B,CAAA;AACtE,eAAO,MAAM,uCAAuC,eAA6B,CAAA;AAEjF,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAgDtD,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAK7D,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,eAAO,MAAM,UAAU,YAAY,CAAA;AACnC,eAAO,MAAM,aAAa,QAAQ,CAAA;AAClC,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAE3C,eAAO,MAAM,WAAW,wBAA8B,CAAA;AACtD,qGAAqG;AACrG,eAAO,MAAM,sBAAsB,uBAAuB,CAAA;AAC1D,eAAO,MAAM,kBAAkB,oBAAiC,CAAA;AAChE,eAAO,MAAM,wBAAwB,mBAAyB,CAAA;AAC9D,eAAO,MAAM,uBAAuB,wBAAwB,CAAA;AAE5D,eAAO,MAAM,uBAAuB,wBAAwB,CAAA;AAC5D,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAE1C,eAAO,MAAM,yBAAyB,WAAa,CAAA;AACnD,eAAO,MAAM,sBAAsB,IAAI,CAAA;AACvC,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAC7C,eAAO,MAAM,8BAA8B,WAAa,CAAA;AACxD,eAAO,MAAM,uBAAuB,OAAQ,CAAA;AAC5C,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAChD,eAAO,MAAM,gCAAgC,QAAsB,CAAA;AACnE,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,MAAmB,CAAA;AACvD,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAChD,eAAO,MAAM,sBAAsB,QAAS,CAAA;AAC5C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,0BAA0B,OAAQ,CAAA;AAC/C,eAAO,MAAM,8BAA8B,MAAM,CAAA;AACjD,eAAO,MAAM,+BAA+B,SAAU,CAAA;AACtD,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,eAAO,MAAM,oBAAoB,UAAY,CAAA;AAC7C,eAAO,MAAM,cAAc,UAAY,CAAA;AACvC,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAC1C,eAAO,MAAM,kBAAkB,OAAQ,CAAA;AACvC,eAAO,MAAM,6BAA6B,SAAU,CAAA;AACpD,eAAO,MAAM,0BAA0B,MAAM,CAAA;AAC7C,eAAO,MAAM,iBAAiB,KAAK,CAAA;AACnC,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAQnC,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAGvD,CAAA;AAEF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,eAAO,MAAM,sBAAsB,aAAmB,CAAA;AACtD,eAAO,MAAM,yBAAyB,SAAsB,CAAA;AAC5D,eAAO,MAAM,8BAA8B,aAA2B,CAAA;AAEtE,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAiDtD,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAK7D,CAAA"}
package/dist/defaults.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export const RAGMIR_DIR = ".ragmir";
2
2
  export const LEGACY_KB_DIR = ".kb";
3
3
  export const LEGACY_PRIVATE_DIR = "private";
4
- export const RAGMIR_RAW_DIR = `${RAGMIR_DIR}/raw`;
4
+ const RAGMIR_RAW_DIR = `${RAGMIR_DIR}/raw`;
5
5
  export const CONFIG_PATH = `${RAGMIR_DIR}/config.json`;
6
6
  /** Optional project-level config meant to be committed; `.ragmir/config.json` overrides its keys. */
7
7
  export const SHARED_CONFIG_FILENAME = "ragmir.config.json";
@@ -19,6 +19,7 @@ export const MAX_INGEST_CHUNK_WINDOW = 8_192;
19
19
  export const MAX_INGEST_CHUNKS_PER_FILE = 65_536;
20
20
  export const MAX_INGEST_VECTOR_BYTES_PER_FILE = 256 * 1_024 * 1_024;
21
21
  export const MAX_SEARCH_TOP_K = 100;
22
+ /** A document can fill at most one full result page. @alias */
22
23
  export const MAX_CHUNKS_PER_DOCUMENT = MAX_SEARCH_TOP_K;
23
24
  export const MAX_HYBRID_TEXT_SCAN_LIMIT = 10_000;
24
25
  export const MAX_CONFIG_ARRAY_ITEMS = 10_000;
@@ -35,9 +36,9 @@ export const MAX_WORKLOAD_QUEUE_TIMEOUT_MS = 900_000;
35
36
  export const MAX_CONFIG_NAME_CHARACTERS = 120;
36
37
  export const MAX_SOURCE_WEIGHT = 10;
37
38
  export const MAX_SEARCH_SCOPES = 64;
38
- export const DEFAULT_EMBEDDING_MODEL = "intfloat/multilingual-e5-small";
39
- export const DEFAULT_EMBEDDING_MODEL_REVISION = "614241f622f53c4eeff9890bdc4f31cfecc418b3";
40
- export const KNOWN_EMBEDDING_MODEL_REVISIONS = {
39
+ const DEFAULT_EMBEDDING_MODEL = "intfloat/multilingual-e5-small";
40
+ const DEFAULT_EMBEDDING_MODEL_REVISION = "614241f622f53c4eeff9890bdc4f31cfecc418b3";
41
+ const KNOWN_EMBEDDING_MODEL_REVISIONS = {
41
42
  [DEFAULT_EMBEDDING_MODEL]: DEFAULT_EMBEDDING_MODEL_REVISION,
42
43
  "mixedbread-ai/mxbai-embed-xsmall-v1": "e6ac24e5d6efb8782b59de1647b3ececb4ece94e",
43
44
  };
@@ -52,7 +53,6 @@ export function defaultEmbeddingModelRevision(model) {
52
53
  export const RAGMIR_GITIGNORE_ENTRY = `${RAGMIR_DIR}/`;
53
54
  export const LEGACY_KB_GITIGNORE_ENTRY = `${LEGACY_KB_DIR}/`;
54
55
  export const LEGACY_PRIVATE_GITIGNORE_ENTRY = `${LEGACY_PRIVATE_DIR}/`;
55
- export const LEGACY_PRIVATE_GITIGNORE_FALLBACK_ENTRY = `${LEGACY_PRIVATE_DIR}/**`;
56
56
  export const DEFAULT_CONFIG = {
57
57
  retrievalProfile: "balanced",
58
58
  rawDir: RAGMIR_RAW_DIR,
@@ -75,6 +75,7 @@ export const DEFAULT_CONFIG = {
75
75
  maxFileBytes: 50_000_000,
76
76
  ingestConcurrency: 4,
77
77
  embeddingBatchSize: 32,
78
+ ingestEmbeddingDevice: "cpu",
78
79
  sourceFingerprintMode: "fast",
79
80
  incrementalFailurePolicy: "preserve-last-good",
80
81
  hybridTextScanLimit: 5_000,
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAErE,wBAAsB,MAAM,CAC1B,GAAG,SAAgB,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAKvB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAsKvB"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAA;AAE/F,wBAAsB,MAAM,CAC1B,GAAG,SAAgB,EACnB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAKvB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA0KvB"}
package/dist/doctor.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import path from "node:path";
3
+ import { noiseFloorAdvice } from "./abstention-calibration.js";
3
4
  import { findProjectConfig, loadConfig, projectConfigExists, readMergedProjectConfig, retrievalProfileOverrides, } from "./config.js";
4
5
  import { RAGMIR_DIR } from "./defaults.js";
5
6
  import { countSkippedByReason } from "./files.js";
@@ -13,6 +14,7 @@ import { isCompatibleQualityReport } from "./quality-report.js";
13
14
  import { runtimeInfo } from "./runtime-info.js";
14
15
  import { securityAuditWithConfig } from "./security.js";
15
16
  import { AGENT_HELPER_CONFIG_FILENAMES, AGENT_SETUP_FILENAME, inspectAgentIntegration, MCP_CONFIG_FILENAME, SKILL_NAMES, } from "./skill.js";
17
+ import { fragmentationWarning } from "./storage-maintenance.js";
16
18
  import { readIndexManifest, readIndexManifestHeader } from "./store.js";
17
19
  export async function doctor(cwd = process.cwd(), options = {}) {
18
20
  const signal = operationSignal(options);
@@ -94,6 +96,7 @@ export async function doctorWithConfig(config, options = {}) {
94
96
  const profileOverrides = initialized
95
97
  ? retrievalProfileOverrides(await readMergedProjectConfig(projectConfig).catch(() => ({})), config.retrievalProfile)
96
98
  : [];
99
+ const runCommand = (args) => command.display + (args.length > 0 ? ` ${args.join(" ")}` : "");
97
100
  const nextSteps = nextActions({
98
101
  initialized,
99
102
  profileOverrides: profileOverrides.map((override) => `${override.field}: ${override.configured} in the config overrides the ${config.retrievalProfile} profile's ${override.profileValue}. Remove it to follow the profile, or set retrievalProfile to "custom" to keep it deliberately.`),
@@ -120,7 +123,9 @@ export async function doctorWithConfig(config, options = {}) {
120
123
  freshnessWarning,
121
124
  lexicalIndexCurrent,
122
125
  lexicalScanWarning,
123
- run: (args) => command.display + (args.length > 0 ? ` ${args.join(" ")}` : ""),
126
+ fragments: manifest?.maintenance?.fragments,
127
+ noiseFloorAdvice: noiseFloorAdvice(manifest, config, runCommand),
128
+ run: runCommand,
124
129
  });
125
130
  throwIfAborted(signal);
126
131
  return {
@@ -195,7 +200,11 @@ function nextActions(input) {
195
200
  steps.push(`${input.noncanonicalPaths} indexed path(s) use decomposed Unicode names from an older release. Run \`${input.run(["ingest"])}\` once to store canonical paths that path filters and citations match on every platform.`);
196
201
  }
197
202
  if (input.chunksIndexed === 0 || input.missingFromIndex > 0 || input.staleInIndex > 0) {
198
- steps.push(`Run \`${input.run(["doctor", "--fix"])}\` to rebuild stale or missing index data.`);
203
+ // Setup, repair, and upgrade never ingest on their own while a security warning stands, such as
204
+ // configured external extractors: only an explicit ingest runs those commands.
205
+ steps.push(input.warnings > 0
206
+ ? `Run \`${input.run(["ingest"])}\` to index stale or missing files. \`doctor --fix\` and \`upgrade\` do not ingest while a security warning stands, such as configured external extractors.`
207
+ : `Run \`${input.run(["doctor", "--fix"])}\` to rebuild stale or missing index data.`);
199
208
  steps.push(`Run \`${input.run(["audit"])}\` to verify missingFromIndex=0 and staleInIndex=0.`);
200
209
  if (input.chunksIndexed > 0) {
201
210
  steps.push(`Run \`${input.run(["hooks", "install"])}\` to refresh the index automatically after commits, merges, and checkouts.`);
@@ -211,6 +220,13 @@ function nextActions(input) {
211
220
  if (input.lexicalScanWarning) {
212
221
  steps.push(input.lexicalScanWarning);
213
222
  }
223
+ const storageWarning = fragmentationWarning(input.fragments, input.run);
224
+ if (storageWarning) {
225
+ steps.push(storageWarning);
226
+ }
227
+ if (input.noiseFloorAdvice) {
228
+ steps.push(input.noiseFloorAdvice);
229
+ }
214
230
  if (input.concentrationWarning) {
215
231
  steps.push(input.concentrationWarning);
216
232
  }