mirror of
https://github.com/cline/cline.git
synced 2026-09-19 10:13:34 +08:00
Bedrock requests built by the SDK adapter dropped the AWS region and authentication mode, so a pasted Bedrock API key (awsBedrockApiKey + awsAuthentication "apikey") was silently ignored and requests fell through to the SigV4 credential chain with no region. Two bugs, both verified end-to-end against a live Bedrock endpoint via the debug harness: 1. The SDK ProviderConfig was built with only providerId/modelId/apiKey/ baseUrl. New bedrock-config.ts maps the legacy ApiConfiguration onto the SDK's structured region + aws block (including the webview's "credentials" radio -> SDK "iam"), wired into both inference paths (buildSdkProviderConfig for utility calls, buildSessionConfig for the main task loop). 2. The main chat path's gateway config is built by core from the providers.json `stored` entry, which the session's providerConfig does not override. A stale Bedrock entry (e.g. a legacy migration with region us-east-1 + SigV4 keys) silently won, sending requests to the wrong region (403). buildSessionConfig now persists the StateManager-derived Bedrock settings to providers.json so `stored` is authoritative. The bearer apiKey is only persisted for api-key auth to keep stored clean for profile/iam. Also documents the ELECTRON_RUN_AS_NODE debug-harness gotcha in .clinerules/general.md.