bedrock-agentcore-starter-toolkit 0.1.1__tar.gz → 0.1.3__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.3/.github/workflows/integration_testing.yml +86 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/CHANGELOG.md +43 -2
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/PKG-INFO +2 -2
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/runtime/overview.md +115 -111
- bedrock_agentcore_starter_toolkit-0.1.3/documentation/docs/user-guide/runtime/permissions.md +485 -0
- bedrock_agentcore_starter_toolkit-0.1.3/documentation/docs/user-guide/runtime/quickstart.md +170 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/pyproject.toml +2 -2
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/cli/cli.py +1 -1
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/cli/common.py +1 -1
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/cli/runtime/commands.py +132 -42
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py +120 -22
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/runtime/configure.py +5 -2
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py +1 -1
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +108 -30
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/runtime/models.py +1 -1
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/services/codebuild.py +6 -1
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/services/runtime.py +35 -12
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/container.py +54 -3
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/entrypoint.py +11 -5
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/cli/runtime/test_commands.py +231 -48
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/conftest.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.3/tests/notebook/runtime/test_bedrock_agentcore.py +712 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/runtime/test_launch.py +514 -347
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/services/test_codebuild.py +1 -2
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/services/test_runtime.py +16 -24
- bedrock_agentcore_starter_toolkit-0.1.3/tests/services/test_runtime_conflict_error.py +82 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/utils/runtime/test_entrypoint.py +30 -0
- bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/cli/runtime/__init__.py +0 -0
- bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/cli/runtime/base_test.py +71 -0
- bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/cli/runtime/test_simple_agent.py +132 -0
- bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/notebook/test_runtime.py → bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/notebook/test_notebook_runtime.py +2 -1
- bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/strands_agent/__init__.py +0 -0
- bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/tools/__init__.py +0 -0
- bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/utils/config.py +4 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/uv.lock +6 -6
- bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows/security-scanning.yml +0 -106
- bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720/ci.yml +0 -176
- bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720/deploy-docs.yml +0 -55
- bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720/release.yml +0 -135
- bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/runtime/permissions.md +0 -320
- bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/runtime/quickstart.md +0 -117
- bedrock_agentcore_starter_toolkit-0.1.1/tests/notebook/runtime/test_bedrock_agentcore.py +0 -382
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/CODEOWNERS +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/branch-protection.json +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/dependabot.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/pull_request_template.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/workflows/ci.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/workflows/deploy-docs.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/workflows/release.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720 → bedrock_agentcore_starter_toolkit-0.1.3/.github/workflows}/security-scanning.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/workflows/security.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.github/workflows/test-pypi-release.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.gitignore +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.pre-commit-config.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/.python-version +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/CODE-OF-CONDUCT.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/CONTRIBUTING.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/LICENSE.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/NOTICE.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/SECURITY.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/.gitignore +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/api-reference/cli.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/api-reference/identity.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/api-reference/memory.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/api-reference/runtime.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/api-reference/tools.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/examples/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/examples/async-processing.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/examples/gateway-integration.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/examples/session-management.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/index.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/stylesheets/extra.css +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/builtin-tools/quickstart-browser.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/builtin-tools/quickstart-code-interpreter.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/gateway/overview.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/gateway/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/identity/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/memory/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/observability/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/runtime/async.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/docs/user-guide/runtime/notebook.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/mkdocs.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/documentation/overrides/main.html +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/scripts/bump-version.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/scripts/prepare-release.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/scripts/setup-branch-protection.sh +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/scripts/validate-release.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/cli/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/cli/gateway/commands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/cli/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/notebook/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/gateway/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/gateway/client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/gateway/constants.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_lambda.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/gateway/exceptions.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/runtime/create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/operations/runtime/status.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/services/ecr.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/endpoints.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/logging_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/logs.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/policy_template.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/schema.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/cli/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/cli/gateway/test_commands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/cli/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/cli/runtime/test_configuration_manager.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/cli/test_common.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/conftest_mock.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/fixtures/project_config_multiple.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/fixtures/project_config_single.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/gateway/test_gateway_client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/gateway/test_gateway_client_init.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/gateway/test_gateway_create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/runtime/test_configure.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/runtime/test_create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/runtime/test_invoke.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/operations/runtime/test_status.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/services/test_ecr.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/utils/runtime/test_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/utils/runtime/test_container.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/utils/runtime/test_policy_template.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/utils/test_endpoints.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests/utils/test_logging_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/strands_agent → bedrock_agentcore_starter_toolkit-0.1.3/tests_integ}/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/tools → bedrock_agentcore_starter_toolkit-0.1.3/tests_integ/cli}/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/gateway/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/gateway/test_cognito_token.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/gateway/test_create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/gateway/test_egress_auth.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/gateway/test_gateway_cognito.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/identity/access_token_3LO.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/strands_agent/agent_example.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/tools/my_mcp_client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/tools/my_mcp_client_remote.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/tools/my_mcp_server.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/tests_integ/tools/setup_cognito.sh +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
name: Secure Integration test
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
tags:
|
|
7
|
+
- 'v*'
|
|
8
|
+
pull_request:
|
|
9
|
+
branches: [ main ]
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
authorization-check:
|
|
13
|
+
permissions: read-all
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
outputs:
|
|
16
|
+
approval-env: ${{ steps.collab-check.outputs.result }}
|
|
17
|
+
steps:
|
|
18
|
+
- name: Collaborator Check
|
|
19
|
+
uses: actions/github-script@v7
|
|
20
|
+
id: collab-check
|
|
21
|
+
with:
|
|
22
|
+
result-encoding: string
|
|
23
|
+
script: |
|
|
24
|
+
try {
|
|
25
|
+
let username;
|
|
26
|
+
if (context.payload.pull_request) {
|
|
27
|
+
username = context.payload.pull_request.user.login;
|
|
28
|
+
} else {
|
|
29
|
+
// For non-PRs (eg. merge), check the actor (person who merged)
|
|
30
|
+
username = context.actor;
|
|
31
|
+
console.log(`No pull request context found, checking permissions for actor: ${username}`);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const permissionResponse = await github.rest.repos.getCollaboratorPermissionLevel({
|
|
35
|
+
owner: context.repo.owner,
|
|
36
|
+
repo: context.repo.repo,
|
|
37
|
+
username: username,
|
|
38
|
+
});
|
|
39
|
+
const permission = permissionResponse.data.permission;
|
|
40
|
+
const hasWriteAccess = ['write', 'admin'].includes(permission);
|
|
41
|
+
if (!hasWriteAccess) {
|
|
42
|
+
console.log(`User ${username} does not have write access to the repository (permission: ${permission})`);
|
|
43
|
+
return "manual-approval"
|
|
44
|
+
} else {
|
|
45
|
+
console.log(`Verifed ${username} has write access. Auto Approving PR Checks.`)
|
|
46
|
+
return "auto-approve"
|
|
47
|
+
}
|
|
48
|
+
} catch (error) {
|
|
49
|
+
console.log(`${username} does not have write access. Requiring Manual Approval to run PR Checks.`)
|
|
50
|
+
return "manual-approval"
|
|
51
|
+
}
|
|
52
|
+
check-access-and-checkout:
|
|
53
|
+
runs-on: ubuntu-latest
|
|
54
|
+
needs: authorization-check
|
|
55
|
+
environment: ${{ needs.authorization-check.outputs.approval-env }}
|
|
56
|
+
permissions:
|
|
57
|
+
id-token: write
|
|
58
|
+
pull-requests: read
|
|
59
|
+
contents: read
|
|
60
|
+
steps:
|
|
61
|
+
- name: Configure Credentials
|
|
62
|
+
uses: aws-actions/configure-aws-credentials@v4
|
|
63
|
+
with:
|
|
64
|
+
role-to-assume: ${{ secrets.AGENTCORE_INTEG_TEST_ROLE }}
|
|
65
|
+
aws-region: us-west-2
|
|
66
|
+
mask-aws-account-id: true
|
|
67
|
+
- name: Checkout head commit
|
|
68
|
+
uses: actions/checkout@v4
|
|
69
|
+
with:
|
|
70
|
+
ref: ${{ github.event.pull_request.head.sha }} # Pull the commit from the forked repo
|
|
71
|
+
persist-credentials: false # Don't persist credentials for subsequent actions
|
|
72
|
+
- name: Set up Python
|
|
73
|
+
uses: actions/setup-python@v5
|
|
74
|
+
with:
|
|
75
|
+
python-version: '3.10'
|
|
76
|
+
- name: Install dependencies
|
|
77
|
+
run: |
|
|
78
|
+
pip install -e .
|
|
79
|
+
pip install --no-cache-dir pytest click
|
|
80
|
+
- name: Run integration tests
|
|
81
|
+
env:
|
|
82
|
+
AWS_REGION: us-west-2
|
|
83
|
+
AGENTCORE_TEST_ROLE: AgentExecutionRole
|
|
84
|
+
id: tests
|
|
85
|
+
run: |
|
|
86
|
+
pytest tests_integ/cli -s --log-cli-level=INFO
|
{bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/CHANGELOG.md
RENAMED
|
@@ -1,6 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.1.
|
|
3
|
+
## [0.1.3] - 2025-08-01
|
|
4
|
+
|
|
5
|
+
### BREAKING CHANGES
|
|
6
|
+
- **CodeBuild is now the default launch method** - The `--codebuild` flag is no longer needed
|
|
7
|
+
- To use local Docker builds, you must now explicitly use `--local-build` flag
|
|
8
|
+
- This change improves the default user experience by building ARM64 containers in the cloud without requiring local Docker
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Streaming invoke support re-enabled** - Restored streaming functionality for real-time agent responses
|
|
12
|
+
- **Extended request timeout** - Increased invoke request timeout from default to 900 seconds (15 minutes) to support long-running agent operations
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- **Default launch behavior** - CodeBuild is now the default (`use_codebuild=True`)
|
|
16
|
+
- Users no longer need Docker installed locally for standard deployments
|
|
17
|
+
- Automatic ARM64 container builds in AWS CodeBuild
|
|
18
|
+
- Use `agentcore launch` for cloud builds (default)
|
|
19
|
+
- Use `agentcore launch --local-build` for local Docker builds
|
|
20
|
+
|
|
21
|
+
### Improved
|
|
22
|
+
- **Enhanced CLI help text** - Clearer descriptions guide users toward recommended options
|
|
23
|
+
- **Better error messages** - Actionable recommendations for common issues
|
|
24
|
+
- **Conflict handling** - Enhanced exception messages now suggest using `--auto-update-on-conflict` flag
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## [0.1.2] - 2025-07-23
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
- **S3 bucket creation in us-east-1 region** - Fixed CodeBuild S3 bucket creation failure
|
|
31
|
+
- Removed unsupported `LocationConstraint` parameter for us-east-1 region
|
|
32
|
+
- us-east-1 is the default S3 region and does not accept LocationConstraint
|
|
33
|
+
- CodeBuild feature now works correctly in all AWS regions including IAD
|
|
34
|
+
|
|
35
|
+
### Dependencies
|
|
36
|
+
- Updated to use bedrock-agentcore SDK v0.1.1
|
|
37
|
+
|
|
38
|
+
## [0.1.1] - 2025-07-22
|
|
4
39
|
|
|
5
40
|
### Added
|
|
6
41
|
- **Multi-platform Docker build support via AWS CodeBuild** (#1)
|
|
@@ -20,6 +55,12 @@
|
|
|
20
55
|
- Informative error messages for common IAM scenarios
|
|
21
56
|
- Eliminates need for manual IAM role creation before deployment
|
|
22
57
|
|
|
58
|
+
- **Auto-update on conflict for agent deployments** (#3)
|
|
59
|
+
- New `--auto-update-on-conflict` flag for `agentcore launch` command
|
|
60
|
+
- Automatically updates existing agents instead of failing with conflict errors
|
|
61
|
+
- Available in both CLI and notebook interfaces
|
|
62
|
+
- Streamlines iterative development and deployment workflows
|
|
63
|
+
|
|
23
64
|
### Changed
|
|
24
65
|
- Enhanced `agentcore launch` command to support both local Docker and CodeBuild workflows
|
|
25
66
|
- Improved error handling patterns throughout the codebase
|
|
@@ -35,7 +76,7 @@
|
|
|
35
76
|
- Improved build reliability and monitoring capabilities
|
|
36
77
|
- Better user experience with one-command ARM64 deployment
|
|
37
78
|
|
|
38
|
-
## [0.1.0] - 2025-
|
|
79
|
+
## [0.1.0] - 2025-07-16
|
|
39
80
|
|
|
40
81
|
### Added
|
|
41
82
|
- Initial release of Bedrock AgentCore Starter Toolkit
|
{bedrock_agentcore_starter_toolkit-0.1.1 → bedrock_agentcore_starter_toolkit-0.1.3}/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.3
|
|
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,7 +21,7 @@ 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.
|
|
24
|
+
Requires-Dist: bedrock-agentcore>=0.1.1
|
|
25
25
|
Requires-Dist: boto3>=1.39.7
|
|
26
26
|
Requires-Dist: botocore>=1.39.7
|
|
27
27
|
Requires-Dist: docstring-parser<1.0,>=0.15
|
|
@@ -1,88 +1,73 @@
|
|
|
1
1
|
# AgentCore Runtime SDK Overview
|
|
2
2
|
|
|
3
|
-
The Amazon Bedrock AgentCore Runtime SDK transforms your Python functions into production-ready AI agents
|
|
3
|
+
The Amazon Bedrock AgentCore Runtime SDK transforms your Python functions into production-ready AI agents with built-in HTTP service wrapper, session management, and complete deployment workflows.
|
|
4
4
|
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
The Runtime SDK is a comprehensive Python framework that bridges the gap between your AI agent code and Amazon Bedrock AgentCore's managed infrastructure. It provides HTTP service wrapper, decorator-based programming, session management, authentication integration, streaming support, async task management, and complete local development tools.
|
|
8
|
-
|
|
9
|
-
## Core SDK Components
|
|
10
|
-
|
|
11
|
-
### BedrockAgentCoreApp: The Foundation
|
|
12
|
-
|
|
13
|
-
`BedrockAgentCoreApp` extends Starlette to provide an agent-optimized web server with built-in endpoints:
|
|
14
|
-
|
|
15
|
-
- **`/invocations`** - Main endpoint for processing agent requests
|
|
16
|
-
- **`/ping`** - Health check endpoint with status reporting
|
|
17
|
-
- **Built-in logging** - Request tracking with correlation IDs
|
|
18
|
-
- **Error handling** - Automatic error formatting and status codes
|
|
19
|
-
- **Concurrency control** - Request limiting and thread pool management
|
|
5
|
+
## Quick Start
|
|
20
6
|
|
|
21
7
|
```python
|
|
22
8
|
from bedrock_agentcore import BedrockAgentCoreApp
|
|
23
9
|
|
|
24
|
-
|
|
25
|
-
app = BedrockAgentCoreApp(debug=True)
|
|
26
|
-
```
|
|
10
|
+
app = BedrockAgentCoreApp()
|
|
27
11
|
|
|
28
|
-
|
|
12
|
+
@app.entrypoint
|
|
13
|
+
def my_agent(payload):
|
|
14
|
+
return {"result": f"Hello {payload.get('name', 'World')}!"}
|
|
29
15
|
|
|
30
|
-
|
|
16
|
+
if __name__ == "__main__":
|
|
17
|
+
app.run()
|
|
18
|
+
```
|
|
31
19
|
|
|
32
|
-
|
|
20
|
+
```bash
|
|
21
|
+
# Configure and deploy your agent
|
|
22
|
+
agentcore configure --entrypoint my_agent.py
|
|
23
|
+
agentcore launch
|
|
24
|
+
agentcore invoke '{"name": "Alice"}'
|
|
25
|
+
```
|
|
33
26
|
|
|
34
|
-
|
|
27
|
+
## What is the AgentCore Runtime SDK?
|
|
35
28
|
|
|
36
|
-
|
|
37
|
-
@app.entrypoint
|
|
38
|
-
def invoke(payload):
|
|
39
|
-
"""Process requests synchronously"""
|
|
40
|
-
user_message = payload.get("prompt", "Hello")
|
|
41
|
-
# Your agent logic here
|
|
42
|
-
return {"result": "Response"}
|
|
29
|
+
The Runtime SDK is a comprehensive Python framework that bridges the gap between your AI agent code and Amazon Bedrock AgentCore's managed infrastructure. It provides HTTP service wrapper, decorator-based programming, session management, authentication integration, streaming support, async task management, and complete local development tools.
|
|
43
30
|
|
|
44
|
-
|
|
45
|
-
@app.entrypoint
|
|
46
|
-
async def invoke_async(payload):
|
|
47
|
-
"""Process requests asynchronously with streaming"""
|
|
48
|
-
user_message = payload.get("prompt", "Hello")
|
|
49
|
-
# Can yield for streaming responses
|
|
50
|
-
yield {"chunk": "Partial response"}
|
|
51
|
-
```
|
|
31
|
+
## Core Components
|
|
52
32
|
|
|
53
|
-
|
|
33
|
+
**BedrockAgentCoreApp** - HTTP service wrapper with:
|
|
34
|
+
- `/invocations` endpoint for agent logic
|
|
35
|
+
- `/ping` endpoint for health checks
|
|
36
|
+
- Built-in logging, error handling, and session management
|
|
54
37
|
|
|
55
|
-
|
|
38
|
+
**Key Decorators:**
|
|
39
|
+
- `@app.entrypoint` - Define your agent's main logic
|
|
40
|
+
- `@app.ping` - Custom health checks
|
|
41
|
+
- `@app.async_task` - Background processing
|
|
56
42
|
|
|
57
|
-
|
|
58
|
-
from bedrock_agentcore.runtime.models import PingStatus
|
|
43
|
+
## Deployment Modes
|
|
59
44
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return PingStatus.HEALTHY_BUSY
|
|
65
|
-
return PingStatus.HEALTHY
|
|
45
|
+
### 🚀 Cloud Build (RECOMMENDED)
|
|
46
|
+
```bash
|
|
47
|
+
agentcore configure --entrypoint my_agent.py
|
|
48
|
+
agentcore launch # Uses CodeBuild - no Docker needed
|
|
66
49
|
```
|
|
50
|
+
- **No Docker required** - builds in the cloud
|
|
51
|
+
- **Production-ready** - standardized ARM64 containers
|
|
52
|
+
- **Works everywhere** - SageMaker Notebooks, Cloud9, laptops
|
|
67
53
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
54
|
+
### 💻 Local Development
|
|
55
|
+
```bash
|
|
56
|
+
agentcore launch --local # Build and run locally
|
|
57
|
+
```
|
|
58
|
+
- **Fast iteration** - immediate feedback and debugging
|
|
59
|
+
- **Requires:** Docker, Finch, or Podman
|
|
71
60
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"""Automatically tracked async task"""
|
|
76
|
-
await asyncio.sleep(30) # Status becomes HEALTHY_BUSY
|
|
77
|
-
return "completed" # Status returns to HEALTHY
|
|
61
|
+
### 🔧 Hybrid Build
|
|
62
|
+
```bash
|
|
63
|
+
agentcore launch --local-build # Build locally, deploy to cloud
|
|
78
64
|
```
|
|
65
|
+
- **Custom builds** with cloud deployment
|
|
66
|
+
- **Requires:** Docker, Finch, or Podman
|
|
79
67
|
|
|
80
68
|
## Agent Development Patterns
|
|
81
69
|
|
|
82
70
|
### Synchronous Agents
|
|
83
|
-
|
|
84
|
-
Perfect for quick, deterministic responses:
|
|
85
|
-
|
|
86
71
|
```python
|
|
87
72
|
from bedrock_agentcore import BedrockAgentCoreApp
|
|
88
73
|
|
|
@@ -90,23 +75,13 @@ app = BedrockAgentCoreApp()
|
|
|
90
75
|
|
|
91
76
|
@app.entrypoint
|
|
92
77
|
def simple_agent(payload):
|
|
93
|
-
"""Basic request-response agent"""
|
|
94
78
|
prompt = payload.get("prompt", "")
|
|
95
|
-
|
|
96
|
-
# Simple processing logic
|
|
97
79
|
if "weather" in prompt.lower():
|
|
98
80
|
return {"result": "It's sunny today!"}
|
|
99
|
-
|
|
100
81
|
return {"result": f"You said: {prompt}"}
|
|
101
|
-
|
|
102
|
-
if __name__ == "__main__":
|
|
103
|
-
app.run()
|
|
104
82
|
```
|
|
105
83
|
|
|
106
84
|
### Streaming Agents
|
|
107
|
-
|
|
108
|
-
For real-time, dynamic responses that build over time:
|
|
109
|
-
|
|
110
85
|
```python
|
|
111
86
|
from strands import Agent
|
|
112
87
|
from bedrock_agentcore import BedrockAgentCoreApp
|
|
@@ -138,12 +113,11 @@ if __name__ == "__main__":
|
|
|
138
113
|
- **Real-time Processing**: Immediate response chunks as they're available
|
|
139
114
|
|
|
140
115
|
### Framework Integration
|
|
141
|
-
|
|
142
116
|
The SDK works seamlessly with popular AI frameworks:
|
|
143
117
|
|
|
144
118
|
**Strands Integration:**
|
|
145
119
|
```python
|
|
146
|
-
from strands import Agent
|
|
120
|
+
from strands import Agent
|
|
147
121
|
from bedrock_agentcore import BedrockAgentCoreApp
|
|
148
122
|
|
|
149
123
|
agent = Agent(tools=[your_tools])
|
|
@@ -151,11 +125,9 @@ app = BedrockAgentCoreApp()
|
|
|
151
125
|
|
|
152
126
|
@app.entrypoint
|
|
153
127
|
def strands_agent(payload):
|
|
154
|
-
"""Strands-powered agent"""
|
|
155
128
|
result = agent(payload.get("prompt"))
|
|
156
129
|
return {"result": result.message}
|
|
157
130
|
```
|
|
158
|
-
|
|
159
131
|
**Custom Framework Integration:**
|
|
160
132
|
```python
|
|
161
133
|
@app.entrypoint
|
|
@@ -170,7 +142,10 @@ async def custom_framework_agent(payload):
|
|
|
170
142
|
|
|
171
143
|
## Session Management
|
|
172
144
|
|
|
173
|
-
|
|
145
|
+
Built-in session handling with automatic creation, 15-minute timeout, and cross-invocation persistence:
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
from bedrock_agentcore.runtime.context import RequestContext
|
|
174
149
|
|
|
175
150
|
```python
|
|
176
151
|
from bedrock_agentcore.runtime.context import RequestContext
|
|
@@ -189,12 +164,15 @@ def session_aware_agent(payload, context: RequestContext):
|
|
|
189
164
|
```
|
|
190
165
|
|
|
191
166
|
```bash
|
|
167
|
+
# CLI session management
|
|
192
168
|
# Using AgentCore CLI with session management
|
|
193
169
|
agentcore invoke '{"prompt": "Hello, remember this conversation"}' --session-id "conversation-123"
|
|
170
|
+
|
|
194
171
|
agentcore invoke '{"prompt": "What did I say earlier?"}' --session-id "conversation-123"
|
|
195
172
|
```
|
|
196
173
|
|
|
197
|
-
## Authentication
|
|
174
|
+
## Authentication & Authorization
|
|
175
|
+
|
|
198
176
|
|
|
199
177
|
The SDK integrates with AgentCore's identity services providing automatic AWS credential validation (IAM SigV4) by default or JWT Bearer tokens for OAuth-compatible authentication:
|
|
200
178
|
|
|
@@ -206,62 +184,88 @@ agentcore configure --entrypoint my_agent.py \
|
|
|
206
184
|
|
|
207
185
|
## Asynchronous Processing
|
|
208
186
|
|
|
209
|
-
|
|
187
|
+
AgentCore Runtime supports asynchronous processing for long-running tasks. Your agent can start background work and immediately respond to users, with automatic health status management.
|
|
188
|
+
|
|
189
|
+
### Key Features
|
|
210
190
|
|
|
191
|
+
**Automatic Status Management:**
|
|
192
|
+
- Agent status changes to "HealthyBusy" during background processing
|
|
193
|
+
- Returns to "Healthy" when tasks complete
|
|
194
|
+
- Sessions automatically terminate after 15 minutes of inactivity
|
|
195
|
+
|
|
196
|
+
**Three Processing Approaches:**
|
|
197
|
+
|
|
198
|
+
1. **Async Task Decorator (Recommended)**
|
|
211
199
|
```python
|
|
212
|
-
# Automatic task tracking
|
|
213
200
|
@app.async_task
|
|
214
|
-
async def
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
return "completed"
|
|
201
|
+
async def background_work():
|
|
202
|
+
await process_data() # Status becomes "HealthyBusy"
|
|
203
|
+
return "done"
|
|
218
204
|
|
|
219
205
|
@app.entrypoint
|
|
220
|
-
async def
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
206
|
+
async def handler(event):
|
|
207
|
+
asyncio.create_task(background_work())
|
|
208
|
+
return {"status": "started"}
|
|
209
|
+
```
|
|
224
210
|
|
|
225
|
-
|
|
211
|
+
2. **Manual Task Management**
|
|
212
|
+
```python
|
|
226
213
|
@app.entrypoint
|
|
227
|
-
def
|
|
228
|
-
""
|
|
229
|
-
task_id = app.add_async_task("data_processing", {"batch_size": 1000})
|
|
214
|
+
def handler(event):
|
|
215
|
+
task_id = app.add_async_task("data_processing", {"batch": 100})
|
|
230
216
|
|
|
231
217
|
def background_work():
|
|
232
|
-
time.sleep(
|
|
218
|
+
time.sleep(30)
|
|
233
219
|
app.complete_async_task(task_id)
|
|
234
220
|
|
|
235
221
|
threading.Thread(target=background_work, daemon=True).start()
|
|
236
|
-
return {"task_id": task_id
|
|
222
|
+
return {"task_id": task_id}
|
|
237
223
|
```
|
|
238
224
|
|
|
239
|
-
|
|
225
|
+
3. **Custom Ping Handler**
|
|
226
|
+
```python
|
|
227
|
+
@app.ping
|
|
228
|
+
def custom_status():
|
|
229
|
+
if processing_data or system_busy():
|
|
230
|
+
return PingStatus.HEALTHY_BUSY
|
|
231
|
+
return PingStatus.HEALTHY
|
|
232
|
+
```
|
|
240
233
|
|
|
241
|
-
|
|
234
|
+
**Common Use Cases:**
|
|
235
|
+
- Data processing that takes minutes or hours
|
|
236
|
+
- File uploads and conversions
|
|
237
|
+
- External API calls with retries
|
|
238
|
+
- Batch operations and reports
|
|
242
239
|
|
|
243
|
-
|
|
244
|
-
# Development server with debug mode
|
|
245
|
-
app = BedrockAgentCoreApp(debug=True)
|
|
240
|
+
See the [Async Processing Guide](async.md) for detailed examples and testing strategies.
|
|
246
241
|
|
|
247
|
-
|
|
248
|
-
app.run() # Default port 8080, auto-detects Docker vs local
|
|
242
|
+
## Local Development
|
|
249
243
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
244
|
+
### Debug Mode
|
|
245
|
+
```python
|
|
246
|
+
app = BedrockAgentCoreApp(debug=True) # Enhanced logging
|
|
253
247
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
logger.info("Processing request: %s", payload)
|
|
257
|
-
# Your logic here
|
|
248
|
+
if __name__ == "__main__":
|
|
249
|
+
app.run() # Auto-detects Docker vs local
|
|
258
250
|
```
|
|
259
251
|
|
|
252
|
+
### Complete Development Workflow
|
|
260
253
|
```bash
|
|
261
|
-
# Configure
|
|
262
|
-
agentcore configure --entrypoint my_agent.py
|
|
254
|
+
# 1. Configure
|
|
255
|
+
agentcore configure --entrypoint my_agent.py
|
|
256
|
+
|
|
257
|
+
# 2. Develop locally
|
|
263
258
|
agentcore launch --local
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
agentcore invoke '{"prompt": "Hello"}'
|
|
259
|
+
|
|
260
|
+
# 3. Test
|
|
261
|
+
agentcore invoke '{"prompt": "Hello"}'
|
|
262
|
+
agentcore invoke '{"prompt": "Remember this"}' --session-id "test"
|
|
263
|
+
|
|
264
|
+
# 4. Deploy to cloud
|
|
265
|
+
agentcore launch
|
|
266
|
+
|
|
267
|
+
# 5. Monitor
|
|
268
|
+
agentcore status
|
|
267
269
|
```
|
|
270
|
+
|
|
271
|
+
The AgentCore Runtime SDK provides everything needed to build, test, and deploy production-ready AI agents with minimal setup and maximum flexibility.
|