mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-17 19:20:39 +09:00
feat(claude-local): add Bedrock model selection support
Previously, --model was completely skipped for Bedrock users, so the model dropdown selection was silently ignored and the CLI always used its default model. Selecting Haiku would still run Opus. - Add listClaudeModels() that returns Bedrock-native model IDs (us.anthropic.*) when Bedrock env is detected - Register listModels on claude_local adapter so the UI dropdown shows Bedrock models instead of Anthropic API names - Allow --model to pass through when the ID is a Bedrock-native identifier (us.anthropic.* or ARN) - Add isBedrockModelId() helper shared by execute.ts and test.ts Follows up on #2793 which added basic Bedrock auth detection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
aec88f10dd
commit
07987d75ad
5 changed files with 55 additions and 7 deletions
|
|
@ -32,6 +32,7 @@ import {
|
|||
isClaudeUnknownSessionError,
|
||||
} from "./parse.js";
|
||||
import { resolveClaudeDesiredSkillNames } from "./skills.js";
|
||||
import { isBedrockModelId } from "./models.js";
|
||||
|
||||
const __moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
|
|
@ -439,9 +440,12 @@ export async function execute(ctx: AdapterExecutionContext): Promise<AdapterExec
|
|||
if (resumeSessionId) args.push("--resume", resumeSessionId);
|
||||
if (dangerouslySkipPermissions) args.push("--dangerously-skip-permissions");
|
||||
if (chrome) args.push("--chrome");
|
||||
// Skip --model for Bedrock: Anthropic-style model IDs (e.g. "claude-opus-4-6") are not
|
||||
// valid Bedrock model identifiers. Let the CLI use its own configured model instead.
|
||||
if (model && !isBedrockAuth(effectiveEnv)) args.push("--model", model);
|
||||
// For Bedrock: only pass --model when the ID is a Bedrock-native identifier
|
||||
// (e.g. "us.anthropic.*" or ARN). Anthropic-style IDs like "claude-opus-4-6" are invalid
|
||||
// on Bedrock, so skip them and let the CLI use its own configured model.
|
||||
if (model && (!isBedrockAuth(effectiveEnv) || isBedrockModelId(model))) {
|
||||
args.push("--model", model);
|
||||
}
|
||||
if (effort) args.push("--effort", effort);
|
||||
if (maxTurns > 0) args.push("--max-turns", String(maxTurns));
|
||||
if (effectiveInstructionsFilePath) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue