Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
bed8a7c
refactor(project): simplify template shortcuts and reduce create/add …
Hweinstock Sep 3, 2026
d2eb28d
refactor(tui): remove memory step and trim template list in create wi…
Hweinstock Sep 3, 2026
9f7b7f4
refactor(templates): rename minimal, hardcode memory/provider, contai…
Hweinstock Sep 3, 2026
1a17469
test(project): update tests for the simplified template surface
Hweinstock Sep 3, 2026
c545c24
docs: update README for the simplified create and add surface
Hweinstock Sep 3, 2026
a2f31d7
refactor(project): reword create help text and drop dead bedrockAgent…
Hweinstock Sep 4, 2026
61389b6
test(project): cover agui-python-strands scaffolding
Hweinstock Sep 4, 2026
0f0e11c
feat(project): imported Bedrock agents ship longAndShortTerm memory
Hweinstock Sep 4, 2026
5310d7f
refactor(project): generalize model-flag rejection messages and trim …
Hweinstock Sep 4, 2026
233c43b
docs(project): simplify getDefaultMemorySpec comment
Hweinstock Sep 4, 2026
c90c2ad
refactor(templates): drop unreachable agent-python-minimal resolver g…
Hweinstock Sep 4, 2026
a512843
fix(project): validate model flags before resolving the api-key secret
Hweinstock Sep 4, 2026
a2697d3
fix(templates): give the strands container template its own runtime name
Hweinstock Sep 4, 2026
e164d48
feat(templates): restore longAndShortTerm memory for agui-python-strands
Hweinstock Sep 4, 2026
f212520
fix(project): reject unsupported model flags before resolving the api…
Hweinstock Sep 4, 2026
91552b3
docs(templates): drop stale LOCAL_DEV env var from typescript README
Hweinstock Sep 4, 2026
805b89c
refactor(project): inline runtimeTemplateSupportsModelProvider lookup
Hweinstock Sep 4, 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
30 changes: 16 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ agentcore # interactive TUI
│ └── delete # delete an evaluator by id
├── project # manage an AgentCore project (scaffold → deploy)
│ ├── create # create a project: a managed harness by default,
│ │ # or scaffolded runtime code via --template/--framework;
│ │ # or scaffolded runtime code via --template;
│ │ # bare `project create` opens an interactive wizard
│ ├── add # add a resource to the project (runtime, harness, memory, …)
│ ├── export
Expand Down Expand Up @@ -185,31 +185,33 @@ one resource of the requested type, `--name` may be omitted.

```bash
# Create a project. The default is a harness project: a managed agent
# configured by spec, no model-loop code to maintain. Harness flags
# (--model-id, --max-iterations, --timeout, …) tune it.
# configured by spec, no model-loop code to maintain. Passing only --name
# scaffolds the default harness.
agentcore project create --name MyAssistant
cd MyAssistant && agentcore project deploy
# … or run `agentcore project create` bare in a terminal for the guided
# wizard (name → harness or template → confirm), which drives the same
# creation path.
agentcore harness invoke --id <id from the deploy outputs> --prompt "hello"

# Scaffold runtime code instead (pass a template or framework flags).
# Scaffold runtime code instead by selecting a template. Templates that support
# a model provider (agent-python-strands) accept --model-provider/--api-key;
# add the -container suffix for a container build, or use `empty` for a project
# with no runtime.
agentcore project create --name MyAgent --template agent-python-strands
# The same Strands agent built as a container image, with a Dockerfile.
agentcore project create --name MyAgent --template agent-python-strands-container

# Translate an existing Amazon Bedrock Agent version into editable runtime code.
# The selected alias identifies the immutable source version; generated code
# invokes models and translated tools directly rather than proxying the alias.
# Use --framework strands (default) or langgraph and optionally select target
# AgentCore Memory. Also available as `project add runtime --type import`.
# The alias must point at a prepared version, not the mutable DRAFT that the
# built-in test alias (TSTALIASID) routes to. Anything that could not be
# translated automatically is listed in the generated IMPORT_NOTES.md.
agentcore project create --name MyImportedAgent --type import \
# Translate an existing Amazon Bedrock Agent version into editable runtime code
# with `project add runtime --type import` from inside a project. The selected
# alias identifies the immutable source version; generated code invokes models
# and translated tools directly rather than proxying the alias. Use --framework
# strands (default) or langgraph. The alias must point at a prepared version,
# not the mutable DRAFT that the built-in test alias (TSTALIASID) routes to.
# Anything that could not be translated is listed in the generated IMPORT_NOTES.md.
agentcore project add runtime --name MyImportedAgent --type import \
--agent-id A1B2C3D4E5 --agent-alias-id XYZ123ABC4 --region us-east-1 \
--framework strands --memory none
--framework strands
```

```bash
Expand Down
40 changes: 0 additions & 40 deletions src/assets/templates/a2a-python-strands/Dockerfile.template

This file was deleted.

27 changes: 0 additions & 27 deletions src/assets/templates/a2a-python-strands/dockerignore.template

This file was deleted.

4 changes: 0 additions & 4 deletions src/assets/templates/a2a-python-strands/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
from strands.multiagent.a2a.executor import StrandsA2AExecutor
from bedrock_agentcore.runtime import serve_a2a
from model.load import load_model
{{#if hasMemory}}
from memory.session import get_memory_session_manager
{{/if}}
{{#if needsOs}}
import os
{{/if}}
Expand Down Expand Up @@ -90,9 +88,7 @@ def list_files(path: str) -> str:
agent = Agent(
name="{{ name }}",
model=load_model(),
{{#if hasMemory}}
session_manager=get_memory_session_manager("default-session", "default-user"),
{{/if}}
system_prompt=SYSTEM_PROMPT,
tools=tools,
)
Expand Down
14 changes: 1 addition & 13 deletions src/assets/templates/a2a-python-strands/memory/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import uuid
from typing import Optional

from bedrock_agentcore.memory.integrations.strands.config import AgentCoreMemoryConfig{{#if memoryStrategies.length}}, RetrievalConfig{{/if}}
from bedrock_agentcore.memory.integrations.strands.config import AgentCoreMemoryConfig, RetrievalConfig
from bedrock_agentcore.memory.integrations.strands.session_manager import AgentCoreMemorySessionManager

MEMORY_ID = os.getenv("{{memoryEnvVarName}}")
Expand All @@ -17,31 +17,19 @@ def get_memory_session_manager(

session_id = session_id or uuid.uuid4().hex

{{#if memoryStrategies.length}}
retrieval_config = {
{{#if (includes memoryStrategies "SEMANTIC")}}
f"/users/{actor_id}/facts": RetrievalConfig(top_k=3, relevance_score=0.5),
{{/if}}
{{#if (includes memoryStrategies "USER_PREFERENCE")}}
f"/users/{actor_id}/preferences": RetrievalConfig(top_k=3, relevance_score=0.5),
{{/if}}
{{#if (includes memoryStrategies "EPISODIC")}}
f"/episodes/{actor_id}/{session_id}": RetrievalConfig(top_k=5, relevance_score=0.5),
{{/if}}
{{#if (includes memoryStrategies "SUMMARIZATION")}}
f"/summaries/{actor_id}": RetrievalConfig(top_k=3, relevance_score=0.5),
{{/if}}
}
{{/if}}

return AgentCoreMemorySessionManager(
AgentCoreMemoryConfig(
memory_id=MEMORY_ID,
session_id=session_id,
actor_id=actor_id,
{{#if memoryStrategies.length}}
retrieval_config=retrieval_config,
{{/if}}
),
REGION,
)
Loading
Loading