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.
Files changed (47) hide show
  1. package/dist/embedders/index.js +112 -0
  2. package/dist/embedders/index.js.map +1 -1
  3. package/dist/esm/embedders/index.d.ts +31 -0
  4. package/dist/esm/embedders/index.js +112 -0
  5. package/dist/esm/embedders/index.js.map +1 -1
  6. package/dist/esm/lib/rag/indexDocuments.d.ts +18 -0
  7. package/dist/esm/lib/rag/indexDocuments.js +29 -0
  8. package/dist/esm/lib/rag/indexDocuments.js.map +1 -1
  9. package/dist/esm/memory/embedding/inputCeiling.d.ts +98 -0
  10. package/dist/esm/memory/embedding/inputCeiling.js +53 -0
  11. package/dist/esm/memory/embedding/inputCeiling.js.map +1 -0
  12. package/dist/esm/memory/embedding/mockEmbedder.js +13 -0
  13. package/dist/esm/memory/embedding/mockEmbedder.js.map +1 -1
  14. package/dist/esm/memory/embedding/types.d.ts +32 -0
  15. package/dist/esm/rag/indexCorpus.d.ts +16 -2
  16. package/dist/esm/rag/indexCorpus.js +27 -3
  17. package/dist/esm/rag/indexCorpus.js.map +1 -1
  18. package/dist/esm/rag/splitters/index.d.ts +22 -0
  19. package/dist/esm/rag/splitters/index.js +22 -0
  20. package/dist/esm/rag/splitters/index.js.map +1 -1
  21. package/dist/esm/rag/types.d.ts +9 -0
  22. package/dist/lib/rag/indexDocuments.js +29 -0
  23. package/dist/lib/rag/indexDocuments.js.map +1 -1
  24. package/dist/memory/embedding/inputCeiling.js +58 -0
  25. package/dist/memory/embedding/inputCeiling.js.map +1 -0
  26. package/dist/memory/embedding/mockEmbedder.js +13 -0
  27. package/dist/memory/embedding/mockEmbedder.js.map +1 -1
  28. package/dist/rag/indexCorpus.js +27 -3
  29. package/dist/rag/indexCorpus.js.map +1 -1
  30. package/dist/rag/splitters/index.js +22 -0
  31. package/dist/rag/splitters/index.js.map +1 -1
  32. package/dist/types/embedders/index.d.ts +31 -0
  33. package/dist/types/embedders/index.d.ts.map +1 -1
  34. package/dist/types/lib/rag/indexDocuments.d.ts +18 -0
  35. package/dist/types/lib/rag/indexDocuments.d.ts.map +1 -1
  36. package/dist/types/memory/embedding/inputCeiling.d.ts +99 -0
  37. package/dist/types/memory/embedding/inputCeiling.d.ts.map +1 -0
  38. package/dist/types/memory/embedding/mockEmbedder.d.ts.map +1 -1
  39. package/dist/types/memory/embedding/types.d.ts +32 -0
  40. package/dist/types/memory/embedding/types.d.ts.map +1 -1
  41. package/dist/types/rag/indexCorpus.d.ts +16 -2
  42. package/dist/types/rag/indexCorpus.d.ts.map +1 -1
  43. package/dist/types/rag/splitters/index.d.ts +22 -0
  44. package/dist/types/rag/splitters/index.d.ts.map +1 -1
  45. package/dist/types/rag/types.d.ts +9 -0
  46. package/dist/types/rag/types.d.ts.map +1 -1
  47. package/package.json +1 -1
@@ -40,6 +40,45 @@ const NATIVE_DIMENSIONS = {
40
40
  'text-embedding-3-large': 3072,
41
41
  'text-embedding-ada-002': 1536,
42
42
  };
43
+ /**
44
+ * Chars-per-token used to convert a documented TOKEN window into the CHARACTER
45
+ * ceiling {@link Embedder.maxInputChars} states (9.1.0).
46
+ *
47
+ * **4 characters per token**, the standard rule of thumb for English prose, and
48
+ * the number every ceiling below is derived from — 8,191 tokens becomes 32,000
49
+ * characters (floored to a round number a warning can state plainly).
50
+ *
51
+ * It is an ASSUMPTION, not a measurement, and it is stated here so it can be
52
+ * argued with. Code, tables, CJK text and heavy punctuation all tokenise
53
+ * DENSER than prose, so a chunk of exactly 32,000 characters of such material
54
+ * can still exceed 8,191 tokens and be clipped. That is what an explicit
55
+ * `maxChunkChars` is for: it always wins over a declared ceiling, precisely so
56
+ * a caller who knows their corpus is dense can say a smaller number. For the
57
+ * shipped splitter defaults (1,000 characters a chunk) the distinction never
58
+ * arises — the ceiling matters when a consumer RAISES the splitter, which is
59
+ * the case this whole mechanism exists to keep honest.
60
+ */
61
+ const CHARS_PER_TOKEN = 4;
62
+ /**
63
+ * Documented input window per OpenAI embedding model, in TOKENS.
64
+ *
65
+ * All three current models accept 8,191 tokens — OpenAI's embeddings guide and
66
+ * the model pages state the same limit for `text-embedding-3-small`,
67
+ * `text-embedding-3-large` and `text-embedding-ada-002`. A model this library
68
+ * does not know gets NO declared ceiling rather than a guessed one: the same
69
+ * rule `.dimensions` applies, for the same reason — a wrong ceiling clips in
70
+ * silence, and an absent one simply leaves the indexer's conservative default
71
+ * in place.
72
+ */
73
+ const NATIVE_MAX_INPUT_TOKENS = {
74
+ 'text-embedding-3-small': 8191,
75
+ 'text-embedding-3-large': 8191,
76
+ 'text-embedding-ada-002': 8191,
77
+ };
78
+ /** Tokens → characters, floored to a round number a message can state plainly. */
79
+ function charsFor(tokens) {
80
+ return tokens === undefined ? undefined : Math.floor((tokens * CHARS_PER_TOKEN) / 1000) * 1000;
81
+ }
43
82
  /**
44
83
  * OpenAI's hosted embeddings endpoint.
45
84
  *
@@ -51,6 +90,14 @@ const NATIVE_DIMENSIONS = {
51
90
  * know, so it is a construction-time error rather than a guess that a vector
52
91
  * store would silently trust.
53
92
  *
93
+ * `.maxInputChars` (9.1.0) reports **32,000** for the three models above:
94
+ * their documented 8,191-token window at the stated {@link CHARS_PER_TOKEN}
95
+ * assumption. An indexer reads it in preference to its own 2,000-character
96
+ * default, so a corpus split at 2,500 characters is embedded WHOLE here
97
+ * instead of being clipped by a default measured on an on-device model.
98
+ * An unknown model declares no ceiling — the indexer's default stands, which
99
+ * is conservative rather than wrong.
100
+ *
54
101
  * @throws if there is no API key, or if `model` is unknown and `dimensions`
55
102
  * was not supplied.
56
103
  */
@@ -71,6 +118,7 @@ function openaiEmbedder(options = {}) {
71
118
  `library can know, and reporting a wrong .dimensions silently corrupts a vector store. ` +
72
119
  `Pass { dimensions } with the length that model returns.`);
73
120
  }
121
+ const maxInputChars = charsFor(NATIVE_MAX_INPUT_TOKENS[model]);
74
122
  const url = `${options.baseURL ?? 'https://api.openai.com/v1'}/embeddings`;
75
123
  async function call(input, signal) {
76
124
  const res = await fetch(url, {
@@ -92,6 +140,10 @@ function openaiEmbedder(options = {}) {
92
140
  // fingerprint is `'<id>@<dims>'`, so it appends the dimensions itself and
93
141
  // a truncated vector is already a different fingerprint from a native one.
94
142
  id: `openai:${model}`,
143
+ // The documented window, in the unit a splitter cuts in. Spread rather
144
+ // than assigned so an unknown model declares NOTHING instead of
145
+ // `undefined` — the field is optional and its absence is meaningful.
146
+ ...(maxInputChars !== undefined && { maxInputChars }),
95
147
  async embed({ text, signal }) {
96
148
  return (await call([text], signal))[0];
97
149
  },
@@ -117,6 +169,23 @@ const TITAN_DIMENSIONS = {
117
169
  'amazon.titan-embed-text-v2:0': 1024,
118
170
  'amazon.titan-embed-text-v1': 1536,
119
171
  };
172
+ /**
173
+ * Documented input window per Titan text-embedding model, in TOKENS.
174
+ *
175
+ * Both Titan text-embedding models accept **8,192 tokens** — sixteen times the
176
+ * on-device model the shipped default ceiling was measured on. That gap is the
177
+ * whole point of declaring one: without it, a corpus split at 2,500 characters
178
+ * is reported as clipped (and treated as such by the indexer's default) by an
179
+ * embedder that reads every one of those chunks whole.
180
+ *
181
+ * A model outside this table gets NO declared ceiling — the same rule
182
+ * `.dimensions` applies. Another vendor's embedding model on the same runtime
183
+ * may have a far shorter window, and guessing this one's would clip in silence.
184
+ */
185
+ const TITAN_MAX_INPUT_TOKENS = {
186
+ 'amazon.titan-embed-text-v2:0': 8192,
187
+ 'amazon.titan-embed-text-v1': 8192,
188
+ };
120
189
  const TITAN_V2_SUPPORTED = [1024, 512, 256];
121
190
  /**
122
191
  * Amazon Bedrock's hosted embeddings, through `InvokeModel`.
@@ -146,6 +215,16 @@ const TITAN_V2_SUPPORTED = [1024, 512, 256];
146
215
  * q8 and an fp32 build of one model are near-identical spaces, and "near" is
147
216
  * exactly the difference that surfaces as a mysteriously worse ranking.)
148
217
  *
218
+ * ── The input ceiling (9.1.0) ────────────────────────────────────────────
219
+ * `.maxInputChars` reports **32,000** for both Titan text-embedding models:
220
+ * their documented 8,192-token window, converted at the stated
221
+ * {@link CHARS_PER_TOKEN} assumption of 4 characters per token. Sixteen times
222
+ * the indexer's own default, which was measured on an on-device model — so an
223
+ * indexing run against this embedder now embeds a 2,500-character chunk whole
224
+ * instead of clipping it and calling that success. Dense text (code, tables,
225
+ * CJK) tokenises tighter than the assumption; pass an explicit `maxChunkChars`
226
+ * for such a corpus, and it wins over this number.
227
+ *
149
228
  * @throws if `model` is unknown and `dimensions` was not supplied; if
150
229
  * `dimensions` is not one of Titan V2's supported sizes; or if the SDK
151
230
  * is missing and no `client` / `_client` / `_sdk` was passed.
@@ -176,6 +255,7 @@ function bedrockEmbedder(options = {}) {
176
255
  `produce would store vectors of a length that disagrees with the .dimensions this ` +
177
256
  `embedder reports.`);
178
257
  }
258
+ const maxInputChars = charsFor(TITAN_MAX_INPUT_TOKENS[model]);
179
259
  let connection;
180
260
  /**
181
261
  * Resolve the client + command constructor, once, on first embed.
@@ -247,6 +327,9 @@ function bedrockEmbedder(options = {}) {
247
327
  dimensions,
248
328
  // The embedding SPACE, size included — see the note above.
249
329
  id: `bedrock:${model}:${dimensions}`,
330
+ // Spread, so a model this factory does not know declares NO ceiling rather
331
+ // than one it cannot stand behind.
332
+ ...(maxInputChars !== undefined && { maxInputChars }),
250
333
  async embed({ text, signal }) {
251
334
  return invoke(text, signal);
252
335
  },
@@ -324,6 +407,19 @@ function describeShape(value) {
324
407
  }
325
408
  return typeof value;
326
409
  }
410
+ /**
411
+ * The MEASURED cliff of the default model, and the origin of the whole
412
+ * mechanism: `Xenova/all-MiniLM-L6-v2` silently truncates at 512 wordpiece
413
+ * tokens ≈ 1,800–2,000 characters of English. Measured directly — at 508 base
414
+ * tokens an appended tail still moves the vector (cosine 0.9965); at 596 it
415
+ * does not (0.999999). Nothing is thrown and nothing says so.
416
+ *
417
+ * It is the number `indexCorpus` used as its own default for every embedder,
418
+ * which is why a hosted model with an 8k-token window was being cut into
419
+ * pieces a sixteenth of what it could read. Here it is declared by the
420
+ * embedder it was measured on, where it is true.
421
+ */
422
+ const LOCAL_MAX_INPUT_CHARS = 2000;
327
423
  function localEmbedder(options = {}) {
328
424
  const model = options.model ?? 'Xenova/all-MiniLM-L6-v2';
329
425
  const dimensions = options.dimensions ?? 384;
@@ -352,6 +448,7 @@ function localEmbedder(options = {}) {
352
448
  // are close but not identical spaces, and "close" is exactly the kind of
353
449
  // difference that shows up as a mysteriously worse ranking.
354
450
  id: `local:${model}:${dtype}`,
451
+ maxInputChars: options.maxInputChars ?? LOCAL_MAX_INPUT_CHARS,
355
452
  async embed({ text }) {
356
453
  const p = await getPipe();
357
454
  const out = await p(text, { pooling: 'mean', normalize: true });
@@ -365,6 +462,19 @@ function localEmbedder(options = {}) {
365
462
  };
366
463
  }
367
464
  exports.localEmbedder = localEmbedder;
465
+ /**
466
+ * Declared input ceiling for the static path (9.1.0), and the one case where
467
+ * the honest answer is "there isn't a cliff".
468
+ *
469
+ * A Model2Vec model has no transformer and therefore no context window: it
470
+ * looks each token's vector up and pools them, so the ten-thousandth token
471
+ * contributes exactly like the first. Nothing is dropped at any length. The
472
+ * number is a practical bound (a megabyte of text), declared rather than
473
+ * omitted so that an indexer does not fall back to a 2,000-character default
474
+ * measured on a model with a real cliff and warn about clipping that never
475
+ * happened.
476
+ */
477
+ const STATIC_MAX_INPUT_CHARS = 1_000_000;
368
478
  function staticEmbedder(options = {}) {
369
479
  const dimensions = options.dimensions ?? 256;
370
480
  const spec = options.module ?? '@yarflam/potion-base-8m';
@@ -408,6 +518,8 @@ function staticEmbedder(options = {}) {
408
518
  return {
409
519
  dimensions,
410
520
  id: `static:${spec}`,
521
+ // No context window to fall off — see the constant.
522
+ maxInputChars: STATIC_MAX_INPUT_CHARS,
411
523
  async embed({ text }) {
412
524
  const fn = await getEmbed();
413
525
  const rows = toRows(await fn([text]));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedders/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedders/index.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -14,6 +14,45 @@ const NATIVE_DIMENSIONS = {
14
14
  'text-embedding-3-large': 3072,
15
15
  'text-embedding-ada-002': 1536,
16
16
  };
17
+ /**
18
+ * Chars-per-token used to convert a documented TOKEN window into the CHARACTER
19
+ * ceiling {@link Embedder.maxInputChars} states (9.1.0).
20
+ *
21
+ * **4 characters per token**, the standard rule of thumb for English prose, and
22
+ * the number every ceiling below is derived from — 8,191 tokens becomes 32,000
23
+ * characters (floored to a round number a warning can state plainly).
24
+ *
25
+ * It is an ASSUMPTION, not a measurement, and it is stated here so it can be
26
+ * argued with. Code, tables, CJK text and heavy punctuation all tokenise
27
+ * DENSER than prose, so a chunk of exactly 32,000 characters of such material
28
+ * can still exceed 8,191 tokens and be clipped. That is what an explicit
29
+ * `maxChunkChars` is for: it always wins over a declared ceiling, precisely so
30
+ * a caller who knows their corpus is dense can say a smaller number. For the
31
+ * shipped splitter defaults (1,000 characters a chunk) the distinction never
32
+ * arises — the ceiling matters when a consumer RAISES the splitter, which is
33
+ * the case this whole mechanism exists to keep honest.
34
+ */
35
+ const CHARS_PER_TOKEN = 4;
36
+ /**
37
+ * Documented input window per OpenAI embedding model, in TOKENS.
38
+ *
39
+ * All three current models accept 8,191 tokens — OpenAI's embeddings guide and
40
+ * the model pages state the same limit for `text-embedding-3-small`,
41
+ * `text-embedding-3-large` and `text-embedding-ada-002`. A model this library
42
+ * does not know gets NO declared ceiling rather than a guessed one: the same
43
+ * rule `.dimensions` applies, for the same reason — a wrong ceiling clips in
44
+ * silence, and an absent one simply leaves the indexer's conservative default
45
+ * in place.
46
+ */
47
+ const NATIVE_MAX_INPUT_TOKENS = {
48
+ 'text-embedding-3-small': 8191,
49
+ 'text-embedding-3-large': 8191,
50
+ 'text-embedding-ada-002': 8191,
51
+ };
52
+ /** Tokens → characters, floored to a round number a message can state plainly. */
53
+ function charsFor(tokens) {
54
+ return tokens === undefined ? undefined : Math.floor((tokens * CHARS_PER_TOKEN) / 1000) * 1000;
55
+ }
17
56
  /**
18
57
  * OpenAI's hosted embeddings endpoint.
19
58
  *
@@ -25,6 +64,14 @@ const NATIVE_DIMENSIONS = {
25
64
  * know, so it is a construction-time error rather than a guess that a vector
26
65
  * store would silently trust.
27
66
  *
67
+ * `.maxInputChars` (9.1.0) reports **32,000** for the three models above:
68
+ * their documented 8,191-token window at the stated {@link CHARS_PER_TOKEN}
69
+ * assumption. An indexer reads it in preference to its own 2,000-character
70
+ * default, so a corpus split at 2,500 characters is embedded WHOLE here
71
+ * instead of being clipped by a default measured on an on-device model.
72
+ * An unknown model declares no ceiling — the indexer's default stands, which
73
+ * is conservative rather than wrong.
74
+ *
28
75
  * @throws if there is no API key, or if `model` is unknown and `dimensions`
29
76
  * was not supplied.
30
77
  */
@@ -45,6 +92,7 @@ export function openaiEmbedder(options = {}) {
45
92
  `library can know, and reporting a wrong .dimensions silently corrupts a vector store. ` +
46
93
  `Pass { dimensions } with the length that model returns.`);
47
94
  }
95
+ const maxInputChars = charsFor(NATIVE_MAX_INPUT_TOKENS[model]);
48
96
  const url = `${options.baseURL ?? 'https://api.openai.com/v1'}/embeddings`;
49
97
  async function call(input, signal) {
50
98
  const res = await fetch(url, {
@@ -66,6 +114,10 @@ export function openaiEmbedder(options = {}) {
66
114
  // fingerprint is `'<id>@<dims>'`, so it appends the dimensions itself and
67
115
  // a truncated vector is already a different fingerprint from a native one.
68
116
  id: `openai:${model}`,
117
+ // The documented window, in the unit a splitter cuts in. Spread rather
118
+ // than assigned so an unknown model declares NOTHING instead of
119
+ // `undefined` — the field is optional and its absence is meaningful.
120
+ ...(maxInputChars !== undefined && { maxInputChars }),
69
121
  async embed({ text, signal }) {
70
122
  return (await call([text], signal))[0];
71
123
  },
@@ -90,6 +142,23 @@ const TITAN_DIMENSIONS = {
90
142
  'amazon.titan-embed-text-v2:0': 1024,
91
143
  'amazon.titan-embed-text-v1': 1536,
92
144
  };
145
+ /**
146
+ * Documented input window per Titan text-embedding model, in TOKENS.
147
+ *
148
+ * Both Titan text-embedding models accept **8,192 tokens** — sixteen times the
149
+ * on-device model the shipped default ceiling was measured on. That gap is the
150
+ * whole point of declaring one: without it, a corpus split at 2,500 characters
151
+ * is reported as clipped (and treated as such by the indexer's default) by an
152
+ * embedder that reads every one of those chunks whole.
153
+ *
154
+ * A model outside this table gets NO declared ceiling — the same rule
155
+ * `.dimensions` applies. Another vendor's embedding model on the same runtime
156
+ * may have a far shorter window, and guessing this one's would clip in silence.
157
+ */
158
+ const TITAN_MAX_INPUT_TOKENS = {
159
+ 'amazon.titan-embed-text-v2:0': 8192,
160
+ 'amazon.titan-embed-text-v1': 8192,
161
+ };
93
162
  const TITAN_V2_SUPPORTED = [1024, 512, 256];
94
163
  /**
95
164
  * Amazon Bedrock's hosted embeddings, through `InvokeModel`.
@@ -119,6 +188,16 @@ const TITAN_V2_SUPPORTED = [1024, 512, 256];
119
188
  * q8 and an fp32 build of one model are near-identical spaces, and "near" is
120
189
  * exactly the difference that surfaces as a mysteriously worse ranking.)
121
190
  *
191
+ * ── The input ceiling (9.1.0) ────────────────────────────────────────────
192
+ * `.maxInputChars` reports **32,000** for both Titan text-embedding models:
193
+ * their documented 8,192-token window, converted at the stated
194
+ * {@link CHARS_PER_TOKEN} assumption of 4 characters per token. Sixteen times
195
+ * the indexer's own default, which was measured on an on-device model — so an
196
+ * indexing run against this embedder now embeds a 2,500-character chunk whole
197
+ * instead of clipping it and calling that success. Dense text (code, tables,
198
+ * CJK) tokenises tighter than the assumption; pass an explicit `maxChunkChars`
199
+ * for such a corpus, and it wins over this number.
200
+ *
122
201
  * @throws if `model` is unknown and `dimensions` was not supplied; if
123
202
  * `dimensions` is not one of Titan V2's supported sizes; or if the SDK
124
203
  * is missing and no `client` / `_client` / `_sdk` was passed.
@@ -149,6 +228,7 @@ export function bedrockEmbedder(options = {}) {
149
228
  `produce would store vectors of a length that disagrees with the .dimensions this ` +
150
229
  `embedder reports.`);
151
230
  }
231
+ const maxInputChars = charsFor(TITAN_MAX_INPUT_TOKENS[model]);
152
232
  let connection;
153
233
  /**
154
234
  * Resolve the client + command constructor, once, on first embed.
@@ -220,6 +300,9 @@ export function bedrockEmbedder(options = {}) {
220
300
  dimensions,
221
301
  // The embedding SPACE, size included — see the note above.
222
302
  id: `bedrock:${model}:${dimensions}`,
303
+ // Spread, so a model this factory does not know declares NO ceiling rather
304
+ // than one it cannot stand behind.
305
+ ...(maxInputChars !== undefined && { maxInputChars }),
223
306
  async embed({ text, signal }) {
224
307
  return invoke(text, signal);
225
308
  },
@@ -296,6 +379,19 @@ function describeShape(value) {
296
379
  }
297
380
  return typeof value;
298
381
  }
382
+ /**
383
+ * The MEASURED cliff of the default model, and the origin of the whole
384
+ * mechanism: `Xenova/all-MiniLM-L6-v2` silently truncates at 512 wordpiece
385
+ * tokens ≈ 1,800–2,000 characters of English. Measured directly — at 508 base
386
+ * tokens an appended tail still moves the vector (cosine 0.9965); at 596 it
387
+ * does not (0.999999). Nothing is thrown and nothing says so.
388
+ *
389
+ * It is the number `indexCorpus` used as its own default for every embedder,
390
+ * which is why a hosted model with an 8k-token window was being cut into
391
+ * pieces a sixteenth of what it could read. Here it is declared by the
392
+ * embedder it was measured on, where it is true.
393
+ */
394
+ const LOCAL_MAX_INPUT_CHARS = 2000;
299
395
  export function localEmbedder(options = {}) {
300
396
  const model = options.model ?? 'Xenova/all-MiniLM-L6-v2';
301
397
  const dimensions = options.dimensions ?? 384;
@@ -324,6 +420,7 @@ export function localEmbedder(options = {}) {
324
420
  // are close but not identical spaces, and "close" is exactly the kind of
325
421
  // difference that shows up as a mysteriously worse ranking.
326
422
  id: `local:${model}:${dtype}`,
423
+ maxInputChars: options.maxInputChars ?? LOCAL_MAX_INPUT_CHARS,
327
424
  async embed({ text }) {
328
425
  const p = await getPipe();
329
426
  const out = await p(text, { pooling: 'mean', normalize: true });
@@ -336,6 +433,19 @@ export function localEmbedder(options = {}) {
336
433
  },
337
434
  };
338
435
  }
436
+ /**
437
+ * Declared input ceiling for the static path (9.1.0), and the one case where
438
+ * the honest answer is "there isn't a cliff".
439
+ *
440
+ * A Model2Vec model has no transformer and therefore no context window: it
441
+ * looks each token's vector up and pools them, so the ten-thousandth token
442
+ * contributes exactly like the first. Nothing is dropped at any length. The
443
+ * number is a practical bound (a megabyte of text), declared rather than
444
+ * omitted so that an indexer does not fall back to a 2,000-character default
445
+ * measured on a model with a real cliff and warn about clipping that never
446
+ * happened.
447
+ */
448
+ const STATIC_MAX_INPUT_CHARS = 1_000_000;
339
449
  export function staticEmbedder(options = {}) {
340
450
  const dimensions = options.dimensions ?? 256;
341
451
  const spec = options.module ?? '@yarflam/potion-base-8m';
@@ -379,6 +489,8 @@ export function staticEmbedder(options = {}) {
379
489
  return {
380
490
  dimensions,
381
491
  id: `static:${spec}`,
492
+ // No context window to fall off — see the constant.
493
+ maxInputChars: STATIC_MAX_INPUT_CHARS,
382
494
  async embed({ text }) {
383
495
  const fn = await getEmbed();
384
496
  const rows = toRows(await fn([text]));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/embedders/index.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -29,6 +29,7 @@ import { InMemoryStore, mockEmbedder } from 'agentfootprint/memory';
29
29
  * const agent = Agent.create({ provider }).rag(docs).build();
30
30
  * ```
31
31
  */
32
+ import { resolveChunkCeiling, truncationWarning } from '../../memory/embedding/inputCeiling.js';
32
33
  import { assertServesVectors } from '../../memory/store/capability.js';
33
34
  import { chunkText } from '../../memory/retrieval/provenance.js';
34
35
  const DEFAULT_IDENTITY = { conversationId: '_global' };
@@ -71,6 +72,7 @@ export async function indexDocuments(store, embedder, documents, options = {}) {
71
72
  // that get embedded and the bytes the model is later shown can never be
72
73
  // two different things.
73
74
  const texts = documents.map((d) => chunkText(d));
75
+ warnIfClipped(texts, embedder, options.maxChunkChars, embedderId);
74
76
  let vectors;
75
77
  if (embedder.embedBatch) {
76
78
  vectors = await embedder.embedBatch({
@@ -145,6 +147,33 @@ function assertPassages(documents) {
145
147
  ` Fix: put the passage on \`content\` (or \`text\` — both are read), or drop the ` +
146
148
  `document from the batch.`);
147
149
  }
150
+ /**
151
+ * Say out loud, once, that some of these documents will be embedded CLIPPED.
152
+ *
153
+ * The sibling door files the same fact in `report.truncated`; this one returns
154
+ * a count and has no report to file anything in, so the console is the only
155
+ * channel it has — and the alternative is what shipped before 9.1.0: nothing
156
+ * at all. A vector built from the opening of a document, stored against the
157
+ * whole document as its passage, is retrieval that cannot find text the model
158
+ * can see. It fires BEFORE the embedding call, so the warning arrives even
159
+ * when the backend then rejects the batch for the same reason.
160
+ */
161
+ function warnIfClipped(texts, embedder, explicit, embedderId) {
162
+ const ceiling = resolveChunkCeiling(explicit, embedder);
163
+ const over = texts.filter((t) => t.length > ceiling.chars).length;
164
+ if (over === 0)
165
+ return;
166
+ console.warn(truncationWarning({
167
+ caller: 'indexDocuments',
168
+ count: over,
169
+ total: texts.length,
170
+ noun: 'document',
171
+ ceiling,
172
+ embedderId,
173
+ resplitHint: 'cut them into chunks before indexing (the `agentfootprint/rag` door splits with ' +
174
+ 'coordinates, so each piece can still cite where it came from)',
175
+ }));
176
+ }
148
177
  async function embedWithConcurrency(embedder, texts, limit, signal) {
149
178
  const results = new Array(texts.length);
150
179
  let next = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"indexDocuments.js","sourceRoot":"","sources":["../../../../src/lib/rag/indexDocuments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexDocuments.js","sourceRoot":"","sources":["../../../../src/lib/rag/indexDocuments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAGhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAsIjE,MAAM,gBAAgB,GAAmB,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAkB,EAClB,QAAkB,EAClB,SAAiC,EACjC,UAAiC,EAAE;IAEnC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAClE,mEAAmE;IACnE,sEAAsE;IACtE,qDAAqD;IACrD,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC7C,cAAc,CAAC,SAAS,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC;IACtD,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,EAAE,IAAI,kBAAkB,CAAC;IAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5D,sEAAsE;IACtE,8DAA8D;IAC9D,oDAAoD;IACpD,wEAAwE;IACxE,wEAAwE;IACxE,wBAAwB;IACxB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,OAAuC,CAAC;IAC5C,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC;YAClC,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QACvD,OAAO,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,CAAC,WAAW,EAAE,CAAC;QACpB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc;KACxC,CAAC,CAAC;IAEH,MAAM,OAAO,GAA+B,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACnE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;YACd,cAAc,EAAE,GAAG;YACnB,WAAW,EAAE,CAAC;YACd,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACrD,cAAc,EAAE,UAAU;YAC1B,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,cAAc,CAAC,SAAiC;IACvD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,IAAI,KAAK,CACb,mBAAmB,KAAK,CAAC,MAAM,0DAA0D;QACvF,sCAAsC,KAAK,GAAG,IAAI,KAAK;QACvD,sFAAsF;QACtF,gEAAgE;QAChE,wFAAwF;QACxF,gDAAgD;QAChD,oFAAoF;QACpF,0BAA0B,CAC7B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CACpB,KAAwB,EACxB,QAAkB,EAClB,QAA4B,EAC5B,UAAkB;IAElB,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAClE,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO;IACvB,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC;QAChB,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,UAAU;QACV,WAAW,EACT,kFAAkF;YAClF,+DAA+D;KAClE,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAkB,EAClB,KAAwB,EACxB,KAAa,EACb,MAAoB;IAEpB,MAAM,OAAO,GAA0B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAC/E,SAAS,CAAC;YACR,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAC9B,wDAAwD;YACxD,oEAAoE;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACvB,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;gBAChC,IAAI;gBACJ,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC"}