Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8570ab2
feat(core): add cached EC2 client support
aidandaly24 Aug 31, 2026
a65aeca
fix(export): preserve harness configuration fidelity
aidandaly24 Aug 31, 2026
d97987a
fix(export): validate service ARNs and restore VPC IDs
aidandaly24 Aug 31, 2026
bd2a5c0
fix(templates): align generated provider dependencies
aidandaly24 Aug 31, 2026
bee4e65
fix(templates): enforce harness limits per invocation
aidandaly24 Aug 31, 2026
b3fbb3d
refactor(export): remove EC2 VPC lookup
aidandaly24 Sep 1, 2026
b178ac6
fix(schemas): restore the lite_llm-only additionalParams guard
aidandaly24 Sep 1, 2026
48cae1e
fix(export): require --vpc-id for container exports in VPC mode
aidandaly24 Sep 1, 2026
f82282b
refactor: drop formatting residue from the reverted EC2 client
aidandaly24 Sep 1, 2026
60f499a
fix(export): align --vpc-id with repo conventions
aidandaly24 Sep 1, 2026
e504774
test(export): trim a redundant assertion and close two coverage gaps
aidandaly24 Sep 1, 2026
722f02b
fix(export): note unsupported system prompt blocks
aidandaly24 Sep 1, 2026
49b4f8b
refactor(export): keep additional params LiteLLM-only
aidandaly24 Sep 1, 2026
5dc3e5c
refactor(templates): remove unreachable provider params
aidandaly24 Sep 1, 2026
879b1c2
fix(schemas): require vpcId for container builds in VPC mode
aidandaly24 Sep 2, 2026
24b756e
Merge branch 'refactor' into fix/export-harness-generated-runtime
aidandaly24 Sep 2, 2026
5cf6248
refactor(export): always export a CodeZip runtime
aidandaly24 Sep 2, 2026
73e7939
fix(templates): keep the Bedrock model block well formed
aidandaly24 Sep 2, 2026
c277543
refactor(export): give harness export its own template
aidandaly24 Sep 2, 2026
00c4696
refactor(export): drop template branches export cannot reach
aidandaly24 Sep 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,11 @@ new runtime in `agentcore.json` (the harness entry stays), and writes an
mapped mechanically. Pass `--name <harness>` for an in-project harness or
`--arn <harnessArn>` to fetch a deployed one (the fetch uses the region
embedded in the ARN); `--target-agent-name` overrides the default
`<harnessName>Agent`, and `--build CodeZip|Container` overrides the build type.
`<harnessName>Agent`. The exported agent is always a `CodeZip` runtime: it
declares its own dependencies, so it needs no image build. If the harness used a
pre-built container image or a custom Dockerfile, that is reported in
`EXPORT_NOTES.md` rather than rebuilt. Path-based skills are not supported,
since the exported agent has no container filesystem to read them from.

Global flags (declared at the root, available on every command):

Expand Down
46 changes: 46 additions & 0 deletions src/assets/templates/export-harness-python/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
This is a project generated by the AgentCore CLI!

# Layout

The generated application code lives at the agent root directory. At the root, there is a `.gitignore` file, an
`agentcore/` folder which represents the configurations and state associated with this project. Other `agentcore`
commands like `deploy`, `dev`, and `invoke` rely on the configuration stored here.

## Agent Root

The main entrypoint to your app is defined in `main.py`. Using the AgentCore SDK `@app.entrypoint` decorator, this
file defines a Starlette ASGI app with the chosen Agent framework SDK running within.

`model/load.py` instantiates your chosen model provider.

## Input Validation

Validate invocation input before forwarding it to Strands. Keep plain prompts typed as strings. If the app accepts a
caller-supplied message history, retain `strip_trailing_tool_use()`, which normalizes the history tail before
invoking the agent.

## Environment Variables

| Variable | Required | Description |
| --- | --- | --- |
{{#if hasIdentity}}| `{{identityProviders.[0].envVarName}}` | Yes | {{modelProvider}} API key (local) or Identity provider name (deployed) |
{{/if}}| `LOCAL_DEV` | No | Set to `1` to use `.env.local` instead of AgentCore Identity |

# Developing locally

If installation was successful, a virtual environment is already created with dependencies installed.

Activate the environment with `source .venv/bin/activate` on macOS/Linux, `.venv\Scripts\activate.bat` in Windows
Command Prompt, or `.\.venv\Scripts\activate.ps1` in Windows PowerShell.

`agentcore project dev` will start a local server on 0.0.0.0:8080.

# Deployment

After providing credentials, `agentcore project deploy` will deploy your project into Amazon Bedrock AgentCore.

Invoke the deployed Runtime with its native payload:

```bash
agentcore project invoke runtime --payload '{"prompt":"Hello!"}'
```
41 changes: 41 additions & 0 deletions src/assets/templates/export-harness-python/gitignore.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Environment variables
.env

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
.venv/
venv/
ENV/
env/

# IDE
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db
Loading
Loading