agentfootprint 9.2.0 → 9.3.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 (91) hide show
  1. package/dist/adapters/memory/pgVector.js +731 -0
  2. package/dist/adapters/memory/pgVector.js.map +1 -0
  3. package/dist/adapters/memory/s3Vectors.js +628 -0
  4. package/dist/adapters/memory/s3Vectors.js.map +1 -0
  5. package/dist/adapters/memory/sqliteVector.js +16 -79
  6. package/dist/adapters/memory/sqliteVector.js.map +1 -1
  7. package/dist/embedders/index.js +240 -76
  8. package/dist/embedders/index.js.map +1 -1
  9. package/dist/esm/adapters/memory/pgVector.d.ts +243 -0
  10. package/dist/esm/adapters/memory/pgVector.js +726 -0
  11. package/dist/esm/adapters/memory/pgVector.js.map +1 -0
  12. package/dist/esm/adapters/memory/s3Vectors.d.ts +208 -0
  13. package/dist/esm/adapters/memory/s3Vectors.js +624 -0
  14. package/dist/esm/adapters/memory/s3Vectors.js.map +1 -0
  15. package/dist/esm/adapters/memory/sqliteVector.d.ts +5 -27
  16. package/dist/esm/adapters/memory/sqliteVector.js +10 -73
  17. package/dist/esm/adapters/memory/sqliteVector.js.map +1 -1
  18. package/dist/esm/embedders/index.d.ts +99 -19
  19. package/dist/esm/embedders/index.js +240 -76
  20. package/dist/esm/embedders/index.js.map +1 -1
  21. package/dist/esm/lib/embedderMismatch.d.ts +67 -0
  22. package/dist/esm/lib/embedderMismatch.js +96 -0
  23. package/dist/esm/lib/embedderMismatch.js.map +1 -0
  24. package/dist/esm/lib/rag/defineRAG.d.ts +28 -6
  25. package/dist/esm/lib/rag/defineRAG.js +39 -5
  26. package/dist/esm/lib/rag/defineRAG.js.map +1 -1
  27. package/dist/esm/memory/define.js +31 -1
  28. package/dist/esm/memory/define.js.map +1 -1
  29. package/dist/esm/memory/define.types.d.ts +13 -2
  30. package/dist/esm/memory/define.types.js.map +1 -1
  31. package/dist/esm/memory/embedding/loadRelevant.d.ts +10 -2
  32. package/dist/esm/memory/embedding/loadRelevant.js +36 -18
  33. package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
  34. package/dist/esm/memory/pipeline/semantic.d.ts +13 -2
  35. package/dist/esm/memory/pipeline/semantic.js +11 -5
  36. package/dist/esm/memory/pipeline/semantic.js.map +1 -1
  37. package/dist/esm/memory/store/capability.d.ts +25 -6
  38. package/dist/esm/memory/store/capability.js +68 -3
  39. package/dist/esm/memory/store/capability.js.map +1 -1
  40. package/dist/esm/memory/store/index.d.ts +1 -0
  41. package/dist/esm/memory/store/index.js +4 -0
  42. package/dist/esm/memory/store/index.js.map +1 -1
  43. package/dist/esm/memory/store/types.d.ts +40 -0
  44. package/dist/esm/memory-providers.d.ts +7 -4
  45. package/dist/esm/memory-providers.js +18 -4
  46. package/dist/esm/memory-providers.js.map +1 -1
  47. package/dist/lib/embedderMismatch.js +103 -0
  48. package/dist/lib/embedderMismatch.js.map +1 -0
  49. package/dist/lib/rag/defineRAG.js +39 -5
  50. package/dist/lib/rag/defineRAG.js.map +1 -1
  51. package/dist/memory/define.js +31 -1
  52. package/dist/memory/define.js.map +1 -1
  53. package/dist/memory/define.types.js.map +1 -1
  54. package/dist/memory/embedding/loadRelevant.js +36 -18
  55. package/dist/memory/embedding/loadRelevant.js.map +1 -1
  56. package/dist/memory/pipeline/semantic.js +11 -5
  57. package/dist/memory/pipeline/semantic.js.map +1 -1
  58. package/dist/memory/store/capability.js +70 -4
  59. package/dist/memory/store/capability.js.map +1 -1
  60. package/dist/memory/store/index.js +7 -1
  61. package/dist/memory/store/index.js.map +1 -1
  62. package/dist/memory-providers.js +22 -5
  63. package/dist/memory-providers.js.map +1 -1
  64. package/dist/types/adapters/memory/pgVector.d.ts +244 -0
  65. package/dist/types/adapters/memory/pgVector.d.ts.map +1 -0
  66. package/dist/types/adapters/memory/s3Vectors.d.ts +209 -0
  67. package/dist/types/adapters/memory/s3Vectors.d.ts.map +1 -0
  68. package/dist/types/adapters/memory/sqliteVector.d.ts +5 -27
  69. package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -1
  70. package/dist/types/embedders/index.d.ts +99 -19
  71. package/dist/types/embedders/index.d.ts.map +1 -1
  72. package/dist/types/lib/embedderMismatch.d.ts +68 -0
  73. package/dist/types/lib/embedderMismatch.d.ts.map +1 -0
  74. package/dist/types/lib/rag/defineRAG.d.ts +28 -6
  75. package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
  76. package/dist/types/memory/define.d.ts.map +1 -1
  77. package/dist/types/memory/define.types.d.ts +13 -2
  78. package/dist/types/memory/define.types.d.ts.map +1 -1
  79. package/dist/types/memory/embedding/loadRelevant.d.ts +10 -2
  80. package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
  81. package/dist/types/memory/pipeline/semantic.d.ts +13 -2
  82. package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
  83. package/dist/types/memory/store/capability.d.ts +25 -6
  84. package/dist/types/memory/store/capability.d.ts.map +1 -1
  85. package/dist/types/memory/store/index.d.ts +1 -0
  86. package/dist/types/memory/store/index.d.ts.map +1 -1
  87. package/dist/types/memory/store/types.d.ts +40 -0
  88. package/dist/types/memory/store/types.d.ts.map +1 -1
  89. package/dist/types/memory-providers.d.ts +7 -4
  90. package/dist/types/memory-providers.d.ts.map +1 -1
  91. package/package.json +9 -1
@@ -141,34 +141,12 @@ export declare class UnreadableIndexFileError extends Error {
141
141
  /**
142
142
  * Raised when a vector meets an index built by a different embedder.
143
143
  *
144
- * **This is the refusal that keeps the store honest.** Cosine similarity between
145
- * two different embedding spaces is not a weak signal — it is not a signal at
146
- * all, and it comes back as a confident number in the same 0-to-1 range as a
147
- * real one. There is no threshold that separates them, and nothing downstream
148
- * can tell them apart. So the mismatch is refused where it happens, on both
149
- * sides:
150
- *
151
- * - at **write**, so a second embedder's vectors never enter a namespace;
152
- * - at **query**, so a swapped embedder never scores against the old ones.
153
- *
154
- * The named fix is an explicit re-index — delete the namespace and build it
155
- * again with one embedder, or point the retriever at a different file. It is
156
- * never a fallback: silently ignoring the mismatch is the failure, and silently
157
- * re-embedding somebody's corpus is a bill they did not agree to.
158
- *
159
- * `problem` says which half is wrong. `'dimensions'` is arithmetically
160
- * impossible to score at all; `'model'` would score, and lie.
144
+ * Since 9.3.0 this is ONE class shared by every store that can make the check
145
+ * (`lib/embedderMismatch.ts`), re-exported here so the import path that has
146
+ * worked since 8.9.0 keeps working. A second class of the same name would make
147
+ * `instanceof` depend on which store threw.
161
148
  */
162
- export declare class EmbedderMismatchError extends Error {
163
- readonly code: "ERR_EMBEDDER_MISMATCH";
164
- /** The fingerprint the namespace was built with, `'<id>@<dims>'`. */
165
- readonly indexed: string;
166
- /** The fingerprint that just arrived. */
167
- readonly incoming: string;
168
- /** Which half disagrees. */
169
- readonly problem: 'dimensions' | 'model';
170
- constructor(namespace: string, indexed: string, incoming: string, problem: EmbedderMismatchError['problem'], operation: 'write to' | 'search');
171
- }
149
+ export { EmbedderMismatchError } from '../../lib/embedderMismatch.js';
172
150
  /** A durable vector store, plus the three things a file owns beyond the port. */
173
151
  export interface SqliteVectorStore extends MemoryStore {
174
152
  /**
@@ -74,6 +74,7 @@
74
74
  import { identityNamespace } from '../../memory/identity/index.js';
75
75
  import { lazyRequire } from '../../lib/lazyRequire.js';
76
76
  import { SqliteUnavailableError } from '../../lib/sqliteUnavailable.js';
77
+ import { EmbedderMismatchError as SharedEmbedderMismatchError, fingerprintConflict, fingerprintText, parseFingerprint, } from '../../lib/embedderMismatch.js';
77
78
  // ─── The refusals ────────────────────────────────────────────────────
78
79
  /**
79
80
  * Raised when the file exists but this runtime cannot use it as a vector index.
@@ -118,50 +119,12 @@ export class UnreadableIndexFileError extends Error {
118
119
  /**
119
120
  * Raised when a vector meets an index built by a different embedder.
120
121
  *
121
- * **This is the refusal that keeps the store honest.** Cosine similarity between
122
- * two different embedding spaces is not a weak signal — it is not a signal at
123
- * all, and it comes back as a confident number in the same 0-to-1 range as a
124
- * real one. There is no threshold that separates them, and nothing downstream
125
- * can tell them apart. So the mismatch is refused where it happens, on both
126
- * sides:
127
- *
128
- * - at **write**, so a second embedder's vectors never enter a namespace;
129
- * - at **query**, so a swapped embedder never scores against the old ones.
130
- *
131
- * The named fix is an explicit re-index — delete the namespace and build it
132
- * again with one embedder, or point the retriever at a different file. It is
133
- * never a fallback: silently ignoring the mismatch is the failure, and silently
134
- * re-embedding somebody's corpus is a bill they did not agree to.
135
- *
136
- * `problem` says which half is wrong. `'dimensions'` is arithmetically
137
- * impossible to score at all; `'model'` would score, and lie.
122
+ * Since 9.3.0 this is ONE class shared by every store that can make the check
123
+ * (`lib/embedderMismatch.ts`), re-exported here so the import path that has
124
+ * worked since 8.9.0 keeps working. A second class of the same name would make
125
+ * `instanceof` depend on which store threw.
138
126
  */
139
- export class EmbedderMismatchError extends Error {
140
- code = 'ERR_EMBEDDER_MISMATCH';
141
- /** The fingerprint the namespace was built with, `'<id>@<dims>'`. */
142
- indexed;
143
- /** The fingerprint that just arrived. */
144
- incoming;
145
- /** Which half disagrees. */
146
- problem;
147
- constructor(namespace, indexed, incoming, problem, operation) {
148
- super(`[memory] cannot ${operation} the namespace '${namespace}': it was indexed by ` +
149
- `'${indexed}' and this vector is from '${incoming}'. ` +
150
- (problem === 'dimensions'
151
- ? `Vectors of different lengths cannot be compared at all. `
152
- : `Cosine similarity between two embedding spaces is not a weak signal — it is ` +
153
- `not a signal, and it comes back as a confident number in the same range as a ` +
154
- `real one, which no threshold can separate. `) +
155
- `Re-index this namespace with one embedder (delete it and build it again), or ` +
156
- `point this store at a different file. This refuses rather than re-embedding ` +
157
- `your corpus on your behalf — that is a bill you did not agree to — and rather ` +
158
- `than mixing the two, which would silently corrupt every ranking it touched.`);
159
- this.name = 'EmbedderMismatchError';
160
- this.indexed = indexed;
161
- this.incoming = incoming;
162
- this.problem = problem;
163
- }
164
- }
127
+ export { EmbedderMismatchError } from '../../lib/embedderMismatch.js';
165
128
  // ─── The schema ──────────────────────────────────────────────────────
166
129
  /**
167
130
  * What this runtime writes. Bumped only for a change an older reader could not
@@ -296,7 +259,10 @@ export function sqliteVectorStore(options) {
296
259
  const stored = parseFingerprint(storedText);
297
260
  const conflict = fingerprintConflict(stored, incoming);
298
261
  if (conflict !== null) {
299
- throw new EmbedderMismatchError(ns, storedText, fingerprintText(incoming), conflict, operation);
262
+ throw new SharedEmbedderMismatchError(ns, storedText, fingerprintText(incoming), conflict, operation,
263
+ // This store's own second way out: a namespace lives in a file, so
264
+ // another file is another index.
265
+ 'point this store at a different file');
300
266
  }
301
267
  // Compatible. If the index recorded an anonymous embedder and this vector
302
268
  // names one, upgrade the record — a named fingerprint can refuse a future
@@ -638,35 +604,6 @@ export function sqliteVectorStore(options) {
638
604
  };
639
605
  return store;
640
606
  }
641
- /** `'<id>@<dims>'`, with `'?'` for an embedder that did not name itself. */
642
- function fingerprintText(fp) {
643
- return `${fp.id ?? '?'}@${fp.dims}`;
644
- }
645
- function parseFingerprint(text) {
646
- const at = text.lastIndexOf('@');
647
- const id = at === -1 ? '?' : text.slice(0, at);
648
- const dims = at === -1 ? 0 : Number(text.slice(at + 1));
649
- return {
650
- ...(id !== '?' && id !== '' && { id }),
651
- dims: Number.isFinite(dims) ? dims : 0,
652
- };
653
- }
654
- /**
655
- * What, if anything, makes these two incompatible.
656
- *
657
- * Dimensions always decide: two lengths cannot be compared at all. Model ids
658
- * decide only when BOTH sides named themselves — an anonymous vector is not
659
- * evidence of a different embedder, and refusing on absence would break every
660
- * caller who never passed an `embedderId`, which is most of them.
661
- */
662
- function fingerprintConflict(stored, incoming) {
663
- if (stored.dims !== incoming.dims)
664
- return 'dimensions';
665
- if (stored.id !== undefined && incoming.id !== undefined && stored.id !== incoming.id) {
666
- return 'model';
667
- }
668
- return null;
669
- }
670
607
  function rowToEntry(row) {
671
608
  return {
672
609
  id: row.id,
@@ -1 +1 @@
1
- {"version":3,"file":"sqliteVector.js","sourceRoot":"","sources":["../../../../src/adapters/memory/sqliteVector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqliteVector.js","sourceRoot":"","sources":["../../../../src/adapters/memory/sqliteVector.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@
8
8
  * you use and agentfootprint stays dependency-free.
9
9
  *
10
10
  * openaiEmbedder() — hosted; needs OPENAI_API_KEY; no extra install (fetch).
11
- * bedrockEmbedder() — hosted on AWS; Titan Text Embeddings V2; credentials
11
+ * bedrockEmbedder() — hosted on AWS; Titan Text Embeddings and Cohere Embed
12
+ * v3 (the model id picks the body shape); credentials
12
13
  * come from the AWS chain, so no key option at all.
13
14
  * peer dep: @aws-sdk/client-bedrock-runtime.
14
15
  * localEmbedder() — on-device sentence-transformer; no key; offline after a
@@ -111,25 +112,85 @@ export interface BedrockRuntimeSdkModule {
111
112
  }) => BedrockRuntimeLikeClient;
112
113
  readonly InvokeModelCommand?: new (input: unknown) => unknown;
113
114
  }
115
+ /**
116
+ * The request/response SHAPE a Bedrock embedding model speaks (9.3.0).
117
+ *
118
+ * `InvokeModel` is one operation with a vendor-specific body on both sides:
119
+ * Titan takes `{ inputText }` and answers `{ embedding }`, Cohere takes
120
+ * `{ texts, input_type }` and answers `{ embeddings }`. One model id therefore
121
+ * does not describe one call, and until 9.3.0 this factory sent Titan's body to
122
+ * everything — so a Cohere model id was accepted at construction (with
123
+ * `dimensions`) and failed at the first embed, against the real service, with a
124
+ * validation error from AWS rather than a sentence from here.
125
+ */
126
+ export type BedrockEmbeddingFamily = 'titan' | 'cohere';
127
+ /**
128
+ * Cohere's `input_type`, which is a real parameter and not a hint: the v3
129
+ * models embed a QUERY and a DOCUMENT into deliberately different places, and
130
+ * the two are meant to be compared with each other. Sending one value for both
131
+ * halves is a measurable loss of retrieval quality, not a style choice — and
132
+ * Cohere requires the field, so there is no "unset" to fall back to.
133
+ */
134
+ export type CohereInputType = 'search_document' | 'search_query';
114
135
  export interface BedrockEmbedderOptions {
115
136
  /**
116
137
  * Bedrock model id. Default `'amazon.titan-embed-text-v2:0'`.
117
138
  *
118
- * Titan V2 is the one this factory knows the sizes of. Another model (V1,
119
- * a Cohere embedding model, an inference profile ARN) works, but its
120
- * output length is not something this library can know — pass
121
- * `dimensions` with it, the same rule `openaiEmbedder` applies.
139
+ * Four are known by name — Titan V2, Titan V1, and Cohere Embed English /
140
+ * Multilingual v3 (see {@link BEDROCK_EMBEDDING_MODELS}) — and each brings
141
+ * its own body shape, vector length and input window. An id that WRAPS one of
142
+ * those (a cross-region inference profile `us.amazon.titan-embed-text-v2:0`,
143
+ * or an ARN ending in the model id) is resolved to the model it names.
144
+ *
145
+ * Anything else is a model this library has never met: pass `dimensions`
146
+ * with it (its vector length is not something this can know) and `family` if
147
+ * it is not Titan-shaped.
122
148
  */
123
149
  readonly model?: string;
124
150
  /**
125
- * Vector length to request. Titan V2 supports 1024 (default), 512 and 256;
151
+ * Vector length to request.
152
+ *
153
+ * Titan V2 is the one CONFIGURABLE model — 1024 (default), 512 or 256 — and
126
154
  * the value is SENT to the model AND reported as `.dimensions`, so the two
127
- * can never disagree.
155
+ * can never disagree. Every other known model has ONE size, and asking for a
156
+ * different one is refused rather than reported: `.dimensions` is what a
157
+ * vector store fingerprints on, and a wrong one corrupts it silently.
128
158
  *
129
- * Required for a model outside {@link TITAN_DIMENSIONS} — a wrong
130
- * `.dimensions` silently corrupts a vector store.
159
+ * Required for a model outside {@link BEDROCK_EMBEDDING_MODELS}.
131
160
  */
132
161
  readonly dimensions?: number;
162
+ /**
163
+ * The body shape to speak, when the model id does not say (9.3.0).
164
+ *
165
+ * Inferred for every known model and for anything that wraps one, so this is
166
+ * only for a model id this library has never met — a provisioned-throughput
167
+ * ARN, a custom deployment. Unknown and unstated, the body is **Titan's**,
168
+ * which is the shape every release before 9.3.0 sent to everything.
169
+ *
170
+ * Stating a family that contradicts a known model id is refused by name.
171
+ */
172
+ readonly family?: BedrockEmbeddingFamily;
173
+ /**
174
+ * Pin Cohere's `input_type` instead of deriving it from the call (9.3.0).
175
+ *
176
+ * Unset — the default — `embed()` sends `'search_query'` and `embedBatch()`
177
+ * sends `'search_document'`, because that is what this library's own two
178
+ * call sites are: retrieval embeds ONE question (`loadRelevant`), indexing
179
+ * embeds MANY passages (`indexDocuments`, `embedMessages`). Pin it when your
180
+ * own code uses the two calls differently — embedding a single document, say,
181
+ * or scoring a batch of queries.
182
+ *
183
+ * Ignored by Titan, which has no such parameter.
184
+ */
185
+ readonly inputType?: CohereInputType;
186
+ /**
187
+ * The longest input this model reads whole, in CHARACTERS
188
+ * ({@link Embedder.maxInputChars}). Declared for every known model from its
189
+ * documented token window; this option is how a model this library does not
190
+ * know states its own, rather than declaring none and leaving the indexer's
191
+ * conservative default in place. An explicit value always wins.
192
+ */
193
+ readonly maxInputChars?: number;
133
194
  /** AWS region. Passed to the SDK client when this factory builds one. */
134
195
  readonly region?: string;
135
196
  /** A pre-built Bedrock runtime client, so one SDK config serves the whole app. */
@@ -167,19 +228,31 @@ export interface BedrockEmbedderOptions {
167
228
  * q8 and an fp32 build of one model are near-identical spaces, and "near" is
168
229
  * exactly the difference that surfaces as a mysteriously worse ranking.)
169
230
  *
231
+ * ── One operation, two body shapes (9.3.0) ───────────────────────────────
232
+ * `InvokeModel` is a single API over vendor-specific JSON. Titan takes
233
+ * `{ inputText }` and answers `{ embedding }`; Cohere takes
234
+ * `{ texts, input_type }` and answers `{ embeddings }`, embeds up to
235
+ * {@link COHERE_MAX_TEXTS_PER_CALL} of them per call, and distinguishes a
236
+ * QUERY from a DOCUMENT. So the model id selects a FAMILY
237
+ * ({@link BedrockEmbeddingFamily}), and the family owns the request, the
238
+ * response and the batching. Before this, one shape was sent to everything —
239
+ * a Cohere id constructed fine and failed at the first embed.
240
+ *
170
241
  * ── 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.
242
+ * `.maxInputChars` is per MODEL, from its documented token window converted at
243
+ * the stated {@link CHARS_PER_TOKEN} assumption of 4 characters per token:
244
+ * **32,000** for both Titan text-embedding models (8,192 tokens — sixteen
245
+ * times the indexer's own default, which was measured on an on-device model),
246
+ * and **2,000** for Cohere Embed v3 (512 tokens). Those two numbers are why the
247
+ * ceiling cannot be a per-vendor constant: the same 2,500-character chunk is
248
+ * read whole by Titan and truncated by Cohere. Dense text (code, tables, CJK)
249
+ * tokenises tighter than the assumption; pass an explicit `maxChunkChars` for
250
+ * such a corpus, and it wins over this number.
179
251
  *
180
252
  * @throws if `model` is unknown and `dimensions` was not supplied; if
181
- * `dimensions` is not one of Titan V2's supported sizes; or if the SDK
182
- * is missing and no `client` / `_client` / `_sdk` was passed.
253
+ * `dimensions` is a size the model does not produce; if `family`
254
+ * contradicts a known model id; or if the SDK is missing and no
255
+ * `client` / `_client` / `_sdk` was passed.
183
256
  *
184
257
  * @example
185
258
  * ```ts
@@ -190,6 +263,13 @@ export interface BedrockEmbedderOptions {
190
263
  * const embedder = bedrockEmbedder({ region: 'us-east-1', dimensions: 512 });
191
264
  * await indexFolder('./docs', { to: sqliteVectorStore({ file: './corpus.db' }), embedder });
192
265
  * ```
266
+ *
267
+ * @example A Cohere embedding model on the same runtime
268
+ * ```ts
269
+ * // Body shape, response field, batch size and 512-token window all follow
270
+ * // from the model id — nothing else changes at the call site.
271
+ * const embedder = bedrockEmbedder({ model: 'cohere.embed-english-v3' });
272
+ * ```
193
273
  */
194
274
  export declare function bedrockEmbedder(options?: BedrockEmbedderOptions): Embedder;
195
275
  /**