bedrock-agentcore-starter-toolkit 0.1.0__tar.gz → 0.1.2__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 (156) hide show
  1. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows/ci.yml +3 -61
  2. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows/deploy-docs.yml +7 -0
  3. bedrock_agentcore_starter_toolkit-0.1.2/CHANGELOG.md +66 -0
  4. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/PKG-INFO +8 -8
  5. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/README.md +4 -4
  6. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/index.md +5 -3
  7. bedrock_agentcore_starter_toolkit-0.1.2/documentation/docs/user-guide/builtin-tools/quickstart-browser.md +208 -0
  8. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/builtin-tools/quickstart-code-interpreter.md +1 -1
  9. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/identity/quickstart.md +13 -13
  10. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/memory/quickstart.md +3 -3
  11. bedrock_agentcore_starter_toolkit-0.1.2/documentation/docs/user-guide/runtime/permissions.md +320 -0
  12. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/runtime/quickstart.md +4 -7
  13. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/mkdocs.yaml +3 -3
  14. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/pyproject.toml +4 -4
  15. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/cli/cli.py +3 -10
  16. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/cli/runtime/commands.py +52 -4
  17. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py +20 -11
  18. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py +53 -10
  19. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/gateway/README.md +6 -6
  20. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_role.py +11 -10
  21. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/runtime/configure.py +21 -7
  22. bedrock_agentcore_starter_toolkit-0.1.2/src/bedrock_agentcore_starter_toolkit/operations/runtime/create_role.py +404 -0
  23. bedrock_agentcore_starter_toolkit-0.1.2/src/bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +439 -0
  24. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/runtime/models.py +4 -1
  25. bedrock_agentcore_starter_toolkit-0.1.2/src/bedrock_agentcore_starter_toolkit/services/codebuild.py +337 -0
  26. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/services/ecr.py +29 -0
  27. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/services/runtime.py +91 -1
  28. bedrock_agentcore_starter_toolkit-0.1.2/src/bedrock_agentcore_starter_toolkit/utils/logging_config.py +72 -0
  29. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/runtime/entrypoint.py +3 -3
  30. bedrock_agentcore_starter_toolkit-0.1.2/src/bedrock_agentcore_starter_toolkit/utils/runtime/policy_template.py +74 -0
  31. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/runtime/schema.py +12 -2
  32. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2 +10 -25
  33. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template +0 -1
  34. bedrock_agentcore_starter_toolkit-0.1.2/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2 +98 -0
  35. bedrock_agentcore_starter_toolkit-0.1.2/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2 +21 -0
  36. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/cli/gateway/test_commands.py +3 -3
  37. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/cli/runtime/test_commands.py +28 -4
  38. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/cli/runtime/test_configuration_manager.py +8 -12
  39. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/conftest.py +1 -1
  40. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/notebook/runtime/test_bedrock_agentcore.py +66 -3
  41. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/operations/gateway/test_gateway_create_role.py +166 -1
  42. bedrock_agentcore_starter_toolkit-0.1.2/tests/operations/runtime/test_create_role.py +565 -0
  43. bedrock_agentcore_starter_toolkit-0.1.2/tests/operations/runtime/test_launch.py +938 -0
  44. bedrock_agentcore_starter_toolkit-0.1.2/tests/services/test_codebuild.py +520 -0
  45. bedrock_agentcore_starter_toolkit-0.1.2/tests/utils/runtime/test_policy_template.py +140 -0
  46. bedrock_agentcore_starter_toolkit-0.1.2/tests/utils/test_logging_config.py +214 -0
  47. bedrock_agentcore_starter_toolkit-0.1.2/tests_integ/notebook/test_runtime.py +9 -0
  48. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/uv.lock +22 -13
  49. bedrock_agentcore_starter_toolkit-0.1.0/CHANGELOG.md +0 -23
  50. bedrock_agentcore_starter_toolkit-0.1.0/documentation/docs/user-guide/builtin-tools/quickstart-browser.md +0 -181
  51. bedrock_agentcore_starter_toolkit-0.1.0/extract.py +0 -170
  52. bedrock_agentcore_starter_toolkit-0.1.0/pyproject.toml.backup +0 -159
  53. bedrock_agentcore_starter_toolkit-0.1.0/repository_code.md +0 -20886
  54. bedrock_agentcore_starter_toolkit-0.1.0/scripts/fix-github-actions-no-wheelhouse.sh +0 -524
  55. bedrock_agentcore_starter_toolkit-0.1.0/scripts/fix-github-actions.sh +0 -575
  56. bedrock_agentcore_starter_toolkit-0.1.0/scripts/modify-toml-for-ci.py +0 -48
  57. bedrock_agentcore_starter_toolkit-0.1.0/src/bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +0 -163
  58. bedrock_agentcore_starter_toolkit-0.1.0/tests/operations/runtime/test_launch.py +0 -275
  59. bedrock_agentcore_starter_toolkit-0.1.0/tests_integ/notebook/test_runtime.py +0 -13
  60. bedrock_agentcore_starter_toolkit-0.1.0/verify_api.py +0 -8
  61. bedrock_agentcore_starter_toolkit-0.1.0/verify_package.py +0 -15
  62. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/CODEOWNERS +0 -0
  63. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  64. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/branch-protection.json +0 -0
  65. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/dependabot.yml +0 -0
  66. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/pull_request_template.md +0 -0
  67. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows/release.yml +0 -0
  68. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows/security-scanning.yml +0 -0
  69. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows/security.yml +0 -0
  70. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows/test-pypi-release.yml +0 -0
  71. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows-backup-20250715-221720/ci.yml +0 -0
  72. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows-backup-20250715-221720/deploy-docs.yml +0 -0
  73. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows-backup-20250715-221720/release.yml +0 -0
  74. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.github/workflows-backup-20250715-221720/security-scanning.yml +0 -0
  75. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.gitignore +0 -0
  76. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.pre-commit-config.yaml +0 -0
  77. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/.python-version +0 -0
  78. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/CODE-OF-CONDUCT.md +0 -0
  79. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/CONTRIBUTING.md +0 -0
  80. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/LICENSE.txt +0 -0
  81. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/NOTICE.txt +0 -0
  82. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/SECURITY.md +0 -0
  83. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/.gitignore +0 -0
  84. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/README.md +0 -0
  85. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/api-reference/cli.md +0 -0
  86. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/api-reference/identity.md +0 -0
  87. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/api-reference/memory.md +0 -0
  88. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/api-reference/runtime.md +0 -0
  89. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/api-reference/tools.md +0 -0
  90. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/examples/README.md +0 -0
  91. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/examples/async-processing.md +0 -0
  92. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/examples/gateway-integration.md +0 -0
  93. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/examples/session-management.md +0 -0
  94. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/stylesheets/extra.css +0 -0
  95. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/gateway/overview.md +0 -0
  96. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/gateway/quickstart.md +0 -0
  97. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/observability/quickstart.md +0 -0
  98. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/runtime/async.md +0 -0
  99. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/runtime/notebook.md +0 -0
  100. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/docs/user-guide/runtime/overview.md +0 -0
  101. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/documentation/overrides/main.html +0 -0
  102. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/scripts/bump-version.py +0 -0
  103. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/scripts/prepare-release.py +0 -0
  104. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/scripts/setup-branch-protection.sh +0 -0
  105. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/scripts/validate-release.py +0 -0
  106. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/__init__.py +0 -0
  107. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/cli/common.py +0 -0
  108. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/cli/gateway/__init__.py +0 -0
  109. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/cli/gateway/commands.py +0 -0
  110. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/cli/runtime/__init__.py +0 -0
  111. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/notebook/__init__.py +0 -0
  112. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/__init__.py +0 -0
  113. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/__init__.py +0 -0
  114. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/gateway/__init__.py +0 -0
  115. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/gateway/client.py +0 -0
  116. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/gateway/constants.py +0 -0
  117. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_lambda.py +0 -0
  118. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/gateway/exceptions.py +0 -0
  119. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py +0 -0
  120. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py +0 -0
  121. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/operations/runtime/status.py +0 -0
  122. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/endpoints.py +0 -0
  123. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/runtime/config.py +0 -0
  124. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/runtime/container.py +0 -0
  125. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/src/bedrock_agentcore_starter_toolkit/utils/runtime/logs.py +0 -0
  126. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/__init__.py +0 -0
  127. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/cli/gateway/__init__.py +0 -0
  128. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/cli/runtime/__init__.py +0 -0
  129. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/cli/test_common.py +0 -0
  130. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/conftest_mock.py +0 -0
  131. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/fixtures/project_config_multiple.yaml +0 -0
  132. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/fixtures/project_config_single.yaml +0 -0
  133. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/operations/gateway/test_gateway_client.py +0 -0
  134. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/operations/gateway/test_gateway_client_init.py +0 -0
  135. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/operations/runtime/test_configure.py +0 -0
  136. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/operations/runtime/test_invoke.py +0 -0
  137. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/operations/runtime/test_status.py +0 -0
  138. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/services/test_ecr.py +0 -0
  139. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/services/test_runtime.py +0 -0
  140. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/utils/runtime/test_config.py +0 -0
  141. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/utils/runtime/test_container.py +0 -0
  142. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/utils/runtime/test_entrypoint.py +0 -0
  143. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests/utils/test_endpoints.py +0 -0
  144. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/gateway/README.md +0 -0
  145. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/gateway/test_cognito_token.py +0 -0
  146. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/gateway/test_create_role.py +0 -0
  147. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/gateway/test_egress_auth.py +0 -0
  148. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/gateway/test_gateway_cognito.py +0 -0
  149. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/identity/access_token_3LO.py +0 -0
  150. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/strands_agent/__init__.py +0 -0
  151. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/strands_agent/agent_example.py +0 -0
  152. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/tools/__init__.py +0 -0
  153. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/tools/my_mcp_client.py +0 -0
  154. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/tools/my_mcp_client_remote.py +0 -0
  155. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/tools/my_mcp_server.py +0 -0
  156. {bedrock_agentcore_starter_toolkit-0.1.0 → bedrock_agentcore_starter_toolkit-0.1.2}/tests_integ/tools/setup_cognito.sh +0 -0
@@ -55,70 +55,20 @@ jobs:
55
55
  pip install tomli
56
56
  fi
57
57
 
58
- - name: Create CI-friendly pyproject.toml
58
+ - name: Install package and dependencies
59
59
  run: |
60
- cp pyproject.toml pyproject.toml.original
61
- python scripts/modify-toml-for-ci.py
62
-
63
- - name: Create mock bedrock_agentcore module
64
- run: |
65
- mkdir -p mock_modules/bedrock_agentcore
66
- cat > mock_modules/bedrock_agentcore/__init__.py << 'MOCK'
67
- # Mock module for CI testing
68
- class BedrockAgentCoreApp:
69
- def __init__(self):
70
- self.entrypoint_func = None
71
- def entrypoint(self, func):
72
- self.entrypoint_func = func
73
- return func
74
- def run(self):
75
- pass
76
- MOCK
77
-
78
- # Create __init__.py for boto mocks
79
- mkdir -p mock_modules/boto3
80
- echo "# Mock boto3" > mock_modules/boto3/__init__.py
81
- mkdir -p mock_modules/botocore
82
- echo "# Mock botocore" > mock_modules/botocore/__init__.py
83
-
84
- - name: Install package with mocked dependencies
85
- run: |
86
- # Add mock modules to Python path
87
- export PYTHONPATH="${PWD}/mock_modules:$PYTHONPATH"
88
-
89
- # Install the package
90
60
  pip install -e .
91
-
92
- # Install test dependencies
93
61
  pip install pytest pytest-cov pytest-asyncio pytest-mock
94
62
 
95
63
  - name: Run basic import tests
96
64
  run: |
97
- export PYTHONPATH="${PWD}/mock_modules:$PYTHONPATH"
98
65
  python -c "from bedrock_agentcore_starter_toolkit.cli.cli import main; print('✓ CLI import successful')"
99
66
  python -c "from bedrock_agentcore_starter_toolkit import Runtime; print('✓ Runtime import successful')"
100
67
 
101
68
  - name: Run unit tests
102
69
  run: |
103
- export PYTHONPATH="${PWD}/mock_modules:$PYTHONPATH"
104
- export BEDROCK_AGENTCORE_MOCK_MODE=true
105
-
106
- # Run only unit tests that don't require real dependencies
107
- pytest tests/cli/ tests/utils/ \
108
- -v \
109
- --ignore=tests_integ/ \
110
- --ignore=tests/services/ \
111
- --ignore=tests/operations/ \
112
- --ignore=tests/notebook/ \
113
- -k "not test_bedrock" \
114
- || echo "::warning::Some tests failed due to missing dependencies"
115
-
116
- - name: Restore original pyproject.toml
117
- if: always()
118
- run: |
119
- if [ -f pyproject.toml.original ]; then
120
- mv pyproject.toml.original pyproject.toml
121
- fi
70
+ # Run unit tests
71
+ pytest tests/ || echo "::warning::Some tests failed due to missing dependencies"
122
72
 
123
73
  build:
124
74
  name: Build Package
@@ -141,17 +91,9 @@ jobs:
141
91
  pip install tomli
142
92
  fi
143
93
 
144
- - name: Create release version of pyproject.toml
145
- run: |
146
- cp pyproject.toml pyproject.toml.original
147
- python scripts/modify-toml-for-ci.py
148
-
149
94
  - name: Build package
150
95
  run: python -m build
151
96
 
152
- - name: Restore original pyproject.toml
153
- run: mv pyproject.toml.original pyproject.toml
154
-
155
97
  - name: Check package
156
98
  run: |
157
99
  twine check dist/*
@@ -22,6 +22,13 @@ jobs:
22
22
  with:
23
23
  fetch-depth: 0 # Fetch all history for proper versioning
24
24
 
25
+ - name: Checkout SDK repository
26
+ uses: actions/checkout@v4
27
+ with:
28
+ repository: aws/bedrock-agentcore-sdk-python
29
+ path: bedrock-agentcore-sdk-python
30
+ fetch-depth: 1
31
+
25
32
  - name: Set up Python
26
33
  uses: actions/setup-python@v5
27
34
  with:
@@ -0,0 +1,66 @@
1
+ # Changelog
2
+
3
+ ## [0.1.2] - 2025-07-23
4
+
5
+ ### Fixed
6
+ - **S3 bucket creation in us-east-1 region** - Fixed CodeBuild S3 bucket creation failure
7
+ - Removed unsupported `LocationConstraint` parameter for us-east-1 region
8
+ - us-east-1 is the default S3 region and does not accept LocationConstraint
9
+ - CodeBuild feature now works correctly in all AWS regions including IAD
10
+
11
+ ### Dependencies
12
+ - Updated to use bedrock-agentcore SDK v0.1.1
13
+
14
+ ## [0.1.1] - 2025-07-22
15
+
16
+ ### Added
17
+ - **Multi-platform Docker build support via AWS CodeBuild** (#1)
18
+ - New `--codebuild` flag for `agentcore launch` command enables ARM64 container builds
19
+ - Complete `CodeBuildService` class with ARM64-optimized build pipeline
20
+ - Automated infrastructure provisioning (S3 buckets, IAM roles, CodeBuild projects)
21
+ - ARM64-optimized buildspec with Docker BuildKit caching and parallel push operations
22
+ - Smart source management with .dockerignore pattern support and S3 lifecycle policies
23
+ - Real-time build monitoring with detailed phase tracking
24
+ - Support for `aws/codebuild/amazonlinux2-aarch64-standard:3.0` image
25
+ - ECR caching strategy for faster ARM64 builds
26
+
27
+ - **Automatic IAM execution role creation** (#2)
28
+ - Auto-creation of IAM execution roles for Bedrock AgentCore Runtime
29
+ - Policy templates for execution role and trust policy
30
+ - Detailed logging and progress tracking during role creation
31
+ - Informative error messages for common IAM scenarios
32
+ - Eliminates need for manual IAM role creation before deployment
33
+
34
+ - **Auto-update on conflict for agent deployments** (#3)
35
+ - New `--auto-update-on-conflict` flag for `agentcore launch` command
36
+ - Automatically updates existing agents instead of failing with conflict errors
37
+ - Available in both CLI and notebook interfaces
38
+ - Streamlines iterative development and deployment workflows
39
+
40
+ ### Changed
41
+ - Enhanced `agentcore launch` command to support both local Docker and CodeBuild workflows
42
+ - Improved error handling patterns throughout the codebase
43
+ - Updated AWS SDK exception handling to use standard `ClientError` patterns instead of service-specific exceptions
44
+
45
+ ### Fixed
46
+ - Fixed AWS IAM exception handling by replacing problematic service-specific exceptions with standard `ClientError` patterns
47
+ - Resolved pre-commit hook compliance issues with proper code formatting
48
+
49
+ ### Improved
50
+ - Added 90%+ test coverage with 20+ new comprehensive test cases
51
+ - Enhanced error handling with proper AWS SDK patterns
52
+ - Improved build reliability and monitoring capabilities
53
+ - Better user experience with one-command ARM64 deployment
54
+
55
+ ## [0.1.0] - 2025-07-16
56
+
57
+ ### Added
58
+ - Initial release of Bedrock AgentCore Starter Toolkit
59
+ - CLI toolkit for deploying AI agents to Amazon Bedrock AgentCore
60
+ - Zero infrastructure management with built-in gateway and memory integrations
61
+ - Support for popular frameworks (Strands, LangGraph, CrewAI, custom agents)
62
+ - Core CLI commands: `configure`, `launch`, `invoke`, `status`
63
+ - Local testing capabilities with `--local` flag
64
+ - Integration with Bedrock AgentCore SDK
65
+ - Basic Docker containerization support
66
+ - Comprehensive documentation and examples
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bedrock-agentcore-starter-toolkit
3
- Version: 0.1.0
3
+ Version: 0.1.2
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
@@ -21,9 +21,9 @@ Classifier: Programming Language :: Python :: 3.13
21
21
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
23
  Requires-Python: >=3.10
24
- Requires-Dist: bedrock-agentcore>=0.1.0
25
- Requires-Dist: boto3>=1.35.0
26
- Requires-Dist: botocore>=1.35.0
24
+ Requires-Dist: bedrock-agentcore>=0.1.1
25
+ Requires-Dist: boto3>=1.39.7
26
+ Requires-Dist: botocore>=1.39.7
27
27
  Requires-Dist: docstring-parser<1.0,>=0.15
28
28
  Requires-Dist: httpx>=0.28.1
29
29
  Requires-Dist: jinja2>=3.1.6
@@ -51,8 +51,8 @@ Description-Content-Type: text/markdown
51
51
  <div align="center">
52
52
  <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/aws/bedrock-agentcore-starter-toolkit"/></a>
53
53
  <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/issues"><img alt="GitHub open issues" src="https://img.shields.io/github/issues/aws/bedrock-agentcore-starter-toolkit"/></a>
54
- <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/pulls"><img alt="GitHub open pull requests" src="https://img.shields.io/github/issues-pr/bedrock-agentcore-starter-toolkit"/></a>
55
- <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/aws/bedrock-agentcore-starter-toolkit"/></a>
54
+ <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/pulls"><img alt="GitHub open pull requests" src="https://img.shields.io/github/issues-pr/aws/bedrock-agentcore-starter-toolkit"/></a>
55
+ <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/blob/main/LICENSE.txt"><img alt="License" src="https://img.shields.io/github/license/aws/bedrock-agentcore-starter-toolkit"/></a>
56
56
  <a href="https://pypi.org/project/bedrock-agentcore-starter-toolkit"><img alt="PyPI version" src="https://img.shields.io/pypi/v/bedrock-agentcore-starter-toolkit"/></a>
57
57
  <a href="https://python.org"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/bedrock-agentcore-starter-toolkit"/></a>
58
58
  </div>
@@ -75,7 +75,7 @@ app = BedrockAgentCoreApp()
75
75
 
76
76
  @app.entrypoint
77
77
  def my_agent(request):
78
- # Your existing LangGraph, CrewAI, or custom agent logic
78
+ # Your existing Strands, LangGraph, CrewAI, or custom agent logic
79
79
  return process_with_your_framework(request.get("prompt"))
80
80
 
81
81
  app.run()
@@ -126,7 +126,7 @@ agentcore invoke '{"prompt": "Hello from Bedrock AgentCore!"}'
126
126
  Amazon Bedrock AgentCore enables you to deploy and operate highly effective agents securely, at scale using any framework and model. With AgentCore, developers can accelerate AI agents into production with enterprise-grade scale, reliability, and security. The platform provides:
127
127
 
128
128
  - **Composable Services**: Mix and match services to fit your needs
129
- - **Framework Flexibility**: Works with LangGraph, CrewAI, Strands, and more
129
+ - **Framework Flexibility**: Works with Strands, LangGraph, CrewAI, Strands, and more
130
130
  - **Any Model Support**: Not locked into specific models
131
131
  - **Enterprise Security**: Built-in identity, isolation, and access controls
132
132
 
@@ -10,8 +10,8 @@
10
10
  <div align="center">
11
11
  <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/aws/bedrock-agentcore-starter-toolkit"/></a>
12
12
  <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/issues"><img alt="GitHub open issues" src="https://img.shields.io/github/issues/aws/bedrock-agentcore-starter-toolkit"/></a>
13
- <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/pulls"><img alt="GitHub open pull requests" src="https://img.shields.io/github/issues-pr/bedrock-agentcore-starter-toolkit"/></a>
14
- <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/aws/bedrock-agentcore-starter-toolkit"/></a>
13
+ <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/pulls"><img alt="GitHub open pull requests" src="https://img.shields.io/github/issues-pr/aws/bedrock-agentcore-starter-toolkit"/></a>
14
+ <a href="https://github.com/aws/bedrock-agentcore-starter-toolkit/blob/main/LICENSE.txt"><img alt="License" src="https://img.shields.io/github/license/aws/bedrock-agentcore-starter-toolkit"/></a>
15
15
  <a href="https://pypi.org/project/bedrock-agentcore-starter-toolkit"><img alt="PyPI version" src="https://img.shields.io/pypi/v/bedrock-agentcore-starter-toolkit"/></a>
16
16
  <a href="https://python.org"><img alt="Python versions" src="https://img.shields.io/pypi/pyversions/bedrock-agentcore-starter-toolkit"/></a>
17
17
  </div>
@@ -34,7 +34,7 @@ app = BedrockAgentCoreApp()
34
34
 
35
35
  @app.entrypoint
36
36
  def my_agent(request):
37
- # Your existing LangGraph, CrewAI, or custom agent logic
37
+ # Your existing Strands, LangGraph, CrewAI, or custom agent logic
38
38
  return process_with_your_framework(request.get("prompt"))
39
39
 
40
40
  app.run()
@@ -85,7 +85,7 @@ agentcore invoke '{"prompt": "Hello from Bedrock AgentCore!"}'
85
85
  Amazon Bedrock AgentCore enables you to deploy and operate highly effective agents securely, at scale using any framework and model. With AgentCore, developers can accelerate AI agents into production with enterprise-grade scale, reliability, and security. The platform provides:
86
86
 
87
87
  - **Composable Services**: Mix and match services to fit your needs
88
- - **Framework Flexibility**: Works with LangGraph, CrewAI, Strands, and more
88
+ - **Framework Flexibility**: Works with Strands, LangGraph, CrewAI, Strands, and more
89
89
  - **Any Model Support**: Not locked into specific models
90
90
  - **Enterprise Security**: Built-in identity, isolation, and access controls
91
91
 
@@ -19,8 +19,8 @@ Amazon Bedrock AgentCore is a comprehensive platform for deploying and operating
19
19
 
20
20
  ```python
21
21
  # Your existing agent (any framework)
22
- from langgraph import StateGraph
23
- # or CrewAI, Autogen, custom logic - doesn't matter
22
+ from strands import Agent
23
+ # or LangGraph, CrewAI, Autogen, custom logic - doesn't matter
24
24
 
25
25
  def my_local_agent(query):
26
26
  # Your carefully crafted agent logic
@@ -38,7 +38,9 @@ production_agent.run() # Ready to run on Bedrock AgentCore
38
38
  ```
39
39
 
40
40
  **What you get with Bedrock AgentCore:**
41
- - ✅ **Keep your agent logic** - Works with LangGraph, CrewAI, Autogen, custom frameworks.
41
+
42
+
43
+ - ✅ **Keep your agent logic** - Works with Strands, LangGraph, CrewAI, Autogen, custom frameworks.
42
44
  - ✅ **Zero infrastructure management** - No servers, containers, or scaling concerns.
43
45
  - ✅ **Enterprise-grade platform** - Built-in auth, memory, observability, security.
44
46
  - ✅ **Production-ready deployment** - Reliable, scalable, compliant hosting.
@@ -0,0 +1,208 @@
1
+ # Getting Started with Browser
2
+
3
+ The Amazon Bedrock AgentCore Browser provides a secure, managed environment for web browsing and automation. This guide will help you implement powerful browser capabilities in your agent applications.
4
+
5
+ ## Prerequisites
6
+
7
+ Before using the browser tool, ensure you have:
8
+
9
+ - An AWS account with appropriate permissions
10
+ - Python 3.10+ installed
11
+
12
+ ## Install the SDK
13
+
14
+ ```bash
15
+ pip install bedrock-agentcore
16
+ ```
17
+
18
+ ## Create a Browser Session
19
+
20
+ The bedrock-agentcore SDK provides a convenient way to create browser sessions:
21
+
22
+ ```python
23
+ from bedrock_agentcore.tools.browser_client import browser_session
24
+
25
+ # Create a browser session using the context manager
26
+ with browser_session("us-west-2") as client:
27
+ # The session_id is automatically generated
28
+ print(f"Session ID: {client.session_id}")
29
+
30
+ # Generate WebSocket URL and headers for connecting automation frameworks
31
+ websocket_url, headers = client.generate_ws_headers()
32
+
33
+ # Use these to connect your preferred browser automation tool
34
+ # (See examples below)
35
+
36
+ # The session is automatically closed when exiting the context manager
37
+ ```
38
+
39
+ For more control over the session lifecycle:
40
+
41
+ ```python
42
+ from bedrock_agentcore.tools.browser_client import BrowserClient
43
+
44
+ # Create a browser client
45
+ client = BrowserClient(region="us-west-2")
46
+
47
+ # Start a browser session
48
+ client.start()
49
+ print(f"Session ID: {client.session_id}")
50
+
51
+ try:
52
+ # Generate WebSocket URL and headers
53
+ url, headers = client.generate_ws_headers()
54
+
55
+ # Perform browser operations with your preferred automation tool
56
+
57
+ finally:
58
+ # Always close the session when done
59
+ client.stop()
60
+ ```
61
+
62
+ ## Integration Examples
63
+
64
+ ### Example 1: Browser Automation with Nova Act
65
+
66
+ ##### Install dependencies
67
+
68
+ ```bash
69
+ pip install nova-act
70
+ ```
71
+ You can build a browser agent using Nova Act to automate web interactions:
72
+
73
+ ```python
74
+ import time
75
+ from bedrock_agentcore.tools.browser_client import browser_session
76
+ from nova_act import NovaAct
77
+ from rich.console import Console
78
+
79
+ NOVA_ACT_API_KEY = "YOUR_NOVA_ACT_API_KEY"
80
+
81
+ console = Console()
82
+
83
+ def main():
84
+ try:
85
+ # Step 1: Create browser session
86
+ with browser_session("us-west-2") as client:
87
+ print("\r ✅ Browser ready! ")
88
+ ws_url, headers = client.generate_ws_headers()
89
+
90
+ # Step 2: Use Nova Act to interact with the browser
91
+ with NovaAct(
92
+ cdp_endpoint_url=ws_url,
93
+ cdp_headers=headers,
94
+ preview={"playwright_actuation": True},
95
+ nova_act_api_key=NOVA_ACT_API_KEY,
96
+ starting_page="https://www.amazon.com",
97
+ ) as nova_act:
98
+ result = nova_act.act("Search for coffee maker and get the details of the lowest priced one on the first page")
99
+ console.print(f"\n[bold green]Nova Act Result:[/bold green] {result}")
100
+
101
+ except KeyboardInterrupt:
102
+ console.print("\n\n[yellow]Shutting down...[/yellow]")
103
+ if 'client' in locals():
104
+ client.stop()
105
+ print("✅ Browser session terminated")
106
+ except Exception as e:
107
+ print(f"\n[red]Error: {e}[/red]")
108
+ import traceback
109
+ traceback.print_exc()
110
+
111
+ if __name__ == "__main__":
112
+ main()
113
+ ```
114
+
115
+ ### Example 2: Using Playwright for Browser Control
116
+
117
+ ##### Install dependencies
118
+
119
+ ```bash
120
+ pip install playwright
121
+ ```
122
+
123
+ You can use the Playwright automation framework with the Browser Tool:
124
+
125
+ ```python
126
+ import time
127
+ import base64
128
+ from datetime import datetime
129
+ from playwright.sync_api import sync_playwright, Playwright, BrowserType
130
+ from bedrock_agentcore.tools.browser_client import browser_session
131
+
132
+ def capture_cdp_screenshot(context, page, filename_prefix="screenshot", image_format="jpeg"):
133
+ """Capture a screenshot using the CDP API and save to file."""
134
+ cdp_client = context.new_cdp_session(page)
135
+ screenshot_data = cdp_client.send("Page.captureScreenshot", {
136
+ "format": image_format,
137
+ "quality": 80,
138
+ "captureBeyondViewport": True
139
+ })
140
+
141
+ timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
142
+ filename = f"{filename_prefix}_{timestamp}.{image_format}"
143
+ image_bytes = base64.b64decode(screenshot_data['data'])
144
+
145
+ with open(filename, "wb") as f:
146
+ f.write(image_bytes)
147
+
148
+ print(f"✅ Screenshot saved: {filename}")
149
+ return filename
150
+
151
+
152
+ def main(playwright: Playwright):
153
+ with browser_session("us-west-2") as client:
154
+ print("📡 Browser session started... waiting for readiness")
155
+
156
+ ws_url, headers = client.generate_ws_headers()
157
+ chromium: BrowserType = playwright.chromium
158
+ browser = chromium.connect_over_cdp(ws_url, headers=headers)
159
+
160
+ try:
161
+ context = browser.contexts[0] if browser.contexts else browser.new_context()
162
+ page = context.pages[0] if context.pages else context.new_page()
163
+
164
+ # Step 1: Navigate to Amazon
165
+ print("🌐 Navigating to Amazon...")
166
+ page.goto("https://www.amazon.com", wait_until="domcontentloaded")
167
+ time.sleep(2)
168
+ capture_cdp_screenshot(context, page, "amazon_home")
169
+
170
+ # Step 2: Search for "coffee maker"
171
+ print("🔎 Searching for 'coffee maker'...")
172
+ page.fill("input#twotabsearchtextbox", "coffee maker")
173
+ page.keyboard.press("Enter")
174
+ page.wait_for_selector(".s-result-item", timeout=10000)
175
+ time.sleep(2)
176
+ capture_cdp_screenshot(context, page, "coffee_maker_results")
177
+
178
+ finally:
179
+ print("🔒 Closing browser session...")
180
+ if not page.is_closed():
181
+ page.close()
182
+ browser.close()
183
+
184
+
185
+ if __name__ == "__main__":
186
+ with sync_playwright() as p:
187
+ main(p)
188
+ ```
189
+
190
+ ## Browser Tool Architecture
191
+
192
+ The AWS Browser Tool provides:
193
+
194
+ - **Fully managed browser environment** running in the AWS cloud
195
+ - **WebSocket-based CDP interface** for browser control
196
+ - **Integration with popular automation frameworks** like Playwright, Puppeteer, and NovaAct
197
+ - **Security and isolation** between browser sessions
198
+
199
+ ## Best Practices
200
+
201
+ To get the most out of the browser tool:
202
+
203
+ 1. **Use context managers** for proper resource cleanup
204
+ 2. **Handle exceptions properly** to ensure browser sessions are closed
205
+ 3. **Consider performance** when making multiple browser requests
206
+ 4. **Secure sensitive data** - never hardcode credentials in browser automation code
207
+ 5. **Use appropriate timeouts** for network and page load operations
208
+ 6. **Add error recovery** for common browser automation challenges
@@ -41,7 +41,7 @@ If you need more control over the session lifecycle, you can also use the client
41
41
  from bedrock_agentcore.tools.code_interpreter_client import CodeInterpreter
42
42
 
43
43
  # Create a code interpreter client
44
- client = CodeInterpreter(region_name="us-west-2")
44
+ client = CodeInterpreter(region="us-west-2")
45
45
 
46
46
  # Start a code interpreter session
47
47
  client.start()
@@ -30,7 +30,6 @@ identity_client = IdentityClient("us-east-1")
30
30
  # Create workload identity
31
31
  workload_identity = identity_client.create_workload_identity(
32
32
  name="my-research-agent",
33
- description="Research agent that accesses Google Drive and web search"
34
33
  )
35
34
 
36
35
  print(f"Workload Identity ARN: {workload_identity['workloadIdentityArn']}")
@@ -41,8 +40,7 @@ You can also use the AWS CLI:
41
40
 
42
41
  ```bash
43
42
  aws bedrock-agentcore create-workload-identity \
44
- --agent-name "my-research-agent" \
45
- --description "Research agent that accesses Google Drive and web search"
43
+ --name "my-research-agent"
46
44
  ```
47
45
 
48
46
  ## Configure Credential Providers
@@ -54,11 +52,13 @@ Credential providers define how your agent accesses external services:
54
52
  ```python
55
53
  # Configure Google OAuth2 provider
56
54
  google_provider = identity_client.create_oauth2_credential_provider(req={
57
- "resourceCredentialProviderName": "Google Workspace",
58
- "providerType": "OAuth2",
59
- "googleOAuth2Config": {
60
- "clientId": "your-google-client-id",
61
- "clientSecretArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:google-client-secret"
55
+ "name": "myGoogleCredentialProvider",
56
+ "credentialProviderVendor": "GoogleOauth2",
57
+ "oauth2ProviderConfigInput": {
58
+ "googleOauth2ProviderConfig": {
59
+ "clientId": "your-google-client-id",
60
+ "clientSecret": "your-google-client-secret"
61
+ }
62
62
  }
63
63
  })
64
64
  ```
@@ -68,8 +68,8 @@ google_provider = identity_client.create_oauth2_credential_provider(req={
68
68
  ```python
69
69
  # Configure API key provider
70
70
  perplexity_provider = identity_client.create_api_key_credential_provider(req={
71
- "resourceCredentialProviderName": "Perplexity AI",
72
- "apiKeyArn": "arn:aws:secretsmanager:us-east-1:123456789012:secret:perplexity-api-key"
71
+ "name": "myPerplexityAPIKeyCredentialProvider",
72
+ "apiKey": "myApiKey"
73
73
  })
74
74
  ```
75
75
 
@@ -117,7 +117,7 @@ class ResearchAgent:
117
117
  """Search the web using Perplexity AI"""
118
118
  # Get API key from identity service
119
119
  api_key = await self.identity_client.get_api_key(
120
- provider_name="perplexity-provider",
120
+ provider_name="myPerplexityAPIKeyCredentialProvider",
121
121
  agent_identity_token=self.workload_token
122
122
  )
123
123
 
@@ -146,7 +146,7 @@ class ResearchAgent:
146
146
  try:
147
147
  # Get OAuth2 access token from identity service
148
148
  access_token = await self.identity_client.get_token(
149
- provider_name="google-provider",
149
+ provider_name="myGoogleCredentialProvider",
150
150
  scopes=["https://www.googleapis.com/auth/drive.file"],
151
151
  agent_identity_token=self.workload_token,
152
152
  auth_flow="USER_FEDERATION",
@@ -295,7 +295,7 @@ Example output during the OAuth2 flow:
295
295
  ```
296
296
  Waiting for authentication...
297
297
  Visit the following URL to login:
298
- https://auth.genesis.run/dev/authorize?provider=google&scopes=drive.file&user_id=user123
298
+ https://bedrock-agentcore.us-west-2.amazonaws.com/identities/oauth2/authorize?request_uri=123456789
299
299
 
300
300
  Polling for token... (press Ctrl+C to cancel)
301
301
  ```
@@ -84,7 +84,7 @@ conversations = client.list_events(
84
84
  )
85
85
  ```
86
86
 
87
- ## Create a Memory with Long-term Memory
87
+ ## Long-term Memory
88
88
 
89
89
  ### Create Memory with Long-term Memory
90
90
 
@@ -96,7 +96,7 @@ With long-term memory, you can extract and store information from conversations
96
96
 
97
97
  - **Session Summaries (SummaryMemoryStrategy)**: Creates condensed representations of interaction content and outcomes. These summaries provide quick reference points for past activities and help optimize context window usage for future interactions.
98
98
 
99
- To create a memory resource with long-term memory, use the create_memory_and_wait method with a strategy. Long-term memory takes 2-3 minutes to become ACTIVE:
99
+ To create a memory resource with long-term memory, use the create_memory_and_wait method with a strategy. When you add a memory strategy for the first time to a memory resource (either on create or update), it may take 2-3 minutes for it to become ACTIVE:
100
100
 
101
101
  ```python
102
102
  memory = client.create_memory_and_wait(
@@ -106,7 +106,7 @@ memory = client.create_memory_and_wait(
106
106
  # Name of the extraction model/strategy
107
107
  "name": "SessionSummarizer",
108
108
  # Organize facts by session ID for easy retrieval
109
- # Example: "summaries/session123" contains summary of session123
109
+ # Example: "summaries/User84/session123" contains summary of session123
110
110
  "namespaces": ["/summaries/{actorId}/{sessionId}"]
111
111
  }
112
112
  }]