Skip to content

feat(templates): support vercel typescript. - #2227

Merged
Hweinstock merged 6 commits into
aws:refactorfrom
Hweinstock:feat/typescript-vercel-template
Sep 4, 2026
Merged

feat(templates): support vercel typescript. #2227
Hweinstock merged 6 commits into
aws:refactorfrom
Hweinstock:feat/typescript-vercel-template

Conversation

@Hweinstock

Copy link
Copy Markdown
Contributor

Problem

The refactor branch does not yet support any TS templates beyond strands. We want to also support a simple vercel template.

Solution

  • Customers can use the template agent-typescript-vercel and have it render a Vercel AI SDK base into their project on both project creation and add runtime.
  • The template supports no memory, container, or model provider parameters. It is be a dead-simple vercel template with no memory for customers to get started.

Verification:

Create Flow CLI

$ agentcore project create --name Vercel --template agent-typescript-vercel
  ✓ Creating project tree
  ✓ Installing CDK dependencies with npm
  ✓ Installing Node dependencies with npm
  ✓ Initializing git repository
  Created project 'Vercel' in ./Vercel
  Next steps:
    cd Vercel
    agentcore project deploy

  $ cd Vercel

  $ agentcore project dev --mode headless --no-traces &
  [1] <PID>
  [agent_typescript_vercel] Starting development server
  [agent_typescript_vercel] (node) [FSTDEP023] FastifyDeprecation: disableRequestLogging option is deprecated. Use the logController option with disableRequestLogging or isLogDisabled override instead. The
  disableRequestLogging top-level option will be removed in `fastify@6`.
  [agent_typescript_vercel] {"level":30,"msg":"Server listening at http://127.0.0.1:8081"}
  [agent_typescript_vercel] {"level":30,"msg":"Server listening on port 8081"}
  [agent_typescript_vercel] Agent 'agent_typescript_vercel' is running on port 8081

  $ agentcore project invoke runtime --local --port 8081 --payload '{"prompt": "Hello world"}'
  [agent_typescript_vercel] {"level":30,"reqId":"req-1","req":{"method":"POST","url":"/invocations"},"msg":"incoming request"}
  data: "Hello! How"

  data: " can I help you today?"

  [agent_typescript_vercel] {"level":30,"reqId":"req-1","res":{"statusCode":200},"responseTime":1594.18,"msg":"request completed"}
  status=200 content-type=text/event-stream runtime-session-id=<SESSION_ID> complete=true bytes=52

  $ agentcore project deploy
  ✓ Created default deployment target: account <ACCOUNT_ID>, region us-east-1 (agentcore/aws-targets.json)
  ✓ Verifying AWS account <ACCOUNT_ID>
  ✓ Synthesizing CloudFormation templates
  ✓ Deploying AgentCore-Vercel-default
  Deployed project 'Vercel' to target 'default'

  $ agentcore project invoke runtime --name agent_typescript_vercel --payload '{"prompt": "Hello world"}'
  data: "Hello! "

  data: "👋 How"

  data: " can I help you today?"

  status=200 content-type=text/event-stream runtime-session-id=<SESSION_ID> complete=true bytes=67

Create Flow TUI

image

@github-actions github-actions Bot added the size/m PR size: M label Sep 4, 2026
@agentcore-devx-automation agentcore-devx-automation Bot added agentcore-harness-reviewing AgentCore Harness review in progress claude-security-reviewing Claude Code /security-review in progress labels Sep 4, 2026
@agentcore-devx-automation

Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Sep 4, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.05%. Comparing base (92b6a43) to head (52bb27b).
⚠️ Report is 4 commits behind head on refactor.

Additional details and impacted files
@@            Coverage Diff            @@
##           refactor    #2227   +/-   ##
=========================================
  Coverage     97.05%   97.05%           
=========================================
  Files           555      555           
  Lines         38385    38416   +31     
=========================================
+ Hits          37253    37284   +31     
  Misses         1132     1132           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@agentcore-devx-automation agentcore-devx-automation Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AgentCore Harness Review

Verdict: Looks good

Nice, tightly-scoped addition. The new agent-typescript-vercel template is wired through consistently: schema (framework enum), shortcut entry (with supportsModelProviderOverride: false and includesMemory: false), resolver in runtime.ts, TUI template list, and reserved-name list (vercelai was already there). Tests cover the happy path, the "no memory" behavior, and the "reject --model-provider" validation, and use real fs rather than mocks. I verified the package pins on npm — ai@~6.0.0 and @ai-sdk/amazon-bedrock@~4.0.0 share @ai-sdk/provider@3.0.15, so they're compatible; streamText and createAmazonBedrock({ credentialProvider }) match their current type signatures. fromNodeProviderChain()'s return shape is structurally compatible with the Omit<BedrockCredentials, 'region'> the provider expects.

A couple of minor observations, not blockers:

  • main.ts hard-codes process.env.AWS_REGION ?? 'us-east-1'. In the AgentCore runtime and in project dev (environment.ts sets AWS_REGION), this fallback will never fire, and the model ID uses a global.* cross-region inference profile, so this is safe — just noting that a user running tsx watch outside project dev without AWS_REGION set would silently pin to us-east-1.
  • Unlike agent-typescript-strands, package.json.template has no overrides block for bedrock-agentcore peer deps. That looks intentional since the Vercel template doesn't depend on @strands-agents/sdk, but worth double-checking that bedrock-agentcore@~0.3.0 doesn't have a peer dep that npm will complain about with these deps.

Nothing here needs to change before merging.

@agentcore-devx-automation agentcore-devx-automation Bot removed the agentcore-harness-reviewing AgentCore Harness review in progress label Sep 4, 2026
@Hweinstock
Hweinstock marked this pull request as ready for review September 4, 2026 18:34
@Hweinstock
Hweinstock merged commit 0d3fdc8 into aws:refactor Sep 4, 2026
18 of 22 checks passed
@Hweinstock
Hweinstock deleted the feat/typescript-vercel-template branch September 4, 2026 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m PR size: M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants