diff --git a/src/api/providers/bedrock.ts b/src/api/providers/bedrock.ts index bf9aa75d9c..6181a96de8 100644 --- a/src/api/providers/bedrock.ts +++ b/src/api/providers/bedrock.ts @@ -64,6 +64,12 @@ interface BedrockPayload { } } +// Define interface for stream chunks with proper typing +interface StreamChunk { + type: "reasoning" | "text" + text: string +} + // Define types for stream events based on AWS SDK export interface StreamEvent { messageStart?: { @@ -164,7 +170,7 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH /** * Handles thinking content block events */ - private *handleThinkingContentBlock(contentBlock: any): Generator { + private *handleThinkingContentBlock(contentBlock: any): Generator { if (contentBlock?.type === "thinking" && contentBlock.thinking !== undefined) { yield { type: "reasoning", @@ -176,7 +182,7 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH /** * Handles text content block events */ - private *handleTextContentBlock(start: any, contentBlock: any): Generator { + private *handleTextContentBlock(start: any, contentBlock: any): Generator { const text = start?.text || contentBlock?.text if (text !== undefined) { yield { @@ -189,7 +195,7 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH /** * Handles thinking delta events */ - private *handleThinkingDelta(delta: any): Generator { + private *handleThinkingDelta(delta: any): Generator { if (delta.type === "thinking_delta" && delta.thinking) { yield { type: "reasoning", @@ -201,7 +207,7 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH /** * Handles signature delta events (part of thinking) */ - private *handleSignatureDelta(delta: any): Generator { + private *handleSignatureDelta(delta: any): Generator { if (delta.type === "signature_delta" && delta.signature) { // Signature is part of the thinking process, treat it as reasoning yield { @@ -214,7 +220,7 @@ export class AwsBedrockHandler extends BaseProvider implements SingleCompletionH /** * Handles text delta events */ - private *handleTextDelta(delta: any): Generator { + private *handleTextDelta(delta: any): Generator { if (delta.text) { yield { type: "text",