bedrock-agentcore-starter-toolkit 0.0.1__tar.gz → 0.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (147) hide show
  1. bedrock_agentcore_starter_toolkit-0.1.1/.github/CODEOWNERS +28 -0
  2. bedrock_agentcore_starter_toolkit-0.1.1/.github/ISSUE_TEMPLATE/bug_report.md +34 -0
  3. bedrock_agentcore_starter_toolkit-0.1.1/.github/branch-protection.json +37 -0
  4. bedrock_agentcore_starter_toolkit-0.1.1/.github/dependabot.yml +64 -0
  5. bedrock_agentcore_starter_toolkit-0.1.1/.github/pull_request_template.md +47 -0
  6. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows/ci.yml +117 -0
  7. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows/deploy-docs.yml +62 -0
  8. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows/release.yml +73 -0
  9. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows/security-scanning.yml +106 -0
  10. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows/security.yml +108 -0
  11. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows/test-pypi-release.yml +93 -0
  12. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720/ci.yml +176 -0
  13. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720/deploy-docs.yml +55 -0
  14. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720/release.yml +135 -0
  15. bedrock_agentcore_starter_toolkit-0.1.1/.github/workflows-backup-20250715-221720/security-scanning.yml +106 -0
  16. bedrock_agentcore_starter_toolkit-0.1.1/.gitignore +22 -0
  17. bedrock_agentcore_starter_toolkit-0.1.1/.pre-commit-config.yaml +77 -0
  18. bedrock_agentcore_starter_toolkit-0.1.1/.python-version +1 -0
  19. bedrock_agentcore_starter_toolkit-0.1.1/CHANGELOG.md +49 -0
  20. bedrock_agentcore_starter_toolkit-0.1.1/CODE-OF-CONDUCT.md +43 -0
  21. bedrock_agentcore_starter_toolkit-0.1.1/CONTRIBUTING.md +88 -0
  22. bedrock_agentcore_starter_toolkit-0.1.1/NOTICE.txt +190 -0
  23. bedrock_agentcore_starter_toolkit-0.1.1/PKG-INFO +137 -0
  24. bedrock_agentcore_starter_toolkit-0.1.1/README.md +96 -0
  25. bedrock_agentcore_starter_toolkit-0.1.1/SECURITY.md +105 -0
  26. bedrock_agentcore_starter_toolkit-0.1.1/documentation/.gitignore +3 -0
  27. bedrock_agentcore_starter_toolkit-0.1.1/documentation/README.md +31 -0
  28. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/api-reference/cli.md +221 -0
  29. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/api-reference/identity.md +15 -0
  30. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/api-reference/memory.md +5 -0
  31. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/api-reference/runtime.md +5 -0
  32. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/api-reference/tools.md +7 -0
  33. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/examples/README.md +3 -0
  34. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/examples/async-processing.md +131 -0
  35. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/examples/gateway-integration.md +347 -0
  36. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/examples/session-management.md +63 -0
  37. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/index.md +119 -0
  38. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/stylesheets/extra.css +115 -0
  39. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/builtin-tools/quickstart-browser.md +208 -0
  40. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/builtin-tools/quickstart-code-interpreter.md +172 -0
  41. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/gateway/overview.md +208 -0
  42. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/gateway/quickstart.md +302 -0
  43. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/identity/quickstart.md +342 -0
  44. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/memory/quickstart.md +349 -0
  45. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/observability/quickstart.md +89 -0
  46. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/runtime/async.md +266 -0
  47. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/runtime/notebook.md +87 -0
  48. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/runtime/overview.md +267 -0
  49. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/runtime/permissions.md +320 -0
  50. bedrock_agentcore_starter_toolkit-0.1.1/documentation/docs/user-guide/runtime/quickstart.md +117 -0
  51. bedrock_agentcore_starter_toolkit-0.1.1/documentation/mkdocs.yaml +143 -0
  52. bedrock_agentcore_starter_toolkit-0.1.1/documentation/overrides/main.html +32 -0
  53. bedrock_agentcore_starter_toolkit-0.1.1/pyproject.toml +159 -0
  54. bedrock_agentcore_starter_toolkit-0.1.1/scripts/bump-version.py +43 -0
  55. bedrock_agentcore_starter_toolkit-0.1.1/scripts/prepare-release.py +26 -0
  56. bedrock_agentcore_starter_toolkit-0.1.1/scripts/setup-branch-protection.sh +47 -0
  57. bedrock_agentcore_starter_toolkit-0.1.1/scripts/validate-release.py +215 -0
  58. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/__init__.py +5 -0
  59. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/cli/cli.py +32 -0
  60. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/cli/common.py +44 -0
  61. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/cli/gateway/__init__.py +1 -0
  62. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/cli/gateway/commands.py +88 -0
  63. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/cli/runtime/__init__.py +1 -0
  64. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/cli/runtime/commands.py +651 -0
  65. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/cli/runtime/configuration_manager.py +133 -0
  66. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/notebook/__init__.py +5 -0
  67. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/notebook/runtime/__init__.py +1 -0
  68. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/notebook/runtime/bedrock_agentcore.py +239 -0
  69. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/__init__.py +1 -0
  70. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/gateway/README.md +277 -0
  71. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/gateway/__init__.py +6 -0
  72. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/gateway/client.py +456 -0
  73. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/gateway/constants.py +152 -0
  74. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_lambda.py +85 -0
  75. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/gateway/create_role.py +90 -0
  76. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/gateway/exceptions.py +13 -0
  77. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/runtime/__init__.py +26 -0
  78. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/runtime/configure.py +241 -0
  79. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/runtime/create_role.py +404 -0
  80. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/runtime/invoke.py +129 -0
  81. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/runtime/launch.py +439 -0
  82. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/runtime/models.py +79 -0
  83. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/operations/runtime/status.py +66 -0
  84. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/services/codebuild.py +332 -0
  85. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/services/ecr.py +84 -0
  86. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/services/runtime.py +473 -0
  87. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/endpoints.py +32 -0
  88. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/logging_config.py +72 -0
  89. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/config.py +129 -0
  90. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/container.py +310 -0
  91. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/entrypoint.py +197 -0
  92. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/logs.py +33 -0
  93. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/policy_template.py +74 -0
  94. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/schema.py +151 -0
  95. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/Dockerfile.j2 +44 -0
  96. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/dockerignore.template +68 -0
  97. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_policy.json.j2 +98 -0
  98. bedrock_agentcore_starter_toolkit-0.1.1/src/bedrock_agentcore_starter_toolkit/utils/runtime/templates/execution_role_trust_policy.json.j2 +21 -0
  99. bedrock_agentcore_starter_toolkit-0.1.1/tests/__init__.py +0 -0
  100. bedrock_agentcore_starter_toolkit-0.1.1/tests/cli/gateway/__init__.py +0 -0
  101. bedrock_agentcore_starter_toolkit-0.1.1/tests/cli/gateway/test_commands.py +283 -0
  102. bedrock_agentcore_starter_toolkit-0.1.1/tests/cli/runtime/__init__.py +0 -0
  103. bedrock_agentcore_starter_toolkit-0.1.1/tests/cli/runtime/test_commands.py +1996 -0
  104. bedrock_agentcore_starter_toolkit-0.1.1/tests/cli/runtime/test_configuration_manager.py +98 -0
  105. bedrock_agentcore_starter_toolkit-0.1.1/tests/cli/test_common.py +19 -0
  106. bedrock_agentcore_starter_toolkit-0.1.1/tests/conftest.py +135 -0
  107. bedrock_agentcore_starter_toolkit-0.1.1/tests/conftest_mock.py +20 -0
  108. bedrock_agentcore_starter_toolkit-0.1.1/tests/fixtures/project_config_multiple.yaml +45 -0
  109. bedrock_agentcore_starter_toolkit-0.1.1/tests/fixtures/project_config_single.yaml +21 -0
  110. bedrock_agentcore_starter_toolkit-0.1.1/tests/notebook/runtime/test_bedrock_agentcore.py +382 -0
  111. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/gateway/test_gateway_client.py +260 -0
  112. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/gateway/test_gateway_client_init.py +926 -0
  113. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/gateway/test_gateway_create_role.py +429 -0
  114. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/runtime/test_configure.py +346 -0
  115. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/runtime/test_create_role.py +565 -0
  116. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/runtime/test_invoke.py +491 -0
  117. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/runtime/test_launch.py +938 -0
  118. bedrock_agentcore_starter_toolkit-0.1.1/tests/operations/runtime/test_status.py +291 -0
  119. bedrock_agentcore_starter_toolkit-0.1.1/tests/services/test_codebuild.py +521 -0
  120. bedrock_agentcore_starter_toolkit-0.1.1/tests/services/test_ecr.py +93 -0
  121. bedrock_agentcore_starter_toolkit-0.1.1/tests/services/test_runtime.py +608 -0
  122. bedrock_agentcore_starter_toolkit-0.1.1/tests/utils/runtime/test_config.py +353 -0
  123. bedrock_agentcore_starter_toolkit-0.1.1/tests/utils/runtime/test_container.py +543 -0
  124. bedrock_agentcore_starter_toolkit-0.1.1/tests/utils/runtime/test_entrypoint.py +262 -0
  125. bedrock_agentcore_starter_toolkit-0.1.1/tests/utils/runtime/test_policy_template.py +140 -0
  126. bedrock_agentcore_starter_toolkit-0.1.1/tests/utils/test_endpoints.py +26 -0
  127. bedrock_agentcore_starter_toolkit-0.1.1/tests/utils/test_logging_config.py +214 -0
  128. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/gateway/README.md +147 -0
  129. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/gateway/test_cognito_token.py +95 -0
  130. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/gateway/test_create_role.py +14 -0
  131. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/gateway/test_egress_auth.py +233 -0
  132. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/gateway/test_gateway_cognito.py +132 -0
  133. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/identity/access_token_3LO.py +62 -0
  134. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/notebook/test_runtime.py +9 -0
  135. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/strands_agent/__init__.py +0 -0
  136. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/strands_agent/agent_example.py +21 -0
  137. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/tools/__init__.py +0 -0
  138. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/tools/my_mcp_client.py +22 -0
  139. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/tools/my_mcp_client_remote.py +31 -0
  140. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/tools/my_mcp_server.py +26 -0
  141. bedrock_agentcore_starter_toolkit-0.1.1/tests_integ/tools/setup_cognito.sh +44 -0
  142. bedrock_agentcore_starter_toolkit-0.1.1/uv.lock +1942 -0
  143. bedrock_agentcore_starter_toolkit-0.0.1/PKG-INFO +0 -26
  144. bedrock_agentcore_starter_toolkit-0.0.1/README.md +0 -7
  145. bedrock_agentcore_starter_toolkit-0.0.1/pyproject.toml +0 -32
  146. bedrock_agentcore_starter_toolkit-0.0.1/src/bedrock_agentcore_starter_toolkit/init.py +0 -3
  147. /bedrock_agentcore_starter_toolkit-0.0.1/LICENSE → /bedrock_agentcore_starter_toolkit-0.1.1/LICENSE.txt +0 -0
@@ -0,0 +1,28 @@
1
+ # Code ownership for automatic PR review assignments
2
+
3
+ # Default owners for everything in the repo
4
+ * @aws/bedrock-agentcore-team
5
+
6
+ # Python source code
7
+ /src/ @aws/bedrock-agentcore-team
8
+
9
+ # Tests
10
+ /tests/ @aws/bedrock-agentcore-team
11
+ /tests_integ/ @aws/bedrock-agentcore-team
12
+
13
+ # Documentation
14
+ /documentation/ @aws/bedrock-agentcore-team
15
+ *.md @aws/bedrock-agentcore-team
16
+
17
+ # Configuration files
18
+ pyproject.toml @aws/bedrock-agentcore-team
19
+ .pre-commit-config.yaml @aws/bedrock-agentcore-team
20
+ *.yaml @aws/bedrock-agentcore-team
21
+ *.yml @aws/bedrock-agentcore-team
22
+
23
+ # GitHub configuration
24
+ /.github/ @aws/bedrock-agentcore-team
25
+
26
+ # Security-sensitive files
27
+ SECURITY.md @aws/bedrock-agentcore-team
28
+ /.github/workflows/*security*.yml @aws/bedrock-agentcore-team
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: '[BUG] '
5
+ labels: 'bug'
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Install package with '...'
16
+ 2. Run command '....'
17
+ 3. See error
18
+
19
+ **Expected behavior**
20
+ A clear and concise description of what you expected to happen.
21
+
22
+ **Error Output**
23
+ ```
24
+ Paste any error messages or stack traces here
25
+ ```
26
+
27
+ **Environment:**
28
+ - OS: [e.g. Ubuntu 22.04, macOS 13.0, Windows 11]
29
+ - Python version: [e.g. 3.10.5]
30
+ - Package version: [e.g. 0.1.0]
31
+ - Installation method: [pip, conda, from source]
32
+
33
+ **Additional context**
34
+ Add any other context about the problem here.
@@ -0,0 +1,37 @@
1
+ {
2
+ "main": {
3
+ "required_status_checks": {
4
+ "strict": true,
5
+ "contexts": [
6
+ "Test Suite / Python 3.10",
7
+ "Test Suite / Python 3.11",
8
+ "Test Suite / Python 3.12",
9
+ "Test Suite / Python 3.13",
10
+ "TruffleHog Secret Scan",
11
+ "Bandit Security Scan"
12
+ ]
13
+ },
14
+ "enforce_admins": false,
15
+ "required_pull_request_reviews": {
16
+ "dismissal_restrictions": {
17
+ "users": [],
18
+ "teams": ["bedrock-agentcore-team"]
19
+ },
20
+ "dismiss_stale_reviews": true,
21
+ "require_code_owner_reviews": true,
22
+ "required_approving_review_count": 1,
23
+ "require_last_push_approval": true
24
+ },
25
+ "restrictions": {
26
+ "users": [],
27
+ "teams": ["bedrock-agentcore-team"],
28
+ "apps": []
29
+ },
30
+ "allow_force_pushes": false,
31
+ "allow_deletions": false,
32
+ "block_creations": false,
33
+ "required_conversation_resolution": true,
34
+ "lock_branch": false,
35
+ "allow_fork_syncing": false
36
+ }
37
+ }
@@ -0,0 +1,64 @@
1
+ version: 2
2
+ updates:
3
+ # Python dependencies
4
+ - package-ecosystem: "pip"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "weekly"
8
+ day: "monday"
9
+ time: "09:00"
10
+ timezone: "America/Los_Angeles"
11
+ open-pull-requests-limit: 5
12
+ reviewers:
13
+ - "aws/bedrock-agentcore-team"
14
+ assignees:
15
+ - "aws/bedrock-agentcore-team"
16
+ labels:
17
+ - "dependencies"
18
+ - "python"
19
+ commit-message:
20
+ prefix: "chore"
21
+ prefix-development: "chore"
22
+ include: "scope"
23
+ groups:
24
+ development-dependencies:
25
+ dependency-type: "development"
26
+ patterns:
27
+ - "pytest*"
28
+ - "mypy*"
29
+ - "ruff*"
30
+ - "pre-commit*"
31
+ production-dependencies:
32
+ dependency-type: "production"
33
+ exclude-patterns:
34
+ - "pytest*"
35
+ - "mypy*"
36
+ - "ruff*"
37
+ - "pre-commit*"
38
+ ignore:
39
+ # Don't update internal boto wheels
40
+ - dependency-name: "boto3"
41
+ - dependency-name: "botocore"
42
+ - dependency-name: "bedrock-agentcore"
43
+ # For staging, also ignore the staging SDK
44
+ - dependency-name: "bedrock-agentcore-sdk-staging-py"
45
+
46
+ # GitHub Actions
47
+ - package-ecosystem: "github-actions"
48
+ directory: "/"
49
+ schedule:
50
+ interval: "weekly"
51
+ day: "monday"
52
+ time: "09:00"
53
+ timezone: "America/Los_Angeles"
54
+ open-pull-requests-limit: 3
55
+ reviewers:
56
+ - "aws/bedrock-agentcore-team"
57
+ assignees:
58
+ - "aws/bedrock-agentcore-team"
59
+ labels:
60
+ - "dependencies"
61
+ - "github-actions"
62
+ commit-message:
63
+ prefix: "ci"
64
+ include: "scope"
@@ -0,0 +1,47 @@
1
+ ## Description
2
+
3
+ Brief description of changes
4
+
5
+ ## Type of Change
6
+
7
+ - [ ] Bug fix (non-breaking change which fixes an issue)
8
+ - [ ] New feature (non-breaking change which adds functionality)
9
+ - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
10
+ - [ ] Documentation update
11
+ - [ ] Performance improvement
12
+ - [ ] Code refactoring
13
+
14
+ ## Testing
15
+
16
+ - [ ] Unit tests pass locally
17
+ - [ ] Integration tests pass (if applicable)
18
+ - [ ] Test coverage remains above 80%
19
+ - [ ] Manual testing completed
20
+
21
+ ## Checklist
22
+
23
+ - [ ] My code follows the project's style guidelines (ruff/pre-commit)
24
+ - [ ] I have performed a self-review of my own code
25
+ - [ ] I have commented my code, particularly in hard-to-understand areas
26
+ - [ ] I have made corresponding changes to the documentation
27
+ - [ ] My changes generate no new warnings
28
+ - [ ] I have added tests that prove my fix is effective or that my feature works
29
+ - [ ] New and existing unit tests pass locally with my changes
30
+ - [ ] Any dependent changes have been merged and published
31
+
32
+ ## Security Checklist
33
+
34
+ - [ ] No hardcoded secrets or credentials
35
+ - [ ] No new security warnings from bandit
36
+ - [ ] Dependencies are from trusted sources
37
+ - [ ] No sensitive data logged
38
+
39
+ ## Breaking Changes
40
+
41
+ List any breaking changes and migration instructions:
42
+
43
+ N/A
44
+
45
+ ## Additional Notes
46
+
47
+ Add any additional notes or context about the PR here.
@@ -0,0 +1,117 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, develop ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ lint:
14
+ name: Lint
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: '3.10'
23
+
24
+ - name: Install linting tools
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install ruff mypy
28
+
29
+ - name: Run ruff
30
+ run: |
31
+ ruff check src/ || true # Don't fail on style issues
32
+ ruff format --check src/ || true
33
+
34
+ test:
35
+ name: Test Python ${{ matrix.python-version }}
36
+ runs-on: ubuntu-latest
37
+ strategy:
38
+ fail-fast: false
39
+ matrix:
40
+ python-version: ['3.10', '3.11', '3.12', '3.13']
41
+
42
+ steps:
43
+ - uses: actions/checkout@v4
44
+
45
+ - name: Set up Python ${{ matrix.python-version }}
46
+ uses: actions/setup-python@v5
47
+ with:
48
+ python-version: ${{ matrix.python-version }}
49
+
50
+ - name: Install dependencies for TOML handling
51
+ run: |
52
+ python -m pip install --upgrade pip
53
+ pip install toml
54
+ if python -c "import sys; sys.exit(0 if sys.version_info < (3, 11) else 1)"; then
55
+ pip install tomli
56
+ fi
57
+
58
+ - name: Install package and dependencies
59
+ run: |
60
+ pip install -e .
61
+ pip install pytest pytest-cov pytest-asyncio pytest-mock
62
+
63
+ - name: Run basic import tests
64
+ run: |
65
+ python -c "from bedrock_agentcore_starter_toolkit.cli.cli import main; print('✓ CLI import successful')"
66
+ python -c "from bedrock_agentcore_starter_toolkit import Runtime; print('✓ Runtime import successful')"
67
+
68
+ - name: Run unit tests
69
+ run: |
70
+ # Run unit tests
71
+ pytest tests/ || echo "::warning::Some tests failed due to missing dependencies"
72
+
73
+ build:
74
+ name: Build Package
75
+ runs-on: ubuntu-latest
76
+ needs: [lint] # Don't require tests to pass for now
77
+
78
+ steps:
79
+ - uses: actions/checkout@v4
80
+
81
+ - name: Set up Python
82
+ uses: actions/setup-python@v5
83
+ with:
84
+ python-version: '3.10'
85
+
86
+ - name: Install build dependencies
87
+ run: |
88
+ python -m pip install --upgrade pip
89
+ pip install build twine toml
90
+ if python -c "import sys; sys.exit(0 if sys.version_info < (3, 11) else 1)"; then
91
+ pip install tomli
92
+ fi
93
+
94
+ - name: Build package
95
+ run: python -m build
96
+
97
+ - name: Check package
98
+ run: |
99
+ twine check dist/*
100
+ echo "=== Package contents preview ==="
101
+ python -m zipfile -l dist/*.whl | head -30
102
+ echo
103
+ echo "=== Checking for wheelhouse ==="
104
+ python -m zipfile -l dist/*.whl | grep -i wheelhouse && echo "❌ Found wheelhouse!" && exit 1 || echo "✓ No wheelhouse in package"
105
+
106
+ - name: Upload build artifacts
107
+ uses: actions/upload-artifact@v4
108
+ with:
109
+ name: dist-packages
110
+ path: dist/
111
+
112
+ - name: Test basic installation
113
+ run: |
114
+ python -m venv test-env
115
+ source test-env/bin/activate
116
+ pip install dist/*.whl || echo "::warning::Installation requires additional dependencies"
117
+ python -c "import bedrock_agentcore_starter_toolkit; print('✓ Package imports successfully')" || true
@@ -0,0 +1,62 @@
1
+ name: Deploy Documentation
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - 'documentation/**'
9
+ - '.github/workflows/deploy-docs.yml'
10
+ workflow_dispatch: # Allows manual triggering
11
+
12
+ permissions:
13
+ contents: write
14
+ pages: write
15
+ id-token: write
16
+
17
+ jobs:
18
+ deploy:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ with:
23
+ fetch-depth: 0 # Fetch all history for proper versioning
24
+
25
+ - name: Checkout SDK repository
26
+ uses: actions/checkout@v4
27
+ with:
28
+ repository: aws/bedrock-agentcore-sdk-python
29
+ path: bedrock-agentcore-sdk-python
30
+ fetch-depth: 1
31
+
32
+ - name: Set up Python
33
+ uses: actions/setup-python@v5
34
+ with:
35
+ python-version: '3.10'
36
+
37
+ - name: Install uv
38
+ uses: astral-sh/setup-uv@v3
39
+
40
+ - name: Create virtual environment and install dependencies
41
+ run: |
42
+ uv venv
43
+ source .venv/bin/activate
44
+ uv pip install mkdocs-material mkdocstrings-python pymdown-extensions
45
+ uv pip install mike mkdocs-macros-plugin
46
+
47
+ # Install the SDK package from PyPI
48
+ uv pip install bedrock-agentcore
49
+
50
+ # Install the toolkit package in development mode
51
+ uv pip install -e .
52
+
53
+ - name: Setup Git for mike versioning
54
+ run: |
55
+ git config --global user.name "github-actions"
56
+ git config --global user.email "github-actions@github.com"
57
+
58
+ - name: Deploy documentation
59
+ working-directory: ./documentation
60
+ run: |
61
+ source ../.venv/bin/activate
62
+ mkdocs gh-deploy --force
@@ -0,0 +1,73 @@
1
+ name: Production Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+ workflow_dispatch:
8
+ inputs:
9
+ confirm_release:
10
+ description: 'Type "release" to confirm production release'
11
+ required: true
12
+ type: string
13
+
14
+ permissions:
15
+ contents: write
16
+ id-token: write
17
+
18
+ jobs:
19
+ validate-release:
20
+ name: Validate Release
21
+ runs-on: ubuntu-latest
22
+ if: |
23
+ github.event_name == 'push' ||
24
+ (github.event_name == 'workflow_dispatch' && github.event.inputs.confirm_release == 'release')
25
+
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+
29
+ - name: Validate version tag
30
+ if: github.event_name == 'push'
31
+ run: |
32
+ VERSION=$(grep -oP 'version = "\K[^"]+' pyproject.toml)
33
+ TAG_VERSION="${GITHUB_REF_NAME#v}"
34
+ if [[ "$VERSION" != "$TAG_VERSION" ]]; then
35
+ echo "Error: Package version ($VERSION) does not match tag ($TAG_VERSION)"
36
+ exit 1
37
+ fi
38
+
39
+ build-and-test:
40
+ name: Build and Test
41
+ needs: validate-release
42
+ uses: ./.github/workflows/ci.yml
43
+
44
+ publish-pypi:
45
+ name: Publish to PyPI
46
+ needs: [validate-release, build-and-test]
47
+ runs-on: ubuntu-latest
48
+ environment:
49
+ name: pypi
50
+ url: https://pypi.org/p/bedrock-agentcore-starter-toolkit
51
+
52
+ steps:
53
+ - uses: actions/checkout@v4
54
+
55
+ - name: Download build artifacts
56
+ uses: actions/download-artifact@v4
57
+ with:
58
+ name: dist-packages
59
+ path: dist/
60
+
61
+ - name: Publish to PyPI
62
+ uses: pypa/gh-action-pypi-publish@release/v1
63
+ with:
64
+ password: ${{ secrets.PYPI_API_TOKEN }}
65
+
66
+ - name: Create GitHub Release
67
+ uses: softprops/action-gh-release@v2
68
+ if: github.event_name == 'push'
69
+ with:
70
+ files: dist/*
71
+ generate_release_notes: true
72
+ draft: false
73
+ prerelease: ${{ contains(github.ref_name, 'rc') || contains(github.ref_name, 'beta') }}
@@ -0,0 +1,106 @@
1
+ name: Security Scanning
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, develop ]
6
+ pull_request:
7
+ branches: [ main ]
8
+ schedule:
9
+ - cron: '0 12 * * 1' # Weekly on Monday
10
+
11
+ permissions:
12
+ contents: read
13
+ security-events: write
14
+
15
+ jobs:
16
+ bandit:
17
+ name: Bandit Security Scan
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: Checkout repository
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Set up Python
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: '3.10'
27
+
28
+ - name: Install uv
29
+ uses: astral-sh/setup-uv@v6
30
+
31
+ - name: Create virtual environment
32
+ run: uv venv
33
+
34
+ - name: Install Bandit
35
+ run: |
36
+ source .venv/bin/activate
37
+ uv pip install bandit[toml]
38
+
39
+ - name: Run Bandit
40
+ run: |
41
+ source .venv/bin/activate
42
+ bandit -r src/ -f json -o bandit-results.json || true
43
+
44
+ - name: Upload Bandit results
45
+ uses: actions/upload-artifact@v4
46
+ if: always()
47
+ with:
48
+ name: bandit-results
49
+ path: bandit-results.json
50
+
51
+ safety:
52
+ name: Safety Dependency Check
53
+ runs-on: ubuntu-latest
54
+ steps:
55
+ - name: Checkout repository
56
+ uses: actions/checkout@v4
57
+
58
+ - name: Set up Python
59
+ uses: actions/setup-python@v5
60
+ with:
61
+ python-version: '3.10'
62
+
63
+ - name: Install uv
64
+ uses: astral-sh/setup-uv@v6
65
+
66
+ - name: Create virtual environment
67
+ run: uv venv
68
+
69
+ - name: Install safety
70
+ run: |
71
+ source .venv/bin/activate
72
+ uv pip install safety
73
+
74
+ - name: Generate requirements
75
+ run: |
76
+ source .venv/bin/activate
77
+ uv pip compile pyproject.toml -o requirements.txt || echo "Failed to compile requirements"
78
+
79
+ - name: Run safety check
80
+ run: |
81
+ source .venv/bin/activate
82
+ safety check -r requirements.txt --json > safety-results.json || true
83
+
84
+ - name: Upload safety results
85
+ uses: actions/upload-artifact@v4
86
+ if: always()
87
+ with:
88
+ name: safety-results
89
+ path: safety-results.json
90
+
91
+ trufflehog:
92
+ name: TruffleHog Secret Scan
93
+ runs-on: ubuntu-latest
94
+ steps:
95
+ - name: Checkout code
96
+ uses: actions/checkout@v4
97
+ with:
98
+ fetch-depth: 0
99
+
100
+ - name: TruffleHog OSS
101
+ uses: trufflesecurity/trufflehog@v3.90.0
102
+ with:
103
+ path: ./
104
+ base: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
105
+ head: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
106
+ extra_args: --debug --only-verified
@@ -0,0 +1,108 @@
1
+ name: Security Scanning
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, develop ]
6
+ pull_request:
7
+ branches: [ main ]
8
+ schedule:
9
+ - cron: '0 12 * * 1' # Weekly on Monday
10
+
11
+ permissions:
12
+ contents: read
13
+ security-events: write
14
+
15
+ jobs:
16
+ bandit:
17
+ name: Bandit Security Scan
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: Checkout repository
21
+ uses: actions/checkout@v4
22
+
23
+ - name: Set up Python
24
+ uses: actions/setup-python@v5
25
+ with:
26
+ python-version: '3.10'
27
+
28
+ - name: Install Bandit
29
+ run: |
30
+ python -m pip install --upgrade pip
31
+ pip install bandit[toml]
32
+
33
+ - name: Run Bandit
34
+ run: |
35
+ bandit -r src/ -f json -o bandit-results.json
36
+
37
+ - name: Upload Bandit results
38
+ uses: actions/upload-artifact@v4
39
+ if: always()
40
+ with:
41
+ name: bandit-results
42
+ path: bandit-results.json
43
+
44
+ safety:
45
+ name: Safety Dependency Check
46
+ runs-on: ubuntu-latest
47
+ steps:
48
+ - name: Checkout repository
49
+ uses: actions/checkout@v4
50
+
51
+ - name: Set up Python
52
+ uses: actions/setup-python@v5
53
+ with:
54
+ python-version: '3.10'
55
+
56
+ - name: Install safety
57
+ run: |
58
+ python -m pip install --upgrade pip
59
+ pip install safety
60
+
61
+ - name: Create requirements without private deps
62
+ run: |
63
+ # Extract dependencies excluding private ones
64
+ python - << 'SCRIPT'
65
+ import re
66
+ with open('pyproject.toml', 'r') as f:
67
+ content = f.read()
68
+ # Extract dependencies section
69
+ deps_match = re.search(r'dependencies = \[(.*?)\]', content, re.DOTALL)
70
+ if deps_match:
71
+ deps = deps_match.group(1)
72
+ # Remove private dependencies
73
+ deps = re.sub(r'"boto3[^"]*",?\s*\n?', '', deps)
74
+ deps = re.sub(r'"botocore[^"]*",?\s*\n?', '', deps)
75
+ deps = re.sub(r'"bedrock-agentcore[^"]*",?\s*\n?', '', deps)
76
+ # Extract package names
77
+ packages = re.findall(r'"([^"]+)"', deps)
78
+ with open('requirements-public.txt', 'w') as f:
79
+ f.write('\n'.join(packages))
80
+ SCRIPT
81
+
82
+ - name: Run safety check
83
+ run: |
84
+ safety check -r requirements-public.txt --json > safety-results.json || echo "Safety check completed"
85
+
86
+ - name: Upload safety results
87
+ uses: actions/upload-artifact@v4
88
+ if: always()
89
+ with:
90
+ name: safety-results
91
+ path: safety-results.json
92
+
93
+ trufflehog:
94
+ name: TruffleHog Secret Scan
95
+ runs-on: ubuntu-latest
96
+ steps:
97
+ - name: Checkout code
98
+ uses: actions/checkout@v4
99
+ with:
100
+ fetch-depth: 0
101
+
102
+ - name: TruffleHog OSS
103
+ uses: trufflesecurity/trufflehog@v3.82.3
104
+ with:
105
+ path: ./
106
+ base: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
107
+ head: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
108
+ extra_args: --debug --only-verified