agentfootprint 9.2.0 → 9.4.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 (183) hide show
  1. package/CLAUDE.md +3 -1
  2. package/dist/adapters/identity/agentcore.js +94 -26
  3. package/dist/adapters/identity/agentcore.js.map +1 -1
  4. package/dist/adapters/llm/BedrockProvider.js +34 -9
  5. package/dist/adapters/llm/BedrockProvider.js.map +1 -1
  6. package/dist/adapters/memory/pgVector.js +731 -0
  7. package/dist/adapters/memory/pgVector.js.map +1 -0
  8. package/dist/adapters/memory/s3Vectors.js +780 -0
  9. package/dist/adapters/memory/s3Vectors.js.map +1 -0
  10. package/dist/adapters/memory/sqliteVector.js +16 -79
  11. package/dist/adapters/memory/sqliteVector.js.map +1 -1
  12. package/dist/adapters/observability/cloudwatch.js +13 -8
  13. package/dist/adapters/observability/cloudwatch.js.map +1 -1
  14. package/dist/adapters/observability/xray.js +13 -8
  15. package/dist/adapters/observability/xray.js.map +1 -1
  16. package/dist/adapters/security/agentcore.js +0 -0
  17. package/dist/adapters/security/agentcore.js.map +1 -1
  18. package/dist/bridge/eventMeta.js +3 -0
  19. package/dist/bridge/eventMeta.js.map +1 -1
  20. package/dist/core/Agent.js +11 -0
  21. package/dist/core/Agent.js.map +1 -1
  22. package/dist/core/agent/stages/toolCalls.js +80 -7
  23. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  24. package/dist/doors/security.js +3 -2
  25. package/dist/doors/security.js.map +1 -1
  26. package/dist/embedders/index.js +240 -76
  27. package/dist/embedders/index.js.map +1 -1
  28. package/dist/esm/adapters/identity/agentcore.d.ts +39 -9
  29. package/dist/esm/adapters/identity/agentcore.js +94 -26
  30. package/dist/esm/adapters/identity/agentcore.js.map +1 -1
  31. package/dist/esm/adapters/llm/BedrockProvider.d.ts +24 -0
  32. package/dist/esm/adapters/llm/BedrockProvider.js +34 -9
  33. package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
  34. package/dist/esm/adapters/memory/pgVector.d.ts +243 -0
  35. package/dist/esm/adapters/memory/pgVector.js +726 -0
  36. package/dist/esm/adapters/memory/pgVector.js.map +1 -0
  37. package/dist/esm/adapters/memory/s3Vectors.d.ts +240 -0
  38. package/dist/esm/adapters/memory/s3Vectors.js +776 -0
  39. package/dist/esm/adapters/memory/s3Vectors.js.map +1 -0
  40. package/dist/esm/adapters/memory/sqliteVector.d.ts +5 -27
  41. package/dist/esm/adapters/memory/sqliteVector.js +10 -73
  42. package/dist/esm/adapters/memory/sqliteVector.js.map +1 -1
  43. package/dist/esm/adapters/observability/cloudwatch.d.ts +20 -0
  44. package/dist/esm/adapters/observability/cloudwatch.js +13 -8
  45. package/dist/esm/adapters/observability/cloudwatch.js.map +1 -1
  46. package/dist/esm/adapters/observability/xray.d.ts +18 -0
  47. package/dist/esm/adapters/observability/xray.js +13 -8
  48. package/dist/esm/adapters/observability/xray.js.map +1 -1
  49. package/dist/esm/adapters/security/agentcore.d.ts +81 -107
  50. package/dist/esm/adapters/security/agentcore.js +0 -0
  51. package/dist/esm/adapters/security/agentcore.js.map +1 -1
  52. package/dist/esm/bridge/eventMeta.d.ts +3 -0
  53. package/dist/esm/bridge/eventMeta.js +3 -0
  54. package/dist/esm/bridge/eventMeta.js.map +1 -1
  55. package/dist/esm/core/Agent.d.ts +16 -0
  56. package/dist/esm/core/Agent.js +11 -0
  57. package/dist/esm/core/Agent.js.map +1 -1
  58. package/dist/esm/core/agent/stages/toolCalls.js +80 -7
  59. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  60. package/dist/esm/doors/security.d.ts +3 -2
  61. package/dist/esm/doors/security.js +3 -2
  62. package/dist/esm/doors/security.js.map +1 -1
  63. package/dist/esm/embedders/index.d.ts +99 -19
  64. package/dist/esm/embedders/index.js +240 -76
  65. package/dist/esm/embedders/index.js.map +1 -1
  66. package/dist/esm/events/dispatcher.d.ts +1 -1
  67. package/dist/esm/events/dispatcher.js.map +1 -1
  68. package/dist/esm/events/payloads.d.ts +23 -1
  69. package/dist/esm/events/types.d.ts +17 -0
  70. package/dist/esm/hosting/standingAgent.js +14 -1
  71. package/dist/esm/hosting/standingAgent.js.map +1 -1
  72. package/dist/esm/lib/embedderMismatch.d.ts +67 -0
  73. package/dist/esm/lib/embedderMismatch.js +96 -0
  74. package/dist/esm/lib/embedderMismatch.js.map +1 -0
  75. package/dist/esm/lib/rag/defineRAG.d.ts +28 -6
  76. package/dist/esm/lib/rag/defineRAG.js +39 -5
  77. package/dist/esm/lib/rag/defineRAG.js.map +1 -1
  78. package/dist/esm/memory/define.js +31 -1
  79. package/dist/esm/memory/define.js.map +1 -1
  80. package/dist/esm/memory/define.types.d.ts +13 -2
  81. package/dist/esm/memory/define.types.js.map +1 -1
  82. package/dist/esm/memory/embedding/loadRelevant.d.ts +10 -2
  83. package/dist/esm/memory/embedding/loadRelevant.js +36 -18
  84. package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
  85. package/dist/esm/memory/pipeline/semantic.d.ts +13 -2
  86. package/dist/esm/memory/pipeline/semantic.js +11 -5
  87. package/dist/esm/memory/pipeline/semantic.js.map +1 -1
  88. package/dist/esm/memory/store/capability.d.ts +25 -6
  89. package/dist/esm/memory/store/capability.js +68 -3
  90. package/dist/esm/memory/store/capability.js.map +1 -1
  91. package/dist/esm/memory/store/index.d.ts +1 -0
  92. package/dist/esm/memory/store/index.js +4 -0
  93. package/dist/esm/memory/store/index.js.map +1 -1
  94. package/dist/esm/memory/store/types.d.ts +40 -0
  95. package/dist/esm/memory-providers.d.ts +7 -4
  96. package/dist/esm/memory-providers.js +18 -4
  97. package/dist/esm/memory-providers.js.map +1 -1
  98. package/dist/esm/recorders/core/CredentialRecorder.d.ts +30 -0
  99. package/dist/esm/recorders/core/CredentialRecorder.js +35 -0
  100. package/dist/esm/recorders/core/CredentialRecorder.js.map +1 -0
  101. package/dist/esm/security/index.d.ts +7 -3
  102. package/dist/esm/security/index.js +12 -7
  103. package/dist/esm/security/index.js.map +1 -1
  104. package/dist/events/dispatcher.js.map +1 -1
  105. package/dist/hosting/standingAgent.js +14 -1
  106. package/dist/hosting/standingAgent.js.map +1 -1
  107. package/dist/lib/embedderMismatch.js +103 -0
  108. package/dist/lib/embedderMismatch.js.map +1 -0
  109. package/dist/lib/rag/defineRAG.js +39 -5
  110. package/dist/lib/rag/defineRAG.js.map +1 -1
  111. package/dist/memory/define.js +31 -1
  112. package/dist/memory/define.js.map +1 -1
  113. package/dist/memory/define.types.js.map +1 -1
  114. package/dist/memory/embedding/loadRelevant.js +36 -18
  115. package/dist/memory/embedding/loadRelevant.js.map +1 -1
  116. package/dist/memory/pipeline/semantic.js +11 -5
  117. package/dist/memory/pipeline/semantic.js.map +1 -1
  118. package/dist/memory/store/capability.js +70 -4
  119. package/dist/memory/store/capability.js.map +1 -1
  120. package/dist/memory/store/index.js +7 -1
  121. package/dist/memory/store/index.js.map +1 -1
  122. package/dist/memory-providers.js +22 -5
  123. package/dist/memory-providers.js.map +1 -1
  124. package/dist/recorders/core/CredentialRecorder.js +39 -0
  125. package/dist/recorders/core/CredentialRecorder.js.map +1 -0
  126. package/dist/security/index.js +13 -7
  127. package/dist/security/index.js.map +1 -1
  128. package/dist/types/adapters/identity/agentcore.d.ts +39 -9
  129. package/dist/types/adapters/identity/agentcore.d.ts.map +1 -1
  130. package/dist/types/adapters/llm/BedrockProvider.d.ts +24 -0
  131. package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
  132. package/dist/types/adapters/memory/pgVector.d.ts +244 -0
  133. package/dist/types/adapters/memory/pgVector.d.ts.map +1 -0
  134. package/dist/types/adapters/memory/s3Vectors.d.ts +241 -0
  135. package/dist/types/adapters/memory/s3Vectors.d.ts.map +1 -0
  136. package/dist/types/adapters/memory/sqliteVector.d.ts +5 -27
  137. package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -1
  138. package/dist/types/adapters/observability/cloudwatch.d.ts +20 -0
  139. package/dist/types/adapters/observability/cloudwatch.d.ts.map +1 -1
  140. package/dist/types/adapters/observability/xray.d.ts +18 -0
  141. package/dist/types/adapters/observability/xray.d.ts.map +1 -1
  142. package/dist/types/adapters/security/agentcore.d.ts +81 -107
  143. package/dist/types/adapters/security/agentcore.d.ts.map +1 -1
  144. package/dist/types/bridge/eventMeta.d.ts +3 -0
  145. package/dist/types/bridge/eventMeta.d.ts.map +1 -1
  146. package/dist/types/core/Agent.d.ts +16 -0
  147. package/dist/types/core/Agent.d.ts.map +1 -1
  148. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  149. package/dist/types/doors/security.d.ts +3 -2
  150. package/dist/types/doors/security.d.ts.map +1 -1
  151. package/dist/types/embedders/index.d.ts +99 -19
  152. package/dist/types/embedders/index.d.ts.map +1 -1
  153. package/dist/types/events/dispatcher.d.ts +1 -1
  154. package/dist/types/events/dispatcher.d.ts.map +1 -1
  155. package/dist/types/events/payloads.d.ts +23 -1
  156. package/dist/types/events/payloads.d.ts.map +1 -1
  157. package/dist/types/events/types.d.ts +17 -0
  158. package/dist/types/events/types.d.ts.map +1 -1
  159. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  160. package/dist/types/lib/embedderMismatch.d.ts +68 -0
  161. package/dist/types/lib/embedderMismatch.d.ts.map +1 -0
  162. package/dist/types/lib/rag/defineRAG.d.ts +28 -6
  163. package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
  164. package/dist/types/memory/define.d.ts.map +1 -1
  165. package/dist/types/memory/define.types.d.ts +13 -2
  166. package/dist/types/memory/define.types.d.ts.map +1 -1
  167. package/dist/types/memory/embedding/loadRelevant.d.ts +10 -2
  168. package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
  169. package/dist/types/memory/pipeline/semantic.d.ts +13 -2
  170. package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
  171. package/dist/types/memory/store/capability.d.ts +25 -6
  172. package/dist/types/memory/store/capability.d.ts.map +1 -1
  173. package/dist/types/memory/store/index.d.ts +1 -0
  174. package/dist/types/memory/store/index.d.ts.map +1 -1
  175. package/dist/types/memory/store/types.d.ts +40 -0
  176. package/dist/types/memory/store/types.d.ts.map +1 -1
  177. package/dist/types/memory-providers.d.ts +7 -4
  178. package/dist/types/memory-providers.d.ts.map +1 -1
  179. package/dist/types/recorders/core/CredentialRecorder.d.ts +31 -0
  180. package/dist/types/recorders/core/CredentialRecorder.d.ts.map +1 -0
  181. package/dist/types/security/index.d.ts +7 -3
  182. package/dist/types/security/index.d.ts.map +1 -1
  183. package/package.json +9 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pgVector.js","sourceRoot":"","sources":["../../../../src/adapters/memory/pgVector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ /**
2
+ * adapters/memory/s3Vectors — the corpus outlives the runtime, and can still
3
+ * be updated without one.
4
+ *
5
+ * `sqliteVectorStore` (8.9.0) made a corpus survive a restart by putting it in
6
+ * a file, and `staticVectorStore` (8.20.0) made it survive a runtime with no
7
+ * disk at all by shipping it as a build artifact. Both leave the same gap, and
8
+ * a production field report named it: **a bundle can only change when you
9
+ * redeploy.** Add three documents on a Tuesday and the answer arrives with the
10
+ * next release train. That is a fine trade for product documentation and a bad
11
+ * one for anything a human edits during the day.
12
+ *
13
+ * Amazon S3 Vectors closes it. It is object storage with a native vector index
14
+ * and a query API: durable, serverless, nothing to run, priced like storage
15
+ * rather than like a database cluster. This adapter is the `MemoryStore` port
16
+ * over it, and the two halves that matter are:
17
+ *
18
+ * - `search()` maps 1:1 onto **QueryVectors** — the vector goes as
19
+ * `queryVector.float32`, `k` becomes `topK`, tiers become a metadata
20
+ * `filter`, and the returned `distance` becomes the port's score.
21
+ * - `put()` / `putMany()` map onto **PutVectors** — so `indexCorpus`,
22
+ * `indexFolder` and `indexDocuments` run against it unchanged. **That is
23
+ * the point of writing it rather than only reading it:** a corpus you can
24
+ * add to from a cron job at 14:00 is a different product from one you can
25
+ * add to at the next deploy.
26
+ *
27
+ * ── What it is NOT ──────────────────────────────────────────────────────────
28
+ * A vector index is not a key-value store, and this adapter refuses the
29
+ * operations that would need one rather than faking them:
30
+ *
31
+ * - `putIfVersion` — PutVectors is last-write-wins; there is no
32
+ * compare-and-set. A read-then-write here would be a compare-and-set that
33
+ * another writer can walk through the middle of, which is worse than none.
34
+ * - `recordSignature` / `feedback` — a set of strings and a running average
35
+ * are not vectors. `seen()` answers `false` and `getFeedback()` `null`,
36
+ * which are both TRUE (nothing can be recorded, so nothing has been); the
37
+ * WRITE halves refuse by name.
38
+ *
39
+ * Pair it with a second store for conversation memory — `defineRAG` for the
40
+ * corpus, `defineMemory` for the chat, each with the backend it suits. That is
41
+ * the same shape `staticVectorStore` documents.
42
+ *
43
+ * ── The index you must create first, and why this does not create it ────────
44
+ * A vector index has a DIMENSION and a DISTANCE METRIC fixed at creation, and
45
+ * both are decisions about your embedder that this library must not make on
46
+ * your behalf — creating one silently would pick a size and a metric your
47
+ * corpus then lives with. Create it once, with your infrastructure:
48
+ *
49
+ * ```bash
50
+ * aws s3vectors create-vector-bucket --vector-bucket-name my-corpus
51
+ * aws s3vectors create-index \
52
+ * --vector-bucket-name my-corpus \
53
+ * --index-name docs \
54
+ * --data-type float32 \
55
+ * --dimension 1024 \
56
+ * --distance-metric cosine \
57
+ * --metadata-configuration '{"nonFilterableMetadataKeys":["af"]}'
58
+ * ```
59
+ *
60
+ * `nonFilterableMetadataKeys: ["af"]` is load-bearing, not decoration. This
61
+ * adapter stores the whole entry — the passage the model will read, its
62
+ * provenance, its timestamps — as JSON under the metadata key `af`. Filterable
63
+ * metadata has a small per-vector budget; non-filterable metadata has the large
64
+ * one. Declare `af` non-filterable and a full passage fits; leave it filterable
65
+ * and PutVectors starts refusing your longer chunks partway through an
66
+ * indexing run.
67
+ *
68
+ * Only `ns` (the identity namespace) and `tier` are ever filtered on, and both
69
+ * are short strings.
70
+ *
71
+ * ── The preflight: this store now READS the index before trusting it (9.4.0) ─
72
+ * One `GetIndex`, lazily on first use and memoized for the life of the store.
73
+ * It checks the three things this adapter used to assume — and that a
74
+ * production deployment got wrong in all three ways at once:
75
+ *
76
+ * 1. the distance metric really is cosine (a euclidean index scored a
77
+ * self-query at 0.999…, where a true cosine is exactly 1.0);
78
+ * 2. `af` really is non-filterable, checked BEFORE the first write, so a
79
+ * misconfigured index fails at document 1 rather than at document 400
80
+ * with an AWS "Filterable metadata must have at most 2048 bytes";
81
+ * 3. the index dimension matches the vectors being written or searched.
82
+ *
83
+ * This is the discipline every sibling store already had at open —
84
+ * `sqliteVectorStore`'s schema identity, `pgVectorStore`'s schema check,
85
+ * `staticVectorStore`'s load-time fingerprint. This store had nothing to open,
86
+ * so it opened nothing.
87
+ *
88
+ * **IAM:** the caller now needs `s3vectors:GetIndex` alongside `PutVectors` /
89
+ * `QueryVectors` / `GetVectors` / `ListVectors` / `DeleteVectors`. A GetIndex
90
+ * that fails is refused by name, never passed through — an index this store
91
+ * cannot read is an index whose metric, layout and dimension it would be
92
+ * guessing at.
93
+ *
94
+ * ── Cosine only, said out loud ──────────────────────────────────────────────
95
+ * The port's score is a cosine similarity, and every threshold in this library
96
+ * — starting with `defineRAG`'s 0.7 default — is calibrated on that range. A
97
+ * cosine distance converts exactly (`score = 1 - distance`). A EUCLIDEAN
98
+ * distance does not: any mapping into [-1, 1] produces a number that READS like
99
+ * a cosine and is not one, which is the same class of confident-and-meaningless
100
+ * value the embedder-mismatch refusal exists to stop. So a euclidean index is
101
+ * refused at construction, by name.
102
+ *
103
+ * ── The fingerprint guarantee, stated exactly ───────────────────────────────
104
+ * `sqliteVectorStore` owns its file and can keep a fingerprint row in it. This
105
+ * store owns nothing but vectors, so the guarantee is assembled from what the
106
+ * service actually provides, and it is smaller — so it is spelled out rather
107
+ * than implied:
108
+ *
109
+ * - **Dimensions** are enforced by S3 Vectors itself. The index declares one;
110
+ * a vector of another length is rejected by the service, loudly, at the
111
+ * call. Nothing here can be sloppier than that.
112
+ * - **The model id** is stamped into every vector's metadata (`fp`) and
113
+ * checked in two places: against the fingerprint this process has already
114
+ * seen for the namespace (at write and at search), and against the
115
+ * fingerprint carried by the HITS that come back (at search). The second
116
+ * one is what survives a restart: the first query after an embedder swap
117
+ * sees documents stamped by the old embedder and refuses by name, instead
118
+ * of returning a confident ranking of two incompatible spaces.
119
+ * - Since 9.4.0 the index's OWN dimension is checked too, at the preflight —
120
+ * so a wrong-size embedder is caught on the first write and the first
121
+ * search of a fresh process, which the per-process fingerprint could not do
122
+ * (it has nothing to disagree with at boot).
123
+ * - What is still NOT caught: the first write of a fresh process into a
124
+ * namespace built by a different embedder OF THE SAME SIZE. Only the model
125
+ * id separates those, and it lives in the vectors rather than on the index.
126
+ * There is no cheap read that would catch it, and a full index scan on
127
+ * every boot is not one either. It is caught at the next search, before a
128
+ * single wrong answer is returned.
129
+ *
130
+ * ── Lazy peer dependency ────────────────────────────────────────────────────
131
+ * `@aws-sdk/client-s3vectors` is an OPTIONAL peer dependency, required at
132
+ * construction time. Importing `agentfootprint/memory` costs nothing for
133
+ * consumers who never build one of these. Pass `client` to share the SDK
134
+ * configuration your app already has.
135
+ */
136
+ import type { MemoryIdentity } from '../../memory/identity/index.js';
137
+ import type { MemoryStore } from '../../memory/store/types.js';
138
+ /**
139
+ * The slice of an S3 Vectors client this adapter calls.
140
+ *
141
+ * Structural, so the real SDK client, a pre-built one shared with the rest of
142
+ * your app, or a test double all satisfy it without this package taking a hard
143
+ * type dependency on the optional peer.
144
+ */
145
+ export interface S3VectorsLikeClient {
146
+ /** `send(command, options?)` — the second argument carries `abortSignal`. */
147
+ send(command: unknown, options?: {
148
+ abortSignal?: AbortSignal;
149
+ }): Promise<unknown>;
150
+ /** Optional — released by {@link S3VectorsStore.close} when this store built the client. */
151
+ destroy?(): void;
152
+ }
153
+ /** The constructors this adapter needs out of `@aws-sdk/client-s3vectors`. */
154
+ export interface S3VectorsSdkModule {
155
+ readonly S3VectorsClient?: new (config: {
156
+ region?: string;
157
+ }) => S3VectorsLikeClient;
158
+ /** The PREFLIGHT (9.4.0) — the one call that reads the index rather than its
159
+ * vectors. See `verifyIndex` for what it checks and why each one is fatal. */
160
+ readonly GetIndexCommand?: new (input: unknown) => unknown;
161
+ readonly PutVectorsCommand?: new (input: unknown) => unknown;
162
+ readonly QueryVectorsCommand?: new (input: unknown) => unknown;
163
+ readonly GetVectorsCommand?: new (input: unknown) => unknown;
164
+ readonly ListVectorsCommand?: new (input: unknown) => unknown;
165
+ readonly DeleteVectorsCommand?: new (input: unknown) => unknown;
166
+ }
167
+ export interface S3VectorsStoreOptions {
168
+ /** The vector bucket (`vectorBucketName`). Created by you, not by this. */
169
+ readonly bucket: string;
170
+ /** The vector index inside it (`indexName`). Created by you, not by this. */
171
+ readonly index: string;
172
+ /** AWS region. Passed to the SDK client when this factory builds one. */
173
+ readonly region?: string;
174
+ /**
175
+ * The metric the index was created with. Only `'cosine'` is supported, and
176
+ * anything else is refused at construction — see the header. This is a
177
+ * DECLARATION about an index this store did not create; state the metric you
178
+ * actually used.
179
+ */
180
+ readonly distanceMetric?: 'cosine';
181
+ /**
182
+ * How many vectors go in one PutVectors call. Default 100 — deliberately
183
+ * well under the service limit, because the failure mode of guessing that
184
+ * limit high is a corpus that indexes 90% of the way and stops.
185
+ */
186
+ readonly batchSize?: number;
187
+ /** A pre-built S3 Vectors client, so one SDK config serves the whole app. */
188
+ readonly client?: S3VectorsLikeClient;
189
+ /** @internal Test injection — skips the SDK require entirely. */
190
+ readonly _client?: S3VectorsLikeClient;
191
+ /** @internal Test injection — the AWS SDK module (exercises the real shim with a mock SDK). */
192
+ readonly _sdk?: S3VectorsSdkModule;
193
+ }
194
+ /** A durable vector index in S3, plus the two things this store owns beyond the port. */
195
+ export interface S3VectorsStore extends MemoryStore {
196
+ /** The vector bucket this store reads and writes. */
197
+ readonly bucket: string;
198
+ /** The vector index inside it. */
199
+ readonly index: string;
200
+ /**
201
+ * The embedder fingerprint (`'<id>@<dims>'`) this PROCESS has seen for a
202
+ * namespace, or `undefined` when it has seen none yet.
203
+ *
204
+ * Deliberately not "the fingerprint the index was built with" — see the
205
+ * header for exactly what this store can and cannot know. It is populated by
206
+ * the first write or the first search of the namespace in this process.
207
+ */
208
+ fingerprintOf(identity: MemoryIdentity): string | undefined;
209
+ /**
210
+ * Release the SDK client, if this store built one. Idempotent. A client you
211
+ * passed in is yours and is left alone.
212
+ */
213
+ close(): void;
214
+ }
215
+ /**
216
+ * Open a `MemoryStore` over an existing S3 Vectors index.
217
+ *
218
+ * @throws when `@aws-sdk/client-s3vectors` is absent and no `client` was passed.
219
+ * @throws when `distanceMetric` is anything but `'cosine'`.
220
+ * @throws EmbedderMismatchError from `put`/`putMany`/`search` when a vector
221
+ * meets a namespace built by a different embedder.
222
+ *
223
+ * @example A corpus you can add to without a redeploy
224
+ * ```ts
225
+ * import { defineRAG, indexDocuments } from 'agentfootprint';
226
+ * import { s3VectorsStore } from 'agentfootprint/memory';
227
+ * import { bedrockEmbedder } from 'agentfootprint/providers';
228
+ *
229
+ * const store = s3VectorsStore({ bucket: 'my-corpus', index: 'docs', region: 'us-east-1' });
230
+ * const embedder = bedrockEmbedder({ region: 'us-east-1' });
231
+ *
232
+ * // Run this from a cron job. No deploy, no restart — the agent sees it next turn.
233
+ * await indexDocuments(store, embedder, newDocs, { embedderId: embedder.id });
234
+ *
235
+ * const agent = Agent.create({ provider })
236
+ * .rag(defineRAG({ id: 'docs', store, embedder, embedderId: embedder.id }))
237
+ * .build();
238
+ * ```
239
+ */
240
+ export declare function s3VectorsStore(options: S3VectorsStoreOptions): S3VectorsStore;