agentfootprint 7.22.0 → 7.23.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/ai-instructions/claude-code/SKILL.md +2 -1
- package/dist/adapters/hosting/agentcore.js +68 -8
- package/dist/adapters/hosting/agentcore.js.map +1 -1
- package/dist/adapters/memory/agentcore.js +116 -11
- package/dist/adapters/memory/agentcore.js.map +1 -1
- package/dist/core/agent/middleware/runChain.js +4 -0
- package/dist/core/agent/middleware/runChain.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +9 -1
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/tools.js.map +1 -1
- package/dist/esm/adapters/hosting/agentcore.d.ts +34 -4
- package/dist/esm/adapters/hosting/agentcore.js +68 -8
- package/dist/esm/adapters/hosting/agentcore.js.map +1 -1
- package/dist/esm/adapters/memory/agentcore.d.ts +59 -1
- package/dist/esm/adapters/memory/agentcore.js +114 -10
- package/dist/esm/adapters/memory/agentcore.js.map +1 -1
- package/dist/esm/core/agent/middleware/runChain.d.ts +2 -0
- package/dist/esm/core/agent/middleware/runChain.js +4 -0
- package/dist/esm/core/agent/middleware/runChain.js.map +1 -1
- package/dist/esm/core/agent/middleware/types.d.ts +12 -0
- package/dist/esm/core/agent/stages/toolCalls.js +9 -1
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/tools.d.ts +18 -0
- package/dist/esm/core/tools.js.map +1 -1
- package/dist/esm/hosting/envelope.d.ts +31 -2
- package/dist/esm/hosting/envelope.js +42 -7
- package/dist/esm/hosting/envelope.js.map +1 -1
- package/dist/esm/hosting/errors.d.ts +44 -1
- package/dist/esm/hosting/errors.js +81 -1
- package/dist/esm/hosting/errors.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +5 -1
- package/dist/esm/hosting/index.js +5 -1
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/standingAgent.d.ts +9 -0
- package/dist/esm/hosting/standingAgent.js +30 -9
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/lib/mcp/index.d.ts +1 -1
- package/dist/esm/lib/mcp/mcpClient.js +104 -11
- package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
- package/dist/esm/lib/mcp/mcpServe.js +6 -0
- package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
- package/dist/esm/lib/mcp/mockMcpClient.js +4 -0
- package/dist/esm/lib/mcp/mockMcpClient.js.map +1 -1
- package/dist/esm/lib/mcp/types.d.ts +71 -7
- package/dist/esm/lib/storedPreview.d.ts +58 -0
- package/dist/esm/lib/storedPreview.js +97 -0
- package/dist/esm/lib/storedPreview.js.map +1 -0
- package/dist/esm/memory-providers.d.ts +1 -1
- package/dist/esm/memory-providers.js +1 -1
- package/dist/esm/memory-providers.js.map +1 -1
- package/dist/esm/tool-providers/index.d.ts +1 -1
- package/dist/hosting/envelope.js +42 -7
- package/dist/hosting/envelope.js.map +1 -1
- package/dist/hosting/errors.js +83 -2
- package/dist/hosting/errors.js.map +1 -1
- package/dist/hosting/index.js +6 -1
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/standingAgent.js +29 -8
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/lib/mcp/mcpClient.js +104 -11
- package/dist/lib/mcp/mcpClient.js.map +1 -1
- package/dist/lib/mcp/mcpServe.js +6 -0
- package/dist/lib/mcp/mcpServe.js.map +1 -1
- package/dist/lib/mcp/mockMcpClient.js +4 -0
- package/dist/lib/mcp/mockMcpClient.js.map +1 -1
- package/dist/lib/storedPreview.js +102 -0
- package/dist/lib/storedPreview.js.map +1 -0
- package/dist/memory-providers.js +2 -1
- package/dist/memory-providers.js.map +1 -1
- package/dist/types/adapters/hosting/agentcore.d.ts +34 -4
- package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/memory/agentcore.d.ts +59 -1
- package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
- package/dist/types/core/agent/middleware/runChain.d.ts +2 -0
- package/dist/types/core/agent/middleware/runChain.d.ts.map +1 -1
- package/dist/types/core/agent/middleware/types.d.ts +12 -0
- package/dist/types/core/agent/middleware/types.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/tools.d.ts +18 -0
- package/dist/types/core/tools.d.ts.map +1 -1
- package/dist/types/hosting/envelope.d.ts +31 -2
- package/dist/types/hosting/envelope.d.ts.map +1 -1
- package/dist/types/hosting/errors.d.ts +44 -1
- package/dist/types/hosting/errors.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +5 -1
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/standingAgent.d.ts +9 -0
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/lib/mcp/index.d.ts +1 -1
- package/dist/types/lib/mcp/index.d.ts.map +1 -1
- package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
- package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
- package/dist/types/lib/mcp/types.d.ts +71 -7
- package/dist/types/lib/mcp/types.d.ts.map +1 -1
- package/dist/types/lib/storedPreview.d.ts +59 -0
- package/dist/types/lib/storedPreview.d.ts.map +1 -0
- package/dist/types/memory-providers.d.ts +1 -1
- package/dist/types/memory-providers.d.ts.map +1 -1
- package/dist/types/tool-providers/index.d.ts +1 -1
- package/dist/types/tool-providers/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -38,7 +38,16 @@
|
|
|
38
38
|
* injection-tested**: its AgentCore Memory calls are exercised through the
|
|
39
39
|
* `_client` seam, never against AWS. Confirm the command and field names
|
|
40
40
|
* against your installed `@aws-sdk/client-bedrock-agentcore` before you rely
|
|
41
|
-
* on it
|
|
41
|
+
* on it.
|
|
42
|
+
*
|
|
43
|
+
* Both modes have now been exercised against the real service by a production
|
|
44
|
+
* integration, and the `'memory'` mode came back with a defect no injected fake
|
|
45
|
+
* could have shown: given an OBJECT as an event's blob, the service stores its
|
|
46
|
+
* own host language's `toString()` of it and returns a string that is not JSON
|
|
47
|
+
* and cannot be decoded. This shim writes JSON text for exactly that reason.
|
|
48
|
+
* Envelopes written by any build before 7.22.1 are unrecoverable — the mangling
|
|
49
|
+
* is lossy, so there is nothing to migrate, and the honest response is a loud
|
|
50
|
+
* refusal rather than a silent fresh start.
|
|
42
51
|
*
|
|
43
52
|
* Pattern: Adapter (GoF). Role: outer ring. The file-backed session store uses
|
|
44
53
|
* `node:fs` and nothing else; the event-backed one lazy-loads the AWS SDK, so
|
|
@@ -151,7 +160,18 @@ export interface AgentCoreFileSessionsOptions {
|
|
|
151
160
|
export interface AgentCoreSessionEvent {
|
|
152
161
|
/** Server-assigned event id. */
|
|
153
162
|
readonly eventId: string;
|
|
154
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* The envelope decoded from the event's blob payload.
|
|
165
|
+
*
|
|
166
|
+
* `null` means the event carried **no blob at all** — nothing here ever
|
|
167
|
+
* claimed to be a session, which is an absence and hydrates as "no
|
|
168
|
+
* conversation".
|
|
169
|
+
*
|
|
170
|
+
* A blob that IS present but could not be decoded travels here **as-is**, so
|
|
171
|
+
* the shared reading law refuses it by name rather than this adapter quietly
|
|
172
|
+
* calling a conversation that exists an absent one. Those are different facts
|
|
173
|
+
* and only one of them is safe to answer with a fresh start.
|
|
174
|
+
*/
|
|
155
175
|
readonly envelope: unknown;
|
|
156
176
|
}
|
|
157
177
|
/**
|
|
@@ -160,7 +180,14 @@ export interface AgentCoreSessionEvent {
|
|
|
160
180
|
* `_client` and never touch AWS.
|
|
161
181
|
*/
|
|
162
182
|
export interface AgentCoreSessionClientLike {
|
|
163
|
-
/**
|
|
183
|
+
/**
|
|
184
|
+
* Append one envelope as an event (the server assigns the event id).
|
|
185
|
+
*
|
|
186
|
+
* The envelope arrives as an OBJECT; how it reaches the wire is the
|
|
187
|
+
* implementation's business. The shipped shim writes it as JSON text, because
|
|
188
|
+
* this service returns an object blob back as its own host language's
|
|
189
|
+
* `toString()` of it — see `createSessionClient`.
|
|
190
|
+
*/
|
|
164
191
|
createEvent(input: {
|
|
165
192
|
memoryId: string;
|
|
166
193
|
actorId: string;
|
|
@@ -205,7 +232,10 @@ export type AgentCoreSessionsOptions = AgentCoreFileSessionsOptions | AgentCoreM
|
|
|
205
232
|
* Both modes store the SAME `CheckpointEnvelope` the port defines — a
|
|
206
233
|
* conversation or a paused run — and both refuse an unknown `format` by name
|
|
207
234
|
* through the shared `checkEnvelope`: a session written by a newer runtime is
|
|
208
|
-
* refused, never half-restored. That law is inherited, not re-implemented
|
|
235
|
+
* refused, never half-restored. That law is inherited, not re-implemented, and
|
|
236
|
+
* so is its other half: a stored session that is present but **unreadable** is
|
|
237
|
+
* refused by name too (`UnreadableEnvelopeError`), never answered with a fresh
|
|
238
|
+
* start. Only a session that was never written hydrates as `undefined`.
|
|
209
239
|
*
|
|
210
240
|
* @example Survive a stop/resume, no AWS SDK required
|
|
211
241
|
* agentCoreSessions({ store: 'session-storage' });
|
|
@@ -38,7 +38,16 @@
|
|
|
38
38
|
* injection-tested**: its AgentCore Memory calls are exercised through the
|
|
39
39
|
* `_client` seam, never against AWS. Confirm the command and field names
|
|
40
40
|
* against your installed `@aws-sdk/client-bedrock-agentcore` before you rely
|
|
41
|
-
* on it
|
|
41
|
+
* on it.
|
|
42
|
+
*
|
|
43
|
+
* Both modes have now been exercised against the real service by a production
|
|
44
|
+
* integration, and the `'memory'` mode came back with a defect no injected fake
|
|
45
|
+
* could have shown: given an OBJECT as an event's blob, the service stores its
|
|
46
|
+
* own host language's `toString()` of it and returns a string that is not JSON
|
|
47
|
+
* and cannot be decoded. This shim writes JSON text for exactly that reason.
|
|
48
|
+
* Envelopes written by any build before 7.22.1 are unrecoverable — the mangling
|
|
49
|
+
* is lossy, so there is nothing to migrate, and the honest response is a loud
|
|
50
|
+
* refusal rather than a silent fresh start.
|
|
42
51
|
*
|
|
43
52
|
* Pattern: Adapter (GoF). Role: outer ring. The file-backed session store uses
|
|
44
53
|
* `node:fs` and nothing else; the event-backed one lazy-loads the AWS SDK, so
|
|
@@ -154,7 +163,10 @@ export const DEFAULT_SESSION_STORAGE_PATH = '/tmp/agentcore-session';
|
|
|
154
163
|
* Both modes store the SAME `CheckpointEnvelope` the port defines — a
|
|
155
164
|
* conversation or a paused run — and both refuse an unknown `format` by name
|
|
156
165
|
* through the shared `checkEnvelope`: a session written by a newer runtime is
|
|
157
|
-
* refused, never half-restored. That law is inherited, not re-implemented
|
|
166
|
+
* refused, never half-restored. That law is inherited, not re-implemented, and
|
|
167
|
+
* so is its other half: a stored session that is present but **unreadable** is
|
|
168
|
+
* refused by name too (`UnreadableEnvelopeError`), never answered with a fresh
|
|
169
|
+
* start. Only a session that was never written hydrates as `undefined`.
|
|
158
170
|
*
|
|
159
171
|
* @example Survive a stop/resume, no AWS SDK required
|
|
160
172
|
* agentCoreSessions({ store: 'session-storage' });
|
|
@@ -202,7 +214,7 @@ function fileSessions(options) {
|
|
|
202
214
|
// `checkEnvelope` accepts either format: a store keeps sessions, and
|
|
203
215
|
// whether a session is mid-conversation or mid-question is not its
|
|
204
216
|
// business — only whether it can be read at all.
|
|
205
|
-
return checkEnvelope(stored);
|
|
217
|
+
return checkEnvelope(stored, sessionId);
|
|
206
218
|
},
|
|
207
219
|
async persist(sessionId, envelope) {
|
|
208
220
|
const { writeFile, rename, mkdir } = await import('node:fs/promises');
|
|
@@ -242,9 +254,18 @@ function memoryEventSessions(options) {
|
|
|
242
254
|
maxResults: 1,
|
|
243
255
|
});
|
|
244
256
|
const newest = page.events[0];
|
|
257
|
+
// No event, or an event carrying no blob: nothing here ever claimed to be
|
|
258
|
+
// a session, so this really is a fresh start. Anything else — including a
|
|
259
|
+
// blob that came back mangled — goes to `checkEnvelope`, which refuses a
|
|
260
|
+
// conversation it cannot read BY NAME instead of returning `undefined`
|
|
261
|
+
// and letting the agent answer as if the session were new.
|
|
245
262
|
if (!newest || newest.envelope === null || newest.envelope === undefined)
|
|
246
263
|
return undefined;
|
|
247
|
-
|
|
264
|
+
// `decodeBlob` again rather than only inside the shim: a caller-supplied
|
|
265
|
+
// `client` is free to hand back the stored text as it found it, and text
|
|
266
|
+
// this adapter can plainly read is not something to refuse on a
|
|
267
|
+
// technicality. Anything it cannot read still reaches `checkEnvelope`.
|
|
268
|
+
return checkEnvelope(decodeBlob(newest.envelope), sessionId);
|
|
248
269
|
},
|
|
249
270
|
async persist(sessionId, envelope) {
|
|
250
271
|
await client.createEvent({
|
|
@@ -273,14 +294,45 @@ function fnv1a(s) {
|
|
|
273
294
|
}
|
|
274
295
|
return (h >>> 0).toString(36);
|
|
275
296
|
}
|
|
297
|
+
/**
|
|
298
|
+
* Turn one stored blob back into an envelope — the adapter's ONE decode step.
|
|
299
|
+
*
|
|
300
|
+
* ── Why a string is the normal case, not the exotic one ──────────────────────
|
|
301
|
+
* This adapter writes the envelope as **JSON text** (see `createEvent` below),
|
|
302
|
+
* so the blob that comes back is a string and is parsed here. Objects are still
|
|
303
|
+
* accepted: a caller who supplies their own `client` can hand back a real
|
|
304
|
+
* object, and refusing it would break a seam that never had this problem.
|
|
305
|
+
*
|
|
306
|
+
* A blob it cannot decode is handed back **AS-IS**, never as `null`. `null`
|
|
307
|
+
* means "no blob", which is an absence, and an absence is answered with a fresh
|
|
308
|
+
* start; a conversation that exists and cannot be read must not be. Passing the
|
|
309
|
+
* raw value on puts it in front of `checkEnvelope`, which refuses by name.
|
|
310
|
+
*/
|
|
311
|
+
function decodeBlob(blob) {
|
|
312
|
+
if (typeof blob !== 'string')
|
|
313
|
+
return blob;
|
|
314
|
+
try {
|
|
315
|
+
const parsed = JSON.parse(blob);
|
|
316
|
+
// JSON.parse('"x"') is a string, not an envelope. Hand back the ORIGINAL
|
|
317
|
+
// bytes so the refusal quotes what the store actually holds.
|
|
318
|
+
return parsed !== null && typeof parsed === 'object' ? parsed : blob;
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
return blob;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
276
324
|
/** Pull the envelope out of an event's `payload` (a single `blob` document). */
|
|
277
325
|
function envelopeFromPayload(payload) {
|
|
278
326
|
if (!Array.isArray(payload))
|
|
279
327
|
return null;
|
|
280
328
|
for (const part of payload) {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
329
|
+
if (!part || typeof part !== 'object' || !('blob' in part))
|
|
330
|
+
continue;
|
|
331
|
+
const blob = part.blob;
|
|
332
|
+
// A part with no blob VALUE is not a session either — keep looking.
|
|
333
|
+
if (blob === null || blob === undefined)
|
|
334
|
+
continue;
|
|
335
|
+
return decodeBlob(blob);
|
|
284
336
|
}
|
|
285
337
|
return null;
|
|
286
338
|
}
|
|
@@ -323,7 +375,15 @@ function createSessionClient(region, injected) {
|
|
|
323
375
|
actorId,
|
|
324
376
|
sessionId,
|
|
325
377
|
eventTimestamp: new Date(),
|
|
326
|
-
|
|
378
|
+
// JSON TEXT, not the object. Field-learned, and the whole reason for
|
|
379
|
+
// this release: given an object, the service stores its own host
|
|
380
|
+
// language's `toString()` rendering of it and returns THAT string —
|
|
381
|
+
// `{format=conversation-v1, data={...}}`, which is not JSON and which
|
|
382
|
+
// nothing can turn back into a conversation. The envelope is defined as
|
|
383
|
+
// something a store can hold as text (`toEnvelope` round-trips through
|
|
384
|
+
// `JSON.stringify` by construction), so the encoding is ours to pick and
|
|
385
|
+
// the honest pick is the one whose bytes come back unchanged.
|
|
386
|
+
payload: [{ blob: JSON.stringify(envelope) }],
|
|
327
387
|
});
|
|
328
388
|
},
|
|
329
389
|
async listEvents({ memoryId, actorId, sessionId, maxResults }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,wEAAwE;AAExE,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC,wFAAwF;AACxF,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,WAAW,GAAG,OAAO,CAAC;AAC5B,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B;;;;GAIG;AACH,MAAM,cAAc,GAAG,6CAA6C,CAAC;AAoDrE;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,OAAO;QACL,WAAW,CAAC,KAAuB;YACjC,qEAAqE;YACrE,0EAA0E;YAC1E,wEAAwE;YACxE,0EAA0E;YAC1E,yDAAyD;YACzD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,oEAAoE;YACpE,0EAA0E;YAC1E,aAAa;YACb,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACrD,qEAAqE;YACrE,yEAAyE;YACzE,sEAAsE;YACtE,yBAAyB;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YACrC,OAAO;gBACL,KAAK;gBACL,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC7C,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC;QACJ,CAAC;QACD,sEAAsE;QACtE,uEAAuE;QACvE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACrD,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;SACnD,CAAC;QACF,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACvD,0EAA0E;QAC1E,gDAAgD;QAChD,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3F,sEAAsE;QACtE,qEAAqE;QACrE,8BAA8B;QAC9B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QAC7B,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAuC,EAAE;IAC5E,OAAO,QAAQ,CAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC;QACxC,UAAU,EAAE,WAAW;QACvB,UAAU,EAAE,WAAW;QACvB,wEAAwE;QACxE,sEAAsE;QACtE,2EAA2E;QAC3E,4EAA4E;QAC5E,uCAAuC;QACvC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YAC9B,CAAC,CAAC;gBACE,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;aACtE;YACH,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;KACrF,CAAC,CAAC;AACL,CAAC;AAoBD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAuFrE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC3F,CAAC;AASD,SAAS,YAAY,CAAC,OAAqC;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,4BAA4B,CAAC;IAE1D,KAAK,UAAU,QAAQ;QACrB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5D,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,SAAS,CACjB,kCAAkC,IAAI,kBAAmB,GAAa,CAAC,OAAO,KAAK;gBACjF,mFAAmF;gBACnF,iDAAiD,CACpD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAI,MAAsC,EAAE,QAAQ,CAAC;QACnE,OAAO,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC7C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAA8C,EAAE;YAC1E,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,SAAiB;YAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC3C,uEAAuE;YACvE,uEAAuE;YACvE,qEAAqE;YACrE,mEAAmE;YACnE,iDAAiD;YACjD,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,QAA4B;YAC3D,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACtE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAgB;gBACxB,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE;aACtD,CAAC;YACF,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACvE,sEAAsE;YACtE,0EAA0E;YAC1E,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;YAC/C,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,wEAAwE;AAExE,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C,SAAS,mBAAmB,CAAC,OAAuC;IAClE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACpD,MAAM,MAAM,GACV,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzF,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,SAAiB;YAC7B,wEAAwE;YACxE,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;gBACnC,QAAQ;gBACR,OAAO;gBACP,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC;gBACnC,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,uEAAuE;YACvE,2DAA2D;YAC3D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC3F,yEAAyE;YACzE,yEAAyE;YACzE,gEAAgE;YAChE,uEAAuE;YACvE,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,QAA4B;YAC3D,MAAM,MAAM,CAAC,WAAW,CAAC;gBACvB,QAAQ;gBACR,OAAO;gBACP,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC;gBACnC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,sFAAsF;AACtF,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,IAAI,CAAC;IAC/C,yEAAyE;IACzE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,KAAK,CAAC,CAAS;IACtB,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAWD;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU,CAAC,IAAa;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,yEAAyE;QACzE,6DAA6D;QAC7D,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;YAAE,SAAS;QACrE,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;QAC/C,oEAAoE;QACpE,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QAClD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,MAA0B,EAC1B,QAA2C;IAE3C,IAAI,GAAqC,CAAC;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,GAAG,QAAQ,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,GAAG,GAAG,WAAW,CAAmC,mCAAmC,CAAC,CAAC;QAC3F,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,sDAAsD;gBACpD,wDAAwD;gBACxD,6DAA6D;gBAC7D,mEAAmE,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,0EAA0E;YACxE,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1E,MAAM,IAAI,GAAG,KAAK,EAChB,IAAmD,EACnD,IAAY,EACZ,KAAc,EACI,EAAE;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,oBAAoB,CAChG,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC1D,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,EAAE;gBACvD,QAAQ;gBACR,OAAO;gBACP,SAAS;gBACT,cAAc,EAAE,IAAI,IAAI,EAAE;gBAC1B,qEAAqE;gBACrE,iEAAiE;gBACjE,oEAAoE;gBACpE,sEAAsE;gBACtE,wEAAwE;gBACxE,uEAAuE;gBACvE,yEAAyE;gBACzE,8DAA8D;gBAC9D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE;YAC3D,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,mBAAmB,EAAE;gBACrE,QAAQ;gBACR,OAAO;gBACP,SAAS;gBACT,eAAe,EAAE,IAAI;gBACrB,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;aAChD,CAAC,CAA+E,CAAC;YAClF,MAAM,MAAM,GAA4B,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC7E,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;gBAC5B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;aAC7C,CAAC,CAAC,CAAC;YACJ,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -47,9 +47,67 @@ import type { MemoryIdentity } from '../../memory/identity/index.js';
|
|
|
47
47
|
export interface AgentCoreEvent {
|
|
48
48
|
/** AgentCore server-assigned event id (needed to delete it). */
|
|
49
49
|
readonly eventId: string;
|
|
50
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* The MemoryEntry decoded from the event's blob payload.
|
|
52
|
+
*
|
|
53
|
+
* `null` means the event carried **no blob at all** — nothing in it ever
|
|
54
|
+
* claimed to be one of this store's entries (AgentCore writes events of its
|
|
55
|
+
* own into the same log), so it is skipped as an absence.
|
|
56
|
+
*
|
|
57
|
+
* A blob that IS present and cannot be decoded never arrives here: it raises
|
|
58
|
+
* {@link UnreadableMemoryEntryError} at the decode step instead. An unreadable
|
|
59
|
+
* stored memory and an absent one are different facts, and only one of them is
|
|
60
|
+
* safe to answer with silence.
|
|
61
|
+
*/
|
|
51
62
|
readonly entry: MemoryEntry | null;
|
|
52
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Thrown when an event carries a blob that is **present but unreadable** where a
|
|
66
|
+
* `MemoryEntry` should be.
|
|
67
|
+
*
|
|
68
|
+
* The same law the session store inherits from `hosting/envelope`, applied to
|
|
69
|
+
* this port's own shape: an unreadable stored memory and an absent one are
|
|
70
|
+
* different facts, and only one of them is safe to answer with silence. A
|
|
71
|
+
* memory that exists and cannot be decoded, quietly skipped, is an agent that
|
|
72
|
+
* answers as if it were never told — indistinguishable from working, until
|
|
73
|
+
* somebody notices the assistant has forgotten a customer's address.
|
|
74
|
+
*
|
|
75
|
+
* ── Why the law lives HERE and not in a shared reader ────────────────────────
|
|
76
|
+
* `MemoryStore` has no envelope and no shared reading path — nothing on this
|
|
77
|
+
* port corresponds to `hosting`'s `readFormat`, the single choke point every
|
|
78
|
+
* session adapter reads through — so the refusal belongs at the one place raw
|
|
79
|
+
* bytes become an entry: this adapter's decode step. If a `MemoryStore` reading
|
|
80
|
+
* path ever grows such a choke point, the law moves there and this becomes a
|
|
81
|
+
* caller of it.
|
|
82
|
+
*
|
|
83
|
+
* ── Why this one QUOTES NOTHING, where the session refusal quotes a prefix ───
|
|
84
|
+
* Same discipline — "never the stored content" — and the same shared helper, but
|
|
85
|
+
* a different answer, because the two shapes differ in where content begins. A
|
|
86
|
+
* `CheckpointEnvelope` opens `{ format, data, savedAt }`, so a capped prefix is
|
|
87
|
+
* metadata. A `MemoryEntry` opens `{ id, value, … }`, so its SECOND field is the
|
|
88
|
+
* thing somebody asked the agent to remember, and even a short prefix would
|
|
89
|
+
* print it. `storedShape` therefore reports type, length, JSON-ness and the
|
|
90
|
+
* opening character and nothing else — still enough to recognise "an object
|
|
91
|
+
* stringified by something that was not JSON", which is the only diagnosis this
|
|
92
|
+
* message needs to support.
|
|
93
|
+
*/
|
|
94
|
+
export declare class UnreadableMemoryEntryError extends TypeError {
|
|
95
|
+
readonly code: "ERR_UNREADABLE_MEMORY_ENTRY";
|
|
96
|
+
/** AgentCore's id for the event those bytes came from. */
|
|
97
|
+
readonly eventId: string;
|
|
98
|
+
/** The AgentCore session (this store's conversation) it was stored under. */
|
|
99
|
+
readonly sessionId: string;
|
|
100
|
+
/**
|
|
101
|
+
* What came back, described by SHAPE — type, length, JSON-ness, opening
|
|
102
|
+
* character. Never a quote: on this port the stored bytes are the memory.
|
|
103
|
+
*/
|
|
104
|
+
readonly storedShape: string;
|
|
105
|
+
constructor(input: {
|
|
106
|
+
eventId: string;
|
|
107
|
+
sessionId: string;
|
|
108
|
+
stored: unknown;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
53
111
|
/**
|
|
54
112
|
* Minimal, entry-semantic surface the store uses. The real implementation
|
|
55
113
|
* (`createAgentCoreClient`) maps these onto `CreateEvent` / `ListEvents` /
|
|
@@ -41,6 +41,65 @@
|
|
|
41
41
|
* in use. Emits: N/A (storage adapters don't emit).
|
|
42
42
|
*/
|
|
43
43
|
import { lazyRequire } from '../../lib/lazyRequire.js';
|
|
44
|
+
import { describeStoredShape } from '../../lib/storedPreview.js';
|
|
45
|
+
/**
|
|
46
|
+
* Thrown when an event carries a blob that is **present but unreadable** where a
|
|
47
|
+
* `MemoryEntry` should be.
|
|
48
|
+
*
|
|
49
|
+
* The same law the session store inherits from `hosting/envelope`, applied to
|
|
50
|
+
* this port's own shape: an unreadable stored memory and an absent one are
|
|
51
|
+
* different facts, and only one of them is safe to answer with silence. A
|
|
52
|
+
* memory that exists and cannot be decoded, quietly skipped, is an agent that
|
|
53
|
+
* answers as if it were never told — indistinguishable from working, until
|
|
54
|
+
* somebody notices the assistant has forgotten a customer's address.
|
|
55
|
+
*
|
|
56
|
+
* ── Why the law lives HERE and not in a shared reader ────────────────────────
|
|
57
|
+
* `MemoryStore` has no envelope and no shared reading path — nothing on this
|
|
58
|
+
* port corresponds to `hosting`'s `readFormat`, the single choke point every
|
|
59
|
+
* session adapter reads through — so the refusal belongs at the one place raw
|
|
60
|
+
* bytes become an entry: this adapter's decode step. If a `MemoryStore` reading
|
|
61
|
+
* path ever grows such a choke point, the law moves there and this becomes a
|
|
62
|
+
* caller of it.
|
|
63
|
+
*
|
|
64
|
+
* ── Why this one QUOTES NOTHING, where the session refusal quotes a prefix ───
|
|
65
|
+
* Same discipline — "never the stored content" — and the same shared helper, but
|
|
66
|
+
* a different answer, because the two shapes differ in where content begins. A
|
|
67
|
+
* `CheckpointEnvelope` opens `{ format, data, savedAt }`, so a capped prefix is
|
|
68
|
+
* metadata. A `MemoryEntry` opens `{ id, value, … }`, so its SECOND field is the
|
|
69
|
+
* thing somebody asked the agent to remember, and even a short prefix would
|
|
70
|
+
* print it. `storedShape` therefore reports type, length, JSON-ness and the
|
|
71
|
+
* opening character and nothing else — still enough to recognise "an object
|
|
72
|
+
* stringified by something that was not JSON", which is the only diagnosis this
|
|
73
|
+
* message needs to support.
|
|
74
|
+
*/
|
|
75
|
+
export class UnreadableMemoryEntryError extends TypeError {
|
|
76
|
+
code = 'ERR_UNREADABLE_MEMORY_ENTRY';
|
|
77
|
+
/** AgentCore's id for the event those bytes came from. */
|
|
78
|
+
eventId;
|
|
79
|
+
/** The AgentCore session (this store's conversation) it was stored under. */
|
|
80
|
+
sessionId;
|
|
81
|
+
/**
|
|
82
|
+
* What came back, described by SHAPE — type, length, JSON-ness, opening
|
|
83
|
+
* character. Never a quote: on this port the stored bytes are the memory.
|
|
84
|
+
*/
|
|
85
|
+
storedShape;
|
|
86
|
+
constructor(input) {
|
|
87
|
+
const shape = describeStoredShape(input.stored);
|
|
88
|
+
super(`[memory] AgentCoreStore: event '${input.eventId}' in session '${input.sessionId}' holds ` +
|
|
89
|
+
`a STORED memory this adapter cannot read. An unreadable stored memory and an absent ` +
|
|
90
|
+
`one are different facts, and only one of them is safe to answer with silence — so ` +
|
|
91
|
+
`this refuses rather than handing back a shorter list that reads as "nothing was ` +
|
|
92
|
+
`remembered". What the store handed back is ${shape}; none of it is quoted here, ` +
|
|
93
|
+
`because on this port those bytes ARE the memory. Entries written before 7.22.1 were ` +
|
|
94
|
+
`stored as objects and come back as this service's own toString() rendering, which is ` +
|
|
95
|
+
`lossy and cannot be decoded: delete them, or point this store at a fresh memory ` +
|
|
96
|
+
`resource.`);
|
|
97
|
+
this.name = 'UnreadableMemoryEntryError';
|
|
98
|
+
this.eventId = input.eventId;
|
|
99
|
+
this.sessionId = input.sessionId;
|
|
100
|
+
this.storedShape = shape;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
44
103
|
const ID_MAX = 99;
|
|
45
104
|
/** Build an AgentCore-safe id from arbitrary identity parts (`[A-Za-z0-9_-]`, bounded). */
|
|
46
105
|
function safeId(prefix, raw) {
|
|
@@ -339,14 +398,48 @@ function fnv1a(s) {
|
|
|
339
398
|
}
|
|
340
399
|
return (h >>> 0).toString(36);
|
|
341
400
|
}
|
|
342
|
-
/**
|
|
343
|
-
|
|
401
|
+
/**
|
|
402
|
+
* Pull the MemoryEntry out of an AgentCore event's `payload` (a single `blob`
|
|
403
|
+
* document) — this adapter's ONE decode step, and therefore the only place that
|
|
404
|
+
* can tell "no entry here" apart from "an entry nobody can read".
|
|
405
|
+
*
|
|
406
|
+
* ── Why a string is the normal case ──────────────────────────────────────────
|
|
407
|
+
* Entries are written as JSON **text** (see `createEvent` below), so the blob
|
|
408
|
+
* comes back a string and is parsed here. Objects are still accepted: a
|
|
409
|
+
* caller-supplied `client` may hand back a real object, and refusing it would
|
|
410
|
+
* break a seam that never had this problem.
|
|
411
|
+
*
|
|
412
|
+
* Three outcomes, and the middle one is the fix:
|
|
413
|
+
* • no `blob` in any part → `null`. Nothing claimed to be an entry — AgentCore
|
|
414
|
+
* writes events of its own into the same log — so it is skipped.
|
|
415
|
+
* • a blob that cannot be decoded → **throws** {@link UnreadableMemoryEntryError}.
|
|
416
|
+
* Skipping it would shorten a `list()` by one and read as "that memory was
|
|
417
|
+
* never stored", which is the silent failure this release exists to end.
|
|
418
|
+
* • a decodable blob → the entry.
|
|
419
|
+
*/
|
|
420
|
+
function entryFromPayload(payload, event) {
|
|
344
421
|
if (!Array.isArray(payload))
|
|
345
422
|
return null;
|
|
346
423
|
for (const p of payload) {
|
|
347
|
-
|
|
348
|
-
|
|
424
|
+
if (!p || typeof p !== 'object' || !('blob' in p))
|
|
425
|
+
continue;
|
|
426
|
+
const blob = p.blob;
|
|
427
|
+
// A part with no blob VALUE is not an entry either — keep looking.
|
|
428
|
+
if (blob === null || blob === undefined)
|
|
429
|
+
continue;
|
|
430
|
+
if (typeof blob === 'object')
|
|
349
431
|
return blob;
|
|
432
|
+
if (typeof blob === 'string') {
|
|
433
|
+
try {
|
|
434
|
+
const parsed = JSON.parse(blob);
|
|
435
|
+
if (parsed !== null && typeof parsed === 'object')
|
|
436
|
+
return parsed;
|
|
437
|
+
}
|
|
438
|
+
catch {
|
|
439
|
+
/* fall through to the refusal, with the ORIGINAL bytes to describe */
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
throw new UnreadableMemoryEntryError({ ...event, stored: blob });
|
|
350
443
|
}
|
|
351
444
|
return null;
|
|
352
445
|
}
|
|
@@ -382,13 +475,21 @@ function createAgentCoreClient(region, injected) {
|
|
|
382
475
|
};
|
|
383
476
|
return {
|
|
384
477
|
async createEvent({ memoryId, actorId, sessionId, entry }) {
|
|
385
|
-
// The entry is stored as a single `blob` document (PayloadType.blob =
|
|
478
|
+
// The entry is stored as a single `blob` document (PayloadType.blob =
|
|
479
|
+
// __DocumentType), and it goes in as JSON TEXT, not as the object.
|
|
480
|
+
// Field-learned on the session store and true of every blob this service
|
|
481
|
+
// holds: hand it an object and it stores its own host language's
|
|
482
|
+
// `toString()` rendering — `{id=m-1, value={...}}` — and returns THAT
|
|
483
|
+
// string, which is not JSON and cannot be turned back into an entry. A
|
|
484
|
+
// `MemoryEntry` is defined as something a store can hold (the port's
|
|
485
|
+
// stores round-trip it through JSON already), so the encoding is ours to
|
|
486
|
+
// pick and the honest pick is the one whose bytes come back unchanged.
|
|
386
487
|
await send(mod.CreateEventCommand, 'CreateEventCommand', {
|
|
387
488
|
memoryId,
|
|
388
489
|
actorId,
|
|
389
490
|
sessionId,
|
|
390
491
|
eventTimestamp: new Date(),
|
|
391
|
-
payload: [{ blob: entry }],
|
|
492
|
+
payload: [{ blob: JSON.stringify(entry) }],
|
|
392
493
|
});
|
|
393
494
|
},
|
|
394
495
|
async listEvents({ memoryId, actorId, sessionId, maxResults, nextToken }) {
|
|
@@ -400,10 +501,13 @@ function createAgentCoreClient(region, injected) {
|
|
|
400
501
|
...(maxResults !== undefined && { maxResults }),
|
|
401
502
|
...(nextToken !== undefined && { nextToken }),
|
|
402
503
|
}));
|
|
403
|
-
const events = (r?.events ?? []).map((ev) =>
|
|
404
|
-
eventId
|
|
405
|
-
entry
|
|
406
|
-
|
|
504
|
+
const events = (r?.events ?? []).map((ev) => {
|
|
505
|
+
const eventId = ev.eventId ?? '';
|
|
506
|
+
// A page containing one unreadable entry fails the READ. Returning the
|
|
507
|
+
// rest would be a list that is quietly one memory short, which is the
|
|
508
|
+
// shape of the failure nobody notices.
|
|
509
|
+
return { eventId, entry: entryFromPayload(ev.payload, { eventId, sessionId }) };
|
|
510
|
+
});
|
|
407
511
|
return r?.nextToken ? { events, nextToken: r.nextToken } : { events };
|
|
408
512
|
},
|
|
409
513
|
async deleteEvent({ memoryId, actorId, sessionId, eventId }) {
|
|
@@ -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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"}
|
|
@@ -63,6 +63,8 @@ export type ToolChainResult = {
|
|
|
63
63
|
};
|
|
64
64
|
export interface ToolChainInput {
|
|
65
65
|
readonly toolName: string;
|
|
66
|
+
/** `Tool.source` for the tool being dispatched, when it has one. */
|
|
67
|
+
readonly toolSource?: string;
|
|
66
68
|
readonly toolCallId: string;
|
|
67
69
|
readonly iteration: number;
|
|
68
70
|
readonly args: ToolArgs;
|
|
@@ -47,6 +47,10 @@ export async function runToolChain(chain, input) {
|
|
|
47
47
|
try {
|
|
48
48
|
outcome = await mw.onToolCall({
|
|
49
49
|
toolName: input.toolName,
|
|
50
|
+
// Present only when the tool HAS a source. An `undefined` key is not
|
|
51
|
+
// the same fact as an absent one to a middleware that spells its rule
|
|
52
|
+
// `'toolSource' in call`, and "the agent's own" is an absence.
|
|
53
|
+
...(input.toolSource !== undefined && { toolSource: input.toolSource }),
|
|
50
54
|
toolCallId: input.toolCallId,
|
|
51
55
|
iteration: input.iteration,
|
|
52
56
|
args,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runChain.js","sourceRoot":"","sources":["../../../../../src/core/agent/middleware/runChain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"runChain.js","sourceRoot":"","sources":["../../../../../src/core/agent/middleware/runChain.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,6 +88,18 @@ export type MessageOutcome = AllowOutcome<string> | DenyOutcome;
|
|
|
88
88
|
/** The call a tool middleware is deciding about. */
|
|
89
89
|
export interface ToolMiddlewareContext {
|
|
90
90
|
readonly toolName: string;
|
|
91
|
+
/**
|
|
92
|
+
* Where the tool being called came from — `Tool.source`, which `mcpClient`
|
|
93
|
+
* fills with the server's name.
|
|
94
|
+
*
|
|
95
|
+
* **Absent means the agent's own tool.** A name alone is not an identity: two
|
|
96
|
+
* MCP servers may both serve a `call_aws`, and a policy matching the bare
|
|
97
|
+
* name governs whichever one answers — including the one it was never written
|
|
98
|
+
* about. With this, `call.toolSource === 'aws-prod'` is a rule that means what
|
|
99
|
+
* it says, and `call.toolSource === undefined` is the honest way to spell
|
|
100
|
+
* "something we wrote ourselves".
|
|
101
|
+
*/
|
|
102
|
+
readonly toolSource?: string;
|
|
91
103
|
/** Matches `stream.tool_start.toolCallId` for this dispatch. */
|
|
92
104
|
readonly toolCallId: string;
|
|
93
105
|
/** ReAct iteration this call belongs to. */
|
|
@@ -306,6 +306,9 @@ export function buildToolCallsHandler(deps) {
|
|
|
306
306
|
if (!denied && deps.toolMiddleware && deps.toolMiddleware.length > 0) {
|
|
307
307
|
const chain = await runToolChain(deps.toolMiddleware, {
|
|
308
308
|
toolName: tc.name,
|
|
309
|
+
// Provenance from the tool that is about to run, so a policy can
|
|
310
|
+
// scope to the server that served it. Absent for our own tools.
|
|
311
|
+
...(tool?.source !== undefined && { toolSource: tool.source }),
|
|
309
312
|
toolCallId: tc.id,
|
|
310
313
|
iteration,
|
|
311
314
|
args: callArgs,
|
|
@@ -706,8 +709,14 @@ export function buildToolCallsHandler(deps) {
|
|
|
706
709
|
// model-visible refusal and the tool does NOT run. That is the same
|
|
707
710
|
// rule already applied to a tool that tries to pause during an
|
|
708
711
|
// approved check-in resume: at most one human question per resume.
|
|
712
|
+
// Resolved BEFORE the chain runs, not after, because the links that
|
|
713
|
+
// continue here must see the same `toolSource` the links before the
|
|
714
|
+
// ask saw. A chain that changed its mind about where a tool came from
|
|
715
|
+
// halfway through one dispatch would be worse than not knowing.
|
|
716
|
+
const tool = lookupTool(toolName);
|
|
709
717
|
const rest = await runToolChain(deps.toolMiddleware ?? [], {
|
|
710
718
|
toolName,
|
|
719
|
+
...(tool?.source !== undefined && { toolSource: tool.source }),
|
|
711
720
|
toolCallId,
|
|
712
721
|
iteration,
|
|
713
722
|
args,
|
|
@@ -716,7 +725,6 @@ export function buildToolCallsHandler(deps) {
|
|
|
716
725
|
askPolicy: 'refuse',
|
|
717
726
|
});
|
|
718
727
|
recordDecisions(scope, rest.decisions);
|
|
719
|
-
const tool = lookupTool(toolName);
|
|
720
728
|
if (rest.kind === 'deny') {
|
|
721
729
|
result = rest.reason;
|
|
722
730
|
}
|