bedrock-agentcore-starter-toolkit 0.1.15__tar.gz → 0.1.16__tar.gz

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.

Potentially problematic release.


This version of bedrock-agentcore-starter-toolkit might be problematic. Click here for more details.

Files changed (201) hide show
  1. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/CHANGELOG.md +9 -0
  2. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/PKG-INFO +1 -1
  3. bedrock_agentcore_starter_toolkit-0.1.16/documentation/docs/examples/semantic_search.md +97 -0
  4. bedrock_agentcore_starter_toolkit-0.1.16/documentation/docs/user-guide/memory/quickstart.md +166 -0
  5. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/mkdocs.yaml +12 -12
  6. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/pyproject.toml +1 -1
  7. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/strategy_validator.py +27 -14
  8. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/memory/test_strategy_validator.py +47 -6
  9. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/memory/memory-manager.ipynb +105 -29
  10. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/uv.lock +1 -1
  11. bedrock_agentcore_starter_toolkit-0.1.15/documentation/docs/user-guide/memory/quickstart.md +0 -353
  12. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/CODEOWNERS +0 -0
  13. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  14. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/branch-protection.json +0 -0
  15. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/dependabot.yml +0 -0
  16. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/pull_request_template.md +0 -0
  17. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/workflows/deploy-docs.yml +0 -0
  18. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/workflows/integration_testing.yml +0 -0
  19. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/workflows/pr-automerge.yml +0 -0
  20. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/workflows/release.yml +0 -0
  21. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/workflows/security-scanning.yml +0 -0
  22. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/workflows/security.yml +0 -0
  23. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.github/workflows/test-pypi-release.yml +0 -0
  24. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.gitignore +0 -0
  25. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.pre-commit-config.yaml +0 -0
  26. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/.python-version +0 -0
  27. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/CODE-OF-CONDUCT.md +0 -0
  28. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/CONTRIBUTING.md +0 -0
  29. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/LICENSE.txt +0 -0
  30. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/NOTICE.txt +0 -0
  31. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/README.md +0 -0
  32. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/SECURITY.md +0 -0
  33. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/buildspec-lambda-package.yml +0 -0
  34. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/.gitignore +0 -0
  35. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/README.md +0 -0
  36. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/api-reference/cli.md +0 -0
  37. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/api-reference/identity.md +0 -0
  38. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/api-reference/memory.md +0 -0
  39. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/api-reference/runtime.md +0 -0
  40. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/api-reference/tools.md +0 -0
  41. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/examples/README.md +0 -0
  42. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/examples/agentcore-quickstart-example.md +0 -0
  43. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/examples/async-processing.md +0 -0
  44. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/examples/gateway-integration.md +0 -0
  45. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/examples/memory_gateway_agent.md +0 -0
  46. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/examples/runtime-framework-agents.md +0 -0
  47. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/examples/session-management.md +0 -0
  48. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/index.md +0 -0
  49. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/mcp/agentcore_runtime_deployment.md +0 -0
  50. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/stylesheets/extra.css +0 -0
  51. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/builtin-tools/quickstart-browser.md +0 -0
  52. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/builtin-tools/quickstart-code-interpreter.md +0 -0
  53. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/gateway/quickstart.md +0 -0
  54. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/identity/quickstart.md +0 -0
  55. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/import-agent/configuration.md +0 -0
  56. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/import-agent/design.md +0 -0
  57. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/import-agent/overview.md +0 -0
  58. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/import-agent/quickstart.md +0 -0
  59. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/observability/quickstart.md +0 -0
  60. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/runtime/async.md +0 -0
  61. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/runtime/notebook.md +0 -0
  62. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/runtime/overview.md +0 -0
  63. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/runtime/permissions.md +0 -0
  64. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/docs/user-guide/runtime/quickstart.md +0 -0
  65. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/documentation/overrides/main.html +0 -0
  66. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/scripts/bump-version.py +0 -0
  67. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/scripts/prepare-release.py +0 -0
  68. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/scripts/setup-branch-protection.sh +0 -0
  69. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/scripts/validate-release.py +0 -0
  70. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/__init__.py +0 -0
  71. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/__init__.py +0 -0
  72. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/cli.py +0 -0
  73. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/common.py +0 -0
  74. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/gateway/__init__.py +0 -0
  75. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/gateway/commands.py +0 -0
  76. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/README.md +0 -0
  77. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/__init__.py +0 -0
  78. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/agent_info.py +0 -0
  79. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/commands.py +0 -0
  80. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/runtime/__init__.py +0 -0
  81. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/runtime/commands.py +0 -0
  82. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py +0 -0
  83. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/notebook/__init__.py +0 -0
  84. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/__init__.py +0 -0
  85. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py +0 -0
  86. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/__init__.py +0 -0
  87. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/gateway/__init__.py +0 -0
  88. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/gateway/client.py +0 -0
  89. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/gateway/constants.py +0 -0
  90. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_lambda.py +0 -0
  91. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_role.py +0 -0
  92. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/gateway/exceptions.py +0 -0
  93. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/README.md +0 -0
  94. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/__init__.py +0 -0
  95. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/constants.py +0 -0
  96. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/manager.py +0 -0
  97. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/DictWrapper.py +0 -0
  98. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/Memory.py +0 -0
  99. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/MemoryStrategy.py +0 -0
  100. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/MemorySummary.py +0 -0
  101. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/__init__.py +0 -0
  102. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/__init__.py +0 -0
  103. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/base.py +0 -0
  104. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/custom.py +0 -0
  105. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/semantic.py +0 -0
  106. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/summary.py +0 -0
  107. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/memory/models/strategies/user_preference.py +0 -0
  108. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py +0 -0
  109. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/configure.py +0 -0
  110. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/create_role.py +0 -0
  111. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/destroy.py +0 -0
  112. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py +0 -0
  113. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +0 -0
  114. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/models.py +0 -0
  115. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/operations/runtime/status.py +0 -0
  116. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/__init__.py +0 -0
  117. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/codebuild.py +0 -0
  118. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/ecr.py +0 -0
  119. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/__init__.py +0 -0
  120. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/memory_manager_template.py +0 -0
  121. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/requirements_langchain.j2 +0 -0
  122. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/requirements_strands.j2 +0 -0
  123. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/template_fixtures_merged.json +0 -0
  124. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/__init__.py +0 -0
  125. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/base_bedrock_translate.py +0 -0
  126. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/bedrock_to_langchain.py +0 -0
  127. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/bedrock_to_strands.py +0 -0
  128. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/import_agent/utils.py +0 -0
  129. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/runtime.py +0 -0
  130. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/services/xray.py +0 -0
  131. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/endpoints.py +0 -0
  132. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/logging_config.py +0 -0
  133. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/config.py +0 -0
  134. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/container.py +0 -0
  135. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/entrypoint.py +0 -0
  136. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/logs.py +0 -0
  137. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/policy_template.py +0 -0
  138. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/schema.py +0 -0
  139. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2 +0 -0
  140. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template +0 -0
  141. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2 +0 -0
  142. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2 +0 -0
  143. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/__init__.py +0 -0
  144. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/cli/gateway/__init__.py +0 -0
  145. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/cli/gateway/test_commands.py +0 -0
  146. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/cli/runtime/__init__.py +0 -0
  147. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/cli/runtime/test_commands.py +0 -0
  148. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/cli/runtime/test_configuration_manager.py +0 -0
  149. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/cli/test_common.py +0 -0
  150. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/conftest.py +0 -0
  151. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/conftest_mock.py +0 -0
  152. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/fixtures/project_config_multiple.yaml +0 -0
  153. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/fixtures/project_config_single.yaml +0 -0
  154. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/notebook/runtime/test_bedrock_agentcore.py +0 -0
  155. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/gateway/test_gateway_client.py +0 -0
  156. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/gateway/test_gateway_client_init.py +0 -0
  157. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/gateway/test_gateway_create_role.py +0 -0
  158. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/memory/test_manager.py +0 -0
  159. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/memory/test_strategy_types.py +0 -0
  160. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/runtime/test_configure.py +0 -0
  161. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/runtime/test_create_role.py +0 -0
  162. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/runtime/test_destroy.py +0 -0
  163. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/runtime/test_invoke.py +0 -0
  164. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/runtime/test_launch.py +0 -0
  165. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/operations/runtime/test_status.py +0 -0
  166. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/import_agent/data/bedrock_config.json +0 -0
  167. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/import_agent/data/bedrock_config_multi_agent.json +0 -0
  168. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/import_agent/data/bedrock_config_no_schema.json +0 -0
  169. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/import_agent/test_import_agent.py +0 -0
  170. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/test_codebuild.py +0 -0
  171. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/test_ecr.py +0 -0
  172. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/test_runtime.py +0 -0
  173. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/test_runtime_conflict_error.py +0 -0
  174. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/services/test_xray.py +0 -0
  175. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/utils/runtime/test_config.py +0 -0
  176. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/utils/runtime/test_container.py +0 -0
  177. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/utils/runtime/test_entrypoint.py +0 -0
  178. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/utils/runtime/test_policy_template.py +0 -0
  179. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/utils/test_endpoints.py +0 -0
  180. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests/utils/test_logging_config.py +0 -0
  181. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/__init__.py +0 -0
  182. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/cli/__init__.py +0 -0
  183. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/cli/runtime/__init__.py +0 -0
  184. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/cli/runtime/base_test.py +0 -0
  185. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/cli/runtime/test_simple_agent.py +0 -0
  186. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/gateway/README.md +0 -0
  187. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/gateway/test_cognito_token.py +0 -0
  188. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/gateway/test_create_gateway_role.py +0 -0
  189. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/gateway/test_egress_auth.py +0 -0
  190. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/gateway/test_gateway_cognito.py +0 -0
  191. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/identity/access_token_3LO.py +0 -0
  192. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/memory/test_create_memory.py +0 -0
  193. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/notebook/test_notebook_runtime.py +0 -0
  194. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/strands_agent/__init__.py +0 -0
  195. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/strands_agent/agent_example.py +0 -0
  196. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/tools/__init__.py +0 -0
  197. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/tools/my_mcp_client.py +0 -0
  198. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/tools/my_mcp_client_remote.py +0 -0
  199. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/tools/my_mcp_server.py +0 -0
  200. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/tools/setup_cognito.sh +0 -0
  201. {bedrock_agentcore_starter_toolkit-0.1.15 → bedrock_agentcore_starter_toolkit-0.1.16}/tests_integ/utils/config.py +0 -0
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.16] - 2025-10-01
4
+
5
+ ### Changes
6
+
7
+ - fix: don't fail validation for empty namespaces for during get_or_create when strategy defaults server side (#235) (3557359)
8
+ - chore: make doc titles more meaningful (#229) (9c860d7)
9
+ - Update memory quickstart (#234) (98a192b)
10
+ - chore: bump version to 0.1.15 (#233) (0561bb5)
11
+
3
12
  ## [0.1.15] - 2025-10-01
4
13
 
5
14
  ### Changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bedrock-agentcore-starter-toolkit
3
- Version: 0.1.15
3
+ Version: 0.1.16
4
4
  Summary: A starter toolkit for using Bedrock AgentCore
5
5
  Project-URL: Homepage, https://github.com/aws/bedrock-agentcore-starter-toolkit
6
6
  Project-URL: Bug Tracker, https://github.com/aws/bedrock-agentcore-starter-toolkit/issues
@@ -0,0 +1,97 @@
1
+ # Semantic Search Memory Example
2
+
3
+ This example demonstrates the complete workflow for creating a memory resource with semantic strategy, writing events, and retrieving memory records.
4
+
5
+ ```python
6
+ # Semantic Search Memory Example
7
+
8
+ from bedrock_agentcore_starter_toolkit.operations.memory.manager import MemoryManager
9
+ from bedrock_agentcore.memory.session import MemorySessionManager
10
+ from bedrock_agentcore.memory.constants import ConversationalMessage, MessageRole
11
+ from bedrock_agentcore_starter_toolkit.operations.memory.models.strategies import SemanticStrategy
12
+ import time
13
+
14
+ memory_manager = MemoryManager(region_name="us-west-2")
15
+
16
+ print("Creating memory resource...")
17
+
18
+ memory = memory_manager.get_or_create_memory(
19
+ name="CustomerSupportSemantic",
20
+ description="Customer support memory store",
21
+ strategies=[
22
+ SemanticStrategy(
23
+ name="semanticLongTermMemory",
24
+ namespaces=['/strategies/{memoryStrategyId}/actors/{actorId}'],
25
+ )
26
+ ]
27
+ )
28
+
29
+ print(f"Memory ID: {memory.get('id')}")
30
+
31
+ # Create a session to store memory events
32
+ session_manager = MemorySessionManager(
33
+ memory_id=memory.get("id"),
34
+ region_name="us-west-2")
35
+
36
+ # Write memory events (conversation turns)
37
+ session_manager.add_turns(
38
+ actor_id="User1",
39
+ session_id="OrderSupportSession1",
40
+ messages=[
41
+ ConversationalMessage(
42
+ "Hi, how can I help you today?",
43
+ MessageRole.ASSISTANT)],
44
+ )
45
+
46
+ session_manager.add_turns(
47
+ actor_id="User1",
48
+ session_id="OrderSupportSession1",
49
+ messages=[
50
+ ConversationalMessage(
51
+ "Hi, I am a new customer. I just made an order, but it hasn't arrived. The Order number is #35476",
52
+ MessageRole.USER)],
53
+ )
54
+
55
+ session_manager.add_turns(
56
+ actor_id="User1",
57
+ session_id="OrderSupportSession1",
58
+ messages=[
59
+ ConversationalMessage(
60
+ "I'm sorry to hear that. Let me look up your order.",
61
+ MessageRole.ASSISTANT)],
62
+ )
63
+
64
+ # List all events in the session
65
+ events = session_manager.list_events(
66
+ actor_id="User1",
67
+ session_id="OrderSupportSession1",
68
+ )
69
+
70
+ for event in events:
71
+ print(f"Event: {event}")
72
+ print("--------------------------------------------------------------------")
73
+
74
+ print("Waiting 2 minutes for semantic processing...")
75
+ time.sleep(120)
76
+
77
+ # List all memory records
78
+ memory_records = session_manager.list_long_term_memory_records(
79
+ namespace_prefix="/"
80
+ )
81
+
82
+ for record in memory_records:
83
+ print(f"Memory record: {record}")
84
+ print("--------------------------------------------------------------------")
85
+
86
+ # Perform a semantic search
87
+ memory_records = session_manager.search_long_term_memories(
88
+ query="can you summarize the support issue",
89
+ namespace_prefix="/",
90
+ top_k=3
91
+ )
92
+
93
+ for record in memory_records:
94
+ print(f"retrieved memory: {record}")
95
+ print("--------------------------------------------------------------------")
96
+
97
+ ```
@@ -0,0 +1,166 @@
1
+ # Getting Started with AgentCore Memory
2
+
3
+ Amazon Bedrock AgentCore Memory lets you create and manage memory resources that store conversation context for your AI agents. This section guides you through installing dependencies and implementing both short-term and long-term memory features.
4
+
5
+ The steps are as follows
6
+
7
+ 1. Create a memory resource containing a semantic strategy
8
+ 2. Write events (conversation history) to the memory resource.
9
+ 3. Retrieve memory records from long term memory
10
+
11
+ ## Prerequisites
12
+
13
+ ### Before starting, make sure you have:
14
+
15
+ * **AWS Account** with credentials configured (`aws configure`)
16
+ * **Python 3.10+** installed
17
+
18
+
19
+ To get started with Amazon Bedrock AgentCore Memory, make a folder for this quick start, create a virtual environment, and install the dependencies. The below command can be run directly in the terminal.
20
+
21
+ ```bash
22
+ mkdir agentcore-memory-quickstart
23
+ cd agentcore-memory-quickstart
24
+ python -m venv .venv
25
+ source .venv/bin/activate
26
+ pip install bedrock-agentcore
27
+ pip install bedrock-agentcore-starter-toolkit
28
+ ```
29
+
30
+
31
+ **Note: The AgentCore Starter Toolkit is intended to help developers get started quickly. The Boto3 Python library provides the most comprehensive set of operations for AgentCore Memory. You can find the Boto3 documentation here.**
32
+
33
+
34
+ ## Step One: Create a Memory Resource
35
+
36
+ A memory resource is needed to start storing information for your agent. By default, memory events (which we refer to as short-term memory) can be written to a memory resource. In order for insights to be extracted and placed into long term memory records, the resource requires a 'memory strategy' - a configuration that defines how conversational data should be processed, and what information to extract (such as facts, preferences, or summaries).
37
+
38
+ We are going to create a memory resource with a semantic strategy so that both short term and long term memory can be utilized. This will take 1-2 minutes. Memory resources can also be created in the AWS console.
39
+
40
+ ```python
41
+ from bedrock_agentcore_starter_toolkit.operations.memory.manager import MemoryManager
42
+ from bedrock_agentcore.memory.session import MemorySessionManager
43
+ from bedrock_agentcore_starter_toolkit.operations.memory.models.strategies import (
44
+ SemanticStrategy)
45
+
46
+ memory_manager = MemoryManager(region_name="us-west-2")
47
+
48
+ print("Creating memory resource...")
49
+
50
+ memory = memory_manager.get_or_create_memory(
51
+ name="CustomerSupportSemantic",
52
+ description="Customer suppoer memory store",
53
+ strategies=[
54
+ SemanticStrategy(
55
+ name="semanticLongTermMemory",
56
+ )
57
+ ]
58
+ )
59
+
60
+ print(f"Memory ID: {memory.get('id')}")
61
+
62
+ ```
63
+
64
+
65
+ You can call list_memories to see that the memory resource has been created with:
66
+
67
+ ```python
68
+ memories = memory_manager.list_memories()
69
+ ```
70
+
71
+
72
+
73
+ ## Step Two: Write events to memory
74
+
75
+ Writing events to memory has multiple purposes. First, event contents (most commonly conversation history) are stored as short term memory. Second, relevant insights are pulled from events and written into memory records as a part of long term memory.
76
+
77
+ The memory resource id, actor id, and session id are required to create an event. We are going to create three events, simulating messages between an end user and a chat bot.
78
+
79
+
80
+ ```python
81
+ # Create a session to store memory events
82
+ session_manager = MemorySessionManager(
83
+ memory_id=memory.get("id"),
84
+ region_name="us-west-2")
85
+
86
+ # Write memory events (conversation turns)
87
+ session_manager.add_turns(
88
+ actor_id="User1",
89
+ session_id="OrderSupportSession1",
90
+ messages=[
91
+ ConversationalMessage(
92
+ "Hi, how can I help you today?",
93
+ MessageRole.ASSISTANT)],
94
+ )
95
+
96
+ session_manager.add_turns(
97
+ actor_id="User1",
98
+ session_id="OrderSupportSession1",
99
+ messages=[
100
+ ConversationalMessage(
101
+ "Hi, I am a new customer. I just made an order, but it hasn't arrived. The Order number is #35476",
102
+ MessageRole.USER)],
103
+ )
104
+
105
+ session_manager.add_turns(
106
+ actor_id="User1",
107
+ session_id="OrderSupportSession1",
108
+ messages=[
109
+ ConversationalMessage(
110
+ "I'm sorry to hear that. Let me look up your order.",
111
+ MessageRole.ASSISTANT)],
112
+ )
113
+ ```
114
+
115
+
116
+ You can get events for a specific actor after they’ve been written.
117
+
118
+
119
+ ```python
120
+ # List all events in the session
121
+ events = session_manager.list_events(
122
+ actor_id="User1",
123
+ session_id="OrderSupportSession1"
124
+ )
125
+ ```
126
+
127
+
128
+ In this case, we can see the last three events for the actor and session.
129
+
130
+ ## Step Three: Retrieve records from long term memory
131
+
132
+ After the events were written to the memory resource, they were analyzed and useful information was sent to long term memory. Since the memory contains a semantic long term memory strategy, the system extracts and stores factual information.
133
+
134
+ You can list all memory records with:
135
+
136
+ ```python
137
+ # List all memory records
138
+ session_manager.list_long_term_memory_records(
139
+ namespace_prefix="/"
140
+ )
141
+ ```
142
+
143
+ Or ask for the most relevant information as part of a semantic search:
144
+
145
+ ```python
146
+ # Perform a semantic search
147
+ memory_records = session_manager.search_long_term_memories(
148
+ query="can you summarize the support issue",
149
+ namespace_prefix="/",
150
+ top_k=3
151
+ )
152
+ ```
153
+
154
+
155
+ Important information about the user is likely stored is long term memory. Agents can use long term memory rather than a full conversation history to make sure that LLMs are not overloaded with context.
156
+
157
+ The full example source file showing steps 1 - 3 is available [here](../../examples/semantic_search.md).
158
+
159
+ ## What’s Next?
160
+
161
+ Consider the following as you continue your AgentCore journey
162
+
163
+ * Add another strategy to your memory resource
164
+ * Enable observability for more visibility into how memory is working
165
+ * Look at the vast collection of samples to familiarize yourself with other use cases.
166
+
@@ -72,26 +72,26 @@ nav:
72
72
  - User Guide:
73
73
  - Welcome: index.md
74
74
  - Runtime:
75
- - Quickstart: user-guide/runtime/quickstart.md
76
- - Overview: user-guide/runtime/overview.md
77
- - Permissions: user-guide/runtime/permissions.md
78
- - Async Processing: user-guide/runtime/async.md
79
- - Notebook: user-guide/runtime/notebook.md
75
+ - Runtime Quickstart: user-guide/runtime/quickstart.md
76
+ - Runtime Overview: user-guide/runtime/overview.md
77
+ - Runtime Permissions: user-guide/runtime/permissions.md
78
+ - Runtime Async Processing: user-guide/runtime/async.md
79
+ - Runtime Notebook: user-guide/runtime/notebook.md
80
80
  - Gateway:
81
- - Quickstart: user-guide/gateway/quickstart.md
81
+ - Gateway Quickstart: user-guide/gateway/quickstart.md
82
82
  - Memory:
83
- - Quickstart: user-guide/memory/quickstart.md
83
+ - Memory Quickstart: user-guide/memory/quickstart.md
84
84
  - Identity:
85
- - Quickstart: user-guide/identity/quickstart.md
85
+ - Identity Quickstart: user-guide/identity/quickstart.md
86
86
  - Built-in Tools:
87
87
  - Quickstart Browser Tool: user-guide/builtin-tools/quickstart-browser.md
88
88
  - Quickstart Code Interpreter: user-guide/builtin-tools/quickstart-code-interpreter.md
89
89
  - Observability:
90
- - Quickstart: user-guide/observability/quickstart.md
90
+ - Observability Quickstart: user-guide/observability/quickstart.md
91
91
  - Import Agent:
92
- - Quickstart: user-guide/import-agent/quickstart.md
93
- - Overview: user-guide/import-agent/overview.md
94
- - Configuration: user-guide/import-agent/configuration.md
92
+ - Import Agent Quickstart: user-guide/import-agent/quickstart.md
93
+ - Import Agent Overview: user-guide/import-agent/overview.md
94
+ - Import Agent Configuration: user-guide/import-agent/configuration.md
95
95
  - Examples:
96
96
  - Overview: examples/README.md
97
97
  - Session Management: examples/session-management.md
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "bedrock-agentcore-starter-toolkit"
7
- version = "0.1.15"
7
+ version = "0.1.16"
8
8
  description = "A starter toolkit for using Bedrock AgentCore"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -47,6 +47,21 @@ class UniversalComparator:
47
47
  @staticmethod
48
48
  def _deep_compare_normalized(obj1: Any, obj2: Any, path: str = "") -> tuple[bool, str]:
49
49
  """Compare normalized objects recursively."""
50
+ # Special handling for namespaces - check this first before general type/None handling
51
+ if path == "namespaces":
52
+ # Skip validation if either is None/empty or both are None
53
+ # This allows server-side namespace assignment when not provided by user
54
+ if not obj1 or not obj2:
55
+ return True, ""
56
+ # Only validate if both are non-empty lists
57
+ if isinstance(obj1, list) and isinstance(obj2, list):
58
+ set1 = set(obj1) if obj1 else set()
59
+ set2 = set(obj2) if obj2 else set()
60
+ if set1 != set2:
61
+ return False, f"{path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
62
+ return True, ""
63
+ # If not both lists, fall through to normal comparison
64
+
50
65
  # Handle None equivalence - treat None and empty values as equivalent
51
66
  if obj1 is None and obj2 is None:
52
67
  return True, ""
@@ -69,12 +84,18 @@ class UniversalComparator:
69
84
  val1 = obj1.get(key)
70
85
  val2 = obj2.get(key)
71
86
 
72
- # Special handling for namespaces - compare as sets (order-independent)
73
- if key == "namespaces" and isinstance(val1, list) and isinstance(val2, list):
74
- set1 = set(val1) if val1 else set()
75
- set2 = set(val2) if val2 else set()
76
- if set1 != set2:
77
- return False, f"{key_path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
87
+ # Special handling for namespaces - only validate when both are non-empty lists
88
+ if key == "namespaces":
89
+ # Skip validation if either is None/empty or both are None
90
+ # This allows server-side namespace assignment when not provided by user
91
+ if not val1 or not val2:
92
+ continue
93
+ # Only validate if both are non-empty lists of strings
94
+ if isinstance(val1, list) and isinstance(val2, list):
95
+ set1 = set(val1) if val1 else set()
96
+ set2 = set(val2) if val2 else set()
97
+ if set1 != set2:
98
+ return False, f"{key_path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
78
99
  continue
79
100
 
80
101
  matches, error = UniversalComparator._deep_compare_normalized(val1, val2, key_path)
@@ -84,14 +105,6 @@ class UniversalComparator:
84
105
  return True, ""
85
106
 
86
107
  elif isinstance(obj1, list):
87
- # Special case: if this is a namespaces list at the root level, compare as sets
88
- if path == "namespaces":
89
- set1 = set(obj1) if obj1 else set()
90
- set2 = set(obj2) if obj2 else set()
91
- if set1 != set2:
92
- return False, f"{path}: mismatch ({sorted(set1)} vs {sorted(set2)})"
93
- return True, ""
94
-
95
108
  if len(obj1) != len(obj2):
96
109
  return False, f"{path}: list length mismatch ({len(obj1)} vs {len(obj2)})"
97
110
 
@@ -406,7 +406,7 @@ class TestUniversalComparatorEdgeCases:
406
406
 
407
407
  def test_deep_compare_normalized_namespaces_special_handling(self):
408
408
  """Test _deep_compare_normalized special handling for namespaces."""
409
- # Test namespaces at root level
409
+ # Test namespaces at root level - should pass when both are non-empty and match (order independent)
410
410
  obj1 = ["namespace1", "namespace2"]
411
411
  obj2 = ["namespace2", "namespace1"] # Different order
412
412
 
@@ -414,15 +414,15 @@ class TestUniversalComparatorEdgeCases:
414
414
  assert matches is True
415
415
  assert error == ""
416
416
 
417
- # Test namespaces with duplicates
417
+ # Test namespaces with duplicates - should pass (sets remove duplicates)
418
418
  obj1 = ["namespace1", "namespace2", "namespace1"]
419
419
  obj2 = ["namespace2", "namespace1"]
420
420
 
421
421
  matches, error = UniversalComparator._deep_compare_normalized(obj1, obj2, "namespaces")
422
- assert matches is True # Sets remove duplicates
422
+ assert matches is True
423
423
  assert error == ""
424
424
 
425
- # Test namespaces mismatch
425
+ # Test namespaces mismatch - should fail when both are non-empty but different
426
426
  obj1 = ["namespace1", "namespace2"]
427
427
  obj2 = ["namespace3", "namespace4"]
428
428
 
@@ -430,6 +430,22 @@ class TestUniversalComparatorEdgeCases:
430
430
  assert matches is False
431
431
  assert "namespaces: mismatch" in error
432
432
 
433
+ # Test empty vs non-empty namespaces - should pass (skip validation)
434
+ obj1 = []
435
+ obj2 = ["namespace1", "namespace2"]
436
+
437
+ matches, error = UniversalComparator._deep_compare_normalized(obj1, obj2, "namespaces")
438
+ assert matches is True
439
+ assert error == ""
440
+
441
+ # Test None vs non-empty namespaces - should pass (skip validation)
442
+ obj1 = None
443
+ obj2 = ["namespace1", "namespace2"]
444
+
445
+ matches, error = UniversalComparator._deep_compare_normalized(obj1, obj2, "namespaces")
446
+ assert matches is True
447
+ assert error == ""
448
+
433
449
  def test_deep_compare_normalized_dict_namespaces_special_handling(self):
434
450
  """Test _deep_compare_normalized special handling for namespaces in dicts."""
435
451
  obj1 = {"name": "test", "namespaces": ["namespace1", "namespace2"]}
@@ -1026,7 +1042,7 @@ class TestStrategyComparator:
1026
1042
  assert "description: value mismatch" in error
1027
1043
 
1028
1044
  def test_compare_strategies_namespaces_mismatch(self):
1029
- """Test comparing strategies with namespaces mismatch."""
1045
+ """Test comparing strategies with namespaces mismatch - should fail when both are non-empty."""
1030
1046
  existing = [
1031
1047
  {
1032
1048
  "type": "SEMANTIC",
@@ -1048,8 +1064,33 @@ class TestStrategyComparator:
1048
1064
 
1049
1065
  matches, error = StrategyComparator.compare_strategies(existing, requested)
1050
1066
 
1051
- assert matches is False
1067
+ assert matches is False # Should fail when both namespaces are non-empty but different
1052
1068
  assert "namespaces: mismatch" in error
1069
+ def test_compare_strategies_namespaces_skip_validation(self):
1070
+ """Test comparing strategies with namespaces - should skip validation when one is empty."""
1071
+ existing = [
1072
+ {
1073
+ "type": "SEMANTIC",
1074
+ "name": "SemanticStrategy",
1075
+ "description": "Test strategy",
1076
+ "namespaces": [], # Empty namespaces
1077
+ }
1078
+ ]
1079
+
1080
+ requested = [
1081
+ {
1082
+ "semanticMemoryStrategy": {
1083
+ "name": "SemanticStrategy",
1084
+ "description": "Test strategy",
1085
+ "namespaces": ["different/{actorId}"], # Non-empty namespaces
1086
+ }
1087
+ }
1088
+ ]
1089
+
1090
+ matches, error = StrategyComparator.compare_strategies(existing, requested)
1091
+
1092
+ assert matches is True # Should pass when one namespace is empty
1093
+ assert error == ""
1053
1094
 
1054
1095
  def test_compare_strategies_custom_extraction_mismatch(self):
1055
1096
  """Test comparing custom strategies with extraction config mismatch."""