From 735ec54b61fb2186bc1dab544a8de362794709e5 Mon Sep 17 00:00:00 2001
From: Narendranath Gogineni <narenrockstar1@gmail.com>
Date: Fri, 21 Feb 2025 11:44:37 +0530
Subject: [PATCH 1/2] fix: update logic for parsing errors while streaming in
 anthropic

---
 src/providers/anthropic/chatComplete.ts        | 1 +
 src/providers/google-vertex-ai/chatComplete.ts | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/providers/anthropic/chatComplete.ts b/src/providers/anthropic/chatComplete.ts
index 608c09ed1..9e98cbaf9 100644
--- a/src/providers/anthropic/chatComplete.ts
+++ b/src/providers/anthropic/chatComplete.ts
@@ -485,6 +485,7 @@ export const AnthropicChatCompleteStreamChunkTransform: (
   chunk = chunk.replace(/^event: content_block_start[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_delta[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_start[\r\n]*/, '');
+  chunk = chunk.replace(/^event: error/, '');
   chunk = chunk.replace(/^data: /, '');
   chunk = chunk.trim();
 
diff --git a/src/providers/google-vertex-ai/chatComplete.ts b/src/providers/google-vertex-ai/chatComplete.ts
index 20f01670f..3f1efe482 100644
--- a/src/providers/google-vertex-ai/chatComplete.ts
+++ b/src/providers/google-vertex-ai/chatComplete.ts
@@ -988,6 +988,7 @@ export const VertexAnthropicChatCompleteStreamChunkTransform: (
   chunk = chunk.replace(/^event: content_block_start[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_delta[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_start[\r\n]*/, '');
+  chunk = chunk.replace(/^event: error/, '');
   chunk = chunk.replace(/^data: /, '');
   chunk = chunk.trim();
 

From fee196b62ec59a91e76d3c7330c6fdb5f14bd937 Mon Sep 17 00:00:00 2001
From: Narendranath Gogineni <narenrockstar1@gmail.com>
Date: Fri, 21 Feb 2025 16:37:07 +0530
Subject: [PATCH 2/2] update regex pattern

---
 src/providers/anthropic/chatComplete.ts        | 2 +-
 src/providers/google-vertex-ai/chatComplete.ts | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/providers/anthropic/chatComplete.ts b/src/providers/anthropic/chatComplete.ts
index 9e98cbaf9..446d2f917 100644
--- a/src/providers/anthropic/chatComplete.ts
+++ b/src/providers/anthropic/chatComplete.ts
@@ -485,7 +485,7 @@ export const AnthropicChatCompleteStreamChunkTransform: (
   chunk = chunk.replace(/^event: content_block_start[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_delta[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_start[\r\n]*/, '');
-  chunk = chunk.replace(/^event: error/, '');
+  chunk = chunk.replace(/^event: error[\r\n]*/, '');
   chunk = chunk.replace(/^data: /, '');
   chunk = chunk.trim();
 
diff --git a/src/providers/google-vertex-ai/chatComplete.ts b/src/providers/google-vertex-ai/chatComplete.ts
index 3f1efe482..19e36ff6e 100644
--- a/src/providers/google-vertex-ai/chatComplete.ts
+++ b/src/providers/google-vertex-ai/chatComplete.ts
@@ -988,7 +988,7 @@ export const VertexAnthropicChatCompleteStreamChunkTransform: (
   chunk = chunk.replace(/^event: content_block_start[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_delta[\r\n]*/, '');
   chunk = chunk.replace(/^event: message_start[\r\n]*/, '');
-  chunk = chunk.replace(/^event: error/, '');
+  chunk = chunk.replace(/^event: error[\r\n]*/, '');
   chunk = chunk.replace(/^data: /, '');
   chunk = chunk.trim();