Description
agentcore add agent --type byo --language TypeScript registers the agent with "runtimeVersion": "PYTHON_3_14" in agentcore.json, ignoring --language. Packaging then selects the Python CodeZip packager and fails looking for pyproject.toml, so the BYO + TypeScript combination advertised by the --language help text (Python (create), or Python/TypeScript/Other (BYO)) cannot succeed with CLI flags alone.
Steps to Reproduce
- Create a project and add a BYO TypeScript agent:
agentcore create --name ByoRepro --no-agent
cd ByoRepro
agentcore add agent --name ByoRepro --type byo --code-location app/ByoRepro --entrypoint main.ts --language TypeScript --build CodeZip --framework Strands --model-provider Bedrock --memory none
- Put a TypeScript agent in
app/ByoRepro/ (main.ts + package.json, npm install run).
- Run
agentcore package (or agentcore deploy) and observe the Python packager error. Inspect agentcore/agentcore.json to see the registered runtimeVersion.
Expected Behavior
With --language TypeScript, the BYO path writes "runtimeVersion": "NODE_22" and defaults the entrypoint to main.js, the way the create path does via DEFAULT_RUNTIME_BY_LANGUAGE / DEFAULT_ENTRYPOINT_BY_LANGUAGE. (main.js because the Node CodeZip packager bundles the main.ts source into main.js, and the service rejects a .ts entrypoint for Node runtimes: Entrypoint file type does not match your selected runtime. For NODE_22 runtime, your file should end with .js extension.)
Actual Behavior
agentcore/agentcore.json gets a Python runtime despite --language TypeScript:
{
"name": "ByoRepro",
"build": "CodeZip",
"entrypoint": "main.ts",
"codeLocation": "app/ByoRepro/",
"runtimeVersion": "PYTHON_3_14",
"networkMode": "PUBLIC",
"protocol": "HTTP"
}
- Packaging fails:
Required project file not found: .../app/ByoRepro/pyproject.toml.
CLI Version
0.27.1
Operating System
Linux
Additional Context
Root cause: handleByoPath in src/cli/primitives/AgentPrimitive.tsx hardcodes runtimeVersion: DEFAULT_PYTHON_VERSION and never consults options.language, while the create path maps language through DEFAULT_RUNTIME_BY_LANGUAGE / DEFAULT_ENTRYPOINT_BY_LANGUAGE (src/cli/operations/agent/generate/schema-mapper.ts).
Verified workaround: hand-editing agentcore.json after add agent ("runtimeVersion": "NODE_22", "entrypoint": "main.js") makes the same project deploy and invoke successfully, so the defect is confined to what the BYO path writes.
--language Other is BYO-only and has no entry in DEFAULT_RUNTIME_BY_LANGUAGE; this report is only about TypeScript silently mapping to Python.
I'm happy to send a PR applying the two language maps in handleByoPath (Python/TypeScript only, current behavior preserved for Other).
Description
agentcore add agent --type byo --language TypeScriptregisters the agent with"runtimeVersion": "PYTHON_3_14"in agentcore.json, ignoring--language. Packaging then selects the Python CodeZip packager and fails looking for pyproject.toml, so the BYO + TypeScript combination advertised by the--languagehelp text (Python (create), or Python/TypeScript/Other (BYO)) cannot succeed with CLI flags alone.Steps to Reproduce
agentcore create --name ByoRepro --no-agent cd ByoRepro agentcore add agent --name ByoRepro --type byo --code-location app/ByoRepro --entrypoint main.ts --language TypeScript --build CodeZip --framework Strands --model-provider Bedrock --memory noneapp/ByoRepro/(main.ts+package.json,npm installrun).agentcore package(oragentcore deploy) and observe the Python packager error. Inspectagentcore/agentcore.jsonto see the registeredruntimeVersion.Expected Behavior
With
--language TypeScript, the BYO path writes"runtimeVersion": "NODE_22"and defaults the entrypoint tomain.js, the way the create path does viaDEFAULT_RUNTIME_BY_LANGUAGE/DEFAULT_ENTRYPOINT_BY_LANGUAGE. (main.jsbecause the Node CodeZip packager bundles themain.tssource intomain.js, and the service rejects a.tsentrypoint for Node runtimes:Entrypoint file type does not match your selected runtime. For NODE_22 runtime, your file should end with .js extension.)Actual Behavior
agentcore/agentcore.jsongets a Python runtime despite--language TypeScript:{ "name": "ByoRepro", "build": "CodeZip", "entrypoint": "main.ts", "codeLocation": "app/ByoRepro/", "runtimeVersion": "PYTHON_3_14", "networkMode": "PUBLIC", "protocol": "HTTP" }Required project file not found: .../app/ByoRepro/pyproject.toml.CLI Version
0.27.1
Operating System
Linux
Additional Context
Root cause:
handleByoPathinsrc/cli/primitives/AgentPrimitive.tsxhardcodesruntimeVersion: DEFAULT_PYTHON_VERSIONand never consultsoptions.language, while the create path maps language throughDEFAULT_RUNTIME_BY_LANGUAGE/DEFAULT_ENTRYPOINT_BY_LANGUAGE(src/cli/operations/agent/generate/schema-mapper.ts).Verified workaround: hand-editing agentcore.json after
add agent("runtimeVersion": "NODE_22","entrypoint": "main.js") makes the same project deploy and invoke successfully, so the defect is confined to what the BYO path writes.--language Otheris BYO-only and has no entry inDEFAULT_RUNTIME_BY_LANGUAGE; this report is only aboutTypeScriptsilently mapping to Python.I'm happy to send a PR applying the two language maps in
handleByoPath(Python/TypeScript only, current behavior preserved forOther).