agentcore.json "protocol": "HTTP" is silently dropped — runtime deploys with protocolConfiguration unset, and HTTP cannot be set explicitly
まだ誰も着手していません。
評価
- 難易度
- 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
- Least surprise: a value the user explicitly wrote into
agentcore.jsonis dropped with no warning.agentcore status/ the deployed runtime then show no protocol configuration, which reads as "not configured" rather than "configured as HTTP". - 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
protocolConfigurationon 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 withprotocolConfigurationunset once the agent's/pingstops re-stampingtime_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 acceptsHTTPas an explicitserverProtocol, declaring it should set it; or - If HTTP is deliberately omitted because unset means HTTP service-side, document that in the
agentcore.jsonschema description forprotocol(and ideally have the CLI note it at deploy/diff time) so a declared HTTP isn't mistaken for a deploy bug.
Environment
@aws/agentcoreCLI 0.27.0 (which pins the construct; also reproduced reading alpha.48 from npm)@aws/agentcore-cdk0.1.0-alpha.45 and 0.1.0-alpha.48- Runtime deploys verified in eu-west-2
🤖 Generated with Claude Code
- 主要言語
- TypeScript
- スター
- 291
- フォーク
- 96
- 平均マージ
- 21時間 31分
- マージ済み PR(30日)
- 217
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aws/agentcore-cli のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
aws/agentcore-cli#2395 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
aws/agentcore-cli#2392 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
aws/agentcore-cli#2267 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
aws/agentcore-cli#2258 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
aws/agentcore-cli#2176 ·
aws/agentcore-cli の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
bcgov/bc-wallet-mobile#4761 · コメント 1 件 ·
-
external-issue to-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100