Agentcore Bootstrap
One-shot bootstrap for @webframp/agentcore. Ships a provisioner model that creates an ECR repository, builds and pushes the worker container image, and deploys an AgentCore runtime. The bundled workflow orchestrates provisioning then outputs the runtimeArn and bucket name needed to configure the driver.
Prerequisites
- AWS credentials with permissions to create ECR repositories, IAM roles, and Bedrock AgentCore runtimes
- Docker (or podman/buildah) available locally for building the worker image
- @webframp/container-image extension installed
Running
swamp extension pull @webframp/agentcore-bootstrap
swamp model create @webframp/container-image worker-image
swamp model create @webframp/agentcore-bootstrap/provisioner agentcore-provisioner
swamp workflow run @webframp/bootstrap-agentcore \
--input region=us-east-1 \
--input bucket_name=swamp-agentcore-coord-us-east-12026.08.28.3
Changed: Normalized the extension license to Apache-2.0 and corrected the copyright holder to "Sean Escriva". Extensions that previously shipped an MIT LICENSE.md are now Apache-2.0, consistent with the repository root and every other extension. No code or behavioral changes.
Upgrade note: License text only. No API, schema, or runtime behavior changed.
2026.08.28.2
Fixed: Re-pinned @webframp/agentcore to 2026.08.28.1 — the version
published in the prior sweep. The 2026.08.28.1 release of this composite still
pinned the pre-sweep 2026.08.26.3, so its dependency graph did not deliver the
AWS SDK 3.1120.0 bump. @webframp/container-image was not part of the sweep and
remains at 2026.08.26.2. No schema or behavioral changes.
2026.08.28.1
Changed: Bump @webframp/container-image 2026.08.01.1 → 2026.08.26.2
Changed: Bump @webframp/agentcore 2026.08.20.1 → 2026.08.26.3
2026.08.27.1
Changed: Test suite now uses the shared createModelTestContext factory
from @systeminit/swamp-testing for the method context, replacing a hand-rolled
context. The factory context is augmented with an extensionFile stub the
factory does not model, and the local spawn()-aware withMockedCommand is
retained. No behavioral, schema, or method changes — the published provisioner
is unchanged. The deno.json gains a dev-only @systeminit/swamp-testing
import-map entry and its check task now type-checks the test file.
2026.08.26.3
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
Resources
Provision all AWS infrastructure for the @webframp/agentcore execution driver: S3 coordination bucket, ECR repository, worker container image, IAM role, and AgentCore runtime. After completion, configure the driver with the output runtimeArn and bucket name — read resource "provision", instance "main" from model "agentcore-provisioner" (fields: runtimeArn, bucketName). See the README for the exact CEL snippet to paste into your driverConfig.
2026.08.28.2
Fixed: Re-pinned @webframp/agentcore to 2026.08.28.1 — the version
published in the prior sweep. The 2026.08.28.1 release of this composite still
pinned the pre-sweep 2026.08.26.3, so its dependency graph did not deliver the
AWS SDK 3.1120.0 bump. @webframp/container-image was not part of the sweep and
remains at 2026.08.26.2. No schema or behavioral changes.
2026.08.28.1
Changed: Bump @webframp/container-image 2026.08.01.1 → 2026.08.26.2
Changed: Bump @webframp/agentcore 2026.08.20.1 → 2026.08.26.3
2026.08.27.1
Changed: Test suite now uses the shared createModelTestContext factory
from @systeminit/swamp-testing for the method context, replacing a hand-rolled
context. The factory context is augmented with an extensionFile stub the
factory does not model, and the local spawn()-aware withMockedCommand is
retained. No behavioral, schema, or method changes — the published provisioner
is unchanged. The deno.json gains a dev-only @systeminit/swamp-testing
import-map entry and its check task now type-checks the test file.
2026.08.26.3
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
updated dependencies. updated binaries
2026.08.28.1
Changed: Bump @webframp/container-image 2026.08.01.1 → 2026.08.26.2
Changed: Bump @webframp/agentcore 2026.08.20.1 → 2026.08.26.3
2026.08.27.1
Changed: Test suite now uses the shared createModelTestContext factory
from @systeminit/swamp-testing for the method context, replacing a hand-rolled
context. The factory context is augmented with an extensionFile stub the
factory does not model, and the local spawn()-aware withMockedCommand is
retained. No behavioral, schema, or method changes — the published provisioner
is unchanged. The deno.json gains a dev-only @systeminit/swamp-testing
import-map entry and its check task now type-checks the test file.
2026.08.26.3
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
updated dependencies. updated binaries
2026.08.27.1
Changed: Test suite now uses the shared createModelTestContext factory
from @systeminit/swamp-testing for the method context, replacing a hand-rolled
context. The factory context is augmented with an extensionFile stub the
factory does not model, and the local spawn()-aware withMockedCommand is
retained. No behavioral, schema, or method changes — the published provisioner
is unchanged. The deno.json gains a dev-only @systeminit/swamp-testing
import-map entry and its check task now type-checks the test file.
2026.08.26.3
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
updated binaries
2026.08.26.3
Fixed: Restored inline npm:zod@4.4.3 import specifiers so the registry
quality scorer can resolve dependencies and score the extension. An earlier
release used a bare "zod" import-map specifier, which published but scored as
unscored.
Changed: Retained explicit compilerOptions.strict in deno.json. No
behavioral or schema changes.
updated binaries
2026.08.26.1
Fixed: Added missing description field to upgrade entry for version
2026.08.24.2. The omission caused swamp extension pull to fail with a catalog
validation error ("upgrades.N.description: Invalid input: expected string,
received undefined").
updated binaries
2026.08.24.3
Added: Output metadata attributes for observability.
durationMs: Method execution duration in milliseconds.collectedBy: Extension name that produced the data.fetchedAt: ISO 8601 timestamp when data was fetched (added to resources that previously lacked it).
updated binaries
2026.08.24.2
Fixed source/manifest version mismatch. Added Troubleshooting section documenting workflow input vs globalArgs gap, no profile support, idempotent provisioning, runtime-not-updated behavior, S3 lifecycle policy, and Docker requirement.
updated binaries
2026.08.21.2
Changed: AWS CLI, Docker build, ECR login, and image push failures now name
the exact command and target that failed (repository name, image tag, registry,
or region) instead of surfacing only the raw stderr text. Previously a failed
aws call or docker step raised a bare "AWS CLI failed" / "Image push failed"
message with no indication of which resource or image was involved, which made
triage in CI logs slower. The underlying error text is preserved in full.
updated binaries
2026.08.21.1
Changed: Added descriptions to the previously undocumented provision
resource fields (region, bucketName, bucketCreated, ecrRepositoryUri,
ecrRepositoryArn, roleArn, runtimeArn, imageTag, provisionedAt,
durationMs) in the provisioner's result schema. No behavioral change.
2026.08.20.1
Changed: Bump @webframp/agentcore 2026.08.05.1 → 2026.08.20.1
2026.08.15.1
Changed: Bump @webframp/agentcore 2026.08.02.1 → 2026.08.05.1
2026.08.05.1
Changed: Bump @webframp/agentcore 2026.07.31.1 → 2026.08.02.1
2026.08.02.2
Fixed: The workflow's description field embedded a live
data.latest("agentcore-provisioner", "provision") CEL expression as
"documentation." Swamp evaluates every ${{ ... }} expression found anywhere in
a workflow definition — including inside description text — eagerly and
strictly, before any job runs. Since the referenced resource does not exist
until the provision job completes, this expression threw
Invalid expression: No such key: attributes on every fresh bootstrap, aborting
the workflow before job 1 ever started. The description field no longer
contains a live expression; it points to the README for the exact CEL snippet to
use in a driver config instead.
Fixed: The README's "After Bootstrap" example used the same wrong instance
name ("provision" instead of "main", the actual writeResource() instance
name) that issue #330 identified in the sibling datastore-bootstrap extensions.
A user who copied that snippet into their own driverConfig would hit the same
"No such key: attributes" error.
Upgrade note: No schema or model change. Re-pull to get a workflow that actually completes a fresh run, and a correct README example.
updated binaries
2026.08.20.1
Changed: Bump @webframp/agentcore 2026.08.05.1 → 2026.08.20.1
2026.08.15.1
Changed: Bump @webframp/agentcore 2026.08.02.1 → 2026.08.05.1
2026.08.05.1
Changed: Bump @webframp/agentcore 2026.07.31.1 → 2026.08.02.1
2026.08.02.2
Fixed: The workflow's description field embedded a live
data.latest("agentcore-provisioner", "provision") CEL expression as
"documentation." Swamp evaluates every ${{ ... }} expression found anywhere in
a workflow definition — including inside description text — eagerly and
strictly, before any job runs. Since the referenced resource does not exist
until the provision job completes, this expression threw
Invalid expression: No such key: attributes on every fresh bootstrap, aborting
the workflow before job 1 ever started. The description field no longer
contains a live expression; it points to the README for the exact CEL snippet to
use in a driver config instead.
Fixed: The README's "After Bootstrap" example used the same wrong instance
name ("provision" instead of "main", the actual writeResource() instance
name) that issue #330 identified in the sibling datastore-bootstrap extensions.
A user who copied that snippet into their own driverConfig would hit the same
"No such key: attributes" error.
Upgrade note: No schema or model change. Re-pull to get a workflow that actually completes a fresh run, and a correct README example.
updated dependencies. updated binaries
2026.08.15.1
Changed: Bump @webframp/agentcore 2026.08.02.1 → 2026.08.05.1
2026.08.05.1
Changed: Bump @webframp/agentcore 2026.07.31.1 → 2026.08.02.1
2026.08.02.2
Fixed: The workflow's description field embedded a live
data.latest("agentcore-provisioner", "provision") CEL expression as
"documentation." Swamp evaluates every ${{ ... }} expression found anywhere in
a workflow definition — including inside description text — eagerly and
strictly, before any job runs. Since the referenced resource does not exist
until the provision job completes, this expression threw
Invalid expression: No such key: attributes on every fresh bootstrap, aborting
the workflow before job 1 ever started. The description field no longer
contains a live expression; it points to the README for the exact CEL snippet to
use in a driver config instead.
Fixed: The README's "After Bootstrap" example used the same wrong instance
name ("provision" instead of "main", the actual writeResource() instance
name) that issue #330 identified in the sibling datastore-bootstrap extensions.
A user who copied that snippet into their own driverConfig would hit the same
"No such key: attributes" error.
Upgrade note: No schema or model change. Re-pull to get a workflow that actually completes a fresh run, and a correct README example.
updated dependencies. updated binaries
2026.08.05.1
Changed: Bump @webframp/agentcore 2026.07.31.1 → 2026.08.02.1
2026.08.02.2
Fixed: The workflow's description field embedded a live
data.latest("agentcore-provisioner", "provision") CEL expression as
"documentation." Swamp evaluates every ${{ ... }} expression found anywhere in
a workflow definition — including inside description text — eagerly and
strictly, before any job runs. Since the referenced resource does not exist
until the provision job completes, this expression threw
Invalid expression: No such key: attributes on every fresh bootstrap, aborting
the workflow before job 1 ever started. The description field no longer
contains a live expression; it points to the README for the exact CEL snippet to
use in a driver config instead.
Fixed: The README's "After Bootstrap" example used the same wrong instance
name ("provision" instead of "main", the actual writeResource() instance
name) that issue #330 identified in the sibling datastore-bootstrap extensions.
A user who copied that snippet into their own driverConfig would hit the same
"No such key: attributes" error.
Upgrade note: No schema or model change. Re-pull to get a workflow that actually completes a fresh run, and a correct README example.
updated dependencies. updated binaries
2026.08.02.2
Fixed: The workflow's description field embedded a live
data.latest("agentcore-provisioner", "provision") CEL expression as
"documentation." Swamp evaluates every ${{ ... }} expression found anywhere in
a workflow definition — including inside description text — eagerly and
strictly, before any job runs. Since the referenced resource does not exist
until the provision job completes, this expression threw
Invalid expression: No such key: attributes on every fresh bootstrap, aborting
the workflow before job 1 ever started. The description field no longer
contains a live expression; it points to the README for the exact CEL snippet to
use in a driver config instead.
Fixed: The README's "After Bootstrap" example used the same wrong instance
name ("provision" instead of "main", the actual writeResource() instance
name) that issue #330 identified in the sibling datastore-bootstrap extensions.
A user who copied that snippet into their own driverConfig would hit the same
"No such key: attributes" error.
Upgrade note: No schema or model change. Re-pull to get a workflow that actually completes a fresh run, and a correct README example.
updated binaries
2026.08.02.1
Changed: Bump @webframp/container-image 2026.07.18.1 → 2026.08.01.1
Changed: Bump @webframp/agentcore 2026.07.27.2 → 2026.07.31.1
2026.08.01.1
Fixed: Broken model-upgrade chain. The prior version bump (to
2026.07.31.1) updated version but left the upgrades array terminating one
step short, which blocks swamp extension push ("model upgrade chain errors").
That version never actually published — the registry was still serving
2026.07.24.1. This release closes the chain with a no-op upgrade entry and
republishes everything that had accumulated since 2026.07.24.1.
2026.07.31.1
Changed: Bump @webframp/agentcore 2026.07.27.1 → 2026.07.27.2
2026.07.27.2
Changed: Bump @webframp/agentcore 2026.07.21.1 → 2026.07.27.1
2026.07.27.1
Changed: Reformatted files that had drifted from deno fmt. No code
behavior changes.
Fixed: deno fmt no longer inspects CLAUDE.md / AGENTS.md. Those files
are gitignored and never present in CI, but deno fmt does not read .gitignore,
so deno task fmt:check could fail locally on a file CI does not have.
Upgrade note: Tooling and formatting only. No model, method, schema, or behavior change — nothing to do on upgrade.
updated dependencies. updated binaries
2026.08.01.1
Fixed: Broken model-upgrade chain. The prior version bump (to
2026.07.31.1) updated version but left the upgrades array terminating one
step short, which blocks swamp extension push ("model upgrade chain errors").
That version never actually published — the registry was still serving
2026.07.24.1. This release closes the chain with a no-op upgrade entry and
republishes everything that had accumulated since 2026.07.24.1.
2026.07.31.1
Changed: Bump @webframp/agentcore 2026.07.27.1 → 2026.07.27.2
2026.07.27.2
Changed: Bump @webframp/agentcore 2026.07.21.1 → 2026.07.27.1
2026.07.27.1
Changed: Reformatted files that had drifted from deno fmt. No code
behavior changes.
Fixed: deno fmt no longer inspects CLAUDE.md / AGENTS.md. Those files
are gitignored and never present in CI, but deno fmt does not read .gitignore,
so deno task fmt:check could fail locally on a file CI does not have.
Upgrade note: Tooling and formatting only. No model, method, schema, or behavior change — nothing to do on upgrade.
updated dependencies. updated binaries
2026.07.24.1
Changed: Bump dependency pins to latest published versions:
- @webframp/container-image 2026.07.13.1 → 2026.07.18.1
- @webframp/agentcore 2026.07.13.1 → 2026.07.21.1
updated dependencies. updated binaries
2026.07.21.1
Changed: Bumped AWS SDK (client-s3) in worker image to 3.1091.0 (from 3.1066.0).
Upgrade note: No behavioral changes. Routine dependency maintenance.
updated binaries
2026.07.20.1
Changed: Pinned the previously unpinned dependencies to exact versions for reproducible builds. No behavioral or schema changes to the provisioner model or bootstrap workflow.
Upgrade note: Now pins @webframp/container-image@2026.07.13.1 and
@webframp/agentcore@2026.07.13.1. Both are pulled automatically with this
extension.
updated dependencies. updated binaries
2026.07.18.1
Added: An upgrades array entry (no-op) to provisioner.ts for proper
typeVersion tracking on existing instances. No schema or behavior changes.
2026.07.16.2
Fixed: 2026.07.16.1 published successfully but the registry's
latestVersion never advanced to it (filed as swamp Lab #1195) —
swamp extension pull was still resolving 2026.06.23.1. This bump re-triggers
the publish. No content change beyond the previous release.
updated binaries
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned