bedrock-agentcore-starter-toolkit 0.1.12__tar.gz → 0.1.14__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.
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/release.yml +21 -76
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/CHANGELOG.md +25 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/PKG-INFO +3 -4
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/examples/memory_gateway_agent.md +22 -22
- bedrock_agentcore_starter_toolkit-0.1.14/documentation/docs/mcp/agentcore_runtime_deployment.md +48 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/gateway/quickstart.md +79 -77
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/runtime/overview.md +1 -1
- bedrock_agentcore_starter_toolkit-0.1.14/documentation/docs/user-guide/runtime/quickstart.md +201 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/mkdocs.yaml +22 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/pyproject.toml +4 -4
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/agent_info.py +6 -1
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/runtime/commands.py +88 -1
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py +53 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py +3 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/operations/memory/__init__.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/operations/memory/constants.py +98 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/operations/memory/manager.py +890 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/operations/memory/models/DictWrapper.py +51 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/operations/memory/models/Memory.py +17 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/operations/memory/models/MemoryStrategy.py +17 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/operations/memory/models/MemorySummary.py +17 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/configure.py +28 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/create_role.py +3 -2
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py +8 -2
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +1 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/codebuild.py +17 -6
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/runtime.py +71 -5
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/schema.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.14/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2 +47 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/cli/runtime/test_commands.py +389 -0
- bedrock_agentcore_starter_toolkit-0.1.14/tests/cli/runtime/test_configuration_manager.py +333 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/notebook/runtime/test_bedrock_agentcore.py +27 -0
- bedrock_agentcore_starter_toolkit-0.1.14/tests/operations/memory/test_manager.py +2689 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/runtime/test_configure.py +211 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/runtime/test_invoke.py +266 -3
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/test_codebuild.py +67 -7
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/test_runtime.py +290 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/utils/runtime/test_config.py +258 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/cli/runtime/test_simple_agent.py +1 -1
- bedrock_agentcore_starter_toolkit-0.1.14/tests_integ/memory/memory-manager.ipynb +339 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/uv.lock +393 -290
- bedrock_agentcore_starter_toolkit-0.1.12/agent_example.py +0 -21
- bedrock_agentcore_starter_toolkit-0.1.12/documentation/docs/user-guide/runtime/quickstart.md +0 -200
- bedrock_agentcore_starter_toolkit-0.1.12/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2 +0 -33
- bedrock_agentcore_starter_toolkit-0.1.12/tests/cli/runtime/test_configuration_manager.py +0 -98
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/CODEOWNERS +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/branch-protection.json +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/dependabot.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/pull_request_template.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/ci.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/deploy-docs.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/integration_testing.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/pr-automerge.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/security-scanning.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/security.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.github/workflows/test-pypi-release.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.gitignore +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.pre-commit-config.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/.python-version +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/CODE-OF-CONDUCT.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/CONTRIBUTING.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/LICENSE.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/NOTICE.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/SECURITY.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/buildspec-lambda-package.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/.gitignore +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/api-reference/cli.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/api-reference/identity.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/api-reference/memory.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/api-reference/runtime.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/api-reference/tools.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/examples/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/examples/async-processing.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/examples/gateway-integration.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/examples/runtime-framework-agents.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/examples/session-management.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/index.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/stylesheets/extra.css +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/builtin-tools/quickstart-browser.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/builtin-tools/quickstart-code-interpreter.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/identity/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/import-agent/configuration.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/import-agent/design.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/import-agent/overview.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/import-agent/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/memory/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/observability/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/runtime/async.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/runtime/notebook.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/docs/user-guide/runtime/permissions.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/documentation/overrides/main.html +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/scripts/bump-version.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/scripts/prepare-release.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/scripts/setup-branch-protection.sh +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/scripts/validate-release.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/cli.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/common.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/gateway/commands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/import_agent/commands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/cli/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/notebook/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/gateway/client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/gateway/constants.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_lambda.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/gateway/exceptions.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/destroy.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/models.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/operations/runtime/status.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/ecr.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/memory_manager_template.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/requirements_langchain.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/requirements_strands.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/template_fixtures_merged.json +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/base_bedrock_translate.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/bedrock_to_langchain.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/bedrock_to_strands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/import_agent/utils.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/services/xray.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/endpoints.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/logging_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/container.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/entrypoint.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/logs.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/policy_template.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/cli/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/cli/gateway/test_commands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/cli/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/cli/test_common.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/conftest.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/conftest_mock.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/fixtures/project_config_multiple.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/fixtures/project_config_single.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/gateway/test_gateway_client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/gateway/test_gateway_client_init.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/gateway/test_gateway_create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/runtime/test_create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/runtime/test_destroy.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/runtime/test_launch.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/operations/runtime/test_status.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/import_agent/data/bedrock_config.json +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/import_agent/data/bedrock_config_multi_agent.json +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/import_agent/data/bedrock_config_no_schema.json +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/import_agent/test_import_agent.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/test_ecr.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/test_runtime_conflict_error.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/services/test_xray.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/utils/runtime/test_container.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/utils/runtime/test_entrypoint.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/utils/runtime/test_policy_template.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/utils/test_endpoints.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests/utils/test_logging_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/cli/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/cli/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/cli/runtime/base_test.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/gateway/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/gateway/test_cognito_token.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/gateway/test_create_gateway_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/gateway/test_egress_auth.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/gateway/test_gateway_cognito.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/identity/access_token_3LO.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/memory/test_create_memory.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/notebook/test_notebook_runtime.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/strands_agent/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/strands_agent/agent_example.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/tools/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/tools/my_mcp_client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/tools/my_mcp_client_remote.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/tools/my_mcp_server.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/tools/setup_cognito.sh +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/tests_integ/utils/config.py +0 -0
|
@@ -181,8 +181,6 @@ jobs:
|
|
|
181
181
|
1. Approve and merge this PR
|
|
182
182
|
2. The release workflow will automatically:
|
|
183
183
|
- Build and test the package
|
|
184
|
-
- Publish to Test PyPI
|
|
185
|
-
- Wait for approval
|
|
186
184
|
- Publish to PyPI
|
|
187
185
|
- Create a GitHub release
|
|
188
186
|
- Tag the release
|
|
@@ -294,76 +292,9 @@ jobs:
|
|
|
294
292
|
name: dist
|
|
295
293
|
path: dist/
|
|
296
294
|
|
|
297
|
-
publish-testpypi:
|
|
298
|
-
name: Publish to TestPyPI
|
|
299
|
-
needs: build
|
|
300
|
-
runs-on: ubuntu-latest
|
|
301
|
-
|
|
302
|
-
environment:
|
|
303
|
-
name: test-pypi
|
|
304
|
-
url: https://test.pypi.org/project/bedrock-agentcore-starter-toolkit/
|
|
305
|
-
|
|
306
|
-
steps:
|
|
307
|
-
- name: Download artifacts
|
|
308
|
-
uses: actions/download-artifact@v5
|
|
309
|
-
with:
|
|
310
|
-
name: dist
|
|
311
|
-
path: dist/
|
|
312
|
-
|
|
313
|
-
- name: Publish to TestPyPI
|
|
314
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
315
|
-
with:
|
|
316
|
-
repository-url: https://test.pypi.org/legacy/
|
|
317
|
-
skip-existing: true
|
|
318
|
-
password: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
|
319
|
-
|
|
320
|
-
- name: Test installation from TestPyPI
|
|
321
|
-
run: |
|
|
322
|
-
sleep 60 # Wait for package to be available
|
|
323
|
-
|
|
324
|
-
# Get version from wheel filename
|
|
325
|
-
VERSION=$(ls dist/*.whl | sed -n 's/.*-\([0-9.]*\)-.*/\1/p')
|
|
326
|
-
|
|
327
|
-
# Create test environment
|
|
328
|
-
python -m venv test-install
|
|
329
|
-
source test-install/bin/activate
|
|
330
|
-
|
|
331
|
-
# Install from Test PyPI
|
|
332
|
-
pip install --index-url https://test.pypi.org/simple/ \
|
|
333
|
-
--extra-index-url https://pypi.org/simple/ \
|
|
334
|
-
bedrock-agentcore-starter-toolkit==$VERSION
|
|
335
|
-
|
|
336
|
-
# Test CLI
|
|
337
|
-
agentcore --help
|
|
338
|
-
|
|
339
|
-
release-approval:
|
|
340
|
-
name: Release Approval
|
|
341
|
-
needs: publish-testpypi
|
|
342
|
-
runs-on: ubuntu-latest
|
|
343
|
-
environment:
|
|
344
|
-
name: pypi-approval
|
|
345
|
-
|
|
346
|
-
steps:
|
|
347
|
-
- name: Approval checkpoint
|
|
348
|
-
run: |
|
|
349
|
-
echo "✓ TestPyPI deployment successful"
|
|
350
|
-
echo "✓ Package available at: https://test.pypi.org/project/bedrock-agentcore-starter-toolkit/"
|
|
351
|
-
echo ""
|
|
352
|
-
echo "⚠️ MANUAL APPROVAL REQUIRED"
|
|
353
|
-
echo ""
|
|
354
|
-
echo "Before approving production release:"
|
|
355
|
-
echo "1. Test the package from TestPyPI:"
|
|
356
|
-
echo " pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ bedrock-agentcore-starter-toolkit"
|
|
357
|
-
echo ""
|
|
358
|
-
echo "2. Verify the CLI works: agentcore --help"
|
|
359
|
-
echo "3. Check version number is correct"
|
|
360
|
-
echo "4. Test basic functionality"
|
|
361
|
-
echo ""
|
|
362
|
-
echo "Only approve if everything looks good!"
|
|
363
|
-
|
|
364
295
|
publish-pypi:
|
|
365
296
|
name: Publish to PyPI
|
|
366
|
-
needs:
|
|
297
|
+
needs: [test, build]
|
|
367
298
|
runs-on: ubuntu-latest
|
|
368
299
|
environment:
|
|
369
300
|
name: pypi
|
|
@@ -391,6 +322,20 @@ jobs:
|
|
|
391
322
|
with:
|
|
392
323
|
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
393
324
|
|
|
325
|
+
- name: Wait for PyPI availability
|
|
326
|
+
run: |
|
|
327
|
+
VERSION="${{ steps.version.outputs.version }}"
|
|
328
|
+
|
|
329
|
+
echo "Waiting for package to be available on PyPI..."
|
|
330
|
+
for i in {1..10}; do
|
|
331
|
+
if pip index versions bedrock-agentcore-starter-toolkit | grep -q "$VERSION"; then
|
|
332
|
+
echo "✓ Package version $VERSION is now available on PyPI"
|
|
333
|
+
break
|
|
334
|
+
fi
|
|
335
|
+
echo "Attempt $i/10: Package not yet available, waiting 30s..."
|
|
336
|
+
sleep 30
|
|
337
|
+
done
|
|
338
|
+
|
|
394
339
|
- name: Create and push tag
|
|
395
340
|
run: |
|
|
396
341
|
git config --global user.name "github-actions[bot]"
|
|
@@ -419,7 +364,7 @@ jobs:
|
|
|
419
364
|
|
|
420
365
|
summary:
|
|
421
366
|
name: Release Summary
|
|
422
|
-
needs: publish-
|
|
367
|
+
needs: publish-pypi
|
|
423
368
|
runs-on: ubuntu-latest
|
|
424
369
|
if: always()
|
|
425
370
|
|
|
@@ -428,14 +373,14 @@ jobs:
|
|
|
428
373
|
run: |
|
|
429
374
|
echo "## Release Summary" >> $GITHUB_STEP_SUMMARY
|
|
430
375
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
431
|
-
if [ "${{ needs.publish-
|
|
432
|
-
echo "✅ **
|
|
376
|
+
if [ "${{ needs.publish-pypi.result }}" == "success" ]; then
|
|
377
|
+
echo "✅ **PyPI Release Successful**" >> $GITHUB_STEP_SUMMARY
|
|
433
378
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
434
|
-
echo "Package published to: https://
|
|
379
|
+
echo "Package published to: https://pypi.org/project/bedrock-agentcore-starter-toolkit/" >> $GITHUB_STEP_SUMMARY
|
|
435
380
|
echo "" >> $GITHUB_STEP_SUMMARY
|
|
436
|
-
echo "To install
|
|
381
|
+
echo "To install:" >> $GITHUB_STEP_SUMMARY
|
|
437
382
|
echo '```bash' >> $GITHUB_STEP_SUMMARY
|
|
438
|
-
echo "pip install
|
|
383
|
+
echo "pip install bedrock-agentcore-starter-toolkit" >> $GITHUB_STEP_SUMMARY
|
|
439
384
|
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
440
385
|
else
|
|
441
386
|
echo "❌ **Release Failed**" >> $GITHUB_STEP_SUMMARY
|
{bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/CHANGELOG.md
RENAMED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.14] - 2025-09-25
|
|
4
|
+
|
|
5
|
+
### Changes
|
|
6
|
+
|
|
7
|
+
- Fix: Runtime configure function now sets CodeBuild execution role from --code_build_execution_role parameter (#184) (7d7dffd)
|
|
8
|
+
- docs: Generate llm.txt via mkdocs-llmstxt (#213) (6459979)
|
|
9
|
+
- fix: llm.txt typo (#210) (f48ae5e)
|
|
10
|
+
- docs: Add llm.txt and file on runtime deployment (#202) (90dac4b)
|
|
11
|
+
- fix: correct pyproject.toml installation in subdirectories (#207) (ea01c65)
|
|
12
|
+
- chore: bump version to 0.1.13 (#205) (86269a9)
|
|
13
|
+
|
|
14
|
+
## [0.1.13] - 2025-09-24
|
|
15
|
+
|
|
16
|
+
### Changes
|
|
17
|
+
|
|
18
|
+
- Fix linter errors and ran formatter (#203) (64656b6)
|
|
19
|
+
- fix: add S3 bucket ownership verification (#194) (225dd86)
|
|
20
|
+
- quick start doc updates (#199) (3e9b930)
|
|
21
|
+
- Add ability to invoke runtime with custom headers (#200) (ba337db)
|
|
22
|
+
- revert dockerfile optimization (#198) (3285377)
|
|
23
|
+
- Added request header allowlist configuration support (#197) (7a7c65f)
|
|
24
|
+
- feat: change create_or_get_memory to get_or_create_memory to do the lookup before the create (#195) (ef22d20)
|
|
25
|
+
- Remove TestPyPI publishing step from release workflow (#186) (887e23b)
|
|
26
|
+
- feat: Initial commit for Memory manager (#169) (e067386)
|
|
27
|
+
|
|
3
28
|
## [0.1.12] - 2025-09-18
|
|
4
29
|
|
|
5
30
|
### Changes
|
{bedrock_agentcore_starter_toolkit-0.1.12 → bedrock_agentcore_starter_toolkit-0.1.14}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bedrock-agentcore-starter-toolkit
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.14
|
|
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
|
|
@@ -23,8 +23,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
23
23
|
Requires-Python: >=3.10
|
|
24
24
|
Requires-Dist: autopep8>=2.3.2
|
|
25
25
|
Requires-Dist: bedrock-agentcore>=0.1.4
|
|
26
|
-
Requires-Dist: boto3>=1.
|
|
27
|
-
Requires-Dist: botocore>=1.
|
|
26
|
+
Requires-Dist: boto3>=1.40.35
|
|
27
|
+
Requires-Dist: botocore>=1.40.35
|
|
28
28
|
Requires-Dist: docstring-parser<1.0,>=0.15
|
|
29
29
|
Requires-Dist: httpx>=0.28.1
|
|
30
30
|
Requires-Dist: jinja2>=3.1.6
|
|
@@ -38,7 +38,6 @@ Requires-Dist: questionary>=2.1.0
|
|
|
38
38
|
Requires-Dist: requests>=2.25.0
|
|
39
39
|
Requires-Dist: rich>=13.0.0
|
|
40
40
|
Requires-Dist: ruamel-yaml>=0.18.14
|
|
41
|
-
Requires-Dist: strands-agents>=1.7.1
|
|
42
41
|
Requires-Dist: toml>=0.10.2
|
|
43
42
|
Requires-Dist: typer>=0.16.0
|
|
44
43
|
Requires-Dist: typing-extensions<5.0.0,>=4.13.2
|
|
@@ -65,11 +65,11 @@ class MemoryHook(HookProvider):
|
|
|
65
65
|
- Loads previous conversation when agent starts
|
|
66
66
|
- Saves each message after it's processed
|
|
67
67
|
"""
|
|
68
|
-
|
|
68
|
+
|
|
69
69
|
def on_agent_initialized(self, event):
|
|
70
70
|
"""Runs when agent starts - loads conversation history"""
|
|
71
71
|
if not MEMORY_ID: return
|
|
72
|
-
|
|
72
|
+
|
|
73
73
|
# Get last 3 conversation turns from memory
|
|
74
74
|
turns = memory_client.get_last_k_turns(
|
|
75
75
|
memory_id=MEMORY_ID,
|
|
@@ -77,17 +77,17 @@ class MemoryHook(HookProvider):
|
|
|
77
77
|
session_id=event.agent.state.get("session_id", "default"),
|
|
78
78
|
k=3 # Number of previous exchanges to remember
|
|
79
79
|
)
|
|
80
|
-
|
|
80
|
+
|
|
81
81
|
# Add conversation history to agent's context
|
|
82
82
|
if turns:
|
|
83
|
-
context = "\n".join([f"{m['role']}: {m['content']['text']}"
|
|
83
|
+
context = "\n".join([f"{m['role']}: {m['content']['text']}"
|
|
84
84
|
for t in turns for m in t])
|
|
85
85
|
event.agent.system_prompt += f"\n\nPrevious:\n{context}"
|
|
86
|
-
|
|
86
|
+
|
|
87
87
|
def on_message_added(self, event):
|
|
88
88
|
"""Runs after each message - saves it to memory"""
|
|
89
89
|
if not MEMORY_ID: return
|
|
90
|
-
|
|
90
|
+
|
|
91
91
|
# Save the latest message to memory
|
|
92
92
|
msg = event.agent.messages[-1]
|
|
93
93
|
memory_client.create_event(
|
|
@@ -96,7 +96,7 @@ class MemoryHook(HookProvider):
|
|
|
96
96
|
session_id=event.agent.state.get("session_id", "default"),
|
|
97
97
|
messages=[(str(msg["content"]), msg["role"])]
|
|
98
98
|
)
|
|
99
|
-
|
|
99
|
+
|
|
100
100
|
def register_hooks(self, registry):
|
|
101
101
|
"""Registers both hooks with the agent"""
|
|
102
102
|
registry.add_callback(AgentInitializedEvent, self.on_agent_initialized)
|
|
@@ -120,7 +120,7 @@ def invoke(payload, context):
|
|
|
120
120
|
# Use the session ID from runtime (for session isolation)
|
|
121
121
|
if hasattr(context, 'session_id'):
|
|
122
122
|
agent.state.set("session_id", context.session_id)
|
|
123
|
-
|
|
123
|
+
|
|
124
124
|
# Process the user's message and return response
|
|
125
125
|
response = agent(payload.get("prompt", "Hello"))
|
|
126
126
|
return response.message['content'][0]['text']
|
|
@@ -182,12 +182,12 @@ ltm = client.create_memory_and_wait(
|
|
|
182
182
|
strategies=[
|
|
183
183
|
# Extracts user preferences like "I prefer Python"
|
|
184
184
|
{"userPreferenceMemoryStrategy": {
|
|
185
|
-
"name": "prefs",
|
|
185
|
+
"name": "prefs",
|
|
186
186
|
"namespaces": ["/user/preferences"]
|
|
187
187
|
}},
|
|
188
188
|
# Extracts facts like "My birthday is in January"
|
|
189
189
|
{"semanticMemoryStrategy": {
|
|
190
|
-
"name": "facts",
|
|
190
|
+
"name": "facts",
|
|
191
191
|
"namespaces": ["/user/facts"]
|
|
192
192
|
}}
|
|
193
193
|
],
|
|
@@ -363,25 +363,25 @@ except:
|
|
|
363
363
|
|
|
364
364
|
class MemoryHook(HookProvider):
|
|
365
365
|
"""Handles memory operations - same as before"""
|
|
366
|
-
|
|
366
|
+
|
|
367
367
|
def on_agent_initialized(self, event):
|
|
368
368
|
if not MEMORY_ID: return
|
|
369
|
-
|
|
369
|
+
|
|
370
370
|
turns = memory_client.get_last_k_turns(
|
|
371
371
|
memory_id=MEMORY_ID,
|
|
372
372
|
actor_id="user",
|
|
373
373
|
session_id=event.agent.state.get("session_id", "default"),
|
|
374
374
|
k=3
|
|
375
375
|
)
|
|
376
|
-
|
|
376
|
+
|
|
377
377
|
if turns:
|
|
378
|
-
context = "\n".join([f"{m['role']}: {m['content']['text']}"
|
|
378
|
+
context = "\n".join([f"{m['role']}: {m['content']['text']}"
|
|
379
379
|
for t in turns for m in t])
|
|
380
380
|
event.agent.system_prompt += f"\n\nPrevious:\n{context}"
|
|
381
|
-
|
|
381
|
+
|
|
382
382
|
def on_message_added(self, event):
|
|
383
383
|
if not MEMORY_ID: return
|
|
384
|
-
|
|
384
|
+
|
|
385
385
|
msg = event.agent.messages[-1]
|
|
386
386
|
memory_client.create_event(
|
|
387
387
|
memory_id=MEMORY_ID,
|
|
@@ -389,7 +389,7 @@ class MemoryHook(HookProvider):
|
|
|
389
389
|
session_id=event.agent.state.get("session_id", "default"),
|
|
390
390
|
messages=[(str(msg["content"]), msg["role"])]
|
|
391
391
|
)
|
|
392
|
-
|
|
392
|
+
|
|
393
393
|
def register_hooks(self, registry):
|
|
394
394
|
registry.add_callback(AgentInitializedEvent, self.on_agent_initialized)
|
|
395
395
|
registry.add_callback(MessageAddedEvent, self.on_message_added)
|
|
@@ -399,13 +399,13 @@ async def get_gateway_tools():
|
|
|
399
399
|
"""Get tools from gateway using MCP"""
|
|
400
400
|
if not gateway_config:
|
|
401
401
|
return None
|
|
402
|
-
|
|
402
|
+
|
|
403
403
|
try:
|
|
404
404
|
gateway_url = gateway_config["gateway_url"]
|
|
405
405
|
access_token = gateway_config["access_token"]
|
|
406
|
-
|
|
406
|
+
|
|
407
407
|
headers = {"Authorization": f"Bearer {access_token}"}
|
|
408
|
-
|
|
408
|
+
|
|
409
409
|
async with streamablehttp_client(gateway_url, headers=headers) as (read, write, _):
|
|
410
410
|
async with ClientSession(read, write) as session:
|
|
411
411
|
await session.initialize()
|
|
@@ -431,7 +431,7 @@ def invoke(payload, context):
|
|
|
431
431
|
# Use the session ID from runtime
|
|
432
432
|
if hasattr(context, 'session_id'):
|
|
433
433
|
agent.state.set("session_id", context.session_id)
|
|
434
|
-
|
|
434
|
+
|
|
435
435
|
# Try to get gateway tools
|
|
436
436
|
gateway_tools = None
|
|
437
437
|
if gateway_config:
|
|
@@ -442,7 +442,7 @@ def invoke(payload, context):
|
|
|
442
442
|
agent.tools = gateway_tools
|
|
443
443
|
except Exception as e:
|
|
444
444
|
print(f"Error getting gateway tools: {e}")
|
|
445
|
-
|
|
445
|
+
|
|
446
446
|
# Process the user's message
|
|
447
447
|
response = agent(payload.get("prompt", "Hello"))
|
|
448
448
|
return response.message['content'][0]['text']
|
bedrock_agentcore_starter_toolkit-0.1.14/documentation/docs/mcp/agentcore_runtime_deployment.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
### Build your first agent or transform existing code
|
|
2
|
+
|
|
3
|
+
#### Prerequisites & Environment Setup
|
|
4
|
+
- **Environment**: Set up Python 3.10+ and virtual environment - [Environment Setup](https://aws.github.io/bedrock-agentcore-starter-toolkit/user-guide/runtime/quickstart.html#step-0-setup-folder-and-virtual-environment)
|
|
5
|
+
|
|
6
|
+
#### Step 1: Install Dependencies & Create Agent Code
|
|
7
|
+
- **New Agents**: Install AgentCore packages and create your agent using hello world strands agents [Installation & Creation Guide](https://aws.github.io/bedrock-agentcore-starter-toolkit/user-guide/runtime/quickstart.html#step-1-install-and-create-your-agent)
|
|
8
|
+
- **Existing Agents**: Transform your current agent code to work with AgentCore - [Framework Integration Examples](https://aws.github.io/bedrock-agentcore-starter-toolkit/examples/index.html)
|
|
9
|
+
|
|
10
|
+
#### Step 1.1: For strands refer to following documentation
|
|
11
|
+
- [Welcome](https://strandsagents.com/latest/documentation/docs/index.md)
|
|
12
|
+
- [Amazon Bedrock](https://strandsagents.com/latest/documentation/docs/user-guide/concepts/model-providers/amazon-bedrock/index.md)
|
|
13
|
+
- [Amazon Bedrock AgentCore](https://strandsagents.com/latest/documentation/docs/user-guide/deploy/deploy_to_bedrock_agentcore/index.md)
|
|
14
|
+
1. Import strands agent - `from strands import Agent`
|
|
15
|
+
2. Create an agent with default settings - agent = Agent()
|
|
16
|
+
3. Ask the agent a question - agent("Tell me about agentic AI")
|
|
17
|
+
|
|
18
|
+
#### Step 1.2 - Transforming agent code for agentcore
|
|
19
|
+
- **Agent code**: Always use these [code patterns](https://aws.github.io/bedrock-agentcore-starter-toolkit/user-guide/runtime/overview.html#agent-development-patterns) for agent code.
|
|
20
|
+
- **AgentCore Wrapper**: Use [bedrock-agentcore](https://aws.github.io/bedrock-agentcore-starter-toolkit/user-guide/runtime/overview.html#what-is-the-agentcore-runtime-sdk) wrappers to implement runtime service contract.
|
|
21
|
+
1. Import the Runtime App with from bedrock_agentcore.runtime import BedrockAgentCoreApp
|
|
22
|
+
2. Initialize the App in your code with app = BedrockAgentCoreApp()
|
|
23
|
+
3. Decorate the invocation function with the @app.entrypoint decorator
|
|
24
|
+
4. Create a requirements.txt file with needed packages. Note: if strands-tools is detected, the correct library to add is strands-agents-tools
|
|
25
|
+
5. Let AgentCore Runtime control the running of the agent with app.run()
|
|
26
|
+
|
|
27
|
+
#### Step 2: Local Development & Testing (Optional)
|
|
28
|
+
- **Local Testing**: Run and test your agent locally before deployment - [Local Testing Guide](https://aws.github.io/bedrock-agentcore-starter-toolkit/user-guide/runtime/quickstart.html#step-2-test-locally)
|
|
29
|
+
1. Start the agent using python <my_agent.py>
|
|
30
|
+
2. # Test it (in another terminal)
|
|
31
|
+
curl -X POST http://localhost:8080/invocations \
|
|
32
|
+
-H "Content-Type: application/json" \
|
|
33
|
+
-d '{"prompt": "Hello!"}'
|
|
34
|
+
3. Stop the agent.
|
|
35
|
+
|
|
36
|
+
#### Step 3: Deploy to AgentCore using CLI
|
|
37
|
+
Refer to https://aws.github.io/bedrock-agentcore-starter-toolkit/api-reference/cli.html
|
|
38
|
+
1. Install cli with 'pip install bedrock-agentcore-starter-toolkit'
|
|
39
|
+
2. **Configuration**: Use AgentCore CLI to configure your agent for deployment.
|
|
40
|
+
```agentcore configure --entrypoint converted_agentcore_file.py --non-interactive```
|
|
41
|
+
3. **Deployment**: Launch your agent to AWS with automatic resource creation.
|
|
42
|
+
```agentcore launch```
|
|
43
|
+
4. **Invocation**: agentcore invoke '{"prompt": "Hello"}' Test your deployed agent using the CLI or API calls
|
|
44
|
+
|
|
45
|
+
#### Step 4: Troubleshooting & Enhancement
|
|
46
|
+
- **Common Issues**: Resolve deployment and runtime issues - [Troubleshooting Guide](https://aws.github.io/bedrock-agentcore-starter-toolkit/user-guide/runtime/quickstart.html#troubleshooting)
|
|
47
|
+
- **Advanced Features**: Add memory, authentication, and gateway integrations - [Next Steps](https://aws.github.io/bedrock-agentcore-starter-toolkit/user-guide/runtime/quickstart.html#next-steps)
|
|
48
|
+
- **Monitoring**: Set up observability and monitoring for production agents
|
|
@@ -448,87 +448,12 @@ Run: `python cleanup_gateway.py`
|
|
|
448
448
|
|
|
449
449
|
### Next Steps
|
|
450
450
|
|
|
451
|
-
- **Add Your Own APIs**: Extend your Gateway with OpenAPI specifications for real services
|
|
452
451
|
- **Custom Lambda Tools**: Create Lambda functions with your business logic
|
|
452
|
+
- **Add Your Own APIs**: Extend your Gateway with OpenAPI specifications for real services
|
|
453
453
|
- **Production Setup**: Configure VPC endpoints, custom domains, and monitoring
|
|
454
454
|
|
|
455
|
-
## Adding Your Own APIs
|
|
456
|
-
|
|
457
|
-
### NASA API Integration
|
|
458
|
-
|
|
459
|
-
Integrate real APIs like NASA’s Astronomy Picture of the Day. Get your API key from https://api.nasa.gov/ (instant via email), then create `add_nasa_api.py`:
|
|
460
|
-
|
|
461
|
-
This example shows how to add external REST APIs to your Gateway, making them available as tools for your agent.
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
```python
|
|
465
|
-
from bedrock_agentcore_starter_toolkit.operations.gateway.client import GatewayClient
|
|
466
|
-
import json
|
|
467
|
-
|
|
468
|
-
with open("gateway_config.json", "r") as f:
|
|
469
|
-
config = json.load(f)
|
|
470
|
-
|
|
471
|
-
client = GatewayClient(region_name=config["region"])
|
|
472
|
-
|
|
473
|
-
nasa_spec = {
|
|
474
|
-
"openapi": "3.0.0",
|
|
475
|
-
"info": {"title": "NASA API", "version": "1.0.0"},
|
|
476
|
-
"servers": [{"url": "https://api.nasa.gov"}],
|
|
477
|
-
"paths": {
|
|
478
|
-
"/planetary/apod": {
|
|
479
|
-
"get": {
|
|
480
|
-
"operationId": "getAstronomyPictureOfDay",
|
|
481
|
-
"summary": "Get NASA's Astronomy Picture of the Day",
|
|
482
|
-
"parameters": [
|
|
483
|
-
{
|
|
484
|
-
"name": "date",
|
|
485
|
-
"in": "query",
|
|
486
|
-
"required": False,
|
|
487
|
-
"schema": {"type": "string"},
|
|
488
|
-
"description": "Date in YYYY-MM-DD format"
|
|
489
|
-
}
|
|
490
|
-
],
|
|
491
|
-
"responses": {
|
|
492
|
-
"200": {
|
|
493
|
-
"description": "Success",
|
|
494
|
-
"content": {
|
|
495
|
-
"application/json": {
|
|
496
|
-
"schema": {
|
|
497
|
-
"type": "object",
|
|
498
|
-
"properties": {
|
|
499
|
-
"title": {"type": "string"},
|
|
500
|
-
"explanation": {"type": "string"},
|
|
501
|
-
"url": {"type": "string"}
|
|
502
|
-
}
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
gateway = client.client.get_gateway(gatewayIdentifier=config["gateway_id"])
|
|
514
|
-
|
|
515
|
-
nasa_target = client.create_mcp_gateway_target(
|
|
516
|
-
gateway=gateway,
|
|
517
|
-
name="NasaApi",
|
|
518
|
-
target_type="openApiSchema",
|
|
519
|
-
target_payload={"inlinePayload": json.dumps(nasa_spec)},
|
|
520
|
-
credentials={
|
|
521
|
-
"api_key": "YOUR_NASA_API_KEY", # Replace with your key
|
|
522
|
-
"credential_location": "QUERY_PARAMETER",
|
|
523
|
-
"credential_parameter_name": "api_key"
|
|
524
|
-
}
|
|
525
|
-
)
|
|
526
|
-
|
|
527
|
-
print(f"✓ NASA API added! Try: 'Get NASA's astronomy picture for 2024-12-25'")
|
|
528
|
-
print("Run 'python run_agent.py' and try: 'Get NASA's astronomy picture for 2024-12-25'")
|
|
529
|
-
```
|
|
530
455
|
|
|
531
|
-
|
|
456
|
+
## Custom Lambda Tools
|
|
532
457
|
|
|
533
458
|
Create your own Lambda functions with custom business logic and add them as Gateway targets. Lambda targets allow you to implement any custom tool logic in Python, Node.js, or other supported runtimes.
|
|
534
459
|
|
|
@@ -696,6 +621,83 @@ Run: `python create_custom_lambda.py` then `python run_agent.py` to test.
|
|
|
696
621
|
|
|
697
622
|
If you're excited and want to learn more about Gateways and the other Target types. Continue through this guide.
|
|
698
623
|
|
|
624
|
+
## Adding Your Own APIs
|
|
625
|
+
|
|
626
|
+
### NASA API Integration
|
|
627
|
+
|
|
628
|
+
Integrate real APIs like NASA’s Astronomy Picture of the Day. Get your API key from https://api.nasa.gov/ (instant via email), then create `add_nasa_api.py`:
|
|
629
|
+
|
|
630
|
+
This example shows how to add external REST APIs to your Gateway, making them available as tools for your agent.
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
```python
|
|
634
|
+
from bedrock_agentcore_starter_toolkit.operations.gateway.client import GatewayClient
|
|
635
|
+
import json
|
|
636
|
+
|
|
637
|
+
with open("gateway_config.json", "r") as f:
|
|
638
|
+
config = json.load(f)
|
|
639
|
+
|
|
640
|
+
client = GatewayClient(region_name=config["region"])
|
|
641
|
+
|
|
642
|
+
nasa_spec = {
|
|
643
|
+
"openapi": "3.0.0",
|
|
644
|
+
"info": {"title": "NASA API", "version": "1.0.0"},
|
|
645
|
+
"servers": [{"url": "https://api.nasa.gov"}],
|
|
646
|
+
"paths": {
|
|
647
|
+
"/planetary/apod": {
|
|
648
|
+
"get": {
|
|
649
|
+
"operationId": "getAstronomyPictureOfDay",
|
|
650
|
+
"summary": "Get NASA's Astronomy Picture of the Day",
|
|
651
|
+
"parameters": [
|
|
652
|
+
{
|
|
653
|
+
"name": "date",
|
|
654
|
+
"in": "query",
|
|
655
|
+
"required": False,
|
|
656
|
+
"schema": {"type": "string"},
|
|
657
|
+
"description": "Date in YYYY-MM-DD format"
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
"responses": {
|
|
661
|
+
"200": {
|
|
662
|
+
"description": "Success",
|
|
663
|
+
"content": {
|
|
664
|
+
"application/json": {
|
|
665
|
+
"schema": {
|
|
666
|
+
"type": "object",
|
|
667
|
+
"properties": {
|
|
668
|
+
"title": {"type": "string"},
|
|
669
|
+
"explanation": {"type": "string"},
|
|
670
|
+
"url": {"type": "string"}
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
gateway = client.client.get_gateway(gatewayIdentifier=config["gateway_id"])
|
|
683
|
+
|
|
684
|
+
nasa_target = client.create_mcp_gateway_target(
|
|
685
|
+
gateway=gateway,
|
|
686
|
+
name="NasaApi",
|
|
687
|
+
target_type="openApiSchema",
|
|
688
|
+
target_payload={"inlinePayload": json.dumps(nasa_spec)},
|
|
689
|
+
credentials={
|
|
690
|
+
"api_key": "YOUR_NASA_API_KEY", # Replace with your key
|
|
691
|
+
"credential_location": "QUERY_PARAMETER",
|
|
692
|
+
"credential_parameter_name": "api_key"
|
|
693
|
+
}
|
|
694
|
+
)
|
|
695
|
+
|
|
696
|
+
print(f"✓ NASA API added! Try: 'Get NASA's astronomy picture for 2024-12-25'")
|
|
697
|
+
print("Run 'python run_agent.py' and try: 'Get NASA's astronomy picture for 2024-12-25'")
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
|
|
699
701
|
### Adding OpenAPI Targets
|
|
700
702
|
|
|
701
703
|
Let's add an OpenAPI target. This code uses the OpenAPI schema for a NASA API that provides Mars weather information. You can get an API key sent to your email in a minute by filling out the form here: https://api.nasa.gov/.
|