bedrock-agentcore-starter-toolkit 0.1.2__tar.gz → 0.1.4__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.
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/workflows/ci.yml +3 -2
- bedrock_agentcore_starter_toolkit-0.1.4/.github/workflows/integration_testing.yml +86 -0
- bedrock_agentcore_starter_toolkit-0.1.4/.github/workflows/pr-automerge.yml +66 -0
- bedrock_agentcore_starter_toolkit-0.1.4/.github/workflows/release.yml +443 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.gitignore +1 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.pre-commit-config.yaml +1 -1
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/CHANGELOG.md +28 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/PKG-INFO +22 -2
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/README.md +14 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/api-reference/cli.md +20 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/index.md +9 -0
- bedrock_agentcore_starter_toolkit-0.1.4/documentation/docs/user-guide/import-agent/configuration.md +217 -0
- bedrock_agentcore_starter_toolkit-0.1.4/documentation/docs/user-guide/import-agent/design.md +114 -0
- bedrock_agentcore_starter_toolkit-0.1.4/documentation/docs/user-guide/import-agent/overview.md +94 -0
- bedrock_agentcore_starter_toolkit-0.1.4/documentation/docs/user-guide/import-agent/quickstart.md +161 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/runtime/overview.md +115 -111
- bedrock_agentcore_starter_toolkit-0.1.4/documentation/docs/user-guide/runtime/permissions.md +485 -0
- bedrock_agentcore_starter_toolkit-0.1.4/documentation/docs/user-guide/runtime/quickstart.md +170 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/mkdocs.yaml +4 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/pyproject.toml +13 -3
- bedrock_agentcore_starter_toolkit-0.1.4/scripts/bump-version.py +232 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/cli/__init__.py +1 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/cli/cli.py +3 -1
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/cli/common.py +1 -1
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/cli/import_agent/README.md +35 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/cli/import_agent/__init__.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/cli/import_agent/agent_info.py +230 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/cli/import_agent/commands.py +518 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/cli/runtime/commands.py +132 -42
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py +120 -22
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/gateway/client.py +2 -2
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/runtime/configure.py +5 -2
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py +1 -1
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +108 -30
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/runtime/models.py +1 -1
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/__init__.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/__init__.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/memory_manager_template.py +207 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/requirements_langchain.j2 +9 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/requirements_strands.j2 +5 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/assets/template_fixtures_merged.json +1102 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/__init__.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/base_bedrock_translate.py +1668 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/bedrock_to_langchain.py +382 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/scripts/bedrock_to_strands.py +374 -0
- bedrock_agentcore_starter_toolkit-0.1.4/src/bedrock_agentcore_starter_toolkit/services/import_agent/utils.py +417 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/services/runtime.py +35 -12
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/container.py +54 -3
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/entrypoint.py +11 -5
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2 +2 -1
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/cli/runtime/test_commands.py +231 -48
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/conftest.py +1 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests/notebook/runtime/test_bedrock_agentcore.py +712 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/gateway/test_gateway_client_init.py +1 -2
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/runtime/test_launch.py +514 -347
- bedrock_agentcore_starter_toolkit-0.1.4/tests/services/import_agent/data/bedrock_config.json +540 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests/services/import_agent/data/bedrock_config_multi_agent.json +577 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests/services/import_agent/data/bedrock_config_no_schema.json +62 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests/services/import_agent/test_import_agent.py +627 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/services/test_runtime.py +16 -24
- bedrock_agentcore_starter_toolkit-0.1.4/tests/services/test_runtime_conflict_error.py +82 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/utils/runtime/test_entrypoint.py +30 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/cli/runtime/__init__.py +0 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/cli/runtime/base_test.py +71 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/cli/runtime/test_simple_agent.py +132 -0
- bedrock_agentcore_starter_toolkit-0.1.2/tests_integ/notebook/test_runtime.py → bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/notebook/test_notebook_runtime.py +2 -1
- bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/strands_agent/__init__.py +0 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/tools/__init__.py +0 -0
- bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/utils/config.py +4 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/uv.lock +222 -3
- bedrock_agentcore_starter_toolkit-0.1.2/.github/workflows/release.yml +0 -73
- bedrock_agentcore_starter_toolkit-0.1.2/.github/workflows/security-scanning.yml +0 -106
- bedrock_agentcore_starter_toolkit-0.1.2/.github/workflows-backup-20250715-221720/ci.yml +0 -176
- bedrock_agentcore_starter_toolkit-0.1.2/.github/workflows-backup-20250715-221720/deploy-docs.yml +0 -55
- bedrock_agentcore_starter_toolkit-0.1.2/.github/workflows-backup-20250715-221720/release.yml +0 -135
- bedrock_agentcore_starter_toolkit-0.1.2/documentation/docs/user-guide/runtime/permissions.md +0 -320
- bedrock_agentcore_starter_toolkit-0.1.2/documentation/docs/user-guide/runtime/quickstart.md +0 -117
- bedrock_agentcore_starter_toolkit-0.1.2/scripts/bump-version.py +0 -43
- bedrock_agentcore_starter_toolkit-0.1.2/tests/notebook/runtime/test_bedrock_agentcore.py +0 -382
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/CODEOWNERS +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/branch-protection.json +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/dependabot.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/pull_request_template.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/workflows/deploy-docs.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2/.github/workflows-backup-20250715-221720 → bedrock_agentcore_starter_toolkit-0.1.4/.github/workflows}/security-scanning.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/workflows/security.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.github/workflows/test-pypi-release.yml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/.python-version +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/CODE-OF-CONDUCT.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/CONTRIBUTING.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/LICENSE.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/NOTICE.txt +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/SECURITY.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/.gitignore +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/api-reference/identity.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/api-reference/memory.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/api-reference/runtime.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/api-reference/tools.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/examples/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/examples/async-processing.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/examples/gateway-integration.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/examples/session-management.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/stylesheets/extra.css +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/builtin-tools/quickstart-browser.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/builtin-tools/quickstart-code-interpreter.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/gateway/overview.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/gateway/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/identity/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/memory/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/observability/quickstart.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/runtime/async.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/docs/user-guide/runtime/notebook.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/documentation/overrides/main.html +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/scripts/prepare-release.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/scripts/setup-branch-protection.sh +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/scripts/validate-release.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/cli/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/cli/gateway/commands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/cli/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/notebook/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/notebook/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/gateway/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/gateway/constants.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_lambda.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/gateway/exceptions.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/runtime/create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/operations/runtime/status.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/services/codebuild.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/services/ecr.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/endpoints.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/logging_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/logs.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/policy_template.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/schema.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2 +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/cli/gateway/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/cli/gateway/test_commands.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/cli/runtime/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/cli/runtime/test_configuration_manager.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/cli/test_common.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/conftest_mock.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/fixtures/project_config_multiple.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/fixtures/project_config_single.yaml +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/gateway/test_gateway_client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/gateway/test_gateway_create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/runtime/test_configure.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/runtime/test_create_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/runtime/test_invoke.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/operations/runtime/test_status.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/services/test_codebuild.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/services/test_ecr.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/utils/runtime/test_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/utils/runtime/test_container.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/utils/runtime/test_policy_template.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/utils/test_endpoints.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests/utils/test_logging_config.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2/tests_integ/strands_agent → bedrock_agentcore_starter_toolkit-0.1.4/tests_integ}/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2/tests_integ/tools → bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/cli}/__init__.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/gateway/README.md +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/gateway/test_cognito_token.py +0 -0
- /bedrock_agentcore_starter_toolkit-0.1.2/tests_integ/gateway/test_create_role.py → /bedrock_agentcore_starter_toolkit-0.1.4/tests_integ/gateway/test_create_gateway_role.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/gateway/test_egress_auth.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/gateway/test_gateway_cognito.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/identity/access_token_3LO.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/strands_agent/agent_example.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/tools/my_mcp_client.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/tools/my_mcp_client_remote.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/tools/my_mcp_server.py +0 -0
- {bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/tests_integ/tools/setup_cognito.sh +0 -0
|
@@ -66,9 +66,10 @@ jobs:
|
|
|
66
66
|
python -c "from bedrock_agentcore_starter_toolkit import Runtime; print('✓ Runtime import successful')"
|
|
67
67
|
|
|
68
68
|
- name: Run unit tests
|
|
69
|
+
env:
|
|
70
|
+
TERM: dumb # disable ANSI escape sequences
|
|
69
71
|
run: |
|
|
70
|
-
|
|
71
|
-
pytest tests/ || echo "::warning::Some tests failed due to missing dependencies"
|
|
72
|
+
pytest tests/ --cov=src --cov-report=xml --cov-report=html --cov-precision=2
|
|
72
73
|
|
|
73
74
|
build:
|
|
74
75
|
name: Build Package
|
|
@@ -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
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: PR Auto-merge
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request_review:
|
|
5
|
+
types: [submitted]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: write
|
|
9
|
+
pull-requests: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
auto-merge:
|
|
13
|
+
name: Auto-merge Release PRs
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
# Only run when PR is approved and it's a release PR
|
|
16
|
+
if: |
|
|
17
|
+
github.event.review.state == 'approved' &&
|
|
18
|
+
github.event.pull_request.user.login == 'github-actions[bot]' &&
|
|
19
|
+
startsWith(github.event.pull_request.head.ref, 'release/') &&
|
|
20
|
+
github.event.pull_request.base.ref == 'main'
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Check CI status
|
|
24
|
+
id: ci-status
|
|
25
|
+
uses: actions/github-script@v7
|
|
26
|
+
with:
|
|
27
|
+
script: |
|
|
28
|
+
const { data: checkRuns } = await github.rest.checks.listForRef({
|
|
29
|
+
owner: context.repo.owner,
|
|
30
|
+
repo: context.repo.repo,
|
|
31
|
+
ref: context.payload.pull_request.head.sha
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// Include ALL required checks
|
|
35
|
+
const requiredChecks = [
|
|
36
|
+
'Lint',
|
|
37
|
+
'Test Python 3.10',
|
|
38
|
+
'Test Python 3.11',
|
|
39
|
+
'Test Python 3.12',
|
|
40
|
+
'Test Python 3.13',
|
|
41
|
+
'Build Package'
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
const allPassed = requiredChecks.every(checkName => {
|
|
45
|
+
const check = checkRuns.check_runs.find(run => run.name === checkName);
|
|
46
|
+
return check && check.conclusion === 'success';
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
console.log(`All required checks passed: ${allPassed}`);
|
|
50
|
+
return allPassed;
|
|
51
|
+
|
|
52
|
+
- name: Auto-merge PR
|
|
53
|
+
if: steps.ci-status.outputs.result == 'true'
|
|
54
|
+
uses: actions/github-script@v7
|
|
55
|
+
with:
|
|
56
|
+
script: |
|
|
57
|
+
await github.rest.pulls.merge({
|
|
58
|
+
owner: context.repo.owner,
|
|
59
|
+
repo: context.repo.repo,
|
|
60
|
+
pull_number: context.payload.pull_request.number,
|
|
61
|
+
merge_method: 'squash',
|
|
62
|
+
commit_title: `Release v${context.payload.pull_request.head.ref.split('/')[1]}`,
|
|
63
|
+
commit_message: 'Auto-merged by release workflow'
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
console.log('✓ PR auto-merged successfully');
|
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
bump_type:
|
|
7
|
+
description: 'Version bump type'
|
|
8
|
+
required: true
|
|
9
|
+
type: choice
|
|
10
|
+
options:
|
|
11
|
+
- patch
|
|
12
|
+
- minor
|
|
13
|
+
- major
|
|
14
|
+
- pre
|
|
15
|
+
sdk_version:
|
|
16
|
+
description: 'SDK version to depend on (optional)'
|
|
17
|
+
required: false
|
|
18
|
+
type: string
|
|
19
|
+
wait_for_sdk:
|
|
20
|
+
description: 'Wait for SDK version on PyPI'
|
|
21
|
+
required: false
|
|
22
|
+
type: boolean
|
|
23
|
+
default: false
|
|
24
|
+
changelog:
|
|
25
|
+
description: 'Custom changelog entry (optional)'
|
|
26
|
+
required: false
|
|
27
|
+
type: string
|
|
28
|
+
|
|
29
|
+
permissions:
|
|
30
|
+
contents: write
|
|
31
|
+
pull-requests: write
|
|
32
|
+
id-token: write
|
|
33
|
+
|
|
34
|
+
jobs:
|
|
35
|
+
prepare-release:
|
|
36
|
+
name: Prepare Release
|
|
37
|
+
runs-on: ubuntu-latest
|
|
38
|
+
outputs:
|
|
39
|
+
version: ${{ steps.bump.outputs.version }}
|
|
40
|
+
pr_created: ${{ steps.create-pr.outputs.pull-request-number }}
|
|
41
|
+
|
|
42
|
+
steps:
|
|
43
|
+
- name: Checkout code
|
|
44
|
+
uses: actions/checkout@v4
|
|
45
|
+
with:
|
|
46
|
+
fetch-depth: 0
|
|
47
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
48
|
+
|
|
49
|
+
- name: Setup Python
|
|
50
|
+
uses: actions/setup-python@v5
|
|
51
|
+
with:
|
|
52
|
+
python-version: '3.10'
|
|
53
|
+
|
|
54
|
+
- name: Install uv
|
|
55
|
+
run: |
|
|
56
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
57
|
+
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
58
|
+
|
|
59
|
+
- name: Create virtual environment
|
|
60
|
+
run: uv venv
|
|
61
|
+
|
|
62
|
+
- name: Install dependencies
|
|
63
|
+
run: |
|
|
64
|
+
source .venv/bin/activate
|
|
65
|
+
uv pip install requests # Needed for SDK version checking
|
|
66
|
+
|
|
67
|
+
- name: Configure git
|
|
68
|
+
run: |
|
|
69
|
+
git config --global user.name "github-actions[bot]"
|
|
70
|
+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
71
|
+
|
|
72
|
+
- name: Get current version
|
|
73
|
+
id: current
|
|
74
|
+
run: |
|
|
75
|
+
VERSION=$(grep -m1 -oP '^version = "\K[^"]+' pyproject.toml)
|
|
76
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
77
|
+
echo "Current version: $VERSION"
|
|
78
|
+
|
|
79
|
+
- name: Bump version
|
|
80
|
+
id: bump
|
|
81
|
+
run: |
|
|
82
|
+
source .venv/bin/activate
|
|
83
|
+
|
|
84
|
+
# Make script executable
|
|
85
|
+
chmod +x scripts/bump-version.py
|
|
86
|
+
|
|
87
|
+
# Build command with all options
|
|
88
|
+
CMD="python scripts/bump-version.py ${{ github.event.inputs.bump_type }}"
|
|
89
|
+
|
|
90
|
+
# Add SDK update if specified
|
|
91
|
+
if [ -n "${{ github.event.inputs.sdk_version }}" ]; then
|
|
92
|
+
CMD="$CMD --update-sdk ${{ github.event.inputs.sdk_version }}"
|
|
93
|
+
if [ "${{ github.event.inputs.wait_for_sdk }}" = "true" ]; then
|
|
94
|
+
CMD="$CMD --wait-for-sdk"
|
|
95
|
+
fi
|
|
96
|
+
fi
|
|
97
|
+
|
|
98
|
+
# Add changelog if specified
|
|
99
|
+
if [ -n "${{ github.event.inputs.changelog }}" ]; then
|
|
100
|
+
CMD="$CMD --changelog \"${{ github.event.inputs.changelog }}\""
|
|
101
|
+
fi
|
|
102
|
+
|
|
103
|
+
# Run version bump
|
|
104
|
+
echo "Running: $CMD"
|
|
105
|
+
eval $CMD
|
|
106
|
+
|
|
107
|
+
# Update lockfile after all changes
|
|
108
|
+
uv lock --no-progress
|
|
109
|
+
|
|
110
|
+
# Get new version
|
|
111
|
+
NEW_VERSION=$(grep -m1 -oP '^version = "\K[^"]+' pyproject.toml)
|
|
112
|
+
echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
113
|
+
echo "New version: $NEW_VERSION"
|
|
114
|
+
|
|
115
|
+
- name: Create release branch
|
|
116
|
+
run: |
|
|
117
|
+
BRANCH_NAME="release/v${{ steps.bump.outputs.version }}"
|
|
118
|
+
|
|
119
|
+
# Clean up any existing branch from previous attempts
|
|
120
|
+
if git ls-remote --exit-code --heads origin $BRANCH_NAME; then
|
|
121
|
+
echo "⚠️ Branch $BRANCH_NAME already exists. Deleting it first..."
|
|
122
|
+
git push origin --delete $BRANCH_NAME
|
|
123
|
+
fi
|
|
124
|
+
|
|
125
|
+
# Clean up local branch if exists
|
|
126
|
+
if git show-ref --verify --quiet refs/heads/$BRANCH_NAME; then
|
|
127
|
+
git branch -D $BRANCH_NAME
|
|
128
|
+
fi
|
|
129
|
+
|
|
130
|
+
# Create fresh branch
|
|
131
|
+
git checkout -b $BRANCH_NAME
|
|
132
|
+
|
|
133
|
+
# Add all changes
|
|
134
|
+
git add -A
|
|
135
|
+
|
|
136
|
+
# Commit with co-author
|
|
137
|
+
git commit -m "chore: bump version to ${{ steps.bump.outputs.version }}
|
|
138
|
+
|
|
139
|
+
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>"
|
|
140
|
+
|
|
141
|
+
# Push the branch
|
|
142
|
+
git push origin $BRANCH_NAME
|
|
143
|
+
|
|
144
|
+
# Verify the version was committed
|
|
145
|
+
COMMITTED_VERSION=$(git show HEAD:pyproject.toml | grep -m1 -oP '^version = "\K[^"]+')
|
|
146
|
+
if [ "$COMMITTED_VERSION" != "${{ steps.bump.outputs.version }}" ]; then
|
|
147
|
+
echo "❌ ERROR: Version not committed correctly!"
|
|
148
|
+
exit 1
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
- name: Create Pull Request
|
|
152
|
+
id: create-pr
|
|
153
|
+
env:
|
|
154
|
+
GH_TOKEN: ${{ github.token }}
|
|
155
|
+
run: |
|
|
156
|
+
BRANCH_NAME="release/v${{ steps.bump.outputs.version }}"
|
|
157
|
+
|
|
158
|
+
# Create PR using GitHub CLI
|
|
159
|
+
PR_URL=$(gh pr create \
|
|
160
|
+
--base main \
|
|
161
|
+
--head $BRANCH_NAME \
|
|
162
|
+
--title "Release v${{ steps.bump.outputs.version }}" \
|
|
163
|
+
--body "## 🚀 Release v${{ steps.bump.outputs.version }}
|
|
164
|
+
|
|
165
|
+
This PR was automatically created by the release workflow.
|
|
166
|
+
|
|
167
|
+
### Changes
|
|
168
|
+
- Version bumped from ${{ steps.current.outputs.version }} to ${{ steps.bump.outputs.version }}
|
|
169
|
+
- Updated CHANGELOG.md
|
|
170
|
+
- Updated uv.lock
|
|
171
|
+
${{ github.event.inputs.sdk_version && format('- Updated SDK dependency to >={0}', github.event.inputs.sdk_version) || '' }}
|
|
172
|
+
|
|
173
|
+
### Pre-release Checklist
|
|
174
|
+
- [ ] Review CHANGELOG.md entries
|
|
175
|
+
- [ ] Verify version numbers are correct
|
|
176
|
+
- [ ] All tests passing
|
|
177
|
+
- [ ] Documentation updated (if needed)
|
|
178
|
+
${{ github.event.inputs.sdk_version && '- [ ] Verify SDK version is available on PyPI' || '' }}
|
|
179
|
+
|
|
180
|
+
### Release Process
|
|
181
|
+
1. Approve and merge this PR
|
|
182
|
+
2. The release workflow will automatically:
|
|
183
|
+
- Build and test the package
|
|
184
|
+
- Publish to Test PyPI
|
|
185
|
+
- Wait for approval
|
|
186
|
+
- Publish to PyPI
|
|
187
|
+
- Create a GitHub release
|
|
188
|
+
- Tag the release
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
*Triggered by @${{ github.actor }}*")
|
|
192
|
+
|
|
193
|
+
# Extract PR number from URL
|
|
194
|
+
PR_NUMBER=$(echo "$PR_URL" | grep -oP '\d+$')
|
|
195
|
+
echo "pull-request-number=$PR_NUMBER" >> $GITHUB_OUTPUT
|
|
196
|
+
|
|
197
|
+
test:
|
|
198
|
+
name: Test
|
|
199
|
+
needs: prepare-release
|
|
200
|
+
runs-on: ubuntu-latest
|
|
201
|
+
if: needs.prepare-release.result == 'success'
|
|
202
|
+
outputs:
|
|
203
|
+
version: ${{ needs.prepare-release.outputs.version }}
|
|
204
|
+
strategy:
|
|
205
|
+
matrix:
|
|
206
|
+
python-version: ['3.10', '3.11', '3.12', '3.13']
|
|
207
|
+
|
|
208
|
+
steps:
|
|
209
|
+
- uses: actions/checkout@v4
|
|
210
|
+
with:
|
|
211
|
+
ref: release/v${{ needs.prepare-release.outputs.version }}
|
|
212
|
+
|
|
213
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
214
|
+
uses: actions/setup-python@v5
|
|
215
|
+
with:
|
|
216
|
+
python-version: ${{ matrix.python-version }}
|
|
217
|
+
|
|
218
|
+
- name: Install uv
|
|
219
|
+
run: |
|
|
220
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
221
|
+
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
222
|
+
|
|
223
|
+
- name: Create virtual environment
|
|
224
|
+
run: uv venv
|
|
225
|
+
|
|
226
|
+
- name: Install dependencies
|
|
227
|
+
run: |
|
|
228
|
+
source .venv/bin/activate
|
|
229
|
+
uv sync --dev
|
|
230
|
+
|
|
231
|
+
- name: Run tests
|
|
232
|
+
run: |
|
|
233
|
+
source .venv/bin/activate
|
|
234
|
+
pytest tests/ --cov=src --cov-report=xml --cov-fail-under=80 \
|
|
235
|
+
-k "not test_launch_help_text_updated"
|
|
236
|
+
|
|
237
|
+
build:
|
|
238
|
+
name: Build Distribution
|
|
239
|
+
needs: prepare-release
|
|
240
|
+
runs-on: ubuntu-latest
|
|
241
|
+
if: needs.prepare-release.result == 'success'
|
|
242
|
+
|
|
243
|
+
steps:
|
|
244
|
+
- uses: actions/checkout@v4
|
|
245
|
+
with:
|
|
246
|
+
ref: release/v${{ needs.prepare-release.outputs.version }}
|
|
247
|
+
|
|
248
|
+
- name: Verify version before build
|
|
249
|
+
run: |
|
|
250
|
+
EXPECTED_VERSION="${{ needs.prepare-release.outputs.version }}"
|
|
251
|
+
ACTUAL_VERSION=$(grep -m1 -oP '^version = "\K[^"]+' pyproject.toml)
|
|
252
|
+
|
|
253
|
+
echo "Expected version: $EXPECTED_VERSION"
|
|
254
|
+
echo "Actual version: $ACTUAL_VERSION"
|
|
255
|
+
|
|
256
|
+
if [ "$ACTUAL_VERSION" != "$EXPECTED_VERSION" ]; then
|
|
257
|
+
echo "❌ ERROR: Version mismatch!"
|
|
258
|
+
echo "Expected $EXPECTED_VERSION but found $ACTUAL_VERSION"
|
|
259
|
+
exit 1
|
|
260
|
+
fi
|
|
261
|
+
|
|
262
|
+
echo "✓ Version verified: $ACTUAL_VERSION"
|
|
263
|
+
|
|
264
|
+
- name: Set up Python
|
|
265
|
+
uses: actions/setup-python@v5
|
|
266
|
+
with:
|
|
267
|
+
python-version: '3.10'
|
|
268
|
+
|
|
269
|
+
- name: Install uv
|
|
270
|
+
run: |
|
|
271
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
272
|
+
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
273
|
+
|
|
274
|
+
- name: Build package
|
|
275
|
+
run: |
|
|
276
|
+
uv build
|
|
277
|
+
|
|
278
|
+
ls -la dist/
|
|
279
|
+
if ! ls dist/*-${{ needs.prepare-release.outputs.version }}-*.whl; then
|
|
280
|
+
echo "❌ ERROR: Built package has wrong version!"
|
|
281
|
+
exit 1
|
|
282
|
+
fi
|
|
283
|
+
|
|
284
|
+
# Check with twine using tool run
|
|
285
|
+
uv tool run twine check dist/*
|
|
286
|
+
|
|
287
|
+
# Show package contents
|
|
288
|
+
echo "=== Package contents ==="
|
|
289
|
+
python -m zipfile -l dist/*.whl | head -20
|
|
290
|
+
|
|
291
|
+
- name: Upload artifacts
|
|
292
|
+
uses: actions/upload-artifact@v4
|
|
293
|
+
with:
|
|
294
|
+
name: dist
|
|
295
|
+
path: dist/
|
|
296
|
+
|
|
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@v4
|
|
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
|
+
publish-pypi:
|
|
365
|
+
name: Publish to PyPI
|
|
366
|
+
needs: release-approval
|
|
367
|
+
runs-on: ubuntu-latest
|
|
368
|
+
environment:
|
|
369
|
+
name: pypi
|
|
370
|
+
url: https://pypi.org/project/bedrock-agentcore-starter-toolkit/
|
|
371
|
+
|
|
372
|
+
steps:
|
|
373
|
+
- uses: actions/checkout@v4
|
|
374
|
+
with:
|
|
375
|
+
fetch-depth: 0
|
|
376
|
+
|
|
377
|
+
- name: Download artifacts
|
|
378
|
+
uses: actions/download-artifact@v4
|
|
379
|
+
with:
|
|
380
|
+
name: dist
|
|
381
|
+
path: dist/
|
|
382
|
+
|
|
383
|
+
- name: Get version
|
|
384
|
+
id: version
|
|
385
|
+
run: |
|
|
386
|
+
VERSION=$(ls dist/*.whl | sed -n 's/.*-\([0-9.]*\)-.*/\1/p')
|
|
387
|
+
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
388
|
+
|
|
389
|
+
- name: Publish to PyPI
|
|
390
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
391
|
+
with:
|
|
392
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
393
|
+
|
|
394
|
+
- name: Create and push tag
|
|
395
|
+
run: |
|
|
396
|
+
git config --global user.name "github-actions[bot]"
|
|
397
|
+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
398
|
+
git tag -a v${{ steps.version.outputs.version }} \
|
|
399
|
+
-m "Release v${{ steps.version.outputs.version }}"
|
|
400
|
+
git push origin v${{ steps.version.outputs.version }}
|
|
401
|
+
|
|
402
|
+
- name: Create GitHub Release
|
|
403
|
+
uses: softprops/action-gh-release@v2
|
|
404
|
+
with:
|
|
405
|
+
tag_name: v${{ steps.version.outputs.version }}
|
|
406
|
+
name: Bedrock AgentCore Starter Toolkit v${{ steps.version.outputs.version }}
|
|
407
|
+
files: dist/*
|
|
408
|
+
generate_release_notes: true
|
|
409
|
+
body: |
|
|
410
|
+
## Installation
|
|
411
|
+
```bash
|
|
412
|
+
pip install bedrock-agentcore-starter-toolkit==${{ steps.version.outputs.version }}
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## What's Changed
|
|
416
|
+
See [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/v${{ steps.version.outputs.version }}/CHANGELOG.md) for details.
|
|
417
|
+
|
|
418
|
+
${{ github.event.inputs.sdk_version && format('### SDK Dependency\nThis release requires `bedrock-agentcore>={0}`', github.event.inputs.sdk_version) || '' }}
|
|
419
|
+
|
|
420
|
+
summary:
|
|
421
|
+
name: Release Summary
|
|
422
|
+
needs: publish-testpypi
|
|
423
|
+
runs-on: ubuntu-latest
|
|
424
|
+
if: always()
|
|
425
|
+
|
|
426
|
+
steps:
|
|
427
|
+
- name: Summary
|
|
428
|
+
run: |
|
|
429
|
+
echo "## Release Summary" >> $GITHUB_STEP_SUMMARY
|
|
430
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
431
|
+
if [ "${{ needs.publish-testpypi.result }}" == "success" ]; then
|
|
432
|
+
echo "✅ **Test PyPI Release Successful**" >> $GITHUB_STEP_SUMMARY
|
|
433
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
434
|
+
echo "Package published to: https://test.pypi.org/project/bedrock-agentcore-starter-toolkit/" >> $GITHUB_STEP_SUMMARY
|
|
435
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
436
|
+
echo "To install from Test PyPI:" >> $GITHUB_STEP_SUMMARY
|
|
437
|
+
echo '```bash' >> $GITHUB_STEP_SUMMARY
|
|
438
|
+
echo "pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ bedrock-agentcore-starter-toolkit" >> $GITHUB_STEP_SUMMARY
|
|
439
|
+
echo '```' >> $GITHUB_STEP_SUMMARY
|
|
440
|
+
else
|
|
441
|
+
echo "❌ **Release Failed**" >> $GITHUB_STEP_SUMMARY
|
|
442
|
+
echo "Check the workflow logs for details." >> $GITHUB_STEP_SUMMARY
|
|
443
|
+
fi
|
{bedrock_agentcore_starter_toolkit-0.1.2 → bedrock_agentcore_starter_toolkit-0.1.4}/CHANGELOG.md
RENAMED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.4] - 2025-08-06
|
|
4
|
+
|
|
5
|
+
Added a utility to import from Bedrock Agents -> Bedrock AgentCore. Developers can generate and deploy a Langchain/Strands + AgentCore agent from a selected Bedrock Agent. The output agent leverages AgentCore primitives such as Gateway, Observability, Memory, and Code Interpreter. Added documentation on usage and design of this utility. This utility does not introduce any breaking changes. It is aimed towards Bedrock Agents customers who want to try a code-first, extensible approach with AgentCore.
|
|
6
|
+
|
|
7
|
+
## [0.1.3] - 2025-08-01
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
- **CodeBuild is now the default launch method** - The `--codebuild` flag is no longer needed
|
|
11
|
+
- To use local Docker builds, you must now explicitly use `--local-build` flag
|
|
12
|
+
- This change improves the default user experience by building ARM64 containers in the cloud without requiring local Docker
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- **Streaming invoke support re-enabled** - Restored streaming functionality for real-time agent responses
|
|
16
|
+
- **Extended request timeout** - Increased invoke request timeout from default to 900 seconds (15 minutes) to support long-running agent operations
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **Default launch behavior** - CodeBuild is now the default (`use_codebuild=True`)
|
|
20
|
+
- Users no longer need Docker installed locally for standard deployments
|
|
21
|
+
- Automatic ARM64 container builds in AWS CodeBuild
|
|
22
|
+
- Use `agentcore launch` for cloud builds (default)
|
|
23
|
+
- Use `agentcore launch --local-build` for local Docker builds
|
|
24
|
+
|
|
25
|
+
### Improved
|
|
26
|
+
- **Enhanced CLI help text** - Clearer descriptions guide users toward recommended options
|
|
27
|
+
- **Better error messages** - Actionable recommendations for common issues
|
|
28
|
+
- **Conflict handling** - Enhanced exception messages now suggest using `--auto-update-on-conflict` flag
|
|
29
|
+
|
|
30
|
+
|
|
3
31
|
## [0.1.2] - 2025-07-23
|
|
4
32
|
|
|
5
33
|
### Fixed
|