@strands-agents/sdk 1.5.0 → 1.7.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 (232) hide show
  1. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  2. package/dist/src/__fixtures__/agent-helpers.js +3 -0
  3. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  4. package/dist/src/agent/__tests__/agent.context-manager.test.js +0 -1
  5. package/dist/src/agent/__tests__/agent.context-manager.test.js.map +1 -1
  6. package/dist/src/agent/__tests__/agent.stateful-model.test.js +2 -2
  7. package/dist/src/agent/__tests__/agent.stateful-model.test.js.map +1 -1
  8. package/dist/src/agent/agent.d.ts +8 -5
  9. package/dist/src/agent/agent.d.ts.map +1 -1
  10. package/dist/src/agent/agent.js +60 -33
  11. package/dist/src/agent/agent.js.map +1 -1
  12. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +19 -0
  13. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -0
  14. package/dist/src/context-manager/modes/agentic/agentic-context.js +245 -0
  15. package/dist/src/context-manager/modes/agentic/agentic-context.js.map +1 -0
  16. package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts +2 -0
  17. package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts.map +1 -0
  18. package/dist/src/conversation-manager/__tests__/agentic-context.test.js +332 -0
  19. package/dist/src/conversation-manager/__tests__/agentic-context.test.js.map +1 -0
  20. package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts +2 -0
  21. package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts.map +1 -0
  22. package/dist/src/conversation-manager/__tests__/context-compression.test.js +176 -0
  23. package/dist/src/conversation-manager/__tests__/context-compression.test.js.map +1 -0
  24. package/dist/src/conversation-manager/__tests__/pin.test.js +1 -1
  25. package/dist/src/conversation-manager/__tests__/pin.test.js.map +1 -1
  26. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +1 -1
  27. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  28. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +1 -1
  29. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
  30. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts +2 -0
  31. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts.map +1 -0
  32. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js +138 -0
  33. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js.map +1 -0
  34. package/dist/src/conversation-manager/compression/context-compression.d.ts +39 -0
  35. package/dist/src/conversation-manager/compression/context-compression.d.ts.map +1 -0
  36. package/dist/src/conversation-manager/compression/context-compression.js +150 -0
  37. package/dist/src/conversation-manager/compression/context-compression.js.map +1 -0
  38. package/dist/src/conversation-manager/{pin-message.d.ts → compression/pin-message.d.ts} +1 -1
  39. package/dist/src/conversation-manager/compression/pin-message.d.ts.map +1 -0
  40. package/dist/src/conversation-manager/{pin-message.js → compression/pin-message.js} +1 -1
  41. package/dist/src/conversation-manager/compression/pin-message.js.map +1 -0
  42. package/dist/src/conversation-manager/conversation-manager.d.ts +2 -0
  43. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
  44. package/dist/src/conversation-manager/conversation-manager.js +2 -2
  45. package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
  46. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  47. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +4 -35
  48. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  49. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +0 -19
  50. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
  51. package/dist/src/conversation-manager/summarizing-conversation-manager.js +4 -107
  52. package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
  53. package/dist/src/index.d.ts +3 -3
  54. package/dist/src/index.d.ts.map +1 -1
  55. package/dist/src/index.js +1 -1
  56. package/dist/src/index.js.map +1 -1
  57. package/dist/src/injection/__tests__/message-injection.test.d.ts +2 -0
  58. package/dist/src/injection/__tests__/message-injection.test.d.ts.map +1 -0
  59. package/dist/src/injection/__tests__/message-injection.test.js +200 -0
  60. package/dist/src/injection/__tests__/message-injection.test.js.map +1 -0
  61. package/dist/src/injection/index.d.ts +6 -0
  62. package/dist/src/injection/index.d.ts.map +1 -0
  63. package/dist/src/injection/index.js +2 -0
  64. package/dist/src/injection/index.js.map +1 -0
  65. package/dist/src/injection/message-injection.d.ts +65 -0
  66. package/dist/src/injection/message-injection.d.ts.map +1 -0
  67. package/dist/src/injection/message-injection.js +134 -0
  68. package/dist/src/injection/message-injection.js.map +1 -0
  69. package/dist/src/injection/types.d.ts +63 -0
  70. package/dist/src/injection/types.d.ts.map +1 -0
  71. package/dist/src/injection/types.js +2 -0
  72. package/dist/src/injection/types.js.map +1 -0
  73. package/dist/src/injection/xml.d.ts +27 -0
  74. package/dist/src/injection/xml.d.ts.map +1 -0
  75. package/dist/src/injection/xml.js +31 -0
  76. package/dist/src/injection/xml.js.map +1 -0
  77. package/dist/src/memory/__tests__/memory-manager.test.js +188 -2
  78. package/dist/src/memory/__tests__/memory-manager.test.js.map +1 -1
  79. package/dist/src/memory/__tests__/memory-tracing.test.d.ts +2 -0
  80. package/dist/src/memory/__tests__/memory-tracing.test.d.ts.map +1 -0
  81. package/dist/src/memory/__tests__/memory-tracing.test.js +250 -0
  82. package/dist/src/memory/__tests__/memory-tracing.test.js.map +1 -0
  83. package/dist/src/memory/extraction/__tests__/extraction.test.js +41 -39
  84. package/dist/src/memory/extraction/__tests__/extraction.test.js.map +1 -1
  85. package/dist/src/memory/extraction/__tests__/model-extractor.test.js +37 -1
  86. package/dist/src/memory/extraction/__tests__/model-extractor.test.js.map +1 -1
  87. package/dist/src/memory/extraction/coordinator.d.ts +6 -1
  88. package/dist/src/memory/extraction/coordinator.d.ts.map +1 -1
  89. package/dist/src/memory/extraction/coordinator.js +48 -10
  90. package/dist/src/memory/extraction/coordinator.js.map +1 -1
  91. package/dist/src/memory/extraction/model-extractor.d.ts.map +1 -1
  92. package/dist/src/memory/extraction/model-extractor.js +30 -9
  93. package/dist/src/memory/extraction/model-extractor.js.map +1 -1
  94. package/dist/src/memory/extraction/types.d.ts +7 -0
  95. package/dist/src/memory/extraction/types.d.ts.map +1 -1
  96. package/dist/src/memory/extraction/types.js.map +1 -1
  97. package/dist/src/memory/index.d.ts +2 -1
  98. package/dist/src/memory/index.d.ts.map +1 -1
  99. package/dist/src/memory/index.js.map +1 -1
  100. package/dist/src/memory/memory-manager.d.ts +64 -4
  101. package/dist/src/memory/memory-manager.d.ts.map +1 -1
  102. package/dist/src/memory/memory-manager.js +236 -36
  103. package/dist/src/memory/memory-manager.js.map +1 -1
  104. package/dist/src/memory/types.d.ts +72 -0
  105. package/dist/src/memory/types.d.ts.map +1 -1
  106. package/dist/src/middleware/__tests__/agent-middleware.test.js +0 -1
  107. package/dist/src/middleware/__tests__/agent-middleware.test.js.map +1 -1
  108. package/dist/src/middleware/__tests__/copy-on-input.test.d.ts +2 -0
  109. package/dist/src/middleware/__tests__/copy-on-input.test.d.ts.map +1 -0
  110. package/dist/src/middleware/__tests__/copy-on-input.test.js +379 -0
  111. package/dist/src/middleware/__tests__/copy-on-input.test.js.map +1 -0
  112. package/dist/src/middleware/stages.d.ts +14 -7
  113. package/dist/src/middleware/stages.d.ts.map +1 -1
  114. package/dist/src/middleware/stages.js +3 -0
  115. package/dist/src/middleware/stages.js.map +1 -1
  116. package/dist/src/models/__tests__/google.test.js +41 -0
  117. package/dist/src/models/__tests__/google.test.js.map +1 -1
  118. package/dist/src/models/google/adapters.d.ts.map +1 -1
  119. package/dist/src/models/google/adapters.js +21 -3
  120. package/dist/src/models/google/adapters.js.map +1 -1
  121. package/dist/src/models/openai/__tests__/errors.test.js +9 -0
  122. package/dist/src/models/openai/__tests__/errors.test.js.map +1 -1
  123. package/dist/src/models/openai/__tests__/responses.test.js +47 -0
  124. package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
  125. package/dist/src/models/openai/errors.d.ts.map +1 -1
  126. package/dist/src/models/openai/errors.js +4 -1
  127. package/dist/src/models/openai/errors.js.map +1 -1
  128. package/dist/src/models/openai/responses-adapter.d.ts +1 -0
  129. package/dist/src/models/openai/responses-adapter.d.ts.map +1 -1
  130. package/dist/src/models/openai/responses-adapter.js +24 -10
  131. package/dist/src/models/openai/responses-adapter.js.map +1 -1
  132. package/dist/src/multiagent/__tests__/graph.test.js +22 -1
  133. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  134. package/dist/src/multiagent/graph.d.ts.map +1 -1
  135. package/dist/src/multiagent/graph.js +4 -1
  136. package/dist/src/multiagent/graph.js.map +1 -1
  137. package/dist/src/sandbox/__tests__/docker.test.node.js +2 -2
  138. package/dist/src/sandbox/__tests__/docker.test.node.js.map +1 -1
  139. package/dist/src/sandbox/__tests__/ssh.test.node.js +2 -2
  140. package/dist/src/sandbox/__tests__/ssh.test.node.js.map +1 -1
  141. package/dist/src/sandbox/base.d.ts +0 -5
  142. package/dist/src/sandbox/base.d.ts.map +1 -1
  143. package/dist/src/sandbox/base.js +0 -5
  144. package/dist/src/sandbox/base.js.map +1 -1
  145. package/dist/src/sandbox/docker.d.ts.map +1 -1
  146. package/dist/src/sandbox/docker.js +2 -0
  147. package/dist/src/sandbox/docker.js.map +1 -1
  148. package/dist/src/sandbox/ssh.d.ts.map +1 -1
  149. package/dist/src/sandbox/ssh.js +2 -0
  150. package/dist/src/sandbox/ssh.js.map +1 -1
  151. package/dist/src/telemetry/__tests__/tracer.test.node.js +207 -9
  152. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
  153. package/dist/src/telemetry/tracer.d.ts +82 -2
  154. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  155. package/dist/src/telemetry/tracer.js +242 -3
  156. package/dist/src/telemetry/tracer.js.map +1 -1
  157. package/dist/src/telemetry/types.d.ts +86 -1
  158. package/dist/src/telemetry/types.d.ts.map +1 -1
  159. package/dist/src/tsconfig.tsbuildinfo +1 -1
  160. package/dist/src/types/json.js +2 -2
  161. package/dist/src/types/json.js.map +1 -1
  162. package/dist/src/types/messages.d.ts +8 -0
  163. package/dist/src/types/messages.d.ts.map +1 -1
  164. package/dist/src/types/messages.js +13 -1
  165. package/dist/src/types/messages.js.map +1 -1
  166. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts +2 -0
  167. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts.map +1 -0
  168. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js +756 -0
  169. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js.map +1 -0
  170. package/dist/src/vended-interventions/cedar/cedar.d.ts +114 -0
  171. package/dist/src/vended-interventions/cedar/cedar.d.ts.map +1 -0
  172. package/dist/src/vended-interventions/cedar/cedar.js +239 -0
  173. package/dist/src/vended-interventions/cedar/cedar.js.map +1 -0
  174. package/dist/src/vended-interventions/cedar/index.d.ts +3 -0
  175. package/dist/src/vended-interventions/cedar/index.d.ts.map +1 -0
  176. package/dist/src/vended-interventions/cedar/index.js +2 -0
  177. package/dist/src/vended-interventions/cedar/index.js.map +1 -0
  178. package/dist/src/vended-interventions/cedar/schema-generator.d.ts +10 -0
  179. package/dist/src/vended-interventions/cedar/schema-generator.d.ts.map +1 -0
  180. package/dist/src/vended-interventions/cedar/schema-generator.js +38 -0
  181. package/dist/src/vended-interventions/cedar/schema-generator.js.map +1 -0
  182. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.d.ts +2 -0
  183. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.d.ts.map +1 -0
  184. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/{bedrock-knowledge-base-store.test.js → bedrock-knowledge-base-store.test.node.js} +154 -7
  185. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.js.map +1 -0
  186. package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts +1 -1
  187. package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts.map +1 -1
  188. package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js.map +1 -1
  189. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +57 -0
  190. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -1
  191. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +86 -11
  192. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -1
  193. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts +2 -0
  194. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts.map +1 -0
  195. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js +96 -0
  196. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js.map +1 -0
  197. package/dist/src/vended-plugins/context-injector/index.d.ts +25 -0
  198. package/dist/src/vended-plugins/context-injector/index.d.ts.map +1 -0
  199. package/dist/src/vended-plugins/context-injector/index.js +23 -0
  200. package/dist/src/vended-plugins/context-injector/index.js.map +1 -0
  201. package/dist/src/vended-plugins/context-injector/plugin.d.ts +55 -0
  202. package/dist/src/vended-plugins/context-injector/plugin.d.ts.map +1 -0
  203. package/dist/src/vended-plugins/context-injector/plugin.js +41 -0
  204. package/dist/src/vended-plugins/context-injector/plugin.js.map +1 -0
  205. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +43 -4
  206. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -1
  207. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js +5 -1
  208. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js.map +1 -1
  209. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +68 -0
  210. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -1
  211. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  212. package/dist/src/vended-plugins/context-offloader/plugin.js +12 -2
  213. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  214. package/dist/src/vended-plugins/context-offloader/storage.d.ts +29 -1
  215. package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -1
  216. package/dist/src/vended-plugins/context-offloader/storage.js +76 -5
  217. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -1
  218. package/dist/src/vended-plugins/index.d.ts +2 -1
  219. package/dist/src/vended-plugins/index.d.ts.map +1 -1
  220. package/dist/src/vended-plugins/index.js +2 -1
  221. package/dist/src/vended-plugins/index.js.map +1 -1
  222. package/dist/src/vended-plugins/skills/skill.d.ts.map +1 -1
  223. package/dist/src/vended-plugins/skills/skill.js +4 -2
  224. package/dist/src/vended-plugins/skills/skill.js.map +1 -1
  225. package/dist/src/vended-tools/http-request/http-request.js +1 -1
  226. package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
  227. package/package.json +54 -36
  228. package/dist/src/conversation-manager/pin-message.d.ts.map +0 -1
  229. package/dist/src/conversation-manager/pin-message.js.map +0 -1
  230. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts +0 -2
  231. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts.map +0 -1
  232. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js.map +0 -1
@@ -25,7 +25,10 @@ vi.mock('@aws-sdk/client-bedrock-agent', () => ({
25
25
  return { send: vi.fn() };
26
26
  }),
27
27
  IngestKnowledgeBaseDocumentsCommand: vi.fn().mockImplementation(function (input) {
28
- return { input };
28
+ return { input, _command: 'IngestKnowledgeBaseDocuments' };
29
+ }),
30
+ GetKnowledgeBaseCommand: vi.fn().mockImplementation(function (input) {
31
+ return { input, _command: 'GetKnowledgeBase' };
29
32
  }),
30
33
  }));
31
34
  vi.mock('@aws-sdk/client-s3', () => ({
@@ -44,6 +47,16 @@ vi.mock('uuid', () => ({
44
47
  function mockClient() {
45
48
  return { send: vi.fn() };
46
49
  }
50
+ /**
51
+ * Programs an agent client's `send` to discriminate by command: a {@link GetKnowledgeBaseCommand}
52
+ * resolves to a knowledge base of `kbType` (driving search-config selection), while everything else
53
+ * (i.e. ingestion) resolves to `{}`. Defaults to a `VECTOR` knowledge base.
54
+ */
55
+ function programAgentSend(agent, kbType = 'VECTOR') {
56
+ agent.send.mockImplementation((command) => command?._command === 'GetKnowledgeBase'
57
+ ? Promise.resolve({ knowledgeBase: { knowledgeBaseConfiguration: { type: kbType } } })
58
+ : Promise.resolve({}));
59
+ }
47
60
  /**
48
61
  * Builds a store from a base connection config plus per-store fields. `config` overrides merge onto
49
62
  * the shared connection (`knowledgeBaseId: 'kb-1'` + injected runtime/agent clients); `overrides`
@@ -54,7 +67,7 @@ function makeStore(overrides = {}, configOverrides = {}) {
54
67
  const runtime = mockClient();
55
68
  runtime.send.mockResolvedValue({ retrievalResults: [] });
56
69
  const agent = mockClient();
57
- agent.send.mockResolvedValue({});
70
+ programAgentSend(agent);
58
71
  const store = new BedrockKnowledgeBaseStore({
59
72
  config: { knowledgeBaseId: 'kb-1', runtimeClient: runtime, agentClient: agent, ...configOverrides },
60
73
  name: 'kb',
@@ -276,6 +289,70 @@ describe('BedrockKnowledgeBaseStore', () => {
276
289
  expect(errorSpy).toHaveBeenCalled();
277
290
  errorSpy.mockRestore();
278
291
  });
292
+ /** Reads the retrievalConfiguration the most recent RetrieveCommand was sent with. */
293
+ function lastRetrievalConfiguration(runtime) {
294
+ const calls = runtime.send.mock.calls;
295
+ return calls[calls.length - 1]?.[0].input.retrievalConfiguration;
296
+ }
297
+ it('detects the kind from GetKnowledgeBase using the knowledge base id', async () => {
298
+ const { store, agent } = makeStore();
299
+ await store.search('q');
300
+ const detectCall = agent.send.mock.calls.find((c) => c[0]?._command === 'GetKnowledgeBase');
301
+ expect(detectCall?.[0].input).toStrictEqual({ knowledgeBaseId: 'kb-1' });
302
+ });
303
+ it('queries a managed knowledge base with managedSearchConfiguration', async () => {
304
+ const { store, runtime, agent } = makeStore();
305
+ programAgentSend(agent, 'MANAGED');
306
+ await store.search('q');
307
+ expect(lastRetrievalConfiguration(runtime)).toStrictEqual({
308
+ managedSearchConfiguration: { numberOfResults: 10 },
309
+ });
310
+ });
311
+ it('carries the scope filter into managedSearchConfiguration', async () => {
312
+ const { store, runtime, agent } = makeStore({ scope: 'user-123' });
313
+ programAgentSend(agent, 'MANAGED');
314
+ await store.search('q');
315
+ expect(lastRetrievalConfiguration(runtime)).toStrictEqual({
316
+ managedSearchConfiguration: {
317
+ numberOfResults: 10,
318
+ filter: { equals: { key: 'namespace', value: 'user-123' } },
319
+ },
320
+ });
321
+ });
322
+ it('queries a vector knowledge base with vectorSearchConfiguration', async () => {
323
+ // makeStore reports VECTOR by default.
324
+ const { store, runtime } = makeStore();
325
+ await store.search('q');
326
+ expect(lastRetrievalConfiguration(runtime)).toStrictEqual({
327
+ vectorSearchConfiguration: { numberOfResults: 10 },
328
+ });
329
+ });
330
+ it('treats non-managed types as vector', async () => {
331
+ const { store, runtime, agent } = makeStore();
332
+ programAgentSend(agent, 'KENDRA');
333
+ await store.search('q');
334
+ expect(lastRetrievalConfiguration(runtime)).toHaveProperty('vectorSearchConfiguration');
335
+ });
336
+ it('detects the kind once and reuses it across searches', async () => {
337
+ const { store, agent } = makeStore();
338
+ programAgentSend(agent, 'MANAGED');
339
+ await store.search('q');
340
+ await store.search('q');
341
+ const detectCalls = agent.send.mock.calls.filter((c) => c[0]?._command === 'GetKnowledgeBase');
342
+ expect(detectCalls).toHaveLength(1);
343
+ });
344
+ it('throws when detection fails', async () => {
345
+ const { store, agent } = makeStore();
346
+ agent.send.mockRejectedValue(new Error('AccessDenied'));
347
+ await expect(store.search('q')).rejects.toThrow('AccessDenied');
348
+ });
349
+ it('initialize is idempotent', async () => {
350
+ const { store, agent } = makeStore();
351
+ await store.initialize();
352
+ await store.initialize();
353
+ const detectCalls = agent.send.mock.calls.filter((c) => c[0]?._command === 'GetKnowledgeBase');
354
+ expect(detectCalls).toHaveLength(1);
355
+ });
279
356
  });
280
357
  describe('add — CUSTOM data source', () => {
281
358
  it('throws when dataSourceId is missing', () => {
@@ -375,6 +452,44 @@ describe('BedrockKnowledgeBaseStore', () => {
375
452
  await store.add('fact');
376
453
  expect(vi.mocked(BedrockAgentClient)).toHaveBeenCalledWith({});
377
454
  });
455
+ it('attaches accessControlList verbatim in inline metadata', async () => {
456
+ const acl = [{ access: 'ALLOW', name: 'alice@example.com', type: 'USER' }];
457
+ const { store, agent } = makeCustomStore({ accessControlList: acl });
458
+ await store.add('fact', { team: 'hr' });
459
+ const doc = agent.send.mock.calls.find((c) => c[0]?.input?.documents)?.[0].input.documents[0];
460
+ expect(doc.metadata.type).toBe('IN_LINE_ATTRIBUTE');
461
+ expect(doc.metadata.accessControlList).toStrictEqual(acl);
462
+ });
463
+ it('raises when ACL is set but no inline attributes are present', async () => {
464
+ const acl = [{ access: 'DENY', name: 'bob@example.com', type: 'USER' }];
465
+ const { store } = makeCustomStore({ accessControlList: acl });
466
+ await expect(store.add('fact')).rejects.toThrow('at least one metadata attribute');
467
+ });
468
+ it('carries both inline attributes and ACL when scope provides an attribute', async () => {
469
+ const acl = [{ access: 'ALLOW', name: 'alice@example.com', type: 'USER' }];
470
+ const { store, agent } = makeCustomStore({ scope: 'user-123', accessControlList: acl });
471
+ await store.add('fact');
472
+ const doc = agent.send.mock.calls.find((c) => c[0]?.input?.documents)?.[0].input.documents[0];
473
+ expect(doc.metadata.accessControlList).toStrictEqual(acl);
474
+ expect(doc.metadata.inlineAttributes).toStrictEqual([
475
+ { key: 'namespace', value: { type: 'STRING', stringValue: 'user-123' } },
476
+ ]);
477
+ });
478
+ it('rewrites a missing-ACL ValidationException to point at the param', async () => {
479
+ const { store, agent } = makeCustomStore();
480
+ const err = Object.assign(new Error('accessControlList is required when ACL is enabled'), {
481
+ name: 'ValidationException',
482
+ });
483
+ agent.send.mockRejectedValueOnce(err);
484
+ await expect(store.add('fact')).rejects.toThrow('accessControlList configured');
485
+ });
486
+ it('does not rewrite when ACL is already configured', async () => {
487
+ const acl = [{ access: 'ALLOW', name: 'alice@example.com', type: 'USER' }];
488
+ const { store, agent } = makeCustomStore({ scope: 'u', accessControlList: acl });
489
+ const err = Object.assign(new Error('accessControlList is invalid'), { name: 'ValidationException' });
490
+ agent.send.mockRejectedValueOnce(err);
491
+ await expect(store.add('fact')).rejects.toThrow('accessControlList is invalid');
492
+ });
378
493
  });
379
494
  describe('add — S3 data source', () => {
380
495
  it('throws when the s3 config is missing', () => {
@@ -494,6 +609,36 @@ describe('BedrockKnowledgeBaseStore', () => {
494
609
  expect(agent.send).not.toHaveBeenCalled();
495
610
  errorSpy.mockRestore();
496
611
  });
612
+ it('writes ACL into the sidecar with capitalized keys', async () => {
613
+ const acl = [{ access: 'ALLOW', name: 'alice@example.com', type: 'USER' }];
614
+ const { store, s3 } = makeS3Store({ accessControlList: acl });
615
+ await store.add('content');
616
+ // The sidecar is the second send; parse it for the ACL.
617
+ const sidecarCall = s3.send.mock.calls[1]?.[0].input;
618
+ const sidecarBody = JSON.parse(sidecarCall.Body);
619
+ expect(sidecarBody.accessControlList).toStrictEqual([
620
+ { Name: 'alice@example.com', Type: 'USER', Access: 'ALLOW' },
621
+ ]);
622
+ });
623
+ it('writes a sidecar for ACL-only when no scope or metadata', async () => {
624
+ const acl = [{ access: 'DENY', name: 'bob@example.com', type: 'USER' }];
625
+ const { store, s3 } = makeS3Store({ accessControlList: acl });
626
+ await store.add('content');
627
+ expect(s3.send).toHaveBeenCalledTimes(2);
628
+ const sidecarBody = JSON.parse(s3.send.mock.calls[1]?.[0].input.Body);
629
+ expect(sidecarBody.metadataAttributes).toStrictEqual({});
630
+ expect(sidecarBody.accessControlList).toStrictEqual([{ Name: 'bob@example.com', Type: 'USER', Access: 'DENY' }]);
631
+ });
632
+ it('sidecar carries both scope attributes and ACL', async () => {
633
+ const acl = [{ access: 'ALLOW', name: 'alice@example.com', type: 'USER' }];
634
+ const { store, s3 } = makeS3Store({ scope: 'team-a', accessControlList: acl });
635
+ await store.add('content');
636
+ const sidecarBody = JSON.parse(s3.send.mock.calls[1]?.[0].input.Body);
637
+ expect(sidecarBody.metadataAttributes.namespace.value.stringValue).toBe('team-a');
638
+ expect(sidecarBody.accessControlList).toStrictEqual([
639
+ { Name: 'alice@example.com', Type: 'USER', Access: 'ALLOW' },
640
+ ]);
641
+ });
497
642
  });
498
643
  describe('add — non-writable store', () => {
499
644
  it('throws when add is called on a non-writable store', async () => {
@@ -510,7 +655,7 @@ describe('BedrockKnowledgeBaseStore', () => {
510
655
  it('reuses an injected runtime client across stores built from the same config', async () => {
511
656
  const runtime = mockClient();
512
657
  runtime.send.mockResolvedValue({ retrievalResults: [] });
513
- const config = { knowledgeBaseId: 'kb-1', runtimeClient: runtime };
658
+ const config = { knowledgeBaseId: 'kb-1', knowledgeBaseType: 'VECTOR', runtimeClient: runtime };
514
659
  const personal = new BedrockKnowledgeBaseStore({ config, name: 'personal', scope: 'user-abc' });
515
660
  const team = new BedrockKnowledgeBaseStore({ config, name: 'team', scope: 'other' });
516
661
  expect(vi.mocked(BedrockAgentRuntimeClient)).not.toHaveBeenCalled();
@@ -590,7 +735,7 @@ describe('BedrockKnowledgeBaseStore', () => {
590
735
  });
591
736
  const mm = new MemoryManager({ stores: [store] });
592
737
  const agent = createMockAgent();
593
- mm.initAgent(agent);
738
+ await mm.initAgent(agent);
594
739
  // Buffer a turn, then fire the after-invocation hook and flush the background save.
595
740
  const message = new Message({ role: 'user', content: [new TextBlock('I like dark mode')] });
596
741
  const added = agent.trackedHooks.filter((h) => h.eventType === MessageAddedEvent);
@@ -602,10 +747,12 @@ describe('BedrockKnowledgeBaseStore', () => {
602
747
  await mm.flush();
603
748
  expect(extractor.extract).toHaveBeenCalledTimes(1);
604
749
  // The fact was ingested via IngestKnowledgeBaseDocuments with the extracted content.
605
- expect(agentClient.send).toHaveBeenCalledTimes(1);
606
- const document = agentClient.send.mock.calls[0]?.[0].input.documents[0];
750
+ // First call is GetKnowledgeBase (from initialize), second is IngestKnowledgeBaseDocuments.
751
+ const ingestCalls = agentClient.send.mock.calls.filter((c) => c[0]?._command === 'IngestKnowledgeBaseDocuments');
752
+ expect(ingestCalls).toHaveLength(1);
753
+ const document = ingestCalls[0]?.[0].input.documents[0];
607
754
  expect(document.content.custom.inlineContent.textContent.data).toBe('user prefers dark mode');
608
755
  });
609
756
  });
610
757
  });
611
- //# sourceMappingURL=bedrock-knowledge-base-store.test.js.map
758
+ //# sourceMappingURL=bedrock-knowledge-base-store.test.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock-knowledge-base-store.test.node.js","sourceRoot":"","sources":["../../../../../src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { BedrockKnowledgeBaseStore, type BedrockKnowledgeBaseConfig, type BedrockKnowledgeBaseS3Config, type BedrockKnowledgeBaseStoreConfig, type BedrockKnowledgeBaseAddResult, } from './store.js';
1
+ export { BedrockKnowledgeBaseStore, type BedrockKnowledgeBaseAccessControlEntry, type BedrockKnowledgeBaseConfig, type BedrockKnowledgeBaseS3Config, type BedrockKnowledgeBaseStoreConfig, type BedrockKnowledgeBaseAddResult, } from './store.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-memory-stores/bedrock-knowledge-base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,GACnC,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-memory-stores/bedrock-knowledge-base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,KAAK,sCAAsC,EAC3C,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,GACnC,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-memory-stores/bedrock-knowledge-base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAK1B,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-memory-stores/bedrock-knowledge-base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAM1B,MAAM,YAAY,CAAA"}
@@ -4,6 +4,11 @@ import type { S3Client } from '@aws-sdk/client-s3';
4
4
  import type { MemoryEntry, MemoryStore, MemoryStoreConfig, SearchOptions } from '../../memory/types.js';
5
5
  import type { ExtractionConfig } from '../../memory/extraction/types.js';
6
6
  import type { JSONValue } from '../../types/json.js';
7
+ /**
8
+ * Knowledge base types as defined by `GetKnowledgeBase`. A `MANAGED` KB uses
9
+ * `managedSearchConfiguration`; all others use `vectorSearchConfiguration`.
10
+ */
11
+ type KbType = 'KENDRA' | 'MANAGED' | 'SQL' | 'VECTOR';
7
12
  /**
8
13
  * S3 ingestion settings for {@link BedrockKnowledgeBaseStore}, required when `dataSourceType` is `'S3'`.
9
14
  *
@@ -72,6 +77,8 @@ export interface BedrockKnowledgeBaseConfig {
72
77
  s3?: BedrockKnowledgeBaseS3Config;
73
78
  /** Metadata attribute key used for scope-based filtering. Defaults to `'namespace'`. */
74
79
  scopeMetadataKey?: string;
80
+ /** Knowledge base type (e.g. `'MANAGED'`, `'VECTOR'`). When provided, skips the `GetKnowledgeBase` call during initialization. */
81
+ knowledgeBaseType?: KbType;
75
82
  /** Pre-constructed runtime client for Retrieve calls. When omitted, a default client is constructed. */
76
83
  runtimeClient?: BedrockAgentRuntimeClient;
77
84
  /** Pre-constructed agent client for IngestKnowledgeBaseDocuments calls. When omitted, a default client is constructed lazily on first write. */
@@ -91,6 +98,28 @@ export interface BedrockKnowledgeBaseStoreConfig extends MemoryStoreConfig {
91
98
  scope?: string;
92
99
  /** Explicit retrieval filter; overrides the auto-generated scope filter when provided. */
93
100
  filter?: RetrievalFilter;
101
+ /**
102
+ * Document-level access control entries stamped on every write, required by data sources with ACL
103
+ * awareness enabled (a write to such a data source fails without it). Applies to writes only; ACL
104
+ * filtering at search time is supplied separately as retrieval `userContext`.
105
+ */
106
+ accessControlList?: BedrockKnowledgeBaseAccessControlEntry[];
107
+ }
108
+ /**
109
+ * One document-level access control entry stamped on writes for ACL-aware data sources.
110
+ *
111
+ * The fields mirror Bedrock's `IngestKnowledgeBaseDocuments` access control entry. They are
112
+ * serialized to whatever the target data source requires — as-is for `CUSTOM` (inline), and to the
113
+ * capitalized `.metadata.json` sidecar keys for `S3` — so callers write one shape regardless of data
114
+ * source.
115
+ */
116
+ export interface BedrockKnowledgeBaseAccessControlEntry {
117
+ /** `'ALLOW'` or `'DENY'`. Deny overrides allow. */
118
+ access: 'ALLOW' | 'DENY';
119
+ /** The principal identifier. Bedrock matches users by email. */
120
+ name: string;
121
+ /** The principal type. `'USER'` is the only value Bedrock accepts today; validated server-side. */
122
+ type: string;
94
123
  }
95
124
  /** Result returned by {@link BedrockKnowledgeBaseStore.add}. */
96
125
  export interface BedrockKnowledgeBaseAddResult {
@@ -101,6 +130,12 @@ export interface BedrockKnowledgeBaseAddResult {
101
130
  * A {@link MemoryStore} backed by Amazon Bedrock Knowledge Bases. Supports semantic search via
102
131
  * Retrieve and document ingestion via IngestKnowledgeBaseDocuments for CUSTOM and S3 data sources.
103
132
  *
133
+ * Works with all knowledge base types (MANAGED, VECTOR, KENDRA, SQL); the type is detected via
134
+ * `GetKnowledgeBase` during {@link initialize} and determines whether Retrieve uses
135
+ * `managedSearchConfiguration` or `vectorSearchConfiguration`. Detection requires the
136
+ * `bedrock:GetKnowledgeBase` permission; a failure raises at agent construction (via MemoryManager)
137
+ * or on first `search()` standalone. To skip detection, provide `knowledgeBaseType` in the config.
138
+ *
104
139
  * @example
105
140
  * ```typescript
106
141
  * import { BedrockKnowledgeBaseStore } from '@strands-agents/sdk/vended-memory-stores/bedrock-knowledge-base'
@@ -132,6 +167,8 @@ export declare class BedrockKnowledgeBaseStore implements MemoryStore {
132
167
  private readonly _knowledgeBaseId;
133
168
  private readonly _dataSourceType;
134
169
  private readonly _dataSourceId;
170
+ /** The knowledge base type, resolved eagerly in {@link initialize} via `GetKnowledgeBase`. */
171
+ private _kbType;
135
172
  /**
136
173
  * Logical namespace isolating documents: applied as a metadata filter on {@link search} and stamped
137
174
  * on writes via {@link add}. Unlike {@link name}, it is not a store-identity field, so it never
@@ -146,12 +183,24 @@ export declare class BedrockKnowledgeBaseStore implements MemoryStore {
146
183
  * Note the asymmetry: an explicit filter affects search only; writes always scope by {@link scope}.
147
184
  */
148
185
  readonly filter: RetrievalFilter | undefined;
186
+ /** Document-level access control entries stamped on every write, for ACL-aware data sources. */
187
+ readonly accessControlList: BedrockKnowledgeBaseAccessControlEntry[] | undefined;
149
188
  constructor(options: BedrockKnowledgeBaseStoreConfig);
150
189
  /**
151
190
  * Resolves the effective retrieval filter for a search: an explicit {@link filter} wins; otherwise
152
191
  * one is derived from {@link scope} / {@link scopeMetadataKey}.
153
192
  */
154
193
  private _resolveFilter;
194
+ /**
195
+ * Resolve the knowledge base type via `GetKnowledgeBase` and cache the result.
196
+ *
197
+ * Idempotent: subsequent calls return immediately. When the store is registered with a
198
+ * `MemoryManager`, this runs at agent construction so permission or connectivity issues surface
199
+ * early. Standalone callers get the same check on first `search()`.
200
+ *
201
+ * @throws Error if the `GetKnowledgeBase` call fails for any reason.
202
+ */
203
+ initialize(): Promise<void>;
155
204
  /**
156
205
  * Searches the knowledge base for entries matching the query.
157
206
  *
@@ -175,6 +224,7 @@ export declare class BedrockKnowledgeBaseStore implements MemoryStore {
175
224
  * @returns The document identifier (UUID for CUSTOM, s3:// URI for S3)
176
225
  */
177
226
  add(content: string, metadata?: Record<string, JSONValue>): Promise<BedrockKnowledgeBaseAddResult>;
227
+ private _isMissingAclError;
178
228
  /**
179
229
  * Uploads the objects that back one S3 ingestion and returns their `s3://` URIs.
180
230
  *
@@ -223,8 +273,15 @@ export declare class BedrockKnowledgeBaseStore implements MemoryStore {
223
273
  * that as "no sidecar" and skips writing the second object.
224
274
  */
225
275
  private _buildS3SidecarAttributes;
276
+ /**
277
+ * Builds the `accessControlList` array for an S3 `.metadata.json` sidecar. The sidecar uses
278
+ * capitalized field names (`Name`/`Type`/`Access`), unlike the lowercase keys the `CUSTOM` inline
279
+ * document takes, so entries are translated here.
280
+ */
281
+ private _buildS3SidecarAcl;
226
282
  private _validateWriteConfig;
227
283
  private _getS3Client;
228
284
  private _getAgentClient;
229
285
  }
286
+ export {};
230
287
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/vended-memory-stores/bedrock-knowledge-base/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/vended-memory-stores/bedrock-knowledge-base/store.ts"],"names":[],"mappings":"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"}