diff --git a/.changeset/cool-rice-chew.md b/.changeset/cool-rice-chew.md new file mode 100644 index 0000000000..7d565030cf --- /dev/null +++ b/.changeset/cool-rice-chew.md @@ -0,0 +1,5 @@ +--- +"claude-dev": patch +--- + +Add retries to Bedrock createMessage diff --git a/src/api/providers/bedrock.ts b/src/api/providers/bedrock.ts index 7a17fd6260..0c8908363b 100644 --- a/src/api/providers/bedrock.ts +++ b/src/api/providers/bedrock.ts @@ -1,5 +1,6 @@ import AnthropicBedrock from "@anthropic-ai/bedrock-sdk" import { Anthropic } from "@anthropic-ai/sdk" +import { withRetry } from "../retry" import { ApiHandler } from "../" import { ApiHandlerOptions, bedrockDefaultModelId, BedrockModelId, bedrockModels, ModelInfo } from "../../shared/api" import { ApiStream } from "../transform/stream" @@ -13,6 +14,7 @@ export class AwsBedrockHandler implements ApiHandler { this.options = options } + @withRetry() async *createMessage(systemPrompt: string, messages: Anthropic.Messages.MessageParam[]): ApiStream { let budget_tokens = this.options.thinkingBudgetTokens || 0 const reasoningOn = budget_tokens !== 0 ? true : false