- 
                Notifications
    You must be signed in to change notification settings 
- Fork 60
feat: add AgentCore Memory Session Manager with Strands Agents #65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add AgentCoreMemorySessionManager for persistent conversation storage - Implement bedrock_converter for message format transformation - Add configuration management for memory settings - Include comprehensive unit and integration tests - Add strands-agents optional dependency in pyproject.toml - Provide documentation and examples for STM/LTM support
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this live under a "strands" folder under integrations ? in case there are future integrations
| @afarntrog can you please run "uv run pre-commit run --all-files" and make sure we pass the test coverage | 
| 
 done  | 
| Codecov Report❌ Patch coverage is  Additional details and impacted files@@           Coverage Diff           @@
##             main      #65   +/-   ##
=======================================
  Coverage        ?   88.63%           
=======================================
  Files           ?       20           
  Lines           ?     1848           
  Branches        ?      276           
=======================================
  Hits            ?     1638           
  Misses          ?      104           
  Partials        ?      106           
 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
 | 
| @afarntrog the integ tests for https://github.com/aws/bedrock-agentcore-sdk-python/actions/runs/17503488121/job/49722240114?pr=65 currently only run if you make the PR as a branch of the repo. You can run them locally by looking at the workflow step for https://github.com/aws/bedrock-agentcore-sdk-python/actions/runs/17503488121/job/49722240114?pr=65 and then just attaching the results here | 
| Ran the new integration tests locally with the following passing output:  | 
Description of changes:
This pull request introduces a new integration with Strands and Amazon Bedrock AgentCore Memory, providing support to use AgentCore Memory as a Session Manager with Strands agents.
Bedrock AgentCore Memory Integration:
AgentCoreMemoryConfigandRetrievalConfigPydantic models to configure session management and retrieval strategies for Bedrock AgentCore Memory integration. (src/bedrock_agentcore/memory/integrations/config.py)BedrockConverterutility class for converting between Strands and Bedrock AgentCore Memory message/event formats, including support for tool and image payloads. (src/bedrock_agentcore/memory/integrations/bedrock_converter.py)py.typedmarker file. (src/bedrock_agentcore/memory/integrations/py.typed)Documentation and Examples:
README.mdwith quick setup instructions, code examples, and best practices for using Strands with Bedrock AgentCore Memory (STM and LTM). (src/bedrock_agentcore/memory/integrations/README.md)Testing and Validation:
tests/bedrock_agentcore/memory/integrations/)tests_integ/memory/integrations/)Dependency Management:
strands-agentsinpyproject.tomlto simplify installation for users who need this integration. (pyproject.toml)By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.