agentfootprint 6.41.0 → 6.43.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/adapters/memory/agentcore.js +176 -156
- package/dist/adapters/memory/agentcore.js.map +1 -1
- package/dist/adapters/memory/bedrockAgentMemory.js +142 -0
- package/dist/adapters/memory/bedrockAgentMemory.js.map +1 -0
- package/dist/core/agent/buildAgentChart.js +6 -2
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +6 -2
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/memoryRecallInjections.js +59 -0
- package/dist/core/agent/memoryRecallInjections.js.map +1 -0
- package/dist/esm/adapters/memory/agentcore.js +176 -156
- package/dist/esm/adapters/memory/agentcore.js.map +1 -1
- package/dist/esm/adapters/memory/bedrockAgentMemory.js +138 -0
- package/dist/esm/adapters/memory/bedrockAgentMemory.js.map +1 -0
- package/dist/esm/core/agent/buildAgentChart.js +6 -2
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +6 -2
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/memoryRecallInjections.js +54 -0
- package/dist/esm/core/agent/memoryRecallInjections.js.map +1 -0
- package/dist/esm/memory-providers.js +3 -0
- package/dist/esm/memory-providers.js.map +1 -1
- package/dist/memory-providers.js +5 -1
- package/dist/memory-providers.js.map +1 -1
- package/dist/types/adapters/memory/agentcore.d.ts +74 -86
- package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/memory/bedrockAgentMemory.d.ts +96 -0
- package/dist/types/adapters/memory/bedrockAgentMemory.d.ts.map +1 -0
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/memoryRecallInjections.d.ts +9 -0
- package/dist/types/core/agent/memoryRecallInjections.d.ts.map +1 -0
- package/dist/types/memory-providers.d.ts +1 -0
- package/dist/types/memory-providers.d.ts.map +1 -1
- package/package.json +6 -2
|
@@ -1,146 +1,147 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* AgentCoreStore — AWS Bedrock AgentCore Memory adapter
|
|
4
|
-
* `@aws-sdk/client-bedrock-
|
|
5
|
-
*
|
|
6
|
-
* Import from the canonical subpath (the `agentfootprint/memory-agentcore`
|
|
7
|
-
* alias was removed in 4.0.0):
|
|
3
|
+
* AgentCoreStore — AWS Bedrock **AgentCore Memory** adapter
|
|
4
|
+
* (peer-dep `@aws-sdk/client-bedrock-agentcore`).
|
|
8
5
|
*
|
|
9
6
|
* import { AgentCoreStore } from 'agentfootprint/memory-providers';
|
|
10
7
|
*
|
|
11
8
|
* const store = new AgentCoreStore({
|
|
12
|
-
* memoryId: 'arn:aws:bedrock:us-
|
|
13
|
-
* region: 'us-
|
|
9
|
+
* memoryId: 'arn:aws:bedrock-agentcore:us-west-2:...:memory/my-mem',
|
|
10
|
+
* region: 'us-west-2',
|
|
14
11
|
* });
|
|
15
12
|
*
|
|
16
|
-
* Pattern: Adapter (GoF) —
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* doesn't expose a feedback metric API)
|
|
28
|
-
* search ↔ NOT exposed in v2.3 — AgentCore's
|
|
29
|
-
* retrieve API is opaque (server-side
|
|
30
|
-
* retrieval pipeline). Will land as
|
|
31
|
-
* `agentcoreRetrieve()` in a later release.
|
|
13
|
+
* Pattern: Adapter (GoF) — maps the `MemoryStore` interface onto AgentCore Memory's
|
|
14
|
+
* data-plane **event** model (`CreateEvent` / `GetEvent` / `ListEvents` /
|
|
15
|
+
* `DeleteEvent`, `@aws-sdk/client-bedrock-agentcore`):
|
|
16
|
+
* MemoryIdentity.{tenant,principal} ↔ AgentCore `actorId`
|
|
17
|
+
* MemoryIdentity.conversationId ↔ AgentCore `sessionId`
|
|
18
|
+
* MemoryEntry ↔ one event whose `payload` is a single
|
|
19
|
+
* `blob` document holding the entry
|
|
20
|
+
*
|
|
21
|
+
* **AgentCore Memory is an append-only event log, not a key-value store.** The server
|
|
22
|
+
* assigns each event's `eventId` on `CreateEvent` (you cannot choose it), and there is no
|
|
23
|
+
* "delete the whole session" call. This shapes the adapter:
|
|
32
24
|
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
25
|
+
* • `put` → `CreateEvent` (append; `actorId` + `eventTimestamp` are required). O(1)
|
|
26
|
+
* • `list` → `ListEvents` (paginated, `includePayloads`). ← window / episodic memory. O(page)
|
|
27
|
+
* • `get(id)` / `delete(id)` → list-then-find by the entry id stored in the blob, since
|
|
28
|
+
* AgentCore's ids are server-assigned. **O(events in session)** — fine for typical
|
|
29
|
+
* window sizes; if you need O(1) keyed access at scale, use RedisStore.
|
|
30
|
+
* • `forget` → `ListEvents` + `DeleteEvent` per event (no `DeleteSession` on AgentCore).
|
|
31
|
+
* • `search` → still unwired (AgentCore's `RetrieveMemoryRecords` lands as a later helper).
|
|
32
|
+
* • `putIfVersion` / `seen` / `feedback` → in-process emulation (AgentCore has no native
|
|
33
|
+
* CAS / dedup / feedback primitive; these don't survive process restart).
|
|
37
34
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* Mixing `defineMemory({ strategy: SUMMARIZE })` on top will
|
|
41
|
-
* double-compress. Pick one summarizer.
|
|
42
|
-
* 2. Optimistic-concurrency `putIfVersion` is emulated; under high
|
|
43
|
-
* concurrent write rates the CAS window is wider than RedisStore.
|
|
44
|
-
* Single-writer scenarios (one server process per session) are
|
|
45
|
-
* fine.
|
|
46
|
-
* 3. seen/feedback are in-process — they don't survive process restart.
|
|
47
|
-
* For durable recognition, implement at a higher layer or use Redis.
|
|
48
|
-
* 4. AWS rate limits apply. Production deployments should wrap with
|
|
49
|
-
* `withRetry` and budget calls per session.
|
|
35
|
+
* Role: Outer ring. Lazy-requires the AWS SDK; zero runtime cost when another adapter is
|
|
36
|
+
* in use. Emits: N/A (storage adapters don't emit).
|
|
50
37
|
*/
|
|
51
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
52
39
|
exports.AgentCoreStore = void 0;
|
|
53
|
-
const index_js_1 = require("../../memory/identity/index.js");
|
|
54
40
|
const lazyRequire_js_1 = require("../../lib/lazyRequire.js");
|
|
41
|
+
const ID_MAX = 99;
|
|
42
|
+
/** Build an AgentCore-safe id from arbitrary identity parts (`[A-Za-z0-9_-]`, bounded). */
|
|
43
|
+
function safeId(prefix, raw) {
|
|
44
|
+
const slug = raw.replace(/[^A-Za-z0-9_-]/g, '-');
|
|
45
|
+
if (slug.length <= ID_MAX - prefix.length)
|
|
46
|
+
return `${prefix}${slug}`;
|
|
47
|
+
// too long → keep a readable head + a stable hash tail so distinct inputs stay distinct
|
|
48
|
+
const head = slug.slice(0, ID_MAX - prefix.length - 9);
|
|
49
|
+
return `${prefix}${head}-${fnv1a(raw)}`;
|
|
50
|
+
}
|
|
55
51
|
/**
|
|
56
|
-
* AgentCore Memory-backed `MemoryStore`. Implements every method
|
|
57
|
-
* except `search()`. Vector retrieval via AgentCore's native API
|
|
58
|
-
* lands as a separate read-side helper in a later release.
|
|
52
|
+
* AgentCore Memory-backed `MemoryStore`. Implements every method except `search()`.
|
|
59
53
|
*
|
|
60
|
-
* @throws when `@aws-sdk/client-bedrock-
|
|
61
|
-
*
|
|
54
|
+
* @throws when `@aws-sdk/client-bedrock-agentcore` is not installed and no `_client`/`_sdk`
|
|
55
|
+
* is supplied.
|
|
62
56
|
*/
|
|
63
57
|
class AgentCoreStore {
|
|
64
58
|
client;
|
|
65
59
|
memoryId;
|
|
66
60
|
pageSize;
|
|
67
61
|
closed = false;
|
|
68
|
-
// In-process shadow state for things AgentCore doesn't surface
|
|
69
|
-
// natively — see file-level docstring for caveats.
|
|
62
|
+
// In-process shadow state for things AgentCore doesn't surface natively.
|
|
70
63
|
signatures = new Map();
|
|
71
64
|
feedbackBag = new Map();
|
|
72
65
|
constructor(options) {
|
|
73
|
-
if (!options.memoryId)
|
|
66
|
+
if (!options.memoryId)
|
|
74
67
|
throw new Error('AgentCoreStore requires `memoryId`.');
|
|
75
|
-
}
|
|
76
68
|
this.memoryId = options.memoryId;
|
|
77
|
-
this.pageSize = options.pageSize ??
|
|
78
|
-
if (options._client)
|
|
69
|
+
this.pageSize = options.pageSize ?? 100;
|
|
70
|
+
if (options._client)
|
|
79
71
|
this.client = options._client;
|
|
80
|
-
|
|
81
|
-
else if (options.client) {
|
|
72
|
+
else if (options.client)
|
|
82
73
|
this.client = options.client;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
74
|
+
else
|
|
75
|
+
this.client = createAgentCoreClient(options.region, options._sdk);
|
|
76
|
+
}
|
|
77
|
+
// MemoryIdentity → AgentCore (actorId, sessionId). The actor is the user/tenant; the
|
|
78
|
+
// session is the conversation. Both are derived deterministically + id-safe.
|
|
79
|
+
actorId(identity) {
|
|
80
|
+
return safeId('afp-', `${identity.tenant || '_'}_${identity.principal || '_'}`);
|
|
87
81
|
}
|
|
88
|
-
// Identity → AgentCore session id. Stable, deterministic, isolating.
|
|
89
82
|
sessionId(identity) {
|
|
90
|
-
return
|
|
83
|
+
return safeId('afp-', identity.conversationId);
|
|
84
|
+
}
|
|
85
|
+
scope(identity) {
|
|
86
|
+
return {
|
|
87
|
+
memoryId: this.memoryId,
|
|
88
|
+
actorId: this.actorId(identity),
|
|
89
|
+
sessionId: this.sessionId(identity),
|
|
90
|
+
};
|
|
91
91
|
}
|
|
92
|
-
// Shadow-state keys (in-process Maps)
|
|
93
92
|
shadowKey(identity) {
|
|
94
|
-
return
|
|
93
|
+
return `${identity.tenant || '_'}/${identity.principal || '_'}/${identity.conversationId}`;
|
|
95
94
|
}
|
|
96
95
|
feedbackKey(identity, id) {
|
|
97
|
-
return `${
|
|
96
|
+
return `${this.shadowKey(identity)}::${id}`;
|
|
97
|
+
}
|
|
98
|
+
/** Walk every event in the session (paginated). */
|
|
99
|
+
async *eachEvent(identity) {
|
|
100
|
+
let nextToken;
|
|
101
|
+
do {
|
|
102
|
+
const page = await this.client.listEvents({
|
|
103
|
+
...this.scope(identity),
|
|
104
|
+
maxResults: this.pageSize,
|
|
105
|
+
...(nextToken !== undefined && { nextToken }),
|
|
106
|
+
});
|
|
107
|
+
for (const ev of page.events)
|
|
108
|
+
yield ev;
|
|
109
|
+
nextToken = page.nextToken;
|
|
110
|
+
} while (nextToken);
|
|
98
111
|
}
|
|
99
112
|
// ── MemoryStore implementation ──────────────────────────────────
|
|
100
113
|
async get(identity, id) {
|
|
101
114
|
this.ensureOpen('get');
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (
|
|
115
|
+
// Append-log: an id may have several events (each update appends one). Last write wins —
|
|
116
|
+
// pick the highest version (ties → last seen), independent of AgentCore's list order.
|
|
117
|
+
let found = null;
|
|
118
|
+
for await (const ev of this.eachEvent(identity)) {
|
|
119
|
+
if (ev.entry?.id !== id)
|
|
120
|
+
continue;
|
|
121
|
+
const entry = ev.entry;
|
|
122
|
+
if (found === null || (entry.version ?? 0) >= (found.version ?? 0))
|
|
123
|
+
found = entry;
|
|
124
|
+
}
|
|
125
|
+
if (found && found.ttl !== undefined && found.ttl <= Date.now())
|
|
113
126
|
return null;
|
|
114
|
-
return
|
|
127
|
+
return found;
|
|
115
128
|
}
|
|
116
129
|
async put(identity, entry) {
|
|
117
130
|
this.ensureOpen('put');
|
|
118
131
|
if (entry.ttl !== undefined && entry.ttl <= Date.now())
|
|
119
132
|
return;
|
|
120
|
-
await this.client.
|
|
121
|
-
memoryId: this.memoryId,
|
|
122
|
-
sessionId: this.sessionId(identity),
|
|
123
|
-
eventId: entry.id,
|
|
124
|
-
payload: JSON.stringify(entry),
|
|
125
|
-
});
|
|
133
|
+
await this.client.createEvent({ ...this.scope(identity), entry: entry });
|
|
126
134
|
}
|
|
127
135
|
async putMany(identity, entries) {
|
|
128
136
|
this.ensureOpen('putMany');
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
// retry policy handle backoff. Production callers should set a
|
|
133
|
-
// sane `maxConcurrency` upstream rather than parallelizing here
|
|
134
|
-
// (per-session events are conceptually ordered).
|
|
135
|
-
for (const entry of entries) {
|
|
137
|
+
// AgentCore has no batch-write API; per-session events are conceptually ordered, so
|
|
138
|
+
// sequentialize and let the SDK retry policy handle backoff.
|
|
139
|
+
for (const entry of entries)
|
|
136
140
|
await this.put(identity, entry);
|
|
137
|
-
}
|
|
138
141
|
}
|
|
139
142
|
/**
|
|
140
|
-
* Emulated optimistic concurrency. AgentCore
|
|
141
|
-
*
|
|
142
|
-
* — adequate for single-writer-per-session deployments. For multi-
|
|
143
|
-
* writer correctness on AgentCore, layer your own coordination.
|
|
143
|
+
* Emulated optimistic concurrency. AgentCore appends unconditionally; we read-then-write
|
|
144
|
+
* inside a JS critical section — adequate for single-writer-per-session deployments.
|
|
144
145
|
*/
|
|
145
146
|
async putIfVersion(identity, entry, expectedVersion) {
|
|
146
147
|
this.ensureOpen('putIfVersion');
|
|
@@ -158,14 +159,13 @@ class AgentCoreStore {
|
|
|
158
159
|
async list(identity, options = {}) {
|
|
159
160
|
this.ensureOpen('list');
|
|
160
161
|
const page = await this.client.listEvents({
|
|
161
|
-
|
|
162
|
-
sessionId: this.sessionId(identity),
|
|
163
|
-
...(options.cursor !== undefined && { nextToken: options.cursor }),
|
|
162
|
+
...this.scope(identity),
|
|
164
163
|
maxResults: options.limit ?? this.pageSize,
|
|
164
|
+
...(options.cursor !== undefined && { nextToken: options.cursor }),
|
|
165
165
|
});
|
|
166
166
|
const out = [];
|
|
167
167
|
for (const ev of page.events) {
|
|
168
|
-
const entry =
|
|
168
|
+
const entry = ev.entry;
|
|
169
169
|
if (!entry)
|
|
170
170
|
continue;
|
|
171
171
|
if (entry.ttl !== undefined && entry.ttl <= Date.now())
|
|
@@ -178,11 +178,11 @@ class AgentCoreStore {
|
|
|
178
178
|
}
|
|
179
179
|
async delete(identity, id) {
|
|
180
180
|
this.ensureOpen('delete');
|
|
181
|
-
await this.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
181
|
+
for await (const ev of this.eachEvent(identity)) {
|
|
182
|
+
if (ev.entry?.id === id) {
|
|
183
|
+
await this.client.deleteEvent({ ...this.scope(identity), eventId: ev.eventId });
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
186
|
this.feedbackBag.delete(this.feedbackKey(identity, id));
|
|
187
187
|
}
|
|
188
188
|
async seen(identity, signature) {
|
|
@@ -212,14 +212,14 @@ class AgentCoreStore {
|
|
|
212
212
|
return null;
|
|
213
213
|
return { average: cur.sum / cur.count, count: cur.count };
|
|
214
214
|
}
|
|
215
|
+
/** GDPR "everything for this identity, gone." No DeleteSession on AgentCore → delete every event. */
|
|
215
216
|
async forget(identity) {
|
|
216
217
|
this.ensureOpen('forget');
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
// this identity, gone."
|
|
218
|
+
const ids = [];
|
|
219
|
+
for await (const ev of this.eachEvent(identity))
|
|
220
|
+
ids.push(ev.eventId);
|
|
221
|
+
for (const eventId of ids)
|
|
222
|
+
await this.client.deleteEvent({ ...this.scope(identity), eventId });
|
|
223
223
|
const shadowKey = this.shadowKey(identity);
|
|
224
224
|
this.signatures.delete(shadowKey);
|
|
225
225
|
for (const key of [...this.feedbackBag.keys()]) {
|
|
@@ -227,80 +227,100 @@ class AgentCoreStore {
|
|
|
227
227
|
this.feedbackBag.delete(key);
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
|
-
/**
|
|
231
|
-
* Mark the store closed. Subsequent calls throw cleanly. Idempotent.
|
|
232
|
-
* AgentCore is stateless from the client perspective so there's no
|
|
233
|
-
* connection to tear down — the close gate is purely defensive.
|
|
234
|
-
*/
|
|
235
230
|
async close() {
|
|
236
231
|
if (this.closed)
|
|
237
232
|
return;
|
|
238
233
|
this.closed = true;
|
|
239
234
|
}
|
|
240
235
|
ensureOpen(op) {
|
|
241
|
-
if (this.closed)
|
|
236
|
+
if (this.closed)
|
|
242
237
|
throw new Error(`AgentCoreStore.${op}() called after close().`);
|
|
243
|
-
}
|
|
244
238
|
}
|
|
245
239
|
}
|
|
246
240
|
exports.AgentCoreStore = AgentCoreStore;
|
|
247
|
-
// Helpers
|
|
248
|
-
function
|
|
249
|
-
|
|
250
|
-
|
|
241
|
+
// ── Helpers ─────────────────────────────────────────────────────────
|
|
242
|
+
function fnv1a(s) {
|
|
243
|
+
let h = 0x811c9dc5;
|
|
244
|
+
for (let i = 0; i < s.length; i++) {
|
|
245
|
+
h ^= s.charCodeAt(i);
|
|
246
|
+
h = Math.imul(h, 0x01000193);
|
|
251
247
|
}
|
|
252
|
-
|
|
248
|
+
return (h >>> 0).toString(36);
|
|
249
|
+
}
|
|
250
|
+
/** Pull the MemoryEntry out of an AgentCore event's `payload` (a single `blob` document). */
|
|
251
|
+
function entryFromPayload(payload) {
|
|
252
|
+
if (!Array.isArray(payload))
|
|
253
253
|
return null;
|
|
254
|
+
for (const p of payload) {
|
|
255
|
+
const blob = p?.blob;
|
|
256
|
+
if (blob && typeof blob === 'object')
|
|
257
|
+
return blob;
|
|
254
258
|
}
|
|
259
|
+
return null;
|
|
255
260
|
}
|
|
256
261
|
/**
|
|
257
|
-
*
|
|
258
|
-
*
|
|
259
|
-
* Note on SDK API stability: AgentCore Memory's command names may
|
|
260
|
-
* evolve. The shim depends only on the request/response shapes our
|
|
261
|
-
* adapter needs; if AWS renames commands, only this function needs
|
|
262
|
-
* an update.
|
|
262
|
+
* Map the entry-semantic `AgentCoreLikeClient` onto the real AgentCore SDK commands.
|
|
263
|
+
* If AWS renames commands, only this function changes.
|
|
263
264
|
*/
|
|
264
|
-
function createAgentCoreClient(region) {
|
|
265
|
+
function createAgentCoreClient(region, injected) {
|
|
265
266
|
let mod;
|
|
266
|
-
|
|
267
|
-
mod =
|
|
267
|
+
if (injected) {
|
|
268
|
+
mod = injected;
|
|
268
269
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
else {
|
|
271
|
+
try {
|
|
272
|
+
mod = (0, lazyRequire_js_1.lazyRequire)('@aws-sdk/client-bedrock-agentcore');
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
throw new Error('AgentCoreStore requires the `@aws-sdk/client-bedrock-agentcore` peer dependency.\n' +
|
|
276
|
+
' Install: npm install @aws-sdk/client-bedrock-agentcore\n' +
|
|
277
|
+
' Or pass `client` / `_client` for a pre-built or mock client.');
|
|
278
|
+
}
|
|
273
279
|
}
|
|
274
|
-
if (!mod.
|
|
275
|
-
throw new Error('AgentCoreStore: `@aws-sdk/client-bedrock-
|
|
276
|
-
'`
|
|
277
|
-
'exports the AgentCore Memory commands.');
|
|
280
|
+
if (!mod.BedrockAgentCoreClient) {
|
|
281
|
+
throw new Error('AgentCoreStore: `@aws-sdk/client-bedrock-agentcore` is installed but ' +
|
|
282
|
+
'`BedrockAgentCoreClient` was not found. Update the SDK.');
|
|
278
283
|
}
|
|
279
|
-
const
|
|
280
|
-
const
|
|
281
|
-
if (!
|
|
282
|
-
throw new Error(
|
|
283
|
-
'does not expose the required Memory command. Upgrade the SDK.');
|
|
284
|
+
const sdk = new mod.BedrockAgentCoreClient({ ...(region && { region }) });
|
|
285
|
+
const send = async (Ctor, name, input) => {
|
|
286
|
+
if (!Ctor) {
|
|
287
|
+
throw new Error(`AgentCoreStore: \`@aws-sdk/client-bedrock-agentcore\` is missing ${name}. Upgrade the SDK.`);
|
|
284
288
|
}
|
|
285
|
-
|
|
286
|
-
return await sdkClient.send(cmd);
|
|
289
|
+
return sdk.send(new Ctor(input));
|
|
287
290
|
};
|
|
288
291
|
return {
|
|
289
|
-
async
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
292
|
+
async createEvent({ memoryId, actorId, sessionId, entry }) {
|
|
293
|
+
// The entry is stored as a single `blob` document (PayloadType.blob = __DocumentType).
|
|
294
|
+
await send(mod.CreateEventCommand, 'CreateEventCommand', {
|
|
295
|
+
memoryId,
|
|
296
|
+
actorId,
|
|
297
|
+
sessionId,
|
|
298
|
+
eventTimestamp: new Date(),
|
|
299
|
+
payload: [{ blob: entry }],
|
|
300
|
+
});
|
|
298
301
|
},
|
|
299
|
-
async
|
|
300
|
-
await
|
|
302
|
+
async listEvents({ memoryId, actorId, sessionId, maxResults, nextToken }) {
|
|
303
|
+
const r = (await send(mod.ListEventsCommand, 'ListEventsCommand', {
|
|
304
|
+
memoryId,
|
|
305
|
+
actorId,
|
|
306
|
+
sessionId,
|
|
307
|
+
includePayloads: true,
|
|
308
|
+
...(maxResults !== undefined && { maxResults }),
|
|
309
|
+
...(nextToken !== undefined && { nextToken }),
|
|
310
|
+
}));
|
|
311
|
+
const events = (r?.events ?? []).map((ev) => ({
|
|
312
|
+
eventId: ev.eventId ?? '',
|
|
313
|
+
entry: entryFromPayload(ev.payload),
|
|
314
|
+
}));
|
|
315
|
+
return r?.nextToken ? { events, nextToken: r.nextToken } : { events };
|
|
301
316
|
},
|
|
302
|
-
async
|
|
303
|
-
await
|
|
317
|
+
async deleteEvent({ memoryId, actorId, sessionId, eventId }) {
|
|
318
|
+
await send(mod.DeleteEventCommand, 'DeleteEventCommand', {
|
|
319
|
+
memoryId,
|
|
320
|
+
actorId,
|
|
321
|
+
sessionId,
|
|
322
|
+
eventId,
|
|
323
|
+
});
|
|
304
324
|
},
|
|
305
325
|
};
|
|
306
326
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/memory/agentcore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/memory/agentcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BedrockAgentMemory — read the **auto-generated session-summary memory** of a
|
|
4
|
+
* (legacy) Amazon **Bedrock Agents** agent (peer-dep `@aws-sdk/client-bedrock-agent-runtime`).
|
|
5
|
+
*
|
|
6
|
+
* import { BedrockAgentMemory } from 'agentfootprint/memory-providers';
|
|
7
|
+
*
|
|
8
|
+
* const mem = new BedrockAgentMemory({ agentId, agentAliasId, region: 'us-west-2' });
|
|
9
|
+
* const summaries = await mem.readSummaries(userMemoryId); // string summaries Bedrock wrote
|
|
10
|
+
*
|
|
11
|
+
* **This is NOT a `MemoryStore`** — and intentionally so. Bedrock Agents *owns the writes*:
|
|
12
|
+
* the agent generates `SESSION_SUMMARY` records itself (`GetAgentMemory` reads them,
|
|
13
|
+
* `DeleteAgentMemory` clears them). There is no "put an arbitrary entry" operation, so wrapping
|
|
14
|
+
* it as a `defineMemory({ store })` would be a "store that can't store." Instead it's a small
|
|
15
|
+
* **reader** you use to *surface* Bedrock's built-in memory — e.g. inject the summaries as a
|
|
16
|
+
* Fact/context block into an agentfootprint agent.
|
|
17
|
+
*
|
|
18
|
+
* For a real read/write agent memory store on AWS, use `AgentCoreStore` (the newer
|
|
19
|
+
* Bedrock **AgentCore** platform) — that's the go-forward path; this targets the prior-gen
|
|
20
|
+
* Bedrock Agents product and exists for teams migrating off it.
|
|
21
|
+
*
|
|
22
|
+
* Role: Outer ring. Lazy-requires the AWS SDK; zero cost when unused.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.BedrockAgentMemory = void 0;
|
|
26
|
+
const lazyRequire_js_1 = require("../../lib/lazyRequire.js");
|
|
27
|
+
/**
|
|
28
|
+
* Read-only reader for Bedrock Agents' auto session-summary memory.
|
|
29
|
+
*
|
|
30
|
+
* @throws when `@aws-sdk/client-bedrock-agent-runtime` is not installed and no
|
|
31
|
+
* `_client`/`_sdk` is supplied.
|
|
32
|
+
*/
|
|
33
|
+
class BedrockAgentMemory {
|
|
34
|
+
client;
|
|
35
|
+
agentId;
|
|
36
|
+
agentAliasId;
|
|
37
|
+
maxItems;
|
|
38
|
+
constructor(options) {
|
|
39
|
+
if (!options.agentId || !options.agentAliasId) {
|
|
40
|
+
throw new Error('BedrockAgentMemory requires `agentId` and `agentAliasId`.');
|
|
41
|
+
}
|
|
42
|
+
this.agentId = options.agentId;
|
|
43
|
+
this.agentAliasId = options.agentAliasId;
|
|
44
|
+
this.maxItems = options.maxItems ?? 20;
|
|
45
|
+
this.client =
|
|
46
|
+
options._client ?? options.client ?? createBedrockAgentClient(options.region, options._sdk);
|
|
47
|
+
}
|
|
48
|
+
/** All session summaries Bedrock generated for `memoryId` (paginated). */
|
|
49
|
+
async readSummaries(memoryId, opts = {}) {
|
|
50
|
+
const out = [];
|
|
51
|
+
let nextToken;
|
|
52
|
+
do {
|
|
53
|
+
const page = await this.client.getSessionSummaries({
|
|
54
|
+
agentId: this.agentId,
|
|
55
|
+
agentAliasId: this.agentAliasId,
|
|
56
|
+
memoryId,
|
|
57
|
+
maxItems: opts.maxItems ?? this.maxItems,
|
|
58
|
+
...(nextToken !== undefined && { nextToken }),
|
|
59
|
+
});
|
|
60
|
+
out.push(...page.summaries);
|
|
61
|
+
nextToken = page.nextToken;
|
|
62
|
+
} while (nextToken);
|
|
63
|
+
return out;
|
|
64
|
+
}
|
|
65
|
+
/** The concatenated summary text — handy to inject as a single context/Fact block. */
|
|
66
|
+
async readText(memoryId) {
|
|
67
|
+
return (await this.readSummaries(memoryId)).map((s) => s.summaryText).join('\n\n');
|
|
68
|
+
}
|
|
69
|
+
/** Clear Bedrock's memory for `memoryId` (optionally a single `sessionId`). */
|
|
70
|
+
async forget(memoryId, sessionId) {
|
|
71
|
+
await this.client.deleteMemory({
|
|
72
|
+
agentId: this.agentId,
|
|
73
|
+
agentAliasId: this.agentAliasId,
|
|
74
|
+
memoryId,
|
|
75
|
+
...(sessionId !== undefined && { sessionId }),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.BedrockAgentMemory = BedrockAgentMemory;
|
|
80
|
+
function toIso(v) {
|
|
81
|
+
if (v instanceof Date)
|
|
82
|
+
return v.toISOString();
|
|
83
|
+
return typeof v === 'string' ? v : undefined;
|
|
84
|
+
}
|
|
85
|
+
function createBedrockAgentClient(region, injected) {
|
|
86
|
+
let mod;
|
|
87
|
+
if (injected) {
|
|
88
|
+
mod = injected;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
try {
|
|
92
|
+
mod = (0, lazyRequire_js_1.lazyRequire)('@aws-sdk/client-bedrock-agent-runtime');
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
throw new Error('BedrockAgentMemory requires the `@aws-sdk/client-bedrock-agent-runtime` peer dependency.\n' +
|
|
96
|
+
' Install: npm install @aws-sdk/client-bedrock-agent-runtime\n' +
|
|
97
|
+
' Or pass `client` / `_client`.');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (!mod.BedrockAgentRuntimeClient) {
|
|
101
|
+
throw new Error('BedrockAgentMemory: `@aws-sdk/client-bedrock-agent-runtime` is installed but ' +
|
|
102
|
+
'`BedrockAgentRuntimeClient` was not found. Update the SDK.');
|
|
103
|
+
}
|
|
104
|
+
const sdk = new mod.BedrockAgentRuntimeClient({ ...(region && { region }) });
|
|
105
|
+
const send = async (Ctor, name, input) => {
|
|
106
|
+
if (!Ctor) {
|
|
107
|
+
throw new Error(`BedrockAgentMemory: \`@aws-sdk/client-bedrock-agent-runtime\` is missing ${name}. Upgrade the SDK.`);
|
|
108
|
+
}
|
|
109
|
+
return sdk.send(new Ctor(input));
|
|
110
|
+
};
|
|
111
|
+
return {
|
|
112
|
+
async getSessionSummaries({ agentId, agentAliasId, memoryId, maxItems, nextToken }) {
|
|
113
|
+
const r = (await send(mod.GetAgentMemoryCommand, 'GetAgentMemoryCommand', {
|
|
114
|
+
agentId,
|
|
115
|
+
agentAliasId,
|
|
116
|
+
memoryType: 'SESSION_SUMMARY',
|
|
117
|
+
memoryId,
|
|
118
|
+
...(maxItems !== undefined && { maxItems }),
|
|
119
|
+
...(nextToken !== undefined && { nextToken }),
|
|
120
|
+
}));
|
|
121
|
+
const summaries = (r?.memoryContents ?? [])
|
|
122
|
+
.map((m) => m.sessionSummary)
|
|
123
|
+
.filter((s) => !!s)
|
|
124
|
+
.map((s) => ({
|
|
125
|
+
sessionId: s.sessionId ?? '',
|
|
126
|
+
summaryText: s.summaryText ?? '',
|
|
127
|
+
...(toIso(s.sessionStartTime) && { sessionStartTime: toIso(s.sessionStartTime) }),
|
|
128
|
+
...(toIso(s.sessionExpiryTime) && { sessionExpiryTime: toIso(s.sessionExpiryTime) }),
|
|
129
|
+
}));
|
|
130
|
+
return r?.nextToken ? { summaries, nextToken: r.nextToken } : { summaries };
|
|
131
|
+
},
|
|
132
|
+
async deleteMemory({ agentId, agentAliasId, memoryId, sessionId }) {
|
|
133
|
+
await send(mod.DeleteAgentMemoryCommand, 'DeleteAgentMemoryCommand', {
|
|
134
|
+
agentId,
|
|
135
|
+
agentAliasId,
|
|
136
|
+
memoryId,
|
|
137
|
+
...(sessionId !== undefined && { sessionId }),
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=bedrockAgentMemory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bedrockAgentMemory.js","sourceRoot":"","sources":["../../../src/adapters/memory/bedrockAgentMemory.ts"],"names":[],"mappings":"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"}
|