Skip to content

feat(aws): add AWS Bedrock AgentCore Long-Term Memory connector#6944

Merged
tshepomaredi merged 6 commits into
mainfrom
tshepo-aws-agentcore-memory
Apr 23, 2026
Merged

feat(aws): add AWS Bedrock AgentCore Long-Term Memory connector#6944
tshepomaredi merged 6 commits into
mainfrom
tshepo-aws-agentcore-memory

Conversation

@tshepomaredi
Copy link
Copy Markdown
Contributor

@tshepomaredi tshepomaredi commented Apr 13, 2026

Description

Implements outbound connector for retrieving persistent knowledge from AWS Bedrock AgentCore Long-Term Memory (issue #6853).

Operations:

  • Retrieve Memory Records: semantic search across extracted memories
  • List Memory Records: browse/filter stored memory records

Both operations return memory record summaries with content, score, metadata, namespaces, and pagination support.

Related issues

closes #6853

Checklist

  • Backport labels are added if these code changes should be backported. No backport label is added to the latest
    release, as this branch will be rebased onto main before the next release. Example backport labels:
    • backport stable/8.8: for changes that should be included in the next 8.8.x release.
    • or backport release-8.8.7: for changes that should be included in the specific release 8.8.7, and this
      release has already been created. The release branch will be merged back into stable/8.8 later, so the change
      will be included in future 8.8.x releases as well.
  • Tests/Integration tests for the changes have been added if applicable.
  • If the change requires a documentation update, it has been added to the appropriate section in the documentation.

@tshepomaredi tshepomaredi changed the title feat: add AWS Bedrock AgentCore Long-Term Memory connector feat(aws): add AWS Bedrock AgentCore Long-Term Memory connector Apr 13, 2026
@tshepomaredi tshepomaredi self-assigned this Apr 13, 2026
@tshepomaredi tshepomaredi marked this pull request as ready for review April 13, 2026 13:36
@tshepomaredi tshepomaredi requested a review from a team as a code owner April 13, 2026 13:36
@mathieu-stennier
Copy link
Copy Markdown
Contributor

@tshepomaredi please don't rely on my reviews this week :)

@maff maff mentioned this pull request Apr 14, 2026
Implements outbound connector for retrieving persistent knowledge from
AWS Bedrock AgentCore Long-Term Memory (issue #6853).

Operations:
- Retrieve Memory Records: semantic search across extracted memories
- List Memory Records: browse/filter stored memory records

Both operations return memory record summaries with content, score,
metadata, namespaces, and pagination support.

closes #6853
@tshepomaredi tshepomaredi force-pushed the tshepo-aws-agentcore-memory branch from 0c12deb to f99f371 Compare April 15, 2026 08:14
tshepomaredi and others added 2 commits April 16, 2026 13:58
Collectors.toMap throws NPE when stringValue() returns null.
Fall back to empty string when value is null.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new AWS outbound connector module to retrieve and list persistent memory records from AWS Bedrock AgentCore Long‑Term Memory, including generated element templates and bundle wiring so it ships with the default distribution.

Changes:

  • Introduces new aws-bedrock-agentcore-lt-memory connector module (request/response models, executor, connector function, ServiceLoader registration, icon).
  • Adds generated element templates (standard + hybrid) for the new connector.
  • Registers the module in the AWS parent build and includes it in the bundle/default-bundle.

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
ignore-templates.json Adds the new template id to the ignore list (currently introduces invalid JSON).
connectors/aws/pom.xml Registers the new AWS connector module in the multi-module build.
connectors/aws/aws-bedrock-agentcore-lt-memory/pom.xml New module POM with AWS SDK dependency and element template generation config.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/AgentCoreMemoryConnectorFunction.java Main outbound connector entrypoint + AWS client creation.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/AgentCoreMemoryExecutor.java Implements retrieve/list calls and response mapping.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/model/request/AgentCoreMemoryRequest.java Root request model (memoryId, namespace, operation) extending AWS base request.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/model/request/ListOperation.java List operation request subtype.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/model/request/MemoryOperation.java Sealed discriminator interface for operations.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/model/request/RetrieveOperation.java Retrieve operation request subtype (query/strategy/maxResults).
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/model/response/AgentCoreMemoryResult.java Result wrapper with records, count, and nextToken.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/java/io/camunda/connector/aws/bedrock/agentcore/memory/model/response/MemoryRecordEntry.java Response record for individual memory summaries.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/resources/icon.svg Adds the connector icon used by templates.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/main/resources/META-INF/services/io.camunda.connector.api.outbound.OutboundConnectorFunction Registers the connector via ServiceLoader.
connectors/aws/aws-bedrock-agentcore-lt-memory/src/test/java/io/camunda/connector/aws/bedrock/agentcore/memory/AgentCoreMemoryExecutorTest.java Unit tests for request mapping, filtering, metadata mapping, nextToken, and error wrapping.
connectors/aws/aws-bedrock-agentcore-lt-memory/element-templates/aws-bedrock-agentcore-lt-memory-outbound-connector.json Generated outbound element template definition.
connectors/aws/aws-bedrock-agentcore-lt-memory/element-templates/hybrid/aws-bedrock-agentcore-lt-memory-outbound-connector-hybrid.json Generated hybrid element template definition.
bundle/pom.xml Adds the new connector artifact to the bundle build.
bundle/default-bundle/pom.xml Adds the new connector as a runtime dependency in the default bundle.

Comment thread ignore-templates.json Outdated
Copy link
Copy Markdown
Contributor

@nikonovd nikonovd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks solid so far. Please take a look at my comments! 🥠

Comment thread bundle/pom.xml Outdated
public class AgentCoreMemoryConnectorFunction implements OutboundConnectorFunction {

@Override
public Object execute(OutboundConnectorContext context) {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Have you considered the operation-based way of implementing the connector?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have not, will have a look. Would this be a preferable way? Currently all the connectors I made follow the current pattern, which was basically me following common implementation patterns of other AWS connectors

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It depends on your connector complexity, we introduced that recently it's not mandatory at all but can simplify the implementation. You can have a look at our CSV connector, for example. No need to change anything, I just wanted to raise awareness about this.

- Rename module from lt-memory to long-term-memory
- Add nextToken pagination support for retrieve and list operations
- Extract mapMetadata() helper, filter null values instead of empty strings
- Refactor tests to nested classes, add happy path tests
- Fix missing comma in ignore-templates.json
@tshepomaredi tshepomaredi force-pushed the tshepo-aws-agentcore-memory branch from b7dee07 to a9b5744 Compare April 22, 2026 09:51
@tshepomaredi tshepomaredi requested a review from nikonovd April 22, 2026 09:52
Copy link
Copy Markdown
Contributor

@nikonovd nikonovd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good now! Thanks for checking.

There are two minor remarks - afterwards it's good to go from my side 🚀

Comment thread connectors/aws/aws-bedrock-agentcore-long-term-memory/pom.xml Outdated
@tshepomaredi tshepomaredi requested a review from nikonovd April 22, 2026 15:21
Copy link
Copy Markdown
Contributor

@nikonovd nikonovd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! 🚐

@tshepomaredi tshepomaredi added this pull request to the merge queue Apr 23, 2026
Merged via the queue into main with commit 253b0df Apr 23, 2026
29 of 31 checks passed
@tshepomaredi tshepomaredi deleted the tshepo-aws-agentcore-memory branch April 23, 2026 16:17
@github-actions
Copy link
Copy Markdown
Contributor

🎉 This pull request has been included in release 8.10.0-alpha1!

Thank you for your contribution! 🚀

@github-actions github-actions Bot added the version:8.10.0-alpha1 Released in version 8.10.0-alpha1 label May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agentic-ai version:8.10.0-alpha1 Released in version 8.10.0-alpha1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AWS AgentCore Long-Term Memory

7 participants