Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

agentcore.json "protocol": "HTTP" is silently dropped — runtime deploys with protocolConfiguration unset, and HTTP cannot be set explicitly

オープン
#2,059 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
aws, typescript
領域
cloud

調査の方向性

dist/cdk/constructs/components/primitives/runtime/AgentCoreRuntime.js の246〜261行付近から開始し、agentcore.json の protocol の値がどのように CfnRuntime に到達するかを追跡してください。明示的に宣言された HTTP プロトコルのデプロイ後の表現を確認し、その後 protocol のスキーマの説明を確認してください。HTTP が明示的に転送されるか、意図的な省略が明確に文書化されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Summary

Declaring "protocol": "HTTP" on a runtime in agentcore.json is accepted by the schema but silently never applied: the CDK construct only forwards protocolConfiguration to the L1 CfnRuntime when the declared protocol is not HTTP. The deployed runtime ends up with protocolConfiguration unset, and there is no way to explicitly assert HTTP on the deployed resource.

Where

@aws/agentcore-cdk 0.1.0-alpha.48 (also verified on alpha.45), dist/cdk/constructs/components/primitives/runtime/AgentCoreRuntime.js:

const protocolMode = agent.protocol ?? 'HTTP';            // line 246
...
// CfnRuntime.protocolConfiguration is typed as `string | undefined` in the L1,
// so passing 'MCP', 'A2A', or 'AGUI' directly is correct per the CloudFormation spec.
...(protocolMode !== 'HTTP' && { protocolConfiguration: protocolMode }),   // line 261

So 'MCP', 'A2A', and 'AGUI' pass through, but a user-declared 'HTTP' is indistinguishable from not declaring anything.

Why it matters
  1. Least surprise: a value the user explicitly wrote into agentcore.json is dropped with no warning. agentcore status / the deployed runtime then show no protocol configuration, which reads as "not configured" rather than "configured as HTTP".
  2. It blocks controlled experiments. We were investigating an idle-session-reaping/billing problem where one hypothesis (from a colleague's test) was that the presence or absence of protocolConfiguration on the runtime affected idle-session reaping. There was no declarative way to deploy the "explicitly HTTP" arm — the construct makes that state unreachable. (For the record, our controlled experiment showed reaping works fine with protocolConfiguration unset once the agent's /ping stops re-stamping time_of_last_update; the hypothesis was a confound. But we had to establish the deployed state by inspecting the construct source rather than by declaring it.)
Expected behaviour (either is fine)
  • Pass the declared protocol through unconditionally — if CreateAgentRuntime/CloudFormation accepts HTTP as an explicit serverProtocol, declaring it should set it; or
  • If HTTP is deliberately omitted because unset means HTTP service-side, document that in the agentcore.json schema description for protocol (and ideally have the CLI note it at deploy/diff time) so a declared HTTP isn't mistaken for a deploy bug.
Environment
  • @aws/agentcore CLI 0.27.0 (which pins the construct; also reproduced reading alpha.48 from npm)
  • @aws/agentcore-cdk 0.1.0-alpha.45 and 0.1.0-alpha.48
  • Runtime deploys verified in eu-west-2

🤖 Generated with Claude Code

https://claude.ai/code/session_01CiwESpXfsVS2dBrSnMosei

主要言語
TypeScript
スター
291
フォーク
96
平均マージ
21時間 31分
マージ済み PR(30日)
217

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aws/agentcore-cli のほかの issue

aws/agentcore-cli の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。