agentfootprint 7.14.0 → 7.16.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 (203) hide show
  1. package/dist/adapters/hosting/agentcore.js +350 -0
  2. package/dist/adapters/hosting/agentcore.js.map +1 -0
  3. package/dist/adapters/llm/BrowserOpenAIProvider.js +7 -3
  4. package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  5. package/dist/adapters/llm/OpenAIProvider.js +11 -3
  6. package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
  7. package/dist/adapters/memory/agentcore.js +125 -1
  8. package/dist/adapters/memory/agentcore.js.map +1 -1
  9. package/dist/adapters/security/agentcore.js +0 -0
  10. package/dist/adapters/security/agentcore.js.map +1 -0
  11. package/dist/conventions.js +7 -0
  12. package/dist/conventions.js.map +1 -1
  13. package/dist/core/Agent.js +56 -2
  14. package/dist/core/Agent.js.map +1 -1
  15. package/dist/core/agent/AgentBuilder.js +86 -1
  16. package/dist/core/agent/AgentBuilder.js.map +1 -1
  17. package/dist/core/agent/buildAgentChart.js +12 -1
  18. package/dist/core/agent/buildAgentChart.js.map +1 -1
  19. package/dist/core/agent/buildDynamicAgentChart.js +10 -1
  20. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  21. package/dist/core/agent/compaction/errors.js +40 -0
  22. package/dist/core/agent/compaction/errors.js.map +1 -0
  23. package/dist/core/agent/compaction/index.js +24 -0
  24. package/dist/core/agent/compaction/index.js.map +1 -0
  25. package/dist/core/agent/compaction/strategy.js +152 -0
  26. package/dist/core/agent/compaction/strategy.js.map +1 -0
  27. package/dist/core/agent/compaction/summarize.js +103 -0
  28. package/dist/core/agent/compaction/summarize.js.map +1 -0
  29. package/dist/core/agent/compaction/turns.js +153 -0
  30. package/dist/core/agent/compaction/turns.js.map +1 -0
  31. package/dist/core/agent/compaction/types.js +21 -0
  32. package/dist/core/agent/compaction/types.js.map +1 -0
  33. package/dist/core/agent/stages/compact.js +130 -0
  34. package/dist/core/agent/stages/compact.js.map +1 -0
  35. package/dist/esm/adapters/hosting/agentcore.d.ts +199 -0
  36. package/dist/esm/adapters/hosting/agentcore.js +321 -0
  37. package/dist/esm/adapters/hosting/agentcore.js.map +1 -0
  38. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +7 -3
  39. package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
  40. package/dist/esm/adapters/llm/OpenAIProvider.js +11 -3
  41. package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
  42. package/dist/esm/adapters/memory/agentcore.d.ts +88 -2
  43. package/dist/esm/adapters/memory/agentcore.js +125 -1
  44. package/dist/esm/adapters/memory/agentcore.js.map +1 -1
  45. package/dist/esm/adapters/security/agentcore.d.ts +157 -0
  46. package/dist/esm/adapters/security/agentcore.js +0 -0
  47. package/dist/esm/adapters/security/agentcore.js.map +1 -0
  48. package/dist/esm/conventions.d.ts +7 -0
  49. package/dist/esm/conventions.js +7 -0
  50. package/dist/esm/conventions.js.map +1 -1
  51. package/dist/esm/core/Agent.d.ts +8 -1
  52. package/dist/esm/core/Agent.js +56 -2
  53. package/dist/esm/core/Agent.js.map +1 -1
  54. package/dist/esm/core/agent/AgentBuilder.d.ts +43 -0
  55. package/dist/esm/core/agent/AgentBuilder.js +86 -1
  56. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  57. package/dist/esm/core/agent/buildAgentChart.d.ts +13 -0
  58. package/dist/esm/core/agent/buildAgentChart.js +12 -1
  59. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  60. package/dist/esm/core/agent/buildDynamicAgentChart.js +10 -1
  61. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  62. package/dist/esm/core/agent/compaction/errors.d.ts +26 -0
  63. package/dist/esm/core/agent/compaction/errors.js +36 -0
  64. package/dist/esm/core/agent/compaction/errors.js.map +1 -0
  65. package/dist/esm/core/agent/compaction/index.d.ts +18 -0
  66. package/dist/esm/core/agent/compaction/index.js +18 -0
  67. package/dist/esm/core/agent/compaction/index.js.map +1 -0
  68. package/dist/esm/core/agent/compaction/strategy.d.ts +103 -0
  69. package/dist/esm/core/agent/compaction/strategy.js +148 -0
  70. package/dist/esm/core/agent/compaction/strategy.js.map +1 -0
  71. package/dist/esm/core/agent/compaction/summarize.d.ts +61 -0
  72. package/dist/esm/core/agent/compaction/summarize.js +96 -0
  73. package/dist/esm/core/agent/compaction/summarize.js.map +1 -0
  74. package/dist/esm/core/agent/compaction/turns.d.ts +85 -0
  75. package/dist/esm/core/agent/compaction/turns.js +145 -0
  76. package/dist/esm/core/agent/compaction/turns.js.map +1 -0
  77. package/dist/esm/core/agent/compaction/types.d.ts +148 -0
  78. package/dist/esm/core/agent/compaction/types.js +20 -0
  79. package/dist/esm/core/agent/compaction/types.js.map +1 -0
  80. package/dist/esm/core/agent/stages/compact.d.ts +59 -0
  81. package/dist/esm/core/agent/stages/compact.js +126 -0
  82. package/dist/esm/core/agent/stages/compact.js.map +1 -0
  83. package/dist/esm/core/agent/types.d.ts +11 -0
  84. package/dist/esm/hosting/httpHost.d.ts +121 -0
  85. package/dist/esm/hosting/httpHost.js +248 -0
  86. package/dist/esm/hosting/httpHost.js.map +1 -0
  87. package/dist/esm/hosting/index.d.ts +8 -1
  88. package/dist/esm/hosting/index.js +7 -1
  89. package/dist/esm/hosting/index.js.map +1 -1
  90. package/dist/esm/hosting/nodeHost.d.ts +23 -16
  91. package/dist/esm/hosting/nodeHost.js +32 -199
  92. package/dist/esm/hosting/nodeHost.js.map +1 -1
  93. package/dist/esm/hosting-providers.d.ts +50 -0
  94. package/dist/esm/hosting-providers.js +50 -0
  95. package/dist/esm/hosting-providers.js.map +1 -0
  96. package/dist/esm/index.d.ts +1 -0
  97. package/dist/esm/index.js +5 -0
  98. package/dist/esm/index.js.map +1 -1
  99. package/dist/esm/lib/mcp/gatewayTransport.d.ts +103 -0
  100. package/dist/esm/lib/mcp/gatewayTransport.js +123 -0
  101. package/dist/esm/lib/mcp/gatewayTransport.js.map +1 -0
  102. package/dist/esm/lib/mcp/index.d.ts +2 -1
  103. package/dist/esm/lib/mcp/index.js +1 -0
  104. package/dist/esm/lib/mcp/index.js.map +1 -1
  105. package/dist/esm/lib/mcp/mcpClient.js +10 -2
  106. package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
  107. package/dist/esm/lib/mcp/types.d.ts +45 -1
  108. package/dist/esm/memory/store/types.d.ts +22 -0
  109. package/dist/esm/memory-providers.d.ts +1 -1
  110. package/dist/esm/memory-providers.js.map +1 -1
  111. package/dist/esm/recorders/core/CompactionMeter.d.ts +78 -0
  112. package/dist/esm/recorders/core/CompactionMeter.js +101 -0
  113. package/dist/esm/recorders/core/CompactionMeter.js.map +1 -0
  114. package/dist/esm/security/index.d.ts +10 -1
  115. package/dist/esm/security/index.js +14 -1
  116. package/dist/esm/security/index.js.map +1 -1
  117. package/dist/esm/tool-providers/index.d.ts +6 -2
  118. package/dist/esm/tool-providers/index.js +5 -1
  119. package/dist/esm/tool-providers/index.js.map +1 -1
  120. package/dist/hosting/httpHost.js +276 -0
  121. package/dist/hosting/httpHost.js.map +1 -0
  122. package/dist/hosting/index.js +10 -1
  123. package/dist/hosting/index.js.map +1 -1
  124. package/dist/hosting/nodeHost.js +34 -224
  125. package/dist/hosting/nodeHost.js.map +1 -1
  126. package/dist/hosting-providers.js +57 -0
  127. package/dist/hosting-providers.js.map +1 -0
  128. package/dist/index.js +13 -5
  129. package/dist/index.js.map +1 -1
  130. package/dist/lib/mcp/gatewayTransport.js +129 -0
  131. package/dist/lib/mcp/gatewayTransport.js.map +1 -0
  132. package/dist/lib/mcp/index.js +4 -1
  133. package/dist/lib/mcp/index.js.map +1 -1
  134. package/dist/lib/mcp/mcpClient.js +10 -2
  135. package/dist/lib/mcp/mcpClient.js.map +1 -1
  136. package/dist/memory-providers.js.map +1 -1
  137. package/dist/recorders/core/CompactionMeter.js +105 -0
  138. package/dist/recorders/core/CompactionMeter.js.map +1 -0
  139. package/dist/security/index.js +16 -2
  140. package/dist/security/index.js.map +1 -1
  141. package/dist/tool-providers/index.js +7 -1
  142. package/dist/tool-providers/index.js.map +1 -1
  143. package/dist/types/adapters/hosting/agentcore.d.ts +200 -0
  144. package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -0
  145. package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
  146. package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
  147. package/dist/types/adapters/memory/agentcore.d.ts +88 -2
  148. package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
  149. package/dist/types/adapters/security/agentcore.d.ts +158 -0
  150. package/dist/types/adapters/security/agentcore.d.ts.map +1 -0
  151. package/dist/types/conventions.d.ts +7 -0
  152. package/dist/types/conventions.d.ts.map +1 -1
  153. package/dist/types/core/Agent.d.ts +8 -1
  154. package/dist/types/core/Agent.d.ts.map +1 -1
  155. package/dist/types/core/agent/AgentBuilder.d.ts +43 -0
  156. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  157. package/dist/types/core/agent/buildAgentChart.d.ts +13 -0
  158. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  159. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  160. package/dist/types/core/agent/compaction/errors.d.ts +27 -0
  161. package/dist/types/core/agent/compaction/errors.d.ts.map +1 -0
  162. package/dist/types/core/agent/compaction/index.d.ts +19 -0
  163. package/dist/types/core/agent/compaction/index.d.ts.map +1 -0
  164. package/dist/types/core/agent/compaction/strategy.d.ts +104 -0
  165. package/dist/types/core/agent/compaction/strategy.d.ts.map +1 -0
  166. package/dist/types/core/agent/compaction/summarize.d.ts +62 -0
  167. package/dist/types/core/agent/compaction/summarize.d.ts.map +1 -0
  168. package/dist/types/core/agent/compaction/turns.d.ts +86 -0
  169. package/dist/types/core/agent/compaction/turns.d.ts.map +1 -0
  170. package/dist/types/core/agent/compaction/types.d.ts +149 -0
  171. package/dist/types/core/agent/compaction/types.d.ts.map +1 -0
  172. package/dist/types/core/agent/stages/compact.d.ts +60 -0
  173. package/dist/types/core/agent/stages/compact.d.ts.map +1 -0
  174. package/dist/types/core/agent/types.d.ts +11 -0
  175. package/dist/types/core/agent/types.d.ts.map +1 -1
  176. package/dist/types/hosting/httpHost.d.ts +122 -0
  177. package/dist/types/hosting/httpHost.d.ts.map +1 -0
  178. package/dist/types/hosting/index.d.ts +8 -1
  179. package/dist/types/hosting/index.d.ts.map +1 -1
  180. package/dist/types/hosting/nodeHost.d.ts +23 -16
  181. package/dist/types/hosting/nodeHost.d.ts.map +1 -1
  182. package/dist/types/hosting-providers.d.ts +51 -0
  183. package/dist/types/hosting-providers.d.ts.map +1 -0
  184. package/dist/types/index.d.ts +1 -0
  185. package/dist/types/index.d.ts.map +1 -1
  186. package/dist/types/lib/mcp/gatewayTransport.d.ts +104 -0
  187. package/dist/types/lib/mcp/gatewayTransport.d.ts.map +1 -0
  188. package/dist/types/lib/mcp/index.d.ts +2 -1
  189. package/dist/types/lib/mcp/index.d.ts.map +1 -1
  190. package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
  191. package/dist/types/lib/mcp/types.d.ts +45 -1
  192. package/dist/types/lib/mcp/types.d.ts.map +1 -1
  193. package/dist/types/memory/store/types.d.ts +22 -0
  194. package/dist/types/memory/store/types.d.ts.map +1 -1
  195. package/dist/types/memory-providers.d.ts +1 -1
  196. package/dist/types/memory-providers.d.ts.map +1 -1
  197. package/dist/types/recorders/core/CompactionMeter.d.ts +79 -0
  198. package/dist/types/recorders/core/CompactionMeter.d.ts.map +1 -0
  199. package/dist/types/security/index.d.ts +10 -1
  200. package/dist/types/security/index.d.ts.map +1 -1
  201. package/dist/types/tool-providers/index.d.ts +6 -2
  202. package/dist/types/tool-providers/index.d.ts.map +1 -1
  203. package/package.json +14 -1
@@ -27,9 +27,15 @@
27
27
  * AgentCore's ids are server-assigned. **O(events in session)** — fine for typical
28
28
  * window sizes; if you need O(1) keyed access at scale, use RedisStore.
29
29
  * • `forget` → `ListEvents` + `DeleteEvent` per event (no `DeleteSession` on AgentCore).
30
- * • `search` → still unwired (AgentCore's `RetrieveMemoryRecords` lands as a later helper).
30
+ * • `search` → `RetrieveMemoryRecords`, **text-in**. AgentCore embeds and ranks on its
31
+ * own side, so it takes a natural-language query; the port's `search()` takes a
32
+ * vector. Pass `options.text` and this store serves the query; omit it and it refuses
33
+ * by name rather than ranking an empty set. See `search()` below for the whole story.
31
34
  * • `putIfVersion` / `seen` / `feedback` → in-process emulation (AgentCore has no native
32
35
  * CAS / dedup / feedback primitive; these don't survive process restart).
36
+ * • no `stream()` — AgentCore Memory has no streaming data-plane operation, and the
37
+ * `MemoryStore` port has no streaming method to implement. Inventing one for a single
38
+ * backend is how a port stops being a port.
33
39
  *
34
40
  * Role: Outer ring. Lazy-requires the AWS SDK; zero runtime cost when another adapter is
35
41
  * in use. Emits: N/A (storage adapters don't emit).
@@ -55,6 +61,8 @@ export class AgentCoreStore {
55
61
  client;
56
62
  memoryId;
57
63
  pageSize;
64
+ searchNamespace;
65
+ searchStrategyId;
58
66
  closed = false;
59
67
  // In-process shadow state for things AgentCore doesn't surface natively.
60
68
  signatures = new Map();
@@ -64,6 +72,10 @@ export class AgentCoreStore {
64
72
  throw new Error('AgentCoreStore requires `memoryId`.');
65
73
  this.memoryId = options.memoryId;
66
74
  this.pageSize = options.pageSize ?? 100;
75
+ this.searchNamespace =
76
+ options.searchNamespace ??
77
+ (({ actorId, sessionId }) => `/actors/${actorId}/sessions/${sessionId}`);
78
+ this.searchStrategyId = options.searchStrategyId;
67
79
  if (options._client)
68
80
  this.client = options._client;
69
81
  else if (options.client)
@@ -224,6 +236,90 @@ export class AgentCoreStore {
224
236
  this.feedbackBag.delete(key);
225
237
  }
226
238
  }
239
+ /**
240
+ * Server-side semantic retrieval over AgentCore's extracted memory records
241
+ * (`RetrieveMemoryRecords`).
242
+ *
243
+ * ── Read this before you call it ─────────────────────────────────────────
244
+ * **It takes TEXT, not the vector.** AgentCore embeds and ranks on its own
245
+ * side, so `query` — the port's vector — is unusable here, and the query it
246
+ * actually needs travels in `options.text`. Omit that and this method throws
247
+ * a corrective error naming what is missing, because the alternative is
248
+ * ranking nothing and handing back `[]`, which reads as "no matches" when it
249
+ * really means "wrong query form". Pass both and every store can serve you:
250
+ * local-ranking backends use the vector and ignore the text.
251
+ *
252
+ * **It searches a DIFFERENT population than `list()`.** `list` returns the
253
+ * events this store wrote. This returns the records AgentCore's extraction
254
+ * strategies derived FROM those events — summaries, semantic facts, user
255
+ * preferences. The ids therefore belong to AgentCore, not to entries you
256
+ * `put()`, and `store.get(entry.id)` will not find them. They arrive as
257
+ * entries so ranking code needs no special case, with `metadata.source`
258
+ * saying plainly where they came from.
259
+ *
260
+ * Filters: `searchStrategyId` and the namespace reach AgentCore's own side;
261
+ * `k`, `minScore` and `tiers` are applied to what comes back.
262
+ *
263
+ * @throws when `options.text` is absent, or when the client cannot retrieve.
264
+ */
265
+ async search(identity, query, options = {}) {
266
+ this.ensureOpen('search');
267
+ const text = options.text?.trim();
268
+ if (!text) {
269
+ throw new Error('AgentCoreStore.search() needs the query as TEXT, in `options.text`.\n' +
270
+ ` AgentCore embeds and ranks server-side (RetrieveMemoryRecords), so the ${query.length}-dimension\n` +
271
+ ' vector this method was handed cannot be sent anywhere — and returning [] would look\n' +
272
+ ' like "no matches" rather than "wrong query form".\n' +
273
+ ' Fix: store.search(identity, vector, { text: theUserQuestion })\n' +
274
+ ' Backends that rank locally ignore `text`, so passing both is always safe.');
275
+ }
276
+ if (!this.client.retrieveRecords) {
277
+ throw new Error('AgentCoreStore.search() requires a client that implements `retrieveRecords`.\n' +
278
+ ' The built-in client does; a custom or older injected `client` / `_client` may not.');
279
+ }
280
+ const scope = this.scope(identity);
281
+ const k = options.k ?? 10;
282
+ const page = await this.client.retrieveRecords({
283
+ memoryId: this.memoryId,
284
+ namespace: this.searchNamespace({ actorId: scope.actorId, sessionId: scope.sessionId }),
285
+ searchQuery: text,
286
+ maxResults: k,
287
+ ...(this.searchStrategyId !== undefined && { memoryStrategyId: this.searchStrategyId }),
288
+ });
289
+ const scored = [];
290
+ for (const record of page.records) {
291
+ const score = record.score ?? 0;
292
+ if (options.minScore !== undefined && score < options.minScore)
293
+ continue;
294
+ // AgentCore records carry no tier. A tier filter therefore excludes them
295
+ // all rather than silently ignoring the filter the caller asked for.
296
+ if (options.tiers && options.tiers.length > 0)
297
+ continue;
298
+ const createdAt = record.createdAt ?? Date.now();
299
+ const entry = {
300
+ id: record.memoryRecordId,
301
+ value: record.content,
302
+ version: 1,
303
+ createdAt,
304
+ updatedAt: createdAt,
305
+ lastAccessedAt: Date.now(),
306
+ accessCount: 0,
307
+ metadata: {
308
+ // Says plainly that this did not come from an event this store wrote.
309
+ source: 'agentcore-memory-record',
310
+ ...(record.memoryStrategyId !== undefined && {
311
+ memoryStrategyId: record.memoryStrategyId,
312
+ }),
313
+ ...(record.namespace !== undefined && { namespace: record.namespace }),
314
+ },
315
+ };
316
+ scored.push({ entry, score });
317
+ }
318
+ // AgentCore returns its own ranking; re-sort anyway so the port's
319
+ // "descending by score" holds even if a future API version reorders.
320
+ scored.sort((a, b) => b.score !== a.score ? b.score - a.score : a.entry.id < b.entry.id ? -1 : 1);
321
+ return scored.slice(0, k);
322
+ }
227
323
  async close() {
228
324
  if (this.closed)
229
325
  return;
@@ -318,6 +414,34 @@ function createAgentCoreClient(region, injected) {
318
414
  eventId,
319
415
  });
320
416
  },
417
+ async retrieveRecords({ memoryId, namespace, searchQuery, maxResults, memoryStrategyId }) {
418
+ // AgentCore nests the query under `searchCriteria`; the strategy id is the
419
+ // metadata filter that reaches its side rather than being applied after.
420
+ const r = (await send(mod.RetrieveMemoryRecordsCommand, 'RetrieveMemoryRecordsCommand', {
421
+ memoryId,
422
+ namespace,
423
+ searchCriteria: {
424
+ searchQuery,
425
+ ...(maxResults !== undefined && { topK: maxResults }),
426
+ ...(memoryStrategyId !== undefined && { memoryStrategyId }),
427
+ },
428
+ ...(maxResults !== undefined && { maxResults }),
429
+ }));
430
+ const records = (r?.memoryRecordSummaries ?? []).map((s) => {
431
+ const content = typeof s.content === 'string' ? s.content : s.content?.text ?? '';
432
+ const namespaceValue = Array.isArray(s.namespace) ? s.namespace[0] : s.namespace;
433
+ const createdAt = s.createdAt === undefined ? undefined : new Date(s.createdAt).getTime();
434
+ return {
435
+ memoryRecordId: s.memoryRecordId ?? '',
436
+ content,
437
+ ...(typeof s.score === 'number' && { score: s.score }),
438
+ ...(s.memoryStrategyId !== undefined && { memoryStrategyId: s.memoryStrategyId }),
439
+ ...(typeof namespaceValue === 'string' && { namespace: namespaceValue }),
440
+ ...(createdAt !== undefined && Number.isFinite(createdAt) && { createdAt }),
441
+ };
442
+ });
443
+ return { records };
444
+ },
321
445
  };
322
446
  }
323
447
  //# sourceMappingURL=agentcore.js.map
@@ -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,157 @@
1
+ /**
2
+ * agentCorePolicy — AWS Bedrock **AgentCore Policy** adapter for the
3
+ * {@link PermissionChecker} port (peer-dep `@aws-sdk/client-bedrock-agentcore`).
4
+ *
5
+ * import { agentCorePolicy } from 'agentfootprint/security';
6
+ *
7
+ * const agent = Agent.create({
8
+ * provider,
9
+ * model,
10
+ * permissionChecker: agentCorePolicy({ policyStoreId: process.env.POLICY_STORE_ID! }),
11
+ * }).build();
12
+ *
13
+ * Maps one port method onto one data-plane call: every attempted tool call
14
+ * becomes a policy evaluation, and the returned decision becomes a
15
+ * `PermissionDecision`. Nothing else.
16
+ *
17
+ * ── The three rules this adapter is written under ────────────────────────────
18
+ *
19
+ * **1. Fail closed.** A policy engine you cannot reach has not said yes. When
20
+ * evaluation throws — network, credentials, a renamed field, a policy store
21
+ * that does not exist — the decision is `deny`, and it says so in words a
22
+ * human can act on. `onUnavailable: 'allow-with-warning'` is available for
23
+ * teams rolling policy out gradually, and it is deliberately awkward to type,
24
+ * because "we could not check, so we allowed it" is a sentence you should have
25
+ * to write down on purpose.
26
+ *
27
+ * **2. The reason rides to the model AS DATA.** A denied tool call comes back
28
+ * to the LLM as a `tellLLM` string, not as an exception. The model then
29
+ * re-decides with the refusal in front of it, which is the difference between
30
+ * an agent that says "I am not allowed to do that" and a run that dies.
31
+ * Telemetry (`reason`) stays out of `tellLLM` — the model does not get taught
32
+ * the shape of the rule space.
33
+ *
34
+ * **3. One evaluation per (tool, principal) per turn.** The ReAct loop can put
35
+ * the same tool in front of the gate several times in one iteration; paying for
36
+ * a round-trip each time buys nothing, because nothing between them could have
37
+ * changed the answer. The cache key is the tool, the principal AND the
38
+ * iteration, so the NEXT turn re-asks — a policy that changed mid-conversation
39
+ * is honoured on the next turn rather than at the end of the run.
40
+ *
41
+ * ── Verification status, stated plainly ──────────────────────────────────────
42
+ * **Contract-mapped and injection-tested.** Every AWS interaction is exercised
43
+ * through the `_client` seam; no test in this repo reaches AWS, and none
44
+ * pretends to. Confirm the command and field names against your installed
45
+ * `@aws-sdk/client-bedrock-agentcore` — this adapter targets an
46
+ * evaluate-a-request shape and is structured so the request → decision mapping
47
+ * is unit-tested independently of the SDK. Real-cloud verification lands with a
48
+ * field deployment.
49
+ *
50
+ * Pattern: Adapter (GoF) + lazy peer-dep load. Role: Layer-3 cross-cutting
51
+ * guard, exactly where `PermissionPolicy` sits — this one just asks somebody
52
+ * else.
53
+ */
54
+ import type { PermissionChecker } from '../types.js';
55
+ /** What the policy engine answered. */
56
+ export interface AgentCorePolicyEvaluation {
57
+ /**
58
+ * The engine's verdict. Compared case-insensitively against `'allow'`;
59
+ * ANYTHING else is a denial, including a value this adapter has never seen.
60
+ * An unrecognised verdict is not a permission.
61
+ */
62
+ readonly decision: string;
63
+ /** Why, when the engine explains itself. Surfaces to the model on a denial. */
64
+ readonly reason?: string;
65
+ /** Which policy decided, for the audit trail. */
66
+ readonly policyId?: string;
67
+ }
68
+ /**
69
+ * The minimal surface this adapter calls. The real SDK client is adapted to it
70
+ * in one function below; tests inject a fake via `_client` and never touch AWS.
71
+ */
72
+ export interface AgentCorePolicyClientLike {
73
+ evaluate(input: {
74
+ readonly policyStoreId: string;
75
+ /** Who is acting — the end user when the run carries one, else the agent. */
76
+ readonly principal: string;
77
+ /** What they are trying to do — the tool name for a tool call. */
78
+ readonly action: string;
79
+ /** What they are trying to do it to — the capability being exercised. */
80
+ readonly resource: string;
81
+ /** Everything else the policy may want to read. */
82
+ readonly context?: Readonly<Record<string, unknown>>;
83
+ }): Promise<AgentCorePolicyEvaluation>;
84
+ }
85
+ /** What to do when the policy engine cannot be reached or answers unintelligibly. */
86
+ export type AgentCorePolicyUnavailable = 'deny' | 'allow-with-warning';
87
+ /** Options for {@link agentCorePolicy}. */
88
+ export interface AgentCorePolicyOptions {
89
+ /** The AgentCore policy store to evaluate against. Required. */
90
+ readonly policyStoreId: string;
91
+ /** AWS region, when the adapter constructs the SDK client itself. */
92
+ readonly region?: string;
93
+ /**
94
+ * What an evaluation FAILURE means. Default `'deny'` — fail closed.
95
+ *
96
+ * `'allow-with-warning'` allows the call and reports the failure through
97
+ * `onWarning`, for a rollout where the policy store is not yet the source of
98
+ * truth. It never applies to a successful evaluation that said no: an
99
+ * explicit denial is always a denial.
100
+ */
101
+ readonly onUnavailable?: AgentCorePolicyUnavailable;
102
+ /**
103
+ * Called when `onUnavailable: 'allow-with-warning'` lets a call through.
104
+ * Default: `console.warn`. Give it your logger so the allow-on-failure is
105
+ * something an on-call engineer can find later.
106
+ */
107
+ readonly onWarning?: (message: string, error: Error) => void;
108
+ /**
109
+ * Derive the policy principal from the run's identity. Default:
110
+ * `identity.principal`, else `identity.tenant`, else `'agent'`.
111
+ *
112
+ * The default is also the cache key, so a checker shared across users never
113
+ * hands one user's decision to another.
114
+ */
115
+ readonly principalFor?: (identity: {
116
+ readonly principal?: string;
117
+ readonly tenant?: string;
118
+ } | undefined) => string;
119
+ /** Stable name, surfaced on permission events. Default `'agentCorePolicy'`. */
120
+ readonly name?: string;
121
+ /** Most decisions to keep cached at once. Default 500. Oldest are evicted first. */
122
+ readonly cacheSize?: number;
123
+ /** @internal Test injection — skips the SDK require entirely. */
124
+ readonly _client?: AgentCorePolicyClientLike;
125
+ /** @internal Test injection — the AWS SDK module, to exercise the real shim with a fake SDK. */
126
+ readonly _sdk?: BedrockAgentCorePolicySdkModule;
127
+ }
128
+ /**
129
+ * A `PermissionChecker` backed by an AgentCore policy store.
130
+ *
131
+ * Composes with everything already in the box and knows about none of it. In
132
+ * particular `gatedTools(...)` is a DIFFERENT layer and stays untouched: the
133
+ * gate decides what the model is shown, this decides what actually runs, and
134
+ * neither needs to be told the other exists. A tool hidden by a gate is never
135
+ * evaluated (the model cannot call what it cannot see); a tool the gate shows
136
+ * still has to get past the policy.
137
+ *
138
+ * @example Fail closed (the default)
139
+ * permissionChecker: agentCorePolicy({ policyStoreId, region: 'us-west-2' })
140
+ *
141
+ * @example Rolling policy out, with the allow-on-failure logged where you can find it
142
+ * agentCorePolicy({
143
+ * policyStoreId,
144
+ * onUnavailable: 'allow-with-warning',
145
+ * onWarning: (message, error) => logger.warn({ err: error }, message),
146
+ * });
147
+ */
148
+ export declare function agentCorePolicy(options: AgentCorePolicyOptions): PermissionChecker;
149
+ /** The slice of `@aws-sdk/client-bedrock-agentcore` this shim touches. */
150
+ export interface BedrockAgentCorePolicySdkModule {
151
+ readonly BedrockAgentCoreClient?: new (config: {
152
+ region?: string;
153
+ }) => {
154
+ send(cmd: unknown): Promise<unknown>;
155
+ };
156
+ readonly EvaluatePolicyCommand?: new (input: unknown) => unknown;
157
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/security/agentcore.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,13 @@ export declare const STAGE_IDS: {
88
88
  readonly FORMAT_MERGE: "format-merge";
89
89
  readonly MERGE_LLM: "merge-llm";
90
90
  readonly EXTRACT_MERGE: "extract-merge";
91
+ /** Context-compaction stage (7.16). Mounted ONLY when `.compaction()` is
92
+ * configured, and when it is, it BECOMES the ReAct loop target — so it
93
+ * runs once per iteration boundary and everything downstream in the turn
94
+ * (injection triggers, all 3 slots, the wire) sees one window. Without
95
+ * `.compaction()` the stage does not exist and the loop target is
96
+ * unchanged. */
97
+ readonly COMPACT: "compact";
91
98
  /** Updates the rolling skill-history window before CacheGate
92
99
  * evaluates skill-churn (v2.6). */
93
100
  readonly UPDATE_SKILL_HISTORY: "update-skill-history";
@@ -87,6 +87,13 @@ export const STAGE_IDS = {
87
87
  FORMAT_MERGE: 'format-merge',
88
88
  MERGE_LLM: 'merge-llm',
89
89
  EXTRACT_MERGE: 'extract-merge',
90
+ /** Context-compaction stage (7.16). Mounted ONLY when `.compaction()` is
91
+ * configured, and when it is, it BECOMES the ReAct loop target — so it
92
+ * runs once per iteration boundary and everything downstream in the turn
93
+ * (injection triggers, all 3 slots, the wire) sees one window. Without
94
+ * `.compaction()` the stage does not exist and the loop target is
95
+ * unchanged. */
96
+ COMPACT: 'compact',
90
97
  /** Updates the rolling skill-history window before CacheGate
91
98
  * evaluates skill-churn (v2.6). */
92
99
  UPDATE_SKILL_HISTORY: 'update-skill-history',
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/conventions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/conventions.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ import { type CombinedNarrativeEntry, type FlowchartCheckpoint, type ObserverDra
17
17
  import type { CachePolicy, CacheStrategy } from '../cache/types.js';
18
18
  import type { ReliabilityConfig } from '../reliability/types.js';
19
19
  import { type RunnerPauseOutcome } from './pause.js';
20
+ import type { ResolvedCompaction } from './agent/compaction/types.js';
20
21
  import { type CheckInBuilderOptions } from './checkin.js';
21
22
  import type { MemoryDefinition } from '../memory/define.types.js';
22
23
  import type { Injection, InjectionContext } from '../lib/injection-engine/types.js';
@@ -114,6 +115,12 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
114
115
  * that never called it — and the chart is then built exactly as before,
115
116
  * with no scope writes and no scope reads added. */
116
117
  private readonly runConfigFn?;
118
+ /** Resolved `.compaction()` config. Undefined = no compaction stage, loop
119
+ * target unchanged, run byte-identical to an agent without it. */
120
+ private readonly compaction?;
121
+ /** The instrument the compaction stage reads mid-run (adapter-reported
122
+ * usage + per-message provenance). Only ever created alongside `compaction`. */
123
+ private readonly compactionMeterHandle?;
117
124
  /** Snapshot read-tracking policy (#18/#14) — forwarded to the internal
118
125
  * executor. Agent default is `'summary'` (cheap markers), NOT
119
126
  * footprintjs's `'full'`. See AgentOptions.readTracking. */
@@ -228,7 +235,7 @@ export declare class Agent extends RunnerBase<AgentInput, AgentOutput> {
228
235
  readonly appName: string;
229
236
  readonly commentaryTemplates: Readonly<Record<string, string>>;
230
237
  readonly thinkingTemplates: Readonly<Record<string, string>>;
231
- }, injections?: readonly Injection[], memories?: readonly MemoryDefinition[], outputSchemaParser?: OutputSchemaParser<unknown>, toolProvider?: ToolProvider, systemPromptCachePolicy?: CachePolicy, cachingDisabled?: boolean, cacheStrategy?: CacheStrategy, outputFallbackCfg?: ResolvedOutputFallback<unknown>, reliabilityConfig?: ReliabilityConfig, thinkingHandlerValue?: ThinkingHandler | null, thinkingBudgetValue?: number, skillGraphNextSkill?: (ctx: InjectionContext) => string | undefined, skillGraphReachable?: (currentSkillId?: string) => readonly string[], skillGraphScoreEntries?: (ctx: InjectionContext, signal?: AbortSignal) => Promise<EntryScoring>, checkInOptions?: CheckInBuilderOptions, runConfigFn?: RunConfigFn);
238
+ }, injections?: readonly Injection[], memories?: readonly MemoryDefinition[], outputSchemaParser?: OutputSchemaParser<unknown>, toolProvider?: ToolProvider, systemPromptCachePolicy?: CachePolicy, cachingDisabled?: boolean, cacheStrategy?: CacheStrategy, outputFallbackCfg?: ResolvedOutputFallback<unknown>, reliabilityConfig?: ReliabilityConfig, thinkingHandlerValue?: ThinkingHandler | null, thinkingBudgetValue?: number, skillGraphNextSkill?: (ctx: InjectionContext) => string | undefined, skillGraphReachable?: (currentSkillId?: string) => readonly string[], skillGraphScoreEntries?: (ctx: InjectionContext, signal?: AbortSignal) => Promise<EntryScoring>, checkInOptions?: CheckInBuilderOptions, runConfigFn?: RunConfigFn, compaction?: ResolvedCompaction);
232
239
  static create(opts: AgentOptions): AgentBuilder;
233
240
  /**
234
241
  * Cache policy for the base system prompt. Read by the CacheDecision
@@ -35,6 +35,10 @@ import { toolsRecorder } from '../recorders/core/ToolsRecorder.js';
35
35
  import { reliabilityRecorder } from '../recorders/core/ReliabilityRecorder.js';
36
36
  import { resilienceRecorder } from '../recorders/core/ResilienceRecorder.js';
37
37
  import { checkInEventsBridge } from '../recorders/core/CheckInRecorder.js';
38
+ import { compactionMeter } from '../recorders/core/CompactionMeter.js';
39
+ import { EmitBridge } from '../recorders/core/EmitBridge.js';
40
+ import { buildCompactStage } from './agent/stages/compact.js';
41
+ import { CompactionUnmeasurableError } from './agent/compaction/errors.js';
38
42
  import { resolveCheckInConfig, } from './checkin.js';
39
43
  import { causalEvidenceRecorder, } from '../memory/causal/evidenceRecorder.js';
40
44
  import { buildSystemPromptSlot } from './slots/buildSystemPromptSlot.js';
@@ -122,6 +126,12 @@ export class Agent extends RunnerBase {
122
126
  * that never called it — and the chart is then built exactly as before,
123
127
  * with no scope writes and no scope reads added. */
124
128
  runConfigFn;
129
+ /** Resolved `.compaction()` config. Undefined = no compaction stage, loop
130
+ * target unchanged, run byte-identical to an agent without it. */
131
+ compaction;
132
+ /** The instrument the compaction stage reads mid-run (adapter-reported
133
+ * usage + per-message provenance). Only ever created alongside `compaction`. */
134
+ compactionMeterHandle;
125
135
  /** Snapshot read-tracking policy (#18/#14) — forwarded to the internal
126
136
  * executor. Agent default is `'summary'` (cheap markers), NOT
127
137
  * footprintjs's `'full'`. See AgentOptions.readTracking. */
@@ -246,7 +256,7 @@ export class Agent extends RunnerBase {
246
256
  * sf-llm-call subflow for richer Lens grouping). Set from `opts.reactMode`.
247
257
  * See AgentOptions. */
248
258
  reactMode;
249
- constructor(opts, systemPromptValue, registry, voice, injections = [], memories = [], outputSchemaParser, toolProvider, systemPromptCachePolicy = 'always', cachingDisabled = false, cacheStrategy, outputFallbackCfg, reliabilityConfig, thinkingHandlerValue, thinkingBudgetValue, skillGraphNextSkill, skillGraphReachable, skillGraphScoreEntries, checkInOptions, runConfigFn) {
259
+ constructor(opts, systemPromptValue, registry, voice, injections = [], memories = [], outputSchemaParser, toolProvider, systemPromptCachePolicy = 'always', cachingDisabled = false, cacheStrategy, outputFallbackCfg, reliabilityConfig, thinkingHandlerValue, thinkingBudgetValue, skillGraphNextSkill, skillGraphReachable, skillGraphScoreEntries, checkInOptions, runConfigFn, compaction) {
250
260
  super();
251
261
  this.provider = opts.provider;
252
262
  this.name = opts.name ?? 'Agent';
@@ -301,6 +311,13 @@ export class Agent extends RunnerBase {
301
311
  this.checkInConfig = resolveCheckInConfig(checkInOptions);
302
312
  if (runConfigFn !== undefined)
303
313
  this.runConfigFn = runConfigFn;
314
+ // `.compaction()`: the meter is created ONCE per agent (attached per run,
315
+ // cleared between runs like every other recorder) because the compaction
316
+ // stage closes over it at chart-build time — and the chart is built once.
317
+ if (compaction !== undefined) {
318
+ this.compaction = compaction;
319
+ this.compactionMeterHandle = compactionMeter();
320
+ }
304
321
  // Default 'summary' — measurement-gated (#18): stageReads values have
305
322
  // zero consumers across af/lens/eui, and 'full' clones ~18MB of unread
306
323
  // data per 200 iterations. Consumers opt into 'full' explicitly.
@@ -571,7 +588,11 @@ export class Agent extends RunnerBase {
571
588
  const isTerminalTypedError = cause instanceof Error &&
572
589
  (cause.name === 'PauseSignal' ||
573
590
  cause instanceof PolicyHaltError ||
574
- cause instanceof ReliabilityFailFastError);
591
+ cause instanceof ReliabilityFailFastError ||
592
+ // A provider that reports no usage will report none on resume
593
+ // either — wrapping this in a checkpoint would invite the caller to
594
+ // retry into the same wall.
595
+ cause instanceof CompactionUnmeasurableError);
575
596
  if (cause instanceof Error && !isTerminalTypedError && tracker.history.length > 0) {
576
597
  const checkpoint = buildCheckpoint(tracker, {
577
598
  iteration: tracker.inFlightIteration ?? tracker.lastCompletedIteration + 1,
@@ -788,6 +809,24 @@ export class Agent extends RunnerBase {
788
809
  // events, persisting an incomplete causal snapshot.
789
810
  if (this.causalEvidence)
790
811
  executor.attachCombinedRecorder(this.causalEvidence);
812
+ // Compaction's instrument. ALWAYS INLINE, for the same reason the evidence
813
+ // bridge is: the compaction stage reads it MID-run, at the loop head, to
814
+ // decide whether this iteration's window is over budget. A measurement
815
+ // delivered one beat behind would be a measurement of the wrong window.
816
+ if (this.compactionMeterHandle) {
817
+ executor.attachCombinedRecorder(this.compactionMeterHandle);
818
+ // Folds speak the context vocabulary consumers already subscribe to
819
+ // (`context.evicted` / `context.budget_pressure`) — no new event types.
820
+ // ContextRecorder only dispatches those from writes INSIDE a slot
821
+ // subflow, and the compaction stage is not one, so it emits them and
822
+ // this bridge forwards them (the `contextEvaluatedRecorder` pattern).
823
+ attachObserver(new EmitBridge({
824
+ dispatcher,
825
+ id: 'af-compaction-events',
826
+ prefix: ['agentfootprint.context.evicted', 'agentfootprint.context.budget_pressure'],
827
+ getRunContext: getRunCtx,
828
+ }));
829
+ }
791
830
  // The InjectionEngine typedEmits context.evaluated; this bridge forwards it
792
831
  // to the dispatcher (ContextRecorder handles the write-derived context.*).
793
832
  attachObserver(contextEvaluatedRecorder({ dispatcher, getRunContext: getRunCtx }));
@@ -1077,6 +1116,20 @@ export class Agent extends RunnerBase {
1077
1116
  // JSDoc for why this is a build-time flag and not a runtime fallback.
1078
1117
  ...(this.runConfigFn && { runConfigured: true }),
1079
1118
  });
1119
+ // Compaction stage (7.16) — built ONLY when `.compaction()` was called.
1120
+ // When present it becomes the ReAct loop target (see the chart builders),
1121
+ // so it runs once per iteration boundary with the previous call's
1122
+ // adapter-reported usage already measured by the meter.
1123
+ const compactStage = this.compaction && this.compactionMeterHandle
1124
+ ? buildCompactStage({
1125
+ config: this.compaction,
1126
+ meter: this.compactionMeterHandle,
1127
+ defaultModel: model,
1128
+ providerName: provider.name,
1129
+ ...(pricingTable !== undefined && { pricingTable }),
1130
+ ...(costBudget !== undefined && { costBudget }),
1131
+ })
1132
+ : undefined;
1080
1133
  // routeDecider extracted to ./agent/stages/route.ts (v2.11.2).
1081
1134
  const routeDecider = routeDeciderStage;
1082
1135
  // toolCallsHandler extracted to ./agent/stages/toolCalls.ts (v2.11.2).
@@ -1122,6 +1175,7 @@ export class Agent extends RunnerBase {
1122
1175
  toolsSubflow,
1123
1176
  ...(thinkingSubflow !== undefined && { thinkingSubflow }),
1124
1177
  updateSkillHistoryStage,
1178
+ ...(compactStage !== undefined && { compactStage }),
1125
1179
  // Gate the UpdateSkillHistory stage on skills being registered —
1126
1180
  // same idiom buildToolRegistry uses to auto-attach `read_skill`.
1127
1181
  hasSkills: this.injections.some((i) => i.flavor === 'skill'),