agentfootprint 9.0.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embedders/index.js +112 -0
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/embedders/index.d.ts +31 -0
- package/dist/esm/embedders/index.js +112 -0
- package/dist/esm/embedders/index.js.map +1 -1
- package/dist/esm/lib/rag/indexDocuments.d.ts +18 -0
- package/dist/esm/lib/rag/indexDocuments.js +29 -0
- package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
- package/dist/esm/memory/embedding/inputCeiling.d.ts +98 -0
- package/dist/esm/memory/embedding/inputCeiling.js +53 -0
- package/dist/esm/memory/embedding/inputCeiling.js.map +1 -0
- package/dist/esm/memory/embedding/mockEmbedder.js +13 -0
- package/dist/esm/memory/embedding/mockEmbedder.js.map +1 -1
- package/dist/esm/memory/embedding/types.d.ts +32 -0
- package/dist/esm/rag/indexCorpus.d.ts +16 -2
- package/dist/esm/rag/indexCorpus.js +27 -3
- package/dist/esm/rag/indexCorpus.js.map +1 -1
- package/dist/esm/rag/splitters/index.d.ts +22 -0
- package/dist/esm/rag/splitters/index.js +22 -0
- package/dist/esm/rag/splitters/index.js.map +1 -1
- package/dist/esm/rag/types.d.ts +9 -0
- package/dist/lib/rag/indexDocuments.js +29 -0
- package/dist/lib/rag/indexDocuments.js.map +1 -1
- package/dist/memory/embedding/inputCeiling.js +58 -0
- package/dist/memory/embedding/inputCeiling.js.map +1 -0
- package/dist/memory/embedding/mockEmbedder.js +13 -0
- package/dist/memory/embedding/mockEmbedder.js.map +1 -1
- package/dist/rag/indexCorpus.js +27 -3
- package/dist/rag/indexCorpus.js.map +1 -1
- package/dist/rag/splitters/index.js +22 -0
- package/dist/rag/splitters/index.js.map +1 -1
- package/dist/types/embedders/index.d.ts +31 -0
- package/dist/types/embedders/index.d.ts.map +1 -1
- package/dist/types/lib/rag/indexDocuments.d.ts +18 -0
- package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
- package/dist/types/memory/embedding/inputCeiling.d.ts +99 -0
- package/dist/types/memory/embedding/inputCeiling.d.ts.map +1 -0
- package/dist/types/memory/embedding/mockEmbedder.d.ts.map +1 -1
- package/dist/types/memory/embedding/types.d.ts +32 -0
- package/dist/types/memory/embedding/types.d.ts.map +1 -1
- package/dist/types/rag/indexCorpus.d.ts +16 -2
- package/dist/types/rag/indexCorpus.d.ts.map +1 -1
- package/dist/types/rag/splitters/index.d.ts +22 -0
- package/dist/types/rag/splitters/index.d.ts.map +1 -1
- package/dist/types/rag/types.d.ts +9 -0
- package/dist/types/rag/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/rag/indexCorpus.js
CHANGED
|
@@ -55,13 +55,13 @@ exports.buildIndexChart = exports.indexCorpus = void 0;
|
|
|
55
55
|
*/
|
|
56
56
|
const footprintjs_1 = require("footprintjs");
|
|
57
57
|
const footprintjs_2 = require("footprintjs");
|
|
58
|
+
const inputCeiling_js_1 = require("../memory/embedding/inputCeiling.js");
|
|
58
59
|
const capability_js_1 = require("../memory/store/capability.js");
|
|
59
60
|
const emitEmbedding_js_1 = require("../memory/embedding/emitEmbedding.js");
|
|
60
61
|
const defineRAG_js_1 = require("../lib/rag/defineRAG.js");
|
|
61
62
|
const loadDocuments_js_1 = require("./loadDocuments.js");
|
|
62
63
|
const splitDocuments_js_1 = require("./splitDocuments.js");
|
|
63
64
|
const byHeading_js_1 = require("./splitters/byHeading.js");
|
|
64
|
-
const DEFAULT_MAX_CHUNK_CHARS = 2000;
|
|
65
65
|
/**
|
|
66
66
|
* Build and run the indexing chart.
|
|
67
67
|
*
|
|
@@ -113,7 +113,12 @@ function compile(config) {
|
|
|
113
113
|
const batchSize = Math.max(1, Math.floor(config.batchSize ?? 64));
|
|
114
114
|
const maxBatches = Math.max(1, Math.floor(config.maxConcurrentBatches ?? 4));
|
|
115
115
|
const attempts = Math.max(1, Math.floor(config.attempts ?? 3));
|
|
116
|
-
|
|
116
|
+
// The ceiling comes from the embedder unless the caller stated one. The
|
|
117
|
+
// number lives where the knowledge is: an indexer's own default is a guess
|
|
118
|
+
// about a backend it has never met, and the safe guess (the smallest cliff
|
|
119
|
+
// any embedder might have) cuts every larger embedder short.
|
|
120
|
+
const ceiling = (0, inputCeiling_js_1.resolveChunkCeiling)(config.maxChunkChars, config.embedder);
|
|
121
|
+
const maxChunkChars = ceiling.chars;
|
|
117
122
|
const removeMissing = config.removeMissing ?? true;
|
|
118
123
|
const startedAt = Date.now();
|
|
119
124
|
const fingerprint = `${embedderId}@${config.embedder.dimensions}`;
|
|
@@ -314,6 +319,7 @@ function compile(config) {
|
|
|
314
319
|
.addFunction('Report', (scope) => {
|
|
315
320
|
// The report is a COMMIT, not just a return value. A later reader
|
|
316
321
|
// asks the trace what this run did; nothing had to be saved.
|
|
322
|
+
const truncated = scope.truncated ?? [];
|
|
317
323
|
scope.report = {
|
|
318
324
|
discovered: scope.discoveredCount ?? 0,
|
|
319
325
|
loaded: (scope.documents ?? []).length,
|
|
@@ -322,11 +328,29 @@ function compile(config) {
|
|
|
322
328
|
skipped: (scope.toSkip ?? []).length,
|
|
323
329
|
removed: scope.removedCount ?? 0,
|
|
324
330
|
failed: scope.failed ?? [],
|
|
325
|
-
truncated
|
|
331
|
+
truncated,
|
|
332
|
+
truncatedCount: truncated.length,
|
|
326
333
|
embedderFingerprint: fingerprint,
|
|
327
334
|
splitter: splitter.name,
|
|
328
335
|
elapsedMs: Date.now() - startedAt,
|
|
329
336
|
};
|
|
337
|
+
// Said OUT LOUD, once, at the end of the run — because an invisible
|
|
338
|
+
// failure is indistinguishable from success. The list has been in
|
|
339
|
+
// the report since 8.10.0 and nobody reads a report that says
|
|
340
|
+
// everything went fine; the corpus that is quietly missing a
|
|
341
|
+
// paragraph is discovered months later as "the model does not know
|
|
342
|
+
// that". One line, at the one moment the count is final.
|
|
343
|
+
if (truncated.length > 0) {
|
|
344
|
+
console.warn((0, inputCeiling_js_1.truncationWarning)({
|
|
345
|
+
caller: 'indexCorpus',
|
|
346
|
+
count: truncated.length,
|
|
347
|
+
total: (scope.chunks ?? []).length,
|
|
348
|
+
noun: 'chunk',
|
|
349
|
+
ceiling,
|
|
350
|
+
embedderId,
|
|
351
|
+
idsIn: "the returned report's `truncated` list",
|
|
352
|
+
}));
|
|
353
|
+
}
|
|
330
354
|
}, 'report', 'File what this run did — the commit log IS the report')
|
|
331
355
|
.build());
|
|
332
356
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexCorpus.js","sourceRoot":"","sources":["../../src/rag/indexCorpus.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"indexCorpus.js","sourceRoot":"","sources":["../../src/rag/indexCorpus.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,28 @@ exports.DEFAULT_MIN_CHARS = exports.DEFAULT_OVERLAP_CHARS = exports.DEFAULT_MAX_
|
|
|
29
29
|
* 8,191. Raise it and you approach a limit whose failure mode is silence —
|
|
30
30
|
* half your chunk embedded, full score reported.
|
|
31
31
|
*
|
|
32
|
+
* ── How this number composes with the INDEXER's ceiling ─────────────────────
|
|
33
|
+
*
|
|
34
|
+
* Two numbers bound one chunk and they are set in different places:
|
|
35
|
+
* `maxChars` HERE decides how big a chunk is cut, and `maxChunkChars` at
|
|
36
|
+
* `indexCorpus` / `indexFolder` / `indexDocuments` decides how much of it the
|
|
37
|
+
* embedder actually reads. At the shipped defaults they compose safely —
|
|
38
|
+
* 1,000 out of a ceiling of at least 2,000, so every chunk is embedded whole.
|
|
39
|
+
*
|
|
40
|
+
* **The trap opens when the splitter's ceiling is raised.** `byHeading({
|
|
41
|
+
* maxChars: 2500 })` against an embedder whose ceiling is 2,000 produces
|
|
42
|
+
* chunks that are stored WHOLE as the passage and indexed by their OPENING:
|
|
43
|
+
* retrieval cannot find wording that is plainly visible in the block the model
|
|
44
|
+
* is later shown, and no error is raised anywhere. Measured in a production
|
|
45
|
+
* corpus: 6 of 26 chunks, against an embedder that would have read every one
|
|
46
|
+
* of them in full.
|
|
47
|
+
*
|
|
48
|
+
* Since 9.1.0 the indexer reads the ceiling off the EMBEDDER
|
|
49
|
+
* (`Embedder.maxInputChars`) rather than assuming the on-device cliff, and
|
|
50
|
+
* says out loud — once, with the count — when anything was clipped. So raising
|
|
51
|
+
* `maxChars` is safe up to what your embedder declares, and past it you are
|
|
52
|
+
* told rather than left to discover it in a retrieval result.
|
|
53
|
+
*
|
|
32
54
|
* The 150-character overlap (15%) exists so a sentence spanning a boundary is
|
|
33
55
|
* whole in one of the two neighbours. It is the smallest overlap that reliably
|
|
34
56
|
* does that for English prose; there is nothing deeper claimed for it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rag/splitters/index.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rag/splitters/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,mDAAwE;AAA/D,6GAAA,WAAW,OAAA;AACpB,+CAAkE;AAAzD,yGAAA,SAAS,OAAA;AAClB,6DAAuF;AAA9E,uHAAA,gBAAgB,OAAA;AACzB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,+CAA6F;AAApF,iHAAA,iBAAiB,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AAAE,iHAAA,iBAAiB,OAAA"}
|
|
@@ -74,6 +74,14 @@ export interface OpenAIEmbedderOptions {
|
|
|
74
74
|
* know, so it is a construction-time error rather than a guess that a vector
|
|
75
75
|
* store would silently trust.
|
|
76
76
|
*
|
|
77
|
+
* `.maxInputChars` (9.1.0) reports **32,000** for the three models above:
|
|
78
|
+
* their documented 8,191-token window at the stated {@link CHARS_PER_TOKEN}
|
|
79
|
+
* assumption. An indexer reads it in preference to its own 2,000-character
|
|
80
|
+
* default, so a corpus split at 2,500 characters is embedded WHOLE here
|
|
81
|
+
* instead of being clipped by a default measured on an on-device model.
|
|
82
|
+
* An unknown model declares no ceiling — the indexer's default stands, which
|
|
83
|
+
* is conservative rather than wrong.
|
|
84
|
+
*
|
|
77
85
|
* @throws if there is no API key, or if `model` is unknown and `dimensions`
|
|
78
86
|
* was not supplied.
|
|
79
87
|
*/
|
|
@@ -159,6 +167,16 @@ export interface BedrockEmbedderOptions {
|
|
|
159
167
|
* q8 and an fp32 build of one model are near-identical spaces, and "near" is
|
|
160
168
|
* exactly the difference that surfaces as a mysteriously worse ranking.)
|
|
161
169
|
*
|
|
170
|
+
* ── The input ceiling (9.1.0) ────────────────────────────────────────────
|
|
171
|
+
* `.maxInputChars` reports **32,000** for both Titan text-embedding models:
|
|
172
|
+
* their documented 8,192-token window, converted at the stated
|
|
173
|
+
* {@link CHARS_PER_TOKEN} assumption of 4 characters per token. Sixteen times
|
|
174
|
+
* the indexer's own default, which was measured on an on-device model — so an
|
|
175
|
+
* indexing run against this embedder now embeds a 2,500-character chunk whole
|
|
176
|
+
* instead of clipping it and calling that success. Dense text (code, tables,
|
|
177
|
+
* CJK) tokenises tighter than the assumption; pass an explicit `maxChunkChars`
|
|
178
|
+
* for such a corpus, and it wins over this number.
|
|
179
|
+
*
|
|
162
180
|
* @throws if `model` is unknown and `dimensions` was not supplied; if
|
|
163
181
|
* `dimensions` is not one of Titan V2's supported sizes; or if the SDK
|
|
164
182
|
* is missing and no `client` / `_client` / `_sdk` was passed.
|
|
@@ -196,6 +214,19 @@ export interface LocalEmbedderOptions {
|
|
|
196
214
|
readonly dtype?: string;
|
|
197
215
|
/** On-disk model cache directory. */
|
|
198
216
|
readonly cacheDir?: string;
|
|
217
|
+
/**
|
|
218
|
+
* Longest input this model reads whole, in characters (9.1.0). Default
|
|
219
|
+
* {@link LOCAL_MAX_INPUT_CHARS} — the MEASURED cliff of the default model.
|
|
220
|
+
*
|
|
221
|
+
* The option exists because `model` is swappable and the cliff belongs to
|
|
222
|
+
* the MODEL, not to this factory. A long-context embedding model (one of the
|
|
223
|
+
* 8k-token sentence-transformer builds) reads far more than the default
|
|
224
|
+
* says, and without a way to state that, an indexer would keep cutting its
|
|
225
|
+
* corpus into pieces a quarter the size the model can take. Nothing verifies
|
|
226
|
+
* it — it is your model's documented window, declared for the indexer to
|
|
227
|
+
* read.
|
|
228
|
+
*/
|
|
229
|
+
readonly maxInputChars?: number;
|
|
199
230
|
/**
|
|
200
231
|
* An ALREADY-IMPORTED `@huggingface/transformers`. Supply this and the lazy
|
|
201
232
|
* `import('@huggingface/transformers')` never happens — which is what makes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAO7D,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,YAAY,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAO7D,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AA4DD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,QAAQ,CAwD5E;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAED,oDAAoD;AACpD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,KAAK,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,wBAAwB,CAAC;IAC9F,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC/D;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAC3C,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAC5C,+FAA+F;IAC/F,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CACzC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,QAAQ,CAgI9E;AAgED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5F,mEAAmE;IACnE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CACxC;AAoBD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,QAAQ,CA0C1E;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;IAC1C,wCAAwC;IACxC,MAAM,CAAC,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3C,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAmBD,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,QAAQ,CA8D5E"}
|
|
@@ -132,6 +132,24 @@ export interface IndexDocumentsOptions {
|
|
|
132
132
|
* its own batching).
|
|
133
133
|
*/
|
|
134
134
|
readonly maxConcurrency?: number;
|
|
135
|
+
/**
|
|
136
|
+
* The embedder's input ceiling in characters (9.1.0). Documents longer than
|
|
137
|
+
* it are embedded anyway — the backend CLIPS them rather than refusing — and
|
|
138
|
+
* the run says so once on `console.warn`.
|
|
139
|
+
*
|
|
140
|
+
* Default: the embedder's own declared `maxInputChars`, falling back to
|
|
141
|
+
* 2,000 (the measured `localEmbedder` cliff) for one that declares none.
|
|
142
|
+
* An explicit number here wins over both.
|
|
143
|
+
*
|
|
144
|
+
* This helper does not split — a document you hand it is stored whole and
|
|
145
|
+
* served whole. So a document past the ceiling is indexed by its OPENING
|
|
146
|
+
* while the model is later shown all of it, and retrieval cannot find
|
|
147
|
+
* wording that is plainly there. Nothing throws; the corpus is quietly
|
|
148
|
+
* partially indexed. Cut such documents into chunks first — the
|
|
149
|
+
* `agentfootprint/rag` door does exactly that, and its chunks keep the
|
|
150
|
+
* coordinates a citation is checked against.
|
|
151
|
+
*/
|
|
152
|
+
readonly maxChunkChars?: number;
|
|
135
153
|
}
|
|
136
154
|
/**
|
|
137
155
|
* Embed + persist documents. Returns the count actually indexed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexDocuments.d.ts","sourceRoot":"","sources":["../../../../src/lib/rag/indexDocuments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"indexDocuments.d.ts","sourceRoot":"","sources":["../../../../src/lib/rag/indexDocuments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGrE;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD,GACD;IACE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD,CAAC;AAEN,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAEnC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CACrB,OAAO,EAAE,OAAO,0BAA0B,EAAE,yBAAyB,KAClE,IAAI,CAAC;IAEV;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAID;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,WAAW,EAAE,EACjC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAkEjB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* inputCeiling — how long a piece of text may be before the embedder stops
|
|
3
|
+
* reading it, and what to say when one was longer.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: one resolver + one message, shared by every door that embeds a
|
|
6
|
+
* corpus (`indexCorpus`, `indexFolder`, `indexDocuments`), so the
|
|
7
|
+
* arithmetic cannot drift between them.
|
|
8
|
+
* Role: memory/embedding layer — it sits beside the port whose field it
|
|
9
|
+
* reads.
|
|
10
|
+
* Emits: N/A.
|
|
11
|
+
*
|
|
12
|
+
* ── Why the number is resolved rather than fixed ────────────────────────────
|
|
13
|
+
* An indexer's own default ceiling is a guess about a backend it has never
|
|
14
|
+
* met, so it has to be the SMALLEST ceiling any embedder might have — 2,000
|
|
15
|
+
* characters, the measured `localEmbedder` cliff. That default was safe and
|
|
16
|
+
* wrong at the same time: safe for the on-device model it was measured on,
|
|
17
|
+
* wrong by a factor of sixteen for a hosted model with an 8k-token window, and
|
|
18
|
+
* silently wrong for anyone who raised their splitter's `maxChars` to a value
|
|
19
|
+
* their embedder could read perfectly well. Measured in a production run: 6 of
|
|
20
|
+
* 26 chunks clipped, with an embedder that would have read every one of them
|
|
21
|
+
* whole.
|
|
22
|
+
*
|
|
23
|
+
* So the ceiling is resolved from three sources, most-specific first:
|
|
24
|
+
*
|
|
25
|
+
* 1. the caller's explicit `maxChunkChars` — they are allowed to know better
|
|
26
|
+
* than either of the below, and stating a number is how they say so;
|
|
27
|
+
* 2. the embedder's declared `maxInputChars` — the number lives where the
|
|
28
|
+
* knowledge is;
|
|
29
|
+
* 3. {@link DEFAULT_MAX_CHUNK_CHARS} — an embedder that declares nothing
|
|
30
|
+
* gets exactly the behaviour it had before this field existed.
|
|
31
|
+
*
|
|
32
|
+
* ── Why the message, and not just a number in a report ──────────────────────
|
|
33
|
+
* A clipped chunk is stored WHOLE as the passage and indexed by its opening.
|
|
34
|
+
* Retrieval then cannot find text that is plainly visible in the block the
|
|
35
|
+
* model is later shown — which reads as "the corpus does not mention that",
|
|
36
|
+
* not as a failure. The report has carried the list since 8.10.0 and nobody
|
|
37
|
+
* reads a report that says everything went fine, so the count also gets said
|
|
38
|
+
* out loud, once per run.
|
|
39
|
+
*/
|
|
40
|
+
import type { Embedder } from './types.js';
|
|
41
|
+
/**
|
|
42
|
+
* The ceiling used when nothing better is known: the measured `localEmbedder`
|
|
43
|
+
* cliff (512 wordpiece tokens ≈ 1,800–2,000 characters of English).
|
|
44
|
+
*
|
|
45
|
+
* It is the floor of the shipped range, deliberately — a ceiling that is too
|
|
46
|
+
* LOW only over-reports, and a ceiling that is too HIGH clips in silence.
|
|
47
|
+
*/
|
|
48
|
+
export declare const DEFAULT_MAX_CHUNK_CHARS = 2000;
|
|
49
|
+
/** Where the ceiling in effect came from — the thing a message has to name. */
|
|
50
|
+
export type ChunkCeilingSource = 'explicit' | 'embedder' | 'default';
|
|
51
|
+
/** The ceiling in effect for one indexing call, and where it came from. */
|
|
52
|
+
export interface ChunkCeiling {
|
|
53
|
+
/** Longest chunk, in characters, that this embedder reads whole. */
|
|
54
|
+
readonly chars: number;
|
|
55
|
+
readonly source: ChunkCeilingSource;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve the ceiling for one indexing call.
|
|
59
|
+
*
|
|
60
|
+
* A non-positive or non-finite value is treated as absent at BOTH levels: it
|
|
61
|
+
* cannot describe a real ceiling, and honouring it would mark every chunk in
|
|
62
|
+
* the corpus as truncated (or none of them) on the strength of a typo.
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveChunkCeiling(explicit: number | undefined, embedder: Pick<Embedder, 'maxInputChars'> | undefined): ChunkCeiling;
|
|
65
|
+
/**
|
|
66
|
+
* The one sentence a run says out loud when something was clipped.
|
|
67
|
+
*
|
|
68
|
+
* It names the count (so the size of the hole is known), the ceiling AND where
|
|
69
|
+
* it came from (so the reader knows which knob is theirs to turn), and the two
|
|
70
|
+
* fixes — because "your index is silently incomplete" is useless without
|
|
71
|
+
* "here is the line to change".
|
|
72
|
+
*/
|
|
73
|
+
export declare function truncationWarning(args: {
|
|
74
|
+
/** The door that did the work, named as the caller wrote it. */
|
|
75
|
+
readonly caller: string;
|
|
76
|
+
/** How many pieces were longer than the ceiling. */
|
|
77
|
+
readonly count: number;
|
|
78
|
+
/** How many pieces there were in total. */
|
|
79
|
+
readonly total: number;
|
|
80
|
+
/** What the pieces are called at this door — 'chunk' or 'document'. */
|
|
81
|
+
readonly noun: string;
|
|
82
|
+
readonly ceiling: ChunkCeiling;
|
|
83
|
+
/** The embedder's id, when it has one — which embedder's ceiling this is. */
|
|
84
|
+
readonly embedderId?: string | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Where the affected ids can be read back, when the door hands back
|
|
87
|
+
* something that carries them. Omitted at a door that returns only a count,
|
|
88
|
+
* rather than pointing at a report that does not exist.
|
|
89
|
+
*/
|
|
90
|
+
readonly idsIn?: string | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* The "make the pieces smaller" half of the fix, in the caller's own terms —
|
|
93
|
+
* a door that splits for you names its splitter; one that does not says how
|
|
94
|
+
* to cut before calling it. Advice you cannot act on at the door you are
|
|
95
|
+
* standing at is not advice.
|
|
96
|
+
*/
|
|
97
|
+
readonly resplitHint?: string | undefined;
|
|
98
|
+
}): string;
|
|
99
|
+
//# sourceMappingURL=inputCeiling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputCeiling.d.ts","sourceRoot":"","sources":["../../../../src/memory/embedding/inputCeiling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAErE,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,GAAG,SAAS,GACpD,YAAY,CAKd;AAMD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,gEAAgE;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C,GAAG,MAAM,CAoBT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockEmbedder.d.ts","sourceRoot":"","sources":["../../../../src/memory/embedding/mockEmbedder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,QAAQ,EAA6B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mockEmbedder.d.ts","sourceRoot":"","sources":["../../../../src/memory/embedding/mockEmbedder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,QAAQ,EAA6B,MAAM,YAAY,CAAC;AAmBtE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,QAAQ,CA0BxE"}
|
|
@@ -59,6 +59,38 @@ export interface Embedder {
|
|
|
59
59
|
* ```
|
|
60
60
|
*/
|
|
61
61
|
readonly id?: string;
|
|
62
|
+
/**
|
|
63
|
+
* The longest input, in CHARACTERS, this embedder represents FAITHFULLY
|
|
64
|
+
* (9.1.0). Text past it is not refused by the backend — it is CLIPPED, and
|
|
65
|
+
* a full-looking vector comes back for the opening of the passage.
|
|
66
|
+
*
|
|
67
|
+
* That is the failure this field exists to stop. An indexer stores the whole
|
|
68
|
+
* chunk as the passage and the clipped vector as its index, so retrieval
|
|
69
|
+
* cannot find text that is visibly present in the passage it later serves.
|
|
70
|
+
* Nothing throws, nothing scores zero; the corpus is simply, quietly,
|
|
71
|
+
* partially indexed.
|
|
72
|
+
*
|
|
73
|
+
* The number belongs HERE because this is the only object that knows it. An
|
|
74
|
+
* indexer's own default is a guess about a backend it has never met: it is
|
|
75
|
+
* necessarily the smallest ceiling any embedder might have, which then
|
|
76
|
+
* under-uses every embedder that can read four times as much. Declared, the
|
|
77
|
+
* indexers (`indexCorpus`, `indexFolder`, `indexDocuments`) read this in
|
|
78
|
+
* preference to their own default, and an explicit `maxChunkChars` on the
|
|
79
|
+
* call still wins over both — the caller is allowed to know better.
|
|
80
|
+
*
|
|
81
|
+
* Optional, because `Embedder` is a structural interface and every
|
|
82
|
+
* hand-written one predates this field. Absent, the indexers behave exactly
|
|
83
|
+
* as they did before it existed. Every shipped embedder declares one, and a
|
|
84
|
+
* hand-written embedder over a hosted model should: the alternative is that
|
|
85
|
+
* its ceiling is discovered by someone reading a retrieval result that is
|
|
86
|
+
* missing a paragraph they can see.
|
|
87
|
+
*
|
|
88
|
+
* Characters rather than tokens, because a splitter cuts characters. Where
|
|
89
|
+
* a backend states a TOKEN limit, the shipped embedders convert it at a
|
|
90
|
+
* stated, deliberately conservative characters-per-token assumption and say
|
|
91
|
+
* so in their own docs.
|
|
92
|
+
*/
|
|
93
|
+
readonly maxInputChars?: number;
|
|
62
94
|
/** Embed a single text into a vector of length `dimensions`. */
|
|
63
95
|
embed(args: EmbedArgs): Promise<number[]>;
|
|
64
96
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/memory/embedding/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1C;;;;OAIG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACxD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/memory/embedding/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC,gEAAgE;IAChE,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1C;;;;OAIG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;CACxD"}
|
|
@@ -48,8 +48,22 @@ export interface IndexCorpusConfig {
|
|
|
48
48
|
/**
|
|
49
49
|
* The embedder's input ceiling in characters. Chunks longer than this are
|
|
50
50
|
* embedded anyway (the embedder clips them) and RECORDED in
|
|
51
|
-
* `report.truncated` — so silent half-embedding
|
|
52
|
-
*
|
|
51
|
+
* `report.truncated` / `report.truncatedCount` — so silent half-embedding
|
|
52
|
+
* becomes a number you can see, and a run that clipped anything says so once
|
|
53
|
+
* on `console.warn`.
|
|
54
|
+
*
|
|
55
|
+
* **Default (9.1.0): the embedder's own declared `maxInputChars`**, falling
|
|
56
|
+
* back to 2,000 — the measured `localEmbedder` cliff — for an embedder that
|
|
57
|
+
* declares none. Passing a number here always wins over both: you are
|
|
58
|
+
* allowed to know your corpus is denser than the embedder's own arithmetic
|
|
59
|
+
* assumes.
|
|
60
|
+
*
|
|
61
|
+
* Before 9.1.0 this defaulted to 2,000 for EVERY embedder, which is the
|
|
62
|
+
* on-device cliff applied to hosted models that read sixteen times as much.
|
|
63
|
+
* Combined with a splitter told to cut larger chunks — `byHeading({ maxChars:
|
|
64
|
+
* 2500 })` — the result was a corpus indexed by the OPENING of each chunk
|
|
65
|
+
* while the whole chunk was served as the passage, so retrieval could not
|
|
66
|
+
* find wording plainly visible in the block the model was shown.
|
|
53
67
|
*/
|
|
54
68
|
readonly maxChunkChars?: number;
|
|
55
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexCorpus.d.ts","sourceRoot":"","sources":["../../../src/rag/indexCorpus.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"indexCorpus.d.ts","sourceRoot":"","sources":["../../../src/rag/indexCorpus.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAOlE,OAAO,KAAK,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,gEAAgE;AAChE,UAAU,UAAU;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAClC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,cAAc,EAAE,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC;IAC9C,mFAAmF;IACnF,MAAM,EAAE,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAC;IACtC,YAAY,EAAE,SAAS,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5D,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAWjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAErF;AAED,iBAAS,OAAO,CAAC,MAAM,EAAE,iBAAiB,wEAwUzC"}
|
|
@@ -26,6 +26,28 @@
|
|
|
26
26
|
* 8,191. Raise it and you approach a limit whose failure mode is silence —
|
|
27
27
|
* half your chunk embedded, full score reported.
|
|
28
28
|
*
|
|
29
|
+
* ── How this number composes with the INDEXER's ceiling ─────────────────────
|
|
30
|
+
*
|
|
31
|
+
* Two numbers bound one chunk and they are set in different places:
|
|
32
|
+
* `maxChars` HERE decides how big a chunk is cut, and `maxChunkChars` at
|
|
33
|
+
* `indexCorpus` / `indexFolder` / `indexDocuments` decides how much of it the
|
|
34
|
+
* embedder actually reads. At the shipped defaults they compose safely —
|
|
35
|
+
* 1,000 out of a ceiling of at least 2,000, so every chunk is embedded whole.
|
|
36
|
+
*
|
|
37
|
+
* **The trap opens when the splitter's ceiling is raised.** `byHeading({
|
|
38
|
+
* maxChars: 2500 })` against an embedder whose ceiling is 2,000 produces
|
|
39
|
+
* chunks that are stored WHOLE as the passage and indexed by their OPENING:
|
|
40
|
+
* retrieval cannot find wording that is plainly visible in the block the model
|
|
41
|
+
* is later shown, and no error is raised anywhere. Measured in a production
|
|
42
|
+
* corpus: 6 of 26 chunks, against an embedder that would have read every one
|
|
43
|
+
* of them in full.
|
|
44
|
+
*
|
|
45
|
+
* Since 9.1.0 the indexer reads the ceiling off the EMBEDDER
|
|
46
|
+
* (`Embedder.maxInputChars`) rather than assuming the on-device cliff, and
|
|
47
|
+
* says out loud — once, with the count — when anything was clipped. So raising
|
|
48
|
+
* `maxChars` is safe up to what your embedder declares, and past it you are
|
|
49
|
+
* told rather than left to discover it in a retrieval result.
|
|
50
|
+
*
|
|
29
51
|
* The 150-character overlap (15%) exists so a sentence spanning a boundary is
|
|
30
52
|
* whole in one of the two neighbours. It is the smallest overlap that reliably
|
|
31
53
|
* does that for English prose; there is nothing deeper claimed for it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rag/splitters/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rag/splitters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -191,6 +191,15 @@ export interface IndexReport {
|
|
|
191
191
|
readonly failed: readonly FailedDocument[];
|
|
192
192
|
/** Chunks longer than the embedder's declared ceiling — embedded, but clipped by it. */
|
|
193
193
|
readonly truncated: readonly TruncatedChunk[];
|
|
194
|
+
/**
|
|
195
|
+
* How many there were (9.1.0) — `truncated.length`, beside the list.
|
|
196
|
+
*
|
|
197
|
+
* The list is what you debug with; the count is what you ASSERT on and what
|
|
198
|
+
* a dashboard row can hold. A number that is normally 0 and suddenly is not
|
|
199
|
+
* is a check anyone can write; scanning a list for emptiness is a check
|
|
200
|
+
* nobody writes, which is how the clipping stayed invisible.
|
|
201
|
+
*/
|
|
202
|
+
readonly truncatedCount: number;
|
|
194
203
|
/** `'<embedderId>@<dims>'` — what this index is now fingerprinted with. */
|
|
195
204
|
readonly embedderFingerprint: string;
|
|
196
205
|
/** The splitter that produced the chunks. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rag/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rag/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentfootprint",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.1.0",
|
|
4
4
|
"description": "The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|